tproxy

Software screenshot:
tproxy
Software ətraflı:
Version: 0.5.4
Tarixi Upload: 12 May 15
Geliştirici: Benoit Chesneau
Lisenziya: Pulsuz
Məşhurluq: 110

Rating: 3.0/5 (Total Votes: 2)

. Bu ağır proxy maşın ilham lakin pre-çəngəl işçi model kimi bəzi unikal var ki Gunicorn borc

tproxy siz Python gündəlik məntiq konfiqurasiya imkan verir & nbsp Geven_t inşa sadə TCP marşrutlaşdırma proxy (qat 7) edir .
Instalation:
tproxy Python 2.x> = 2.5 tələb edir. Python 3.x dəstək nəzərdə tutulur.
Gevent bərpa Pip
tproxy bərpa Pip
Mənbədən yüklemek üçün:
git klon git: //github.com/benoitc/tproxy.git
cd tproxy
-r requirements.txt bərpa Pip
python bərpa setup.py
Command line çalışan quraşdırma test:
tproxy nümunələri / transparent.py
Və google ana görmək lazımdır, http://127.0.0.1:5000 getmək.
istifadə:
tproxy h
Istifadə: tproxy [OPTIONS] script_path
Seçimlər:
& Nbsp; - version şou proqramın version sayı və çıxış
& Nbsp; h, bu yardım mesaj və çıxış göstərmək help
& Nbsp; - = fayl daxil yazmaq üçün daxil Fayl. [-]
& Nbsp; - giriş səviyyəli = LEVEL log nəticələr granularity. [Info]
& Nbsp; - =-config daxil istifadə log konfiqurasiya Fayl. [Yox]
& Nbsp; -n STRING, --name = STRING
& Nbsp; A baza prosesi adlandırma üçün setproctitle ilə istifadə etmək.
& Nbsp; [Yox]
& Nbsp ;-D, --daemon Daemonize Gunicorn prosesi. [False]
& Nbsp ;-p FILE, --pid = fayl fayl PID fayl istifadə etmək. [Yox]
& Nbsp; -u USER, User = İstifadəçi Switch işçi proseslər bu istifadəçi kimi çalıştırmak üçün. [501]
& Nbsp; g GROUP, --group = GROUP
& Nbsp; Switch işçi prosesi bu qrup kimi çalıştırmak üçün. [20]
& Nbsp; m INT, --umask = INT tərəfindən yazılmış faylları fayl rejimi üçün bit maska
& Nbsp; Gunicorn. [0]
& Nbsp; b Ünvan, --bind = ünvanı
& Nbsp; socket bağladığı. [127.0.0.1:8000]
& Nbsp; - portfelinizi = INT gözləyən keçid maksimum sayı. [2048]
& Nbsp; w INT, --workers = INT
& Nbsp; sorğuların baxılması üçün işçi prosesi sayı.
& Nbsp; [1]
& Nbsp; - işçi-əlaqələri = INT
& Nbsp; işçi başına eyni zamanda müştərilərin maksimum sayı.
& Nbsp; [1000]
& Nbsp; -t INT, --timeout = INT
& Nbsp; Workers səssiz bu çox saniyə daha çox üçün
& Nbsp; ölən və yenidən. [30]
İşaret
QUIT - Graceful kapatma. Immediatly əlaqələri qəbul Stop
& Nbsp; və qədər bütün əlaqələri yaxın gözləyin
TERM - Fast kapatma. Qəbul dayandırmaq və bütün Conections yaxın
& Nbsp; 10s sonra.
INT - Müddətli eyni
HUP - Graceful yenidən. Yeni kodu ilə bütün işçilərin yenidən yüklə
& Nbsp; sizin marşrutlaşdırma script.
USR2 - Tez tproxy yükseltin
TTIN - 1 işçi sayının artırılması
TTOU - 1 işçi sayı azaldı
marşrutlaşdırma script Exemple
idxal yenidən
re_host = re.compile ("Host:. s * (*) r n")
sinif CouchDBRouter (obyektin):
& Nbsp; marşrutlaşdırma masa # baxmaq və istifadə etmək üçün CouchDB node qayıtmaq
& Nbsp; def Sistemi (özünü, adı):
& Nbsp; "" "bir şey" ""
router = CouchDBRouter ()
# Stream məlumatlar əsasında content-xəbərdar marşrutlaşdırma həyata keçirir. Burada
# HTTP protokol Host header informasiya tapmaq üçün ayrıştırılan edir
# Istifadəçi adı və axtarış təkrarlanan doğru tapmaq üçün adı çalışır
# CouchDB node. Heç bir oyunu hələ edilə bilər, əgər, ilə heç bir şey
# Əlaqəsi. (Öz couchone server etmək ...)
def proxy (data):
& Nbsp; oyunları = re_host.findall (data)
& Nbsp; matçlarda əgər:
& Nbsp; host = router.lookup (matches.pop ())
& Nbsp; qaytarılması {"uzaq" host}
& Nbsp; Yox qayıtmaq
Məsələn SOCKS4 Proxy 18 Lines
idxal socket
idxal struct
def proxy (data):
& Nbsp; əgər len (data) <9:
& Nbsp; qaytarılması
& Nbsp; command = ord (data [1])
& Nbsp; ip, port = socket.inet_ntoa (data [4: 8]), struct.unpack ("> H", data [2: 4]) [0]
& Nbsp; idx = data.index ( "0")
& Nbsp; UserID = data [8: idx]
& Nbsp; əgər komanda == 1: #connect
& Nbsp; qaytarılması Dict (uzaq = "% s:% s"% (ip, port)
& Nbsp; Cavab = " 0 x5a 0 0 0 0 0 0 "
& Nbsp; data = data [idx:])
& Nbsp; başqa:
& Nbsp; {"yaxın": "x5b 0 0 0 0 0 0 0 "} qaytarılması
Valid qaytarılması dəyərlər
& Nbsp; {"uzaq": string və ya tuple} - String ev sahibliyi edir: proxied olunacaq server port.
& Nbsp; {"uzaq": String, "data" String} - Yuxarıda kimi eyni, lakin verilən məlumatları əvəzinə göndərin.
& Nbsp; {"uzaq" String "data": String, "cavab" String} - Yuxarıda kimi eyni, lakin müştəriyə geri verilən məlumatlarla cavab
& Nbsp; None - heç bir şey etməyin.
& Nbsp; {"yaxın": True} - qoşulmasını bağlamaq.
& Nbsp; {"yaxın": String} - String göndərilməsinin ardından bağlantısı bağlayın.
idarə səhvlər
Siz asanlıqla script bir proxy_error funksiyası əlavə səhv rəftar bilərsiniz:
def proxy_error (müştəri, e):
& Nbsp; pass
. Bu funksiya ilk dəlilləri və ikinci arqument səhv istisna kimi ClientConnection instansiya (cari connection) almaq

tələblər

  • Python

Oxşar proqram

amms
amms

20 Feb 15

socks5
socks5

15 Apr 15

nntp2nntp
nntp2nntp

11 May 15

MapProxy
MapProxy

20 Feb 15

Geliştirici digər proqram Benoit Chesneau

http-parser
http-parser

12 May 15

Restkit
Restkit

5 Jun 15

Couchapp
Couchapp

14 Apr 15

Şərh tproxy

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!