tproxy

ภาพหน้าจอของซอฟแวร์:
tproxy
รายละเอียดซอฟแวร์:
รุ่น: 0.5.4
วันที่อัพโหลด: 12 May 15
ผู้พัฒนา: Benoit Chesneau
การอนุญาต: ฟรี
ความนิยม: 110

Rating: 3.0/5 (Total Votes: 2)

tproxy เป็นพร็อกซี่เส้นทาง TCP ง่าย (ชั้น 7) ที่สร้างขึ้นบน Geven_t ซึ่งจะช่วยให้คุณกำหนดค่าตรรกะป​​ระจำในหลาม & nbsp;. มันเป็นแรงบันดาลใจอย่างมากจากเครื่องพร็อกซี่ แต่มีบางอย่างที่ไม่ซ้ำกันเช่นรูปแบบการปฏิบัติงานก่อนส้อมยืม Gunicorn .
Instalation:
tproxy ต้อง 2.x หลาม> = 2.5 งูหลามสนับสนุน 3.x มีการวางแผน
PIP ติดตั้ง gevent
PIP ติดตั้ง tproxy
การติดตั้งจากแหล่ง:
โคลนคอมไพล์คอมไพล์: //github.com/benoitc/tproxy.git
ซีดี tproxy
PIP ติดตั้ง requirements.txt -r
หลาม setup.py ติดตั้ง
ทดสอบการติดตั้งของคุณโดยใช้บรรทัดคำสั่ง:
tproxy ตัวอย่าง / transparent.py
และไปใน http://127.0.0.1:5000 คุณจะเห็นหน้าแรกของ google
การใช้งาน:
tproxy -h
การใช้งาน: tproxy [ตัวเลือก] script_path
ตัวเลือก:
& nbsp; - หมายเลขรุ่นของโปรแกรมแสดงรุ่นและออก
& nbsp; -h, --help แสดงข้อความช่วยเหลือนี้และออกจาก
& nbsp; - เข้าสู่ระบบไฟล์ = FILE ล็อกไฟล์ที่จะเขียนถึง [-]
& nbsp; - เข้าสู่ระบบระดับ = ระดับเมล็ดของผลบันทึก [ข้อมูล]
& nbsp; - เข้าสู่ระบบการตั้งค่า = แฟ้มบันทึกไฟล์ config ที่จะใช้ [ไม่มี]
& nbsp; -n STRING, --name = STRING
& nbsp; ฐานที่จะใช้กับ setproctitle สำหรับการตั้งชื่อกระบวนการ
& nbsp; [ไม่มี]
& nbsp ;-D, --daemon daemonize กระบวนการ Gunicorn [เท็จ]
& nbsp ;-P ไฟล์, ไฟล์ --pid = ชื่อไฟล์ที่จะใช้สำหรับไฟล์ PID [ไม่มี]
& nbsp; -u ผู้ใช้ --user = กระบวนการปฏิบัติงานของผู้ใช้สวิทช์ที่จะทำงานเป็นผู้ใช้นี้ [501]
& nbsp; -g กลุ่ม --group = กรุ๊ป
& nbsp; กระบวนการปฏิบัติงานที่เปลี่ยนไปทำงานเป็นกลุ่มนี้ [20]
& nbsp; -m INT, --umask = INT หน้ากากบิตสำหรับโหมดไฟล์บนไฟล์ที่เขียนโดย
& nbsp; Gunicorn [0]
& nbsp; -b อยู่ --bind = ที่อยู่
& nbsp; ซ็อกเก็ตที่จะผูก [127.0.0.1:8000]
& nbsp; - ค้าง = INT จำนวนสูงสุดของการเชื่อมต่ออยู่ระหว่างดำเนินการ [2048]
& nbsp; -w INT, --workers = INT
& nbsp; จำนวนของกระบวนการของผู้ปฏิบัติงานในการจัดการกับการร้องขอ
& nbsp; [1]
& nbsp; - คนงานเชื่อมต่อ = INT
& nbsp; จำนวนสูงสุดของลูกค้าต่อคนงานพร้อมกัน
& nbsp; [1000]
& nbsp; t-INT, หมดเวลา = INT
& nbsp; แรงงานเงียบมานานกว่าหลายวินาทีนี้
& nbsp; ฆ่าตายและเริ่มต้นใหม่ [30]
สัญญาณ
QUIT - ปิดสง่างาม หยุดการยอมรับการเชื่อมต่อทันที
& nbsp; และรอจนกว่าการเชื่อมต่อทั้งหมดอย่างใกล้ชิด
ลงทุน - ปิดเครื่องได้อย่างรวดเร็ว หยุดการยอมรับและปิด conections ทั้งหมด
& nbsp; หลังจาก 10s
INT - เช่นเดียวกับระยะ
HUP - โหลดสง่างาม โหลดคนงานทุกคนที่มีรหัสใหม่
& nbsp; ในสคริปต์การกำหนดเส้นทางของคุณ
USR2 - เพิ่มระดับการ tproxy ได้ทันที
TTIN - การเพิ่มจำนวนของผู้ปฏิบัติงานตั้งแต่วันที่ 1
TTOU - ลดจำนวนคนงานตั้งแต่วันที่ 1
กันตัวอย่างของสคริปต์เส้นทาง
นำเข้าอีกครั้ง
re_host = re.compile ("พิธีกร:. s * (*) r n")
ระดับ CouchDBRouter (วัตถุ):
& nbsp; # ดูที่ตารางเส้นทางและกลับไปใช้โหนด CouchDB
& nbsp; def ค้นหา (ตัวเองชื่อ):
& nbsp; "" "ทำอะไร" ""
เราเตอร์ = CouchDBRouter ()
# ดำเนินการเส้นทางทราบเนื้อหาบนพื้นฐานของข้อมูลสตรีม ที่นี่
# ข้อมูลส่วนหัวของโฮสต์จากโปรโตคอล HTTP จะแยกกันหา
ชื่อผู้ใช้ # และกิจวัตรประจำวันการค้นหาจะดำเนินการเกี่ยวกับชื่อที่จะหาที่ถูกต้อง
# โหนด CouchDB หากไม่มีการแข่งขันสามารถทำยังทำอะไรกับ
การเชื่อมต่อ # (ทำให้เซิร์ฟเวอร์ couchone ของคุณเอง ... )
พร็อกซี่ def (ข้อมูล):
& nbsp; การแข่งขัน = re_host.findall (ข้อมูล)
& nbsp; ถ้าแมตช์:
& nbsp; โฮสต์ = router.lookup (matches.pop ())
& nbsp; กลับมา {"ระยะไกล": โฮสต์}
& nbsp; กลับไม่มี
ตัวอย่าง SOCKS4 พร็อกซี่ใน 18 สาย
ซ็อกเก็ตนำเข้า
struct นำเข้า
พร็อกซี่ def (ข้อมูล):
& nbsp; ถ้า len (ข้อมูล) <9:
& nbsp; กลับมา
& nbsp; คำสั่ง = อ๊อด (ข้อมูล [1])
& nbsp; IP, พอร์ต = socket.inet_ntoa (ข้อมูล [4: 8]) struct.unpack ("> H" ข้อมูล [2: 4]) [0]
& nbsp; IDX = data.index (" 0")
& nbsp; หมายเลขผู้ใช้ข้อมูล = [8: IDX]
& nbsp; ถ้าคำสั่ง == 1: #connect
& nbsp; กลับมากิงดิค (ระยะไกล = "% s:% s"% ip (พอร์ต)
& nbsp; ตอบ = " 0 x5a 0 0 0 0 0 0"
& nbsp; ข้อมูลข้อมูล = [IDX:])
& nbsp; อื่น:
& nbsp; กลับมา {"ใกล้": " 0 x5b 0 0 0 0 0 0"}
คืนค่าที่ถูกต้อง
& nbsp; {"ระยะไกล:": สตริงหรือ tuple} - สตริงเป็นเจ้าภาพ: พอร์ตของเซิร์ฟเวอร์ที่จะ proxied
& nbsp; {"ระยะไกล": String "ข้อมูล": String} - เหมือนข้างบน แต่ส่งข้อมูลให้แทน
& nbsp; {"ระยะไกล": String "ข้อมูล" สตริง "ตอบกลับ": String} - เหมือนข้างบน แต่ตอบกลับด้วยข้อมูลที่ได้รับกลับไปยังลูกค้า
& nbsp; ไม่มี - ไม่ทำอะไรเลย
& nbsp; {"ใกล้": ทรู} - ปิดการเชื่อมต่อ
& nbsp; {"ใกล้": String} - ปิดการเชื่อมต่อหลังจากที่ส่งสตริง
จับข้อผิดพลาด
คุณสามารถจัดการได้อย่างง่ายดายข้อผิดพลาดโดยการเพิ่มฟังก์ชั่น proxy_error ในสคริปต์ของคุณ:
def proxy_error (ลูกค้าจ):
& nbsp; ผ่าน
. ฟังก์ชั่นนี้ได้รับเช่น ClientConnection (การเชื่อมต่อในปัจจุบัน) เป็นข้อโต้แย้งครั้งแรกและข้อยกเว้นข้อผิดพลาดในการโต้เถียงที่สอง

ต้องการ

  • งูหลาม

ซอฟต์แวร์ที่คล้ายกัน

sec-wall
sec-wall

14 Apr 15

liveweb
liveweb

20 Feb 15

eProxy
eProxy

2 Jun 15

ซอฟแวร์อื่น ๆ ของนักพัฒนา Benoit Chesneau

hroute
hroute

11 May 15

http-parser
http-parser

12 May 15

http-parser
http-parser

20 Feb 15

fserve
fserve

11 May 15

ความคิดเห็นที่ tproxy

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!
ค้นหาตามหมวดหมู่