ปรับใช้ MTProxy Telegram ของคุณด้วยสถิติ

ปรับใช้ MTProxy Telegram ของคุณด้วยสถิติ

"ฉันได้รับมรดกระเบียบนี้
เริ่มต้นด้วย Zello ที่ไร้ยางอาย ลิงค์อิน
และลงท้ายด้วย "ทุกคน" บนแพลตฟอร์ม Telegram
ในโลกของฉัน.

แล้วก็สะอึก
เจ้าหน้าที่กล่าวเสริมอย่างเร่งรีบและเสียงดัง:
แต่ฉันจะทำให้สิ่งต่าง ๆ เป็นระเบียบ (ที่นี่ใน IT)"
(... ).

Durov เชื่ออย่างถูกต้องว่าเป็นรัฐเผด็จการที่ควรกลัวเขา Cypherpunk และ Roskomnadzor และโล่สีทองพร้อมตัวกรอง DPI ไม่รบกวนเขาจริงๆ
(เทคนิคการเมือง)

นโยบายทางเทคนิคของฉันนั้นง่ายกว่า ฉันสามารถอธิบายความคิดของฉันเกี่ยวกับการบล็อกโดยไม่ระมัดระวังใน Runet แต่ฉันเชื่อว่าพลเมืองที่ก้าวหน้าของ Modern Russian และผู้ใช้ Habr รู้สึกถึงความไม่เป็นมืออาชีพของรัฐบาลชุดปัจจุบัน ดังนั้นฉันจะจำกัดตัวเองไว้ที่ วลีเดียว: นโยบายทางเทคนิคของเราคือ “การต่อต้านทางดิจิทัล” "ให้ญาติและเพื่อนมีช่องทางการติดต่อที่มั่นคง"

การปรับใช้ MTProto proxy Telegram

  • ระดับความซับซ้อนทางเทคนิคนั้น "ง่าย" ตัวอย่างเช่น หากคุณทำตามสูตรโกงนี้
  • ระดับความน่าเชื่อถือคือ "สูงกว่าค่าเฉลี่ย": อิมเมจนักเทียบท่าทำงานได้อย่างเสถียร ไม่จำเป็นต้องรีสตาร์ททุกวันตามที่นักพัฒนาเขียนไว้ในเอกสาร Telegram อย่างเป็นทางการ แต่คอนเทนเนอร์อาจมีช่องโหว่อยู่บ้าง
  • ระดับการต่อต้าน/ความวิตกกังวล - สมาชิก ISIS 10 คนกำลังสานแผนสมรู้ร่วมคิด "การใช้โดยญาติ" การแบนไม่ได้มาจาก RKN แม้แต่ครั้งเดียวตลอดเวลา (ตั้งแต่ฤดูใบไม้ผลิ)
  • ระดับความไว้วางใจคือ "ความไม่ไว้วางใจของทารกสาธารณะ" ซึ่งเป็นปัญหาในฝั่งไคลเอ็นต์ (เพื่อนบางคนสงสัย MtprotoProxy ของฉัน)
  • ระดับฮอร์โมนเพศชาย - "ไม่สูงขึ้น"
  • ต้นทุนทางการเงิน - "0₽"
  • รางวัลทางการเงิน - "ไม่ขึ้นอยู่กับพลเมือง Durov" โปรโมชั่น - ความสามารถในการกำหนดโฆษณา

เราจะเพิ่ม TelegramProxy บนความจุ "ฟรี/ส่วนตัว" ของ Amazon-ec2: t2.micro ฉันใช้ นี้ รถยนต์.

เอาล่ะ ติดตั้งเซิร์ฟเวอร์ฟรีของคุณแล้ว ไปที่เว็บไซต์ทางการ นักเทียบท่า และดาวน์โหลดคอนเทนเนอร์นักเทียบท่า

ไม่จำเป็นต้องมองหารูปภาพ ไฟล์ หรือปุ่มวิเศษ - "ไม่มีอยู่ตรงนั้น" เวทมนตร์ทั้งหมดเสร็จสิ้นใน CLI:

$ docker pull telegrammessenger/proxy #образ скачан.

แต่ก่อน "นั้น" ให้ติดตั้งนักเทียบท่าสำหรับ CLI:

sudo apt-get install docker.io docker

นอกจากนี้ ในเอกสารอย่างเป็นทางการของ MtprotoProxyTelegram เราเสนอให้ทำสิ่งต่อไปนี้ เราทำ:

$ sudo su && docker run -d -p443:443 --name=mtproto-proxy --restart=always -v proxy-config:/data telegrammessenger/proxy:latest #запускаем наш контейнер «mtproto-proxy».

หลังจากคำสั่งนี้ สตริง HEX จะปรากฏในเอาต์พุตเทอร์มินัล แต่เราไม่สนใจ

เราเขียนใน CLI:

$ docker logs mtproto-proxy

และเราได้รับข้อมูลที่จำเป็น:

ปรับใช้ MTProxy Telegram ของคุณด้วยสถิติ
ในผลลัพธ์ของบันทึกนี้ เราจะแสดง (เปื้อน):

A) ip เซิร์ฟเวอร์ของเรา (ip เซิร์ฟเวอร์ภายนอก);
B) และความลับแบบสุ่ม - สตริงสุ่มใน HEX

ก่อนลงทะเบียน MtproProxy ของเรา คุณต้องกำหนดค่าไฟร์วอลล์หลักผ่าน iptables (ไม่ว่าคุณจะเปลี่ยนเส้นทางการรับส่งข้อมูลไปยัง VPC นี้อย่างไร มันก็จะซุกซน เนื่องจากไฟร์วอลล์หลักใน Amazon-EC2 ตั้งอยู่ในเว็บอินเตอร์เฟสและมีลำดับความสำคัญสูงกว่า iptables)

พวกเราไป "ปลอบใจ Amazon-EC2" ในกลุ่มความปลอดภัยและเปิดพอร์ตขาเข้า 443 (การปิดบังแบบลอจิคัล การจราจร สำหรับครั้งแรก).

ปรับใช้ MTProxy Telegram ของคุณด้วยสถิติ

เรานำข้อมูล "ip และความลับ" ของเราจากบันทึกและไปที่ Telegram messenger ค้นหา MTProxy Admin Bot (@MTProxybot) อย่างเป็นทางการและลงทะเบียน MtproProxy ของเรา: เรียกใช้คำสั่ง [/newproxy] และป้อน [our_ip:443] และ จากนั้น [ความลับ /HEX] ของเรา

ถ้าคุณป้อนข้อมูลพลาด บอทจะโกรธ และส่งคุณไปที่ ...

หากคุณกรอกข้อมูลในสองบรรทัดโดยไม่มีข้อผิดพลาด คุณจะได้รับการอนุมัติและลิงก์ที่ใช้งานได้ไปยัง MtprotoProxyTelegram ปัจจุบันของคุณ ซึ่งคุณสามารถแชร์กับใครก็ได้

ปรับใช้ MTProxy Telegram ของคุณด้วยสถิติ

นอกจากนี้ คุณสามารถเพิ่มช่องทางการสนับสนุนผ่านบอทนี้ (แต่ไม่ใช่การแชท) ซึ่งคุณจะกำหนดมุมมองต่อผู้ใช้ที่เชื่อมต่อกับเซิร์ฟเวอร์ของคุณ หรือคุณไม่สามารถ "สแปม" และไม่รบกวนผู้มีโอกาสเป็นลูกค้าของคุณโดยไม่ แสดงช่องในรายการ Messenger ที่ปักหมุดไว้

อีกสองสามคำเกี่ยวกับบอต ซึ่งคุณสามารถขอสถิติได้ แต่ขอเป็น "โดนัทด้วย" เห็นได้ชัดว่า "สถิติ" มีให้เมื่อคุณมี "คนโหลดฟรีจำนวนมาก" อยู่ข้างหลังคุณ Makhachkala

การตรวจสอบ

เราสามารถเชื่อมต่อกับเซิร์ฟเวอร์ของเราได้กี่คน? และต่อไปใคร / มีอะไร? อะไร และจำนวนเท่าไหร่?

เราดูว่ามีอะไรบ้างตามเอกสารอย่างเป็นทางการ ... ใช่แล้ว ทำแบบนี้:

$ curl http://localhost:2398/stats или вот так $ docker exec mtproto-proxy curl http://localhost:2398/stats # и нам выдадут статистику прямо в CLI.

“เก็บกระเป๋าของคุณให้กว้างขึ้น” ตามคำสั่งที่เสนอ เราจะได้รับข้อผิดพลาดที่คล้ายกันเสมอ:

«curl: (7) ไม่สามารถเชื่อมต่อกับพอร์ต localhost 2398: การเชื่อมต่อถูกปฏิเสธ»

พร็อกซีของเราจะทำงาน แต่! เบเกิลไม่ใช่สถิติที่เราได้รับ

คุณสามารถทำสิ่งต่าง ๆ เพื่อตาแดง: ตรวจสอบ

$ netstat -an | grep 2398 и...

ตอนแรกฉันคิดว่านี่เป็นอีกหนึ่งอุปสรรคเบื้องหลังนักพัฒนา Telegram (และฉันก็ยังคิดอย่างนั้น) จากนั้นฉันก็พบวิธีแก้ปัญหาชั่วคราวที่ดี: ขัด Docker Container ด้วยไฟล์

ต่อมา infa สะดุดตาฉัน:

เกี่ยวกับการเต้นรำของรัฐ Roskomnadzor รอบ "สถิติ"

“เราได้บล็อกพร็อกซีสาธารณะบางส่วนบนเซิร์ฟเวอร์ของเราโดยใช้ฐานข้อมูลของโครงการไฟร์ฮอล โครงการนี้ตรวจสอบรายการด้วยพร็อกซีสาธารณะและสร้างฐานข้อมูลด้วยพร็อกซีสาธารณะ

ตั้งแต่นั้นเป็นต้นมา (นั่นคือเกือบสองวันแล้ว) ไม่มีที่อยู่ IP เดียวของพร็อกซีรัสเซียของเราที่ถูกบล็อก

3. เราจะบอกคุณถึงวิธีสร้างพร็อกซีที่เกือบจะเสี่ยงต่อ Roskomnadzor และแบ่งปันสคริปต์เพื่อบล็อกพร็อกซีสาธารณะ

- อัปเดต MTProto proxy docker container (หรือ daemon) เป็นเวอร์ชันล่าสุด: RKN คำนวณเวอร์ชันเก่าตามพอร์ตสถิติ ซึ่งเชื่อมโยงกับ 0.0.0.0 และระบุตัวเองโดยเฉพาะสำหรับอินเทอร์เน็ตทั้งหมด ยังดีกว่าเปิดพอร์ตที่จำเป็นโดยใช้ iptables และปิดส่วนที่เหลือ (โปรดจำไว้ว่าในกรณีของคอนเทนเนอร์นักเทียบท่า คุณควรใช้กฎ FORWARD)

— Roskomnadzor เรียนรู้วิธีการถ่ายโอนข้อมูลเมื่อนานมาแล้ว: พวกเขาเห็นคำขอภายในพร็อกซี HTTP และ SOCKS5 และยังเห็นการทำให้งงงวยของพร็อกซี MTProto เวอร์ชันเก่าอีกด้วย

เมื่อไคลเอ็นต์ของผู้ให้บริการบางรายที่ติดตั้งดัมพ์เข้าถึง Telegram ผ่านพร็อกซีดังกล่าว RKN จะเห็นคำขอดังกล่าวและบล็อกพร็อกซีเหล่านี้ทันที เช่นเดียวกันกับ MTProto proxy ที่มีการทำให้งงงวยแบบเก่า

วิธีแก้ไข: แจกจ่ายความลับด้วย dd ที่จุดเริ่มต้นไปยังไคลเอนต์ที่เชื่อมต่อกับพร็อกซีเท่านั้น (ไม่จำเป็นต้องระบุตัวอักษรเพิ่มเติม dd ในการตั้งค่าของพร็อกซี mtproto เอง) สิ่งนี้จะเปิดใช้งานเวอร์ชันของการทำให้งงงวยที่ดัมพ์ไพล์ตรวจไม่พบ

และไม่มีพร็อกซี HTTP หรือ SOCKS5

- การปรับด้วยความช่วยเหลือซึ่งเจ้าของโทรเลขพร็อกซีแต่ละคนซึ่งถูก RKN แบนเป็นประจำสามารถหยุดบล็อกได้อย่างสมบูรณ์ (หรือเกือบทั้งหมด) (และในขณะเดียวกันก็ตรวจสอบให้แน่ใจว่า RKN โกหก)

สคริปต์ที่ห้ามพร็อกซีสาธารณะและคู่มือขนาดเล็กสำหรับมัน

Источник

พร็อกซีของเราเป็นแบบตะวันตก ฉันไม่พบปัญหา/การติดขัดใดๆ ในช่วงฤดูใบไม้ผลิและฤดูร้อนที่อากาศเย็นสบาย มันไม่ได้ดึงดูดงานที่สร้างสรรค์เช่นกัน ดังนั้นฉันจึงไม่เสียจังหวะและไม่ได้เพิ่มคำนำหน้า dd* ให้กับ กุญแจ

คู่มือ “การรับสถิติ/การตรวจสอบ” ตามคำแนะนำอย่างเป็นทางการของ MtprotoProxyTelegram ใช้งานไม่ได้/ล้าสมัย คุณจะต้องซ่อมแซมอิมเมจนักเทียบท่า

เราแก้ไขมัน

คอนเทนเนอร์ยังคงทำงานอยู่:

$ docker stop mtproto-proxy #останавливаем наш запущенный docker-контейнер и запускаем новый образ с пропущенным флагом статистики

$ docker run --net=host --name=mtproto-proxy2 -d -p443:443 -v proxy-config:/data -e SECRET=ваш_предыдущий_секрет_hex telegrammessenger/proxy:latest

ตรวจสอบสถิติกัน:

$ curl http://localhost:2398/stats

curl: (7) ไม่สามารถเชื่อมต่อกับพอร์ต 0.0.0.0 2398: การเชื่อมต่อถูกปฏิเสธ
ยังไม่มีสถิติ.!..

ค้นหา ID ของคอนเทนเนอร์นักเทียบท่า:

$ docker ps

CONTAINER ID IMAGE คำสั่งสร้างสถานะพอร์ตชื่อ
f423c209cfdc telegrammessenger/proxy:latest "/bin/sh -c '/bin/ba…" ประมาณหนึ่งชั่วโมงที่แล้ว Up ประมาณหนึ่งนาที 0.0.0.0:443->443/tcp mtproto-proxy2

เราไปกับกฎบัตรของเราภายในคอนเทนเนอร์นักเทียบท่า:

$ sudo docker exec -it f423c209cfdc /bin/bash

$ apt-get update
$ apt-get install nano
$ nano -$ run.sh

และในบรรทัดสุดท้ายของสคริปต์ "run.sh" ให้เพิ่มแฟล็กที่ขาดหายไป:

«--http-สถิติ»
"exec /usr/local/bin/mtproto-proxy -p 2398 -H 443 -M "$WORKERS" -C 60000 --aes-pwd /etc/telegram/hello-explorers-how-are-you-doing -u รูท $CONFIG --allow-skip-d h --nat-info "$INTERNAL_IP:$IP" $SECRET_CMD $TAG_CMD"

เพิ่ม "--http-stats" สิ่งนี้ควรใช้งานได้:

«exec /usr/local/bin/mtproto-proxy -p 2398 --http-stats -H 443 -M "$WORKERS" -C 60000 --aes-pwd /etc/telegram/hello-explorers-how-are-you-doing -u root $CONFIG --allow-skip-d h --nat-info "$INTERNAL_IP:$IP" $SECRET_CMD $TAG_CMD»

Ctrl+o/Ctrl+x/Ctrl+d (บันทึก/ออกจากนาโน/ออกจากคอนเทนเนอร์)

รีสตาร์ทคอนเทนเนอร์นักเทียบท่าของเรา:

$ docker restart mtproto-proxy2

ตอนนี้ทุกอย่างอยู่ในคำสั่ง:

$ curl http://localhost:2398/stats #получаем объемную статистику

ปรับใช้ MTProxy Telegram ของคุณด้วยสถิติ
มี "ขยะ" จำนวนมากในสถิติ (1/3 อยู่บนหน้าจอ) สร้างนามแฝง:

$ echo "alias telega='curl localhost:2398/stats | grep -e total_special -e load_average_total'" >> .bashrc && bash

เราได้สิ่งที่คอนเทนเนอร์นักเทียบท่าได้รับการขัดเกลา: จำนวนการเชื่อมต่อและการโหลด:

$ telega

ปรับใช้ MTProxy Telegram ของคุณด้วยสถิติ
คอนเทนเนอร์ Docker กำลังทำงาน สถิติกำลังหมุน

ทรัพยากรที่ใช้ไป

เจ๋งพอๆ กับที่คุณเป็น Stuart Redman แม้กระทั่งคุณก็ทิ้งรอยไว้บนกางเกงชั้นในของคุณ อิมเมจ Docker ที่รันอยู่จะทิ้งร่องรอยขนาดใหญ่ไว้

มันไม่มีเหตุผลที่จะอธิบายข้อดีและข้อเสียของอิมเมจนักเทียบท่า คอนเทนเนอร์นักเทียบท่าเป็นเครื่องเสมือนขนาดเล็กที่ใช้ทรัพยากรน้อยกว่าเครื่องเสมือน "จริง" เช่น VirtualBox แต่ก็เป็นเช่นนั้น

1) เปิดตัวโดยมีหรือไม่มีสถิติภาพนักเทียบท่า ไคลเอ็นต์สองรายสนุกสนานหรือสิบ - ทรัพยากรถูกใช้ในลักษณะเดียวกัน: 75% ของประสิทธิภาพ CPU t2.micro ทั้งหมด

2) เราดูที่การตรวจสอบเซิร์ฟเวอร์ VPC:

ปรับใช้ MTProxy Telegram ของคุณด้วยสถิติ

จากกราฟการใช้ทรัพยากรบน VPC เราพบว่าคอนเทนเนอร์นักเทียบท่ากินอย่างต่อเนื่อง ~ 7,5% ของค่าสูงสุดทั้งหมด ประสิทธิภาพของ CPU และในวันที่ 28 พฤษภาคมถูกหยุดโดยฉันโดยเจตนา/ชั่วคราว (หมายเหตุ - OpenVPN & pptp กำลังทำงานบนเซิร์ฟเวอร์ด้วย)

เหตุใดการใช้งาน CPU คงที่ 10% จึงเป็นขีดจำกัดสำหรับเซิร์ฟเวอร์นี้

เนื่องจากมีข้อจำกัดจาก Amazon EC2 และคำนวณเป็นเครดิต:

ปรับใช้ MTProxy Telegram ของคุณด้วยสถิติ

1 เครดิต CPU = 1 CPU ทำงานที่โหลด 100% เป็นเวลาหนึ่งนาที และเรามี 6 เครดิต (นั่นคือ ที่จุดสูงสุด การใช้งาน CPU 100% เป็นไปได้ภายใน 6 นาที จากนั้นพลังงานของ CPU จะลดลง) ชุดค่าผสมอื่นๆ: ตัวอย่างเช่น 1 เครดิต CPU = 1 CPU ทำงานที่โหลด 50% เป็นเวลาสองนาที (เช่น เราสามารถใช้ CPU ที่โหลด 50% เป็นเวลา 12 นาที) หรือ ตัวอย่างเช่น โหลด CPU 10%-th คงที่ในระหว่าง ตลอดเวลา เป็นต้น

ผลการวิจัย

  • เราเป็นส่วนหนึ่งของ "การต่อต้านดิจิทัล" จัดหาช่องทางการสื่อสารที่เชื่อถือได้ให้กับ "บิดาและมารดา"
  • หากคุณติดตั้ง MtprotoProxyTelegram และ OpenVPN บนเซิร์ฟเวอร์ แต่ไม่มีอีกต่อไป จะไม่มีการหน่วงเวลา / ปิง / ความล้มเหลว แต่ถ้าคุณทดลองกับ t2 / micro ของคุณอย่างต่อเนื่อง ให้รอเบรกการสื่อสาร
  • ping ในต่างประเทศของฉันคือ ~100-250ms ไม่มีความล่าช้าในการสื่อสารด้วยเสียง
  • ต้นทุนทางการเงินสำหรับ "สิ่งนี้" ทั้งหมด (รวมถึงทรัพยากร VPC) = 0₽

พิมพ์ซ้ำบทความของคุณ

UPD: ขอบคุณผู้ใช้ habrauser สำหรับความคิดเห็นที่เป็นประโยชน์ จริง ๆ แล้วเป็นไปได้ (รองรับสถิติหรือไม่) มีแอนะล็อกที่ดีกว่าของอิมเมจนักเทียบท่า Telegram อย่างเป็นทางการของพร็อกซี Mtproto

ที่มา: will.com

เพิ่มความคิดเห็น