tproxy

Yazılım ekran görüntüsü:
tproxy
Yazılım detaylar:
Versiyon: 0.5.4
Qayıt: 12 May 15
Geliştirici: Benoit Chesneau
Lisans: Ücretsiz
Popülerlik: 110

Rating: 3.0/5 (Total Votes: 2)

. Bu ağır vekil makineden esinlenerek ancak ön çatal işçi modeli gibi bazı benzersiz ilgisi var Gunicorn ödünç;

tproxy Python rutin mantığı yapılandırmanızı sağlar & nbsp Geven_t üzerine inşa basit bir TCP yönlendirme vekil (katman 7), bir .
tesis:
tproxy Python 2.x> = 2.5 gerektirir. Python 3.x desteği planlanmaktadır.
gevent yüklemek pip
tproxy yüklemek pip
Kaynağından yüklemek için:
git clone git: //github.com/benoitc/tproxy.git
cd tproxy
-r requirements.txt yüklemek pip
Python yüklemek setup.py
Komut satırını çalıştırarak kurulum test edin:
tproxy örnekler / transparent.py
Ve google ana sayfasını görmelisiniz, http://127.0.0.1:5000 gidin.
Kullanım:
tproxy -h
Kullanımı: tproxy [Seçenekler] komut_dosyası_yolu
Seçenekler:
& Nbsp; - versiyon gösteri programın sürüm numarası ve çıkış
& Nbsp; -h, bu yardım iletisini ve çıkış göstermek help
& Nbsp; - =-log dosyası yazmak için günlük dosyasını DOSYA. [-]
& Nbsp; - log-level = DÜZEY günlüğü çıkışlarının taneciklik. [Info]
& Nbsp; - =-config log kullanmak için günlük config dosyasını DOSYA. [Yok]
& Nbsp; -n STRING, --name = STRING
& Nbsp; Bir baz işlem adlandırma setproctitle ile kullanmak.
& Nbsp; [Yok]
& Nbsp ;-D, --daemon Artalanda Gunicorn süreci. [False]
& Nbsp ;-p DOSYA, --pid = DOSYA bir dosya PID dosyası için kullanılacak. [Yok]
& Nbsp; -u KULLANICI, user = KULLANICI Anahtarı alt işlemler bu kullanıcı olarak çalıştırın. [501]
& Nbsp; -g GROUP, --group = GRUP
& Nbsp; Anahtarı alt işlem bu grup olarak çalıştırın. [20]
& Nbsp; -m INT, --umask = INT tarafından yazılmış dosyaları dosya modu için bir bit maskesi
& Nbsp; Gunicorn. [0]
& Nbsp; b ADRES, --bind = ADRES
Ve nbsp soketi bağlamak. [127.0.0.1:8000]
& Nbsp; - birikim = INT bekleyen bağlantı sayısı. [2048]
& Nbsp; -w INT, --workers = INT
& Nbsp; isteklerini işlemek için çalışan işlem sayısı.
& Nbsp; [1]
& Nbsp; - İşçi-bağlantıları = INT
& Nbsp; işçi başına eşzamanlı istemcilerin sayısı.
& Nbsp; [1000]
& Nbsp; -t INT, --timeout = INT
& Nbsp; İşçiler sessiz bu kaç saniye den fazla için
& Nbsp; öldürdü ve yeniden başlatılır. [30]
Sinyaller
ÇIK - Zarif kapatma. Anında bağlantılarını kabul etmemeye
& Nbsp; ve kadar tüm bağlantıları kapatmak bekleyin
DÖNEM - Hızlı kapatma. Kabul durdurun ve tüm conections kapatın
& Nbsp; 10s sonra.
INT - DÖNEM aynı
HUP - Zarif yeniden yükleme. Yeni kod ile tüm işçileri tekrar yükle
& Nbsp; yönlendirme komut.
USR2 - anında tproxy Yükseltme
Ba - 1 işçinin sayısını artırın
TTOU - 1 işçinin sayısını azaltın
yönlendirme script Exemple
ithalat yeniden
re_host = re.compile ("Host:. s * (*) r n")
sınıf CouchDBRouter (nesne):
& Nbsp; yönlendirme masada # bakmak ve kullanmak için bir CouchDB düğümü döndürür
& Nbsp; def arama (self, isim):
& Nbsp; "" "bir şeyler yapmak" ""
Yönlendirici = CouchDBRouter ()
# Dere verilere dayalı içerik farkında yönlendirme gerçekleştirin. İşte,
# HTTP protokolü Host başlık bilgilerini bulmak için ayrıştırılır
# Kullanıcı adı ve bir arama rutin doğru bulmak adına çalıştırılan
# CouchDB düğümü. Hiçbir maç henüz yapılamaz ise, hiçbir şey yapmak
# Bağlantısı. (Kendi couchone sunucu yapmak ...)
def vekil (data):
& Nbsp; maçlar = re_host.findall (veri)
& Nbsp; maçlarda eğer:
& Nbsp; host = router.lookup (matches.pop ())
& Nbsp; return {"uzak": konak}
& Nbsp; Hiçbiri geri
Örnek SOCKS4 proxy 18 Satır
ithalat soketi
ithalat yapı
def vekil (data):
& Nbsp; if len (veri) <9:
& Nbsp; return
& Nbsp; komutu = ord (veri [1])
& Nbsp; ip, port = socket.inet_ntoa (veri [4: 8]), struct.unpack ("> H" veri [2: 4]) [0]
& Nbsp; idx = data.index (" 0")
& Nbsp; kimliği = verileri [8: idx]
& Nbsp; eğer komut == 1: #connect
& Nbsp; return dict (uzaktan = "% s:% s"% (ip, port),
& Nbsp; cevap = " 0 X5a 0 0 0 0 0 0 ",
& Nbsp; data = veri [idx:])
& Nbsp; else:
& Nbsp; {"yakın": "X5b 0 0 0 0 0 0 0 "} return
Geçerli dönüş değerleri
& Nbsp; {"uzak": dize veya başlığın} - Dize ev sahipliği yapmaktadır: vekalet edilecek sunucunun port.
& Nbsp; {"uzak": String, "data": String} - Yukarıdaki gibi, ama verilen veri yerine geçecektir.
& Nbsp; {"uzak": String, "data": String, "cevap": String} - Yukarıdaki ile aynı ama müşteriye geri verilir verilerle cevap
& Nbsp; Yoktur - Hiçbir şey yapmayın.
& Nbsp; {"yakın": true} - bağlantısını kapatın.
& Nbsp; {"yakın": String} - dize gönderdikten sonra bağlantıyı kapatın.
Kulp hataları
Kolayca komut bir proxy_error işlevi ekleyerek hata işleme yapabilirsiniz:
def proxy_error (istemci, e):
& Nbsp; geçiş
. Bu fonksiyon, ilk argümanları ve ikinci argüman hata istisna olarak ClientConnection örneğini (geçerli bağlantı) olsun

Gereksinimleri :

  • Python

Benzer yazılım

fu
fu

14 Apr 15

ASProxy Wing
ASProxy Wing

11 May 15

CYAN Secure Web
CYAN Secure Web

11 May 15

restund
restund

20 Feb 15

Geliştirici Diğer yazılım Benoit Chesneau

Restkit
Restkit

5 Jun 15

fserve
fserve

11 May 15

http-parser
http-parser

12 May 15

Yorumlar tproxy

Yorum Bulunamadı
Yorum eklemek
Görüntülerde açın!