นี่คือโปรแกรมเสริมคำสั่งที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
affclient - ไคลเอนต์ตัวส่งต่อพอร์ตที่ใช้งานอยู่
เรื่องย่อ
ลูกค้า [ ตัวเลือก ] -n ชื่อเซิร์ฟเวอร์ -p พอร์ตนัม
DESCRIPTION
ลูกค้า เป็นโปรแกรม port forwarding ที่ออกแบบมาให้มีประสิทธิภาพและใช้งานง่าย
ใช้. มันเชื่อมต่อกับ ผู้พิทักษ์ ไปยัง listenport (ค่าเริ่มต้น listenport คือ
50126) และหลังจากการอนุญาตสำเร็จแล้ว ลูกค้า เปลี่ยนเส้นทาง .ทั้งหมด
ข้อมูลไปยังโฮสต์ปลายทางที่ระบุ:พอร์ต
ตัวอย่าง
ลูกค้า -n ชื่อเซิร์ฟเวอร์ -p 22
โปรแกรมเชื่อมต่อกับชื่อเซิร์ฟเวอร์: 50126 และเปลี่ยนเส้นทางข้อมูลไปยังพอร์ตท้องถิ่น
22 (กลายเป็นภูต)
ลูกค้า -n ชื่อเซิร์ฟเวอร์ -p 22 -v
เหมือนกับข้างบน แต่เปิดใช้งานโหมด verbose (โปรแกรมจะไม่เข้า
โหมดภูต)
ลูกค้า -n ชื่อเซิร์ฟเวอร์ -r
โปรแกรมเชื่อมต่อกับชื่อเซิร์ฟเวอร์:50126 ในโหมดการดูแลระบบระยะไกล
OPTIONS
ขั้นพื้นฐาน ตัวเลือก
-NS, --ชื่อเซิร์ฟเวอร์ ชื่อ
ชื่อเจ้าภาพ โดยที่ ผู้พิทักษ์ กำลังดำเนินการ (จำเป็น)
-NS, --จัดการพอร์ต PORT
จัดการหมายเลขพอร์ต - เซิร์ฟเวอร์ต้องรับฟังมัน (ค่าเริ่มต้น: 50126)
-NS, --ชื่อโฮสต์ ชื่อ
ชื่อของโฮสต์นี้/โฮสต์ระยะไกล - ปลายทางสุดท้ายของ
แพ็กเก็ต (ค่าเริ่มต้น: ชื่อที่ส่งคืนโดยฟังก์ชันชื่อโฮสต์)
-NS, --พอร์ทนัม PORT
พอร์ตที่เรากำลังส่งต่อการเชื่อมต่อไปยัง (จำเป็น)
--ชื่อท้องถิ่น ชื่อ
ชื่อเครื่องท้องถิ่นสำหรับการเชื่อมต่อกับ afserver (ใช้เพื่อผูก socket
ไปยังอินเทอร์เฟซต่างๆ)
--localport ชื่อ
ชื่อพอร์ตท้องถิ่นสำหรับการเชื่อมต่อกับ afserver (ใช้เพื่อผูกซ็อกเก็ตกับ
ผู้รับที่แตกต่างกัน)
--ชื่อท้องถิ่น ชื่อ
ชื่อเครื่องท้องถิ่นสำหรับการเชื่อมต่อกับแอปพลิเคชันปลายทาง (ใช้แล้ว
เพื่อผูกซ็อกเก็ตกับอินเทอร์เฟซต่างๆ)
-วี --รุ่น
แสดงหมายเลขรุ่น
-ชม, --ช่วยด้วย
พิมพ์หน้าจอช่วยเหลือ
การอนุญาต
-ผม, --NS STRING
ส่งสตริง id ไปยัง afserver
--ผ่าน รหัสผ่าน
ตั้งรหัสผ่านที่ใช้สำหรับระบุตัวลูกค้า (ค่าเริ่มต้น: no
รหัสผ่าน)
--ละเว้นคีย์
ละเว้นคีย์สาธารณะของเซิร์ฟเวอร์ที่ไม่ถูกต้อง
องค์ประกอบ
-เค --ไฟล์คีย์ ไฟล์
ชื่อของไฟล์ที่มีคีย์ RSA (ค่าเริ่มต้น: client.rsa)
-ค, --cerfile
ชื่อของไฟล์ที่มีใบรับรอง (ค่าเริ่มต้น: ไม่มีใบรับรองที่ใช้)
-NS, --cfgfile ไฟล์
ชื่อของไฟล์ที่มีการกำหนดค่าสำหรับ ลูกค้า
-NS, --storefile
ชื่อของไฟล์ที่มีคีย์สาธารณะที่เก็บไว้ (ค่าเริ่มต้น: known_hosts)
-NS, --รูปแบบวันที่ FORMAT
รูปแบบของวันที่พิมพ์ในบันทึก (ดูรายละเอียดใน 'man strftime')
(ค่าเริ่มต้น: %d.%m.%Y %H:%M:%S)
-เค --ให้มีชีวิตอยู่ N
ส่งแพ็กเก็ต keepalive ทุก N วินาที (ค่าเริ่มต้น: ไม่ส่ง keepalive
แพ็คเก็ต)
เชื่อมต่อใหม่อัตโนมัติ
--ar-เริ่มต้น
เปิดใช้งานการเชื่อมต่อใหม่อัตโนมัติเมื่อไม่สามารถเข้าถึง afserver เมื่อเริ่มต้น
(ค่าเริ่มต้น: ปิดการใช้งาน)
--ar-เลิก
เปิดใช้งานการเชื่อมต่อใหม่อัตโนมัติหลังจากออกจาก afserver ปกติ (ค่าเริ่มต้น:
ปิดการใช้งาน)
--โนอาร์
ปิดใช้งานการเชื่อมต่อใหม่อัตโนมัติหลังจากออกจากเซิร์ฟเวอร์ afserver ก่อนกำหนด (ค่าเริ่มต้น:
เปิดใช้งาน)
-NS, --ar-พยายาม N
ลอง N ครั้งเพื่อเชื่อมต่อใหม่ (ค่าเริ่มต้น: ไม่จำกัด)
-NS, --ar-ล่าช้า N
รอ N วินาทีระหว่างพยายามเชื่อมต่อใหม่ (ค่าเริ่มต้น: 5)
โหมด
-ยู, --udpmmode
โหมด udp - ลูกค้าจะใช้โปรโตคอล udp เพื่อสื่อสารกับ
ชื่อโฮสต์:portnum
-ยู, --ย้อนกลับp
ย้อนกลับการส่งต่อ udp แพ็กเก็ต Udp จะถูกส่งต่อจาก
ชื่อโฮสต์:portnum ไปยังเซิร์ฟเวอร์ ชื่อ:manageport
-NS, --ผู้ดูแลระบบระยะไกล
โหมดการบริหารระยะไกล (การใช้ '-p PORT' จะบังคับให้ผู้รับใช้ไป
ใช้พอร์ตแทน stdin-stdout)
เข้าสู่ระบบ
-o, --บันทึก ล็อกซีเอ็มดี
บันทึกข้อมูลที่เลือกไปยังไฟล์/ซ็อกเก็ต
-ใน, --รายละเอียด
เป็นรายละเอียด - โปรแกรมจะไม่เข้าสู่โหมดภูต (ใช้หลาย
ครั้งสำหรับผลมากขึ้น)
IP ครอบครัว
-4, --ipv4
ใช้ ipv4 เท่านั้น
-6, --ipv6
ใช้ ipv6 เท่านั้น
โมดูล
-l --โหลด
โหลดโมดูลสำหรับการกรองแพ็กเก็ตของผู้ใช้
-แอล, --โหลด
โหลดโมดูลสำหรับการกรองแพ็กเก็ตของบริการ
HTTP / HTTPS หนังสือมอบฉันทะ
-NS, --ใช้-https
ใช้ https proxy แทน http proxy
-NS, --ชื่อผู้รับมอบฉันทะ
ชื่อเครื่องพร้อมพร็อกซี่เซิร์ฟเวอร์
-NS, --พร็อกซีพอร์ต
พอร์ตที่ใช้โดยพร็อกซีเซิร์ฟเวอร์ (ค่าเริ่มต้น: 8080)
-ค, --pa-เครดิต ขึ้น
ผู้ใช้ (U) และรหัสผ่าน (P) ที่ใช้ในการให้สิทธิ์พร็อกซี
-NS, --pa-t-พื้นฐาน
ประเภทพื้นฐานของการให้สิทธิ์พร็อกซี่ (ค่าเริ่มต้น)
REMOTE การบริหารงาน
โหมดการดูแลระบบระยะไกลเปิดใช้งานโดย '-NS, --remoteadmin' ตัวเลือก
ตัวเลือกที่จำเป็น: '-NS, --ชื่อเซิร์ฟเวอร์ ชื่อ'
หลังจากการอนุญาตสำเร็จแล้ว stdin/stdout จะใช้ในการสื่อสาร
กับผู้ใช้ การแยกวิเคราะห์คำสั่งทั้งหมดทำได้โดย ผู้พิทักษ์. คำสั่ง
รับประกันว่าจะพร้อมใช้งาน:
ช่วย
แสดงความช่วยเหลือ
ลซม
แสดงรายการคำสั่งที่ใช้ได้
เลิก
เลิกเชื่อมต่อ
สำหรับรายการคำสั่งที่ใช้ได้ทั้งหมด โปรดดูที่ ผู้พิทักษ์(1)
เมื่อ '-NS, --พอร์ทนัม ท่า' ถูกนำมาใช้, ลูกค้า ฟังการเชื่อมต่อจาก
ผู้ใช้ที่ NAME:PORT NAME ถูกกำหนดโดย '-NS, --ชื่อโฮสต์' ตัวเลือกหรือชื่อโฮสต์ ()
ฟังก์ชั่นเมื่อไม่มีตัวเลือก
เมื่อผู้ใช้ออก (ปิดการเชื่อมต่อหรือส่ง 'ล้มเลิก' สั่งการ), ลูกค้า
ทางออก
ล็อกซีเอ็มดี FORMAT
ล็อกซีเอ็มดี มีบทสรุปดังนี้ เป้าหมาย คำอธิบาย msgdesc
ที่ไหน เป้า is ไฟล์ or ตะบัน
ลักษณะ is ชื่อไฟล์ or โฮสต์พอร์ต
และ msgdesc เป็นสับเซตของ:
LOG_T_ALL LOG_T_USER, LOG_T_CLIENT LOG_T_INIT LOG_T_จัดการ,
ล็อก_T_MAIN, LOG_I_ทั้งหมด LOG_I_CRIT, LOG_I_DEBUG LOG_I_DDEBUG
LOG_I_INFO, LOG_I_ประกาศ LOG_I_WARNING LOG_I_ERR
เขียนโดยไม่มีช่องว่าง
ตัวอย่าง:
ไฟล์,logfile,LOG_T_USER,LOG_T_CLIENT,LOG_I_INFO,LOG_I_NOTICE
โมดูล
ลูกค้า สามารถใช้โมดูลภายนอกสำหรับการกรองแพ็กเก็ตของผู้ใช้ ('-ล,
--โหลด') และการกรองแพ็กเก็ตของบริการ ('-แอล --โหลด'). ไฟล์โมดูล
ต้องประกาศสามหน้าที่:
ถ่าน* ข้อมูล(ถือเป็นโมฆะ);
info() ส่งคืนค่า:
- ข้อมูลเกี่ยวกับโมดูล
ตัวอย่าง:
ถ่าน*
ข้อมูล (เป็นโมฆะ)
{
ส่งคืน "ตัวทดสอบโมดูล v0.1";
}
int อนุญาต (อักขระ* เจ้าภาพ, ถ่าน* พอร์ต);
อนุญาต () ส่งคืนค่า:
0 - อนุญาตให้เชื่อมต่อ
!0 - วางการเชื่อมต่อ
ตัวอย่าง:
int
อนุญาต (char* host, char* port)
{
กลับ 0; /* อนุญาตให้เชื่อมต่อ */
}
int ตัวกรอง (ถ่าน* เจ้าภาพ, ไม่ได้ลงนาม ถ่าน* ข่าวสาร, int * ความยาว);
filter() ส่งคืนค่า:
0 - อนุญาตให้โอน
1 - วางแพ็คเก็ต
2 - วางการเชื่อมต่อ
3 - ปล่อยโมดูล
4 - ปล่อยแพ็กเก็ตแล้วปล่อยโมดูล
5 - วางการเชื่อมต่อแล้วปล่อยโมดูล
ตัวอย่าง:
int
ตัวกรอง (char* host, unsigned char* message, int* length)
{
int ฉัน;
สำหรับ (i = 1; i < *length; ++i) {
ถ้า (ข้อความ [i-1] == 'M') {
ถ้า (ข้อความ [i] == '1') {
ส่งคืน 1; /* ละเว้น */
}
ถ้า (ข้อความ [i] == '2') {
กลับ 2; /*หลุด*/
}
ถ้า (ข้อความ [i] == '3') {
ส่งคืน 3; /* ปล่อย */
}
ถ้า (ข้อความ [i] == '4') {
กลับ 4; /* ละเว้น + ปล่อย */
}
ถ้า (ข้อความ [i] == '5') {
กลับ 5; /* ลดลง + ปล่อย */
}
}
}
กลับ 0; /* อนุญาตให้โอนได้ */
}
โมดูลจะต้องรวบรวมด้วย -fPIC - แบ่งปัน ตัวเลือก
ใช้ afclient ออนไลน์โดยใช้บริการ onworks.net