tproxy

Szoftver screenshot:
tproxy
Szoftver adatai:
Változat: 0.5.4
Feltöltés dátuma: 12 May 15
Fejlesztő: Benoit Chesneau
Engedély: Ingyenes
Népszerűség: 26

Rating: 3.0/5 (Total Votes: 2)

tproxy egy egyszerű TCP routing proxy (layer 7) épül Geven_t, amely lehetővé teszi, hogy konfigurálja a rutin logika Python. & Nbsp; Ez erősen inspirálta proxy gép, de van néhány egyedi, mint a pre-villa munkavállaló modell kölcsönözte Gunicorn .
Felszerelés:
tproxy igényel Python 2.x> = 2,5. Python 3.x támogatást terveznek.
pip telepíteni gevent
pip telepíteni tproxy
Hogy forrásból telepíteni:
git clone git: //github.com/benoitc/tproxy.git
cd tproxy
pip telepíteni -r requirements.txt
python setup.py telepíteni
Teszteld a telepítést ha a parancssorban:
tproxy példák / transparent.py
És megy http://127.0.0.1:5000, látnod kell a Google főoldalán.
Használat:
tproxy -h
Használat: tproxy [Opciók] parancsfájl_elérési_útja
Lehetőségek:
& Nbsp; - változatát mutatják program verziószámát és kilép
& Nbsp; -h, --help mutatják ezt a segítséget és kilép
& Nbsp; - log-file = fájl Az log fájlt, hogy írjon. [-]
& Nbsp; - log-level = SZINT A granularitása log kimenet. [Info]
& Nbsp; - log-config = FILE A napló konfigurációs fájlt. [Nincs]
& Nbsp; -n STRING, --name = STRING
& Nbsp; A bázist használni setproctitle a folyamat elnevezése.
& Nbsp; [Nincs]
& Nbsp ;-D, --daemon vonul a Gunicorn folyamatot. [False]
& Nbsp ;-p FILE, --pid = FILE A fájlnév használni a PID fájl. [Nincs]
& Nbsp; -u user, --user = USER Switch munkavégző folyamatokat futtatni a felhasználó nevében. [501]
& Nbsp; -g GROUP, --group = GROUP
& Nbsp; Switch munkavégző folyamat fut, mint ennek a csoportnak. [20]
& Nbsp; -m INT, --umask = INT bitmaszkok a fájl mód a fájlok által írt
& Nbsp; Gunicorn. [0]
& Nbsp; -b CÍM, --bind = ADDRESS
& Nbsp; Az aljzat kötődni. [127.0.0.1:8000]
& Nbsp; - lemaradás = INT A legnagyobb számú folyamatban lévő kapcsolatokat. [2048]
& Nbsp; -w INT, --workers = INT
& Nbsp; A több munkavállaló kérelmek feldolgozási folyamatában.
& Nbsp; [1]
& Nbsp; - munkás-connections = INT
& Nbsp; A maximális egyidejű ügyfelek egy dolgozóra jutó.
& Nbsp; [1000]
& Nbsp; -t INT, --timeout = INT
& Nbsp; A munkavállalók hallgatott több mint ennyi másodperc
& Nbsp; megölt, és újraindul. [30]
Jelek
Kilépés - lekapcsolása. Megáll fogad kapcsolatokat azonnal
& Nbsp; és várjon, amíg minden kapcsolatot közel
TERM - Gyors leállítás. Ne fogadja el és zárjon be minden conections
& Nbsp; 10s után.
INT - Ugyanaz, mint a TERM
HUP - Kecses, átrakás. Reload minden dolgozót az új kódot
& Nbsp; a routing script.
USR2 - Cseréld tproxy on the fly
Ala p - számának növelése munkás 1
TTOU - számának csökkentése munkás 1
Exemple a routing script
import re
re_host = re.compile ("Host: s * (. *) r n")
osztály CouchDBRouter (tárgy):
& Nbsp; # pillantást a routing tábla és visszatér a couchdb node használata
& Nbsp; def keresési (self, név):
& Nbsp; "" "valamit tenni" ""
router = CouchDBRouter ()
# Végezze tartalomfüggő útválasztás a patak adatokat. Itt, a
# Host header információt a HTTP protokoll elemzett, hogy megtalálják a
# Felhasználónév és egy keresési rutin fut a név, hogy megtalálják a helyes
# Couchdb csomópont. Ha nem egyezik lehet még, nem tesz semmit a
# Kapcsolatban. (Hogy a saját couchone szerver ...)
def proxy (adatok):
& Nbsp; mérkőzést = re_host.findall (adatok)
& Nbsp; Ha mérkőzések:
& Nbsp; host = router.lookup (matches.pop ())
& Nbsp; visszatérés {"távoli": host}
& Nbsp; visszatérni Semmi
Példa SOCKS4 Proxy 18 Lines
import aljzat
import struct
def proxy (adatok):
& Nbsp; Ha len (adat) <9:
& Nbsp; visszatérés
& 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; ha parancsot == 1: #connect
& Nbsp; visszatérő dict (remote = "% s:% s"% (ip, port),
& Nbsp; reply = " 0 X5a 0 0 0 0 0 0",
& Nbsp; data = data [idx:])
& Nbsp; mást:
& Nbsp; visszatérés {"közeli": " 0 X5b 0 0 0 0 0 0"}
Valid visszatérési értékek
& Nbsp; {"távoli": karakterlánc vagy tuple} - karakterlánc a host: port a szerver, amely proxyzására.
& Nbsp; {"távoli": String, az "adatok": karakterlánc} - Ugyanaz, mint fent, de elküldi a megadott adatok helyett.
& Nbsp; {"távoli": String, "adatok": String, "válasz": karakterlánc} - Ugyanaz, mint fent, de válaszolni megadott adatokat az ügyfél felé
& Nbsp; None - Ne tegyen semmit.
& Nbsp; {"közeli": true} - zárja le a kapcsolatot.
& Nbsp; {"közeli": karakterlánc} - A kapcsolat bezárásához elküldése után a húr.
kezeli a hibákat
Könnyedén kezelési hiba hozzáadásával proxy_error funkciót a script:
def proxy_error (kliens, e):
& Nbsp; menetben
Ez a funkció kap a ClientConnection példány (aktuális kapcsolat), mint az első érvek és a hiba kivétel a második argumentum.

követelmények :

  • Python

Hasonló program

ziproxy
ziproxy

20 Feb 15

ASProxy Wing
ASProxy Wing

11 May 15

Sirious
Sirious

14 Apr 15

nntp2nntp
nntp2nntp

11 May 15

Más szoftver fejlesztő Benoit Chesneau

http-parser
http-parser

20 Feb 15

hroute
hroute

11 May 15

Couchapp
Couchapp

14 Apr 15

http-parser
http-parser

12 May 15

Hozzászólások a tproxy

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!