MTProxy Telegrami juurutamine statistikaga

MTProxy Telegrami juurutamine statistikaga

"Ma pärisin selle segaduse,
alustades häbematust Zellost; LinkedIn
ja lõpetades "kõik teised" Telegrami platvormil
minu maailmas.

Ja siis luksumine,
Ametnik lisas kähku ja valjult:
aga ma teen asjad korda (siin IT-s)"
(...).

Durov usub õigustatult, et autoritaarsed riigid peaksid teda kartma, küferpunk, ning Roskomnadzor ja kuldsed kilbid oma DPI-filtritega teda tegelikult ei häiri.
(poliitiline tehnika)

Minu tehniline poliitika on lihtsam, ma võin siin kirjeldada oma mõtteid hoolimatu blokeerimise kohta Runetis, kuid usun, et kaasaegse vene ja habri kasutajate edumeelsed kodanikud on praeguse valitsuse ebaprofessionaalsust omal nahal tundnud, seega piirdun sellega. üksainus fraas: meie tehniline poliitika on "Digital Resistance" . "sugulastele ja sõpradele stabiilse suhtluskanali pakkumine."

MTProto puhverserveri Telegrami juurutamine

  • Tehniline keerukuse tase on "lihtne", kui järgite näiteks seda petulehte.
  • Usaldusväärsuse tase on “üle keskmise”: dokkeri pilt töötab stabiilselt, seda ei pea iga päev taaskäivitama, nagu arendajad oma ametlikus Telegrami dokumentatsioonis kirjutasid, kuid tõenäoliselt sisaldab konteiner mõningaid turvaauke.
  • Vastupanu / ärevuse tase - 10 ISIS-e liiget punuvad oma vandenõusid "sugulased kasutavad", keeld ei tulnud RKN-ilt kogu aeg (alates kevadest) isegi mitte üks kord.
  • Usalduse tase on "avalik beebi usaldamatus", probleem kliendi poolel (mõned sõbrad on minu MtprotoProxy suhtes kahtlustavad).
  • Testosterooni tase - "ei tõusnud kõrgemaks".
  • Finantskulud - "0₽".
  • Rahaline tasu - "ei sõltu kodanik Durovist". Edendamine – võime reklaami peale suruda.

Täiendame oma TelegramProxy-d Amazon-ec2: t2.micro "tasuta / isikliku" võimsuse osas. ma kasutasin see auto.

Olgu, juurutas oma tasuta server, minge ametlikule veebisaidile dockerhub ja laadige alla dokkeri konteiner.

Pole vaja otsida mingit pilti, faili või võlunuppu – "neid pole seal", kogu maagia tehakse CLI-s:

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

Kuid enne "seda" installige CLI jaoks docker:

sudo apt-get install docker.io docker

Lisaks pakutakse MtprotoProxyTelegrami ametlikus dokumentatsioonis midagi sellist, mida me teeme:

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

Pärast seda käsku ilmub terminali väljundisse HEX string, kuid meid see ei huvita.

CLI-s kirjutame:

$ docker logs mtproto-proxy

Ja me saame vajalikud andmed:

MTProxy Telegrami juurutamine statistikaga
Selle logi väljundis kuvatakse (määrdunud):

A) meie serveri ip (välise serveri ip);
B) ja juhuslik saladus - juhuslik string HEX-is.

Enne meie MtproProxy registreerimist peate konfigureerima peamise tulemüüri iptablesi kaudu (ükskõik, kuidas te liikluse sellele VPC-le suunate, on see ulakas, kuna Amazon-EC2 peamine tulemüür asub veebiliideses ja sellel on suurem prioriteet iptables).

Me läheme "konsool Amazon-EC2" turvarühmas ja avage sissetulev port 443 (loogiline maskeerimine liiklus esimest korda).

MTProxy Telegrami juurutamine statistikaga

Võtame logist oma “ip and secret” andmed ja läheme Telegram Messengeri, leiame ametliku MTProxy Admin Boti (@MTProxybot) ja registreerime oma MtproProxy: käivitage käsk [/newproxy] ja sisestage [our_ip:443] ja siis meie [salajane /HEX].

Kui segate andmete sisestamisel, saab bot vihaseks ja saadab teid ...

Kui täidate kaks rida vigadeta, saate kinnituse ja töötava lingi oma praegusele MtprotoProxyTelegramile, mida saate kellegagi jagada.

MTProxy Telegrami juurutamine statistikaga

Samuti saate selle roboti kaudu lisada oma sponsorkanali (kuid mitte vestluse), kus saate oma seisukohti teie serveriga ühenduse loonud kasutajatele peale suruda või ei saa te "rämpspostitada" ega tülitada oma potentsiaalseid kliente ilma kanali kuvamine kinnitatud Messengeri loendis.

Veel paar sõna boti kohta, kust saab küsida statistikat, aga “ka sõõrikut”. Ilmselt on "statistika" saadaval, kui teie Mahhatškala selja taga on "tasuta laadijate rahvahulk".

Jälgimine

Kui palju kasutajaid saame oma serveriga ühenduse luua? Ja ikkagi, kes/mis seal on? Mida? Ja kui palju?

Vaatame, mis seal ametliku dokumentatsiooni järgi on... Jah, siin, tee seda nii:

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

"Hoia tasku laiem" Pakutud käskude kohaselt saame alati sarnase vea:

«curl: (7) Ühenduse loomine kohaliku hosti pordiga 2398 ebaõnnestus: Ühenduse loomine keelduti»

Meie puhverserver töötab. Aga! Bagel, mitte statistika, mida me saame.

Saate punasilmsete jaoks asju teha: kontrollige

$ netstat -an | grep 2398 и...

Algul arvasin, et see on järjekordne jamb Telegrami arendajate taga (ja arvan siiani), siis leidsin ajutiselt hea lahenduse: lihvida Docker Container failiga.

Hiljem jäi mulle silma üks infa:

Roskomnadzori riigitantsudest "statistika" ümber.

"Oleme Fireholi projekti andmebaaside abil blokeerinud mõned avalikud puhverserverid oma serverites. See projekt jälgib avalike puhverserveritega loendeid ja teeb nendega andmebaase.

Sellest hetkest (st juba peaaegu kaks päeva) pole meie Venemaa puhverserveri ühtegi IP-aadressi blokeeritud.

3. Me räägime teile, kuidas teha puhverserverit, mis on Roskomnadzori jaoks peaaegu haavamatu, ja jagada skripti avalike puhverserverite blokeerimiseks.

- Värskendage MTProto puhverserveri dokkeri konteiner (või deemon) uusimale versioonile: RKN arvutab vanad versioonid statistikapordi abil, mis oli seotud 0.0.0.0-ga ja identifitseeris end kogu Interneti jaoks unikaalselt. Veelgi parem, avage vajalikud pordid iptablesi abil ja sulgege ülejäänud (pidage meeles, et dokke konteineri puhul peaksite kasutama FORWARD reeglit).

— Roskomnadzor õppis liiklust ammutama: nad näevad kõnesid HTTP ja SOCKS5 puhverserverites ning näevad ka MTProto puhverserveri hägustamise vana versiooni.

Kui mõne teenusepakkuja kliendid, kellel on sellised puhverserverid, pääsevad Telegrami juurde selliste puhverserverite kaudu, näeb RKN selliseid päringuid ja blokeerib need puhverserverid kohe. Sama kehtib ka MTProto puhverserveri kohta, millel on vana hägusus.

Lahendus: levitage puhverserveriga ühenduvatele klientidele saladust ainult alguses dd-ga (pole vaja mtproto puhverserveri enda sätetes määrata täiendavaid tähti dd). See võimaldab hägustamise versiooni, mida prügimäed ei suuda tuvastada.

Ja ei mingeid HTTP ega SOCKS5 puhverservereid.

- Reguleerimine, mille abil saab iga telegrammi puhverserveri omanik, kes on RKN-i poolt regulaarselt keelatud, blokeerimise täielikult (või peaaegu täielikult) lõpetada (ja samal ajal veenduda, et RKN valetab).

Skript, mis keelab avalikud puhverserverid ja selle jaoks väike juhend.

Allikas

Meie puhverserver on läänemeelne, kevadisel ja jahedatel suvepäevadel ei esinenud mul probleeme/ummistusi, see ei meelitanud ka loomingulist ülesannet, nii et ma ei kaotanud tempot ega lisanud dd* eesliidet võti.

MtprotoProxyTelegrami ametlike juhiste järgi olev juhend “statistika hankimine/jälgimine” ei tööta/aegunud, peate dokkeri kujutise parandama.

Me parandame selle.

Konteiner töötab endiselt:

$ 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

Vaatame statistikat:

$ curl http://localhost:2398/stats

curl: (7) Ühenduse loomine 0.0.0.0 pordiga 2398 ebaõnnestus: ühenduse loomine keelduti
Statistika pole endiselt saadaval!...

Uurige dokke konteineri ID:

$ docker ps

KONTEINERI ID PILDI KÄSK LOODI OLEKU PORDIDE NIMED
f423c209cfdc telegrammessenger/proxy:latest "/bin/sh -c '/bin/ba…" Umbes tund tagasi Üles Umbes minut 0.0.0.0:443->443/tcp mtproto-proxy2

Me läheme oma hartaga dokkikonteinerisse:

$ sudo docker exec -it f423c209cfdc /bin/bash

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

Ja skripti "run.sh" viimasele reale lisage puuduv lipp:

«--http-statistika»
"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 root $CONFIG --allow-skip-d h --nat-info "$INTERNAL_IP:$IP" $SECRET_CMD $TAG_CMD"

Lisage "--http-stats", midagi sellist peaks töötama:

«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 (salvesta/välju nano/välju konteinerist).

Taaskäivitage meie dokkimiskonteiner:

$ docker restart mtproto-proxy2

Kõik, nüüd käsu peale:

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

MTProxy Telegrami juurutamine statistikaga
Statistikas on palju “prügi” (1/3 sellest on ekraanil), loo alias:

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

Saame selle, milleks dokkimiskonteiner poleeritud: ühenduste arv ja koormus:

$ telega

MTProxy Telegrami juurutamine statistikaga
Dockeri konteiner töötab, statistika pöörleb.

Ressursid kulutatud

Nii lahe kui sa oled Stuart Redman, jätad isegi sina oma aluspükstele jälje. Töötav Dockeri pilt jätab suure jalajälje.

Dockeri piltide eeliseid ja puudusi pole mõtet kirjeldada, dokkimiskonteiner on mini-virtuaalne masin, mis tarbib vähem ressursse kui “päris” virtuaalmasin, näiteks VirtualBox, kuid seda teeb.

1) Dockeri pildistatistikaga või ilma selleta käivitatud kaks klienti hullavad või kümme - ressursse kasutatakse ~ samamoodi: 75% kogu CPU t2.micro jõudlusest.

2) Vaatame VPC-serveri jälgimist:

MTProxy Telegrami juurutamine statistikaga

VPC ressursikasutuse graafikult näeme, et dokkimiskonteiner tarbib pidevalt ~ 7,5% kogu max. CPU jõudlust ja 28. mail peatasin tahtlikult/ajutiselt (Märkus – serveris töötavad ka OpenVPN ja pptp).

Miks on 10% pidev protsessori kasutus selle serveri jaoks piirang?

Kuna Amazon EC2-l on piirangud ja need arvutatakse krediitides:

MTProxy Telegrami juurutamine statistikaga

1 CPU krediit = 1 CPU, mis töötab 100% koormusel ühe minuti ja meil on 6 krediiti (st tipphetkedel on 100% CPU kasutus võimalik 6 minuti jooksul ja siis protsessori võimsus väheneb). Muud kombinatsioonid: näiteks 1 CPU krediit = 1 CPU, mis töötab 50% koormusel kaks minutit (st saame kasutada protsessorit 50% koormusel 12 minutit) või näiteks pidev 10% CPU koormus töötamise ajal kogu aeg jne.

Järeldused

  • Oleme osa "Digitaalsest vastupanust". Varustasid oma "isadele ja emadele" usaldusväärse suhtluskanali.
  • Kui teil on serveris juurutatud MtprotoProxyTelegram ja OpenVPN, kuid mitte rohkem, siis viivitusi / pingeid / tõrkeid ei esine, kuid kui katsetate pidevalt oma t2 / mikroga, oodake sidepidureid.
  • Minu ülemere ping on ~100-250ms, kõnes ei ole viivitusi.
  • Selle kõige rahalised kulud (sh VPC-ressursid) = 0₽.

Oma artikli kordustrükk.

UPD: Tänu mõnele habrauserile kasulike kommentaaride eest, see on tõepoolest võimalik (kas statistikat toetatakse?), Mtproto puhverserveri ametlikule Telegrami dokkimispildile on paremaid analooge.

Allikas: www.habr.com

Lisa kommentaar