tproxy

Software kuvakaappaus:
tproxy
Ohjelmiston tiedot:
Versio: 0.5.4
Lähetyksen päivämäärä: 12 May 15
Kehittäjä: Benoit Chesneau
Lupa: Vapaa
Suosio: 26

Rating: 3.0/5 (Total Votes: 2)

tproxy on yksinkertainen TCP reititys välityspalvelimen (layer 7) rakennettu Geven_t, jonka avulla voit määrittää rutiinia logiikkaa Python. & Nbsp; Se raskaasti innoittamana proxy kone, mutta on joitakin ainutlaatuisia, kuten pre-haarukka työntekijä mallia lainattu Gunicorn .
Asennus:
tproxy vaatii Python 2.x> = 2.5. Python 3.x tuki on suunnitteilla.
Pip asentaa gevent
Pip asentaa tproxy
Voit asentaa lähteestä:
git klooni git: //github.com/benoitc/tproxy.git
cd tproxy
PIP asentaa -r requirements.txt
python setup.py asentaa
Testaa asennus ajamalla komentoriviltä:
tproxy esimerkkejä / transparent.py
Ja mennä http://127.0.0.1:5000, sinun pitäisi nähdä Googlen etusivulla.
Käyttö:
tproxy -h
Käyttö: tproxy [OPTIONS] komentosarjan_polku
Vaihtoehdot:
& Nbsp; - version näytä ohjelman versionumero ja poistu
& Nbsp; -h, --help näytä tämä ohje ja poistu
& Nbsp; - log-file = TIEDOSTO lokitiedosto kirjoittaa. [-]
& Nbsp; - log-level = TASO rakeisuus log tuotoksia. [Info]
& Nbsp; - log-config = TIEDOSTO log config-tiedosto käyttää. [Ei mitään]
& Nbsp; -n STRING, --name = STRING
& Nbsp; pohja käytettäväksi setproctitle prosessin nimeämisessä.
& Nbsp; [Ei mitään]
& Nbsp ;-D, --daemon irroitautua Gunicorn prosessia. [False]
& Nbsp ;-P FILE, --pid = TIEDOSTO tiedostonimen käyttää PID-tiedoston. [Ei mitään]
& Nbsp; -u USER, --user = VAIHTAA työntekijän prosessit suoritettavaksi tämän käyttäjän. [501]
& Nbsp; -g GROUP, --group = GROUP
& Nbsp; Switch työprosessi juosta koska tämä ryhmä. [20]
& Nbsp; -m INT, --umask = INT bittinen naamio tiedostojen päälle tiedostoja kirjoittanut
& Nbsp; Gunicorn. [0]
& Nbsp; -b ADDRESS, --bind = OSOITE
& Nbsp; pistorasia sitovasti. [127.0.0.1:8000]
& Nbsp; - ruuhkaa = INT enimmäismäärä vireillä yhteyksiä. [2048]
& Nbsp; w INT, --workers = INT
& Nbsp; määrä Työntekijän käsittelyprosessi pyyntöjä.
& Nbsp; [1]
& Nbsp; - worker-yhteydet = INT
& Nbsp; enimmäismäärä samanaikaisten asiakkaiden työntekijää kohti.
& Nbsp; [1000]
& Nbsp; -t INT, --timeout = INT
& Nbsp; Työntekijät hiljaa yli tämän monta sekuntia ovat
& Nbsp; surmansa ja uudelleen. [30]
Signals
PALUU - Graceful shutdown. Lopettaa hyväksy yhteyksiä immediatly
& Nbsp; ja odota, kunnes kaikki yhteydet lähellä
TERM - Nopea shutdown. Pysähtyä hyväksymisestä ja sulje kaikki conections
& Nbsp; jälkeen 10s.
INT - Sama kuin AIKAVÄLIN
HUP - Graceful aseen lataamista. Päivitä kaikille työntekijöille uusi koodi
& Nbsp; sinun reititys script.
USR2 - Päivitys tproxy lennossa
TTIN - lukumäärän lisääminen työntekijän 1
TTOU - Vähennä määrää työntekijän 1
Exemple reititys script
tuonti re
re_host = re.compile ("Host: s * (. *) r n")
luokan CouchDBRouter (kohde):
& Nbsp; # tarkastella reititystaulun ja palauttaa CouchDB solmu käyttää
& Nbsp; def haun (itse, nimi):
& Nbsp; "" "tehdä jotakin" ""
reititin = CouchDBRouter ()
# Suorita sisältöön tietoinen reititys perustuu stream tietoihin. Täällä,
# Host header tiedot HTTP-protokollaa jäsennetään löytää
# Käyttäjätunnus ja haku rutiini ajetaan nimeä löytää oikea
# CouchDB solmu. Jos vastaavuutta ei vielä tehty, tee mitään kanssa
# Yhteys. (Tee oma couchone palvelin ...)
def välityspalvelin (tiedot):
& Nbsp; tulitikut = re_host.findall (data)
& Nbsp; jos ottelut:
& Nbsp; host = router.lookup (matches.pop ())
& Nbsp; paluuta {"etäinen": host}
& Nbsp; palauttaa None
Esimerkki SOCKS4 Proxy 18 Lines
tuonti pistorasia
tuonti struct
def välityspalvelin (tiedot):
& Nbsp; Jos len (data) <9:
& Nbsp; paluu
& Nbsp; komennon = 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; Jos komento == 1: #connect
& Nbsp; paluuta dict (kauko = "% s:% s"% (ip, satama),
& Nbsp; vastaus = " 0 X5a 0 0 0 0 0 0",
& Nbsp; data = data [IDX:])
& Nbsp; muu:
& Nbsp; paluuta {"lähellä": " 0 x5b 0 0 0 0 0 0"}
Voimassa paluuarvot
& Nbsp; {"kaukosäädin": merkkijono tai monikossa} - String on isäntä: portti palvelimen, jota empiirisenä.
& Nbsp; {"kaukosäädin": String, "data": String} - Sama kuin edellä, mutta lähettää annettuja tietoja sijaan.
& Nbsp; {"kaukosäädin": String, "data": String, "vastaus": String} - Sama kuin edellä, mutta vastata annettuihin tietoihin takaisin asiakkaalle
& Nbsp; None - Ei tehdä mitään.
& Nbsp; {"lähellä": True} - Sulje yhteys.
& Nbsp; {"lähellä": String} - Sulje yhteys lähetyksen jälkeen String.
kahva virheitä
Voit helposti käsittelyä virheen lisäämällä proxy_error toiminnon käsikirjoitus:
def proxy_error (client, e):
& Nbsp; pass
Tämä toiminto saa ClientConnection esimerkiksi (nykyisen yhteyden) ensimmäisenä argumentit ja virheiden poikkeus toisen argumentin.

vaatimukset

  • python

Vastaavia ohjelmistoja

HAproxy
HAproxy

27 Sep 15

ITC Server
ITC Server

3 Jun 15

eProxy
eProxy

2 Jun 15

Muu ohjelmistojen kehittäjä Benoit Chesneau

fserve
fserve

11 May 15

hroute
hroute

11 May 15

Restkit
Restkit

5 Jun 15

Kommentit tproxy

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!