Teie MTProxy Telegrami seadistamine koos statistika analĂŒĂŒsiga

Teie MTProxy Telegrami seadistamine koos statistika analĂŒĂŒsiga

„Ma pĂ€risin selle segaduse,
alustades hÀbematud Zello; LinkedIn
ja lÔpetades "kÔikide teistega" Telegrami platvormil
minu maailmas.

Ja siis, ĂŒhe Ă”hkjĂ€tmisega,
ametnik lisas kiirustades ja valjusti:
aga ma panen (siin IT-s) korda“
(
).

Durov arvab Ă”igesti, et autoritaarsed riigid peaksid kartma teda, krĂŒptopanka, ja Roskomnadzorid koos oma kuldsete kilpidega oma DPI-filtritega ei muretse tema pĂ€rast eriti"
(Poliitiline tehnika)

Minu tehniline poliitika — lihtsam, ma vĂ”iksin siin kirjeldada oma mĂ”tteid hoolimatute blokeeringute kohta Runetis, aga arvan, et progresiivsed kodanikud Modern Venemaalt ja Habr'i kasutajad on oma nahal tundnud praeguse vĂ”imu ebaprofessionaalsust, seega piirdun ainulaadse fraasiga: meie tehniline poliitika — "Digitaalne Vastupanu". "lĂ€himatele ja kallitele usaldusvÀÀrse suhtluskanali tagamine".

MTProto proxy Telegrami seadistamine

  • Tehnilise keerukuse tase — "lihtne", kui nĂ€iteks jĂ€rgida antud skripti.
  • UsaldusvÀÀrsuse tase — "ĂŒle keskmise": docker-pilt töötab stabiilselt, seda ei pea iga pĂ€ev uuesti kĂ€ivitama, nagu arendajad on oma ametlikus dokumentatsioonis Telegramis kirjutanud, kuid mingid haavatavused konteiner sisaldab kindlasti.
  • Vastupanu/turvatunne — 10 igiliikuri tunnistajat sepitsevad oma vandeid "pereliikmed kasutavad", RKN ei ole kunagi blokaadi kĂ€skinud (kevade algusest).
  • UsaldusvÀÀrsuse tase — "avalik beebi usaldamatus", probleem on klientide poolel (mĂ”ned sĂ”brad suhtuvad minu MtprotoProxy'sse kahtlusega).
  • Testosterooni tase — "rohkem ei tĂ”usnud".
  • Finantskulud — "0ₜ".
  • Finantsiline tasu — "ei sĂ”ltu kodanik Durovist". Auhind — reklaami sundimise vĂ”imalus.

KĂ€ivitame meie TelegramProxy „tasuta/isiklike“ Amazon-ec2 ressursside peal: t2.micro. Kasutasin seda masinat.

Okei, seadistame oma tasuta server, liigume ametlikule veebilehele dockerhub ja laadime alla docker-konteineri.

Ei pea otsima mingeid pilte, faile vĂ”i imelist nuppu — „neid ei ole“, kogu maagia toimub CLI-s:

$ docker pull telegrammessenger/proxy #pilt alla laaditud.

Aga enne "seda" paigaldage docker CLI jaoks:

sudo apt-get install docker.io docker

Edasi, ametlikus dokumentatsioonis MtprotoProxyTelegram pakuvad nad teha umbes jÀrgmist, teeme:

$ sudo su && docker run -d -p443:443 --name=mtproto-proxy --restart=always -v proxy-config:/data telegrammessenger/proxy:latest #kÀivitame meie konteineri "mtproto-proxy".

PÀrast seda kÀsku kuvatakse terminali vÀljundis HEX-string, kuid see meid ei huvita.

Kirjuta CLI-s:

$ docker logs mtproto-proxy

Ja saame vajalikud andmed:

Teie MTProxy Telegrami seadistamine koos statistika analĂŒĂŒsiga
Selle logi vÀljundis nÀidatakse meile (kattisin):

A) meie serveri IP (serveri vÀline IP);
B) ja juhuslik saladus — juhuslik HEX-string.

Enne kui registreerime oma MtproProxy, tuleb seadistada peamine tulemĂŒĂŒr iptables'i kohal (ĂŒkskĂ”ik kuidas te liiklust sellel VPC-l suunate, see ei kuula, kuna peamine tulemĂŒĂŒr Amazon-EC2-s asub web-liideses ja omab kĂ”rgemat prioriteeti iptables'i ĂŒle).

Siseneme „konsoli Amazon-EC2“ turvagrupi ja avame sissetuleva 443 porta (loogiline maskeerimine liiklus esialgu).

Teie MTProxy Telegrami seadistamine koos statistika analĂŒĂŒsiga

VĂ”tame logist meie andmed „ip ja saladus“ ja lĂ€heme messengeri Telegram, leiame ametliku MTProxy Admin Boti (@MTProxybot) ja registreerime oma MtproProxy: kĂ€ivitame kĂ€su [\/newproxy] ja sisestame [meie_ip:443], seejĂ€rel ka meie [saladuse\/HEX].

Kui teete andmete sisestamisel vea, siis bott vihastab ja saadab teid


Kui tÀidate kaks rida ilma vigadeta, saate heakskiidu ja tööloa lingi oma tegevusele MtprotoProxy Telegramis, mida vÔite jagada kellegagi.

Teie MTProxy Telegrami seadistamine koos statistika analĂŒĂŒsiga

Samuti saab selle boti kaudu lisada teie sponsorkanalit (kuid mitte chatti), kus vĂ”ite oma vaateid edastada kasutajatele, kes on teie serveri, vĂ”i siis mitte „spĂ€mmida“ ning mitte hĂ€irida oma potentsiaalseid kliente, nĂ€itamata kanalit kinnitatud nimekirjas messengeri.

Veel paar sĂ”na botist, seal saab kĂŒsida statistikat, kuid „ka see on mĂ”ttetu“. Tundub, et „statistika“ on saadaval, kui teie eest on Makhachkala „parasiitide hulk“.

JĂ€lgimine

Kui palju kasutajaid saame oma serverisse ĂŒhendada? Ja ĂŒleĂŒldse, kes\/mis seal on? Mida? Ja kui palju?

Vaadake, mis seal ametlikus dokumentatsioonis on
 Aha, siin on, tehke nii:

$ curl http:\/\/localhost:2398\/stats vÔi nii $ docker exec mtproto-proxy curl http:\/\/localhost:2398\/stats # ja me saame statistika otse CLI-s.

„Hoidke taskut laiemana“ Pakutud kĂ€skudega saame alati sarnase vea:

«curl: (7) Failed to connect to localhost port 2398: Ühenduse loomine keelatud»

Meie proxy töötab. Aga! Saame mÔttetu statistika, mitte seda.

Saame tegeleda asjadega punaste silmade jaoks: kontrollida

$ netstat -an | grep 2398 ja...

Esmalt arvasin, et see on jÀrjekordne viga Telegrami arendajate poolt (ja ma arvan seda siiani), seejÀrel leidsin ajutise, kuid hea lahenduse: lihvida Docker-konteinerit failiimejaga.

Hiljem leidsin teavet:

Venemaa Riikliku Teabeameti ĂŒmber toimuvate "statistika" ringtantsude kohta.

„Oleme blokeerinud oma serverites osa avalikest proksidest, kasutades firehol projekti andmebaase. See projekt jĂ€lgib avalike prokside loendeid ja koostab nendest andmebaasid.

Alates sellest hetkest (ehk juba pea kaks pĂ€eva) ei ole ĂŒhtegi meie Venemaa proksi IP-aadressi blokeeritud.

3. RÀÀgime, kuidas teha peaaegu Roskomnadzori suhtes haavatamatu proksi ja jagame avalike prokside blokeerimise skripti.

— Uuendage docker-konteinerit (vĂ”i MTProto proksi deemonit) viimasele versioonile: RKN mÀÀrab vanad versioonid statistika porti pĂ”hjal, mis seondus 0.0.0.0 ja tuvastas end kogu Internetis. Veelgi parem — avage vajalikud pordid iptables abil, sulgege kĂ”ik ĂŒlejÀÀnud (pidage meeles, et docker-konteineri puhul tuleks kasutada FORWARD reeglit).

— Roskomnadzor on ammu Ă”ppinud liiklust kaevandama: nad nĂ€evad pöördumisi nii HTTP- kui SOCKS5-prokside sees, samuti nĂ€evad nad MTProto proksi vana versiooni obfuskeerimist.

Kui teatud teenusepakkujate kliendid, kellel on sellised kaevandajad, pöördavad Telegrami poole selliste prokside kaudu, siis RKN nÀeb neid pöördumisi ja blokeerib kohe need proksid. Sama kehtib MTProto proksi kohta, kus on vana obfuskeerimine.

Lahendus: andke proksi juurde ĂŒhenduvatele klientidele salajane vĂ”tme alguses dd (tĂ€iendavaid tĂ€hted dd ei pea mtproto proksi seadistustes mÀÀrama). See aktiveerib obfuskeerimise versiooni, mida kaevandajad ei suuda tuvastada.

Ja mitte mingit HTTP- ja SOCKS5-prokside kasutamist.

— Manööverdus, millega iga Telegrami proksi omanik, keda RKN pidevalt blokeerib, saab tĂ€ielikult (vĂ”i peaaegu tĂ€ielikult) blokeeringud lĂ”petada (ja samas veenduda, et RKN valetab).

Skript, mis blokeerib avalikud proksid ja vÀike juhend sellele.»

→ Allikas

Meie proksi on lÀÀne suunitlusega, suvise jaheda ilma jooksul ei ole ma mingeid probleeme/ blokeeringuid kogenud, loov ĂŒlesanne ei koormanud ka, seega ma ei viibinud tempot ja dd* prefiksi vĂ”tmele ei lisanud.

Juhend "statistika saamine/monitooring" ametliku MtprotoProxyTelegrami talitluse kohaselt ei tööta/ on vananenud, tuleb docker-pilti parandada.

Parandame.

Konteiner on meil endiselt kÀivitunud:

$ docker stop mtproto-proxy #peatame oma jooksva docker-konteineri ja kÀivitame uue pildi koos puuduva statistika lipuga
$ docker run --net=host --name=mtproto-proxy2 -d -p443:443 -v proxy-config:\/data -e SECRET=teie_eelmine_salajane_hex telegrammessenger\/proxy:latest

Kontrollime statistikat:

$ curl http:\/\/localhost:2398\/stats

curl: (7) Ühendamine aadressiga 0.0.0.0 port 2398 ebaĂ”nnestus: Ühendus keelatud
Statistika on endiselt puuduv .!..

Selgitame vÀlja docker-konteineri identifikaatori:

$ docker ps

KONTEINERI ID PILT KÄSK LOODETUD OLEK PORTID NIMED
f423c209cfdc telegrammessenger\/proxy:latest «\/bin\/sh -c ‘\/bin\/ba » Umbes tund tagasi Jookseb Umbes minut 0.0.0.0:443->443\/tcp mtproto-proxy2

LÀheme oma mÀÀrustega docker-konteinerisse:

$ sudo docker exec -it f423c209cfdc \/bin\/bash

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

Ja skripti „run.sh“ viimases reas lisame puuduva lipu:

«—http-stats»
«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 vĂ€lja tulema:

«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Àlja nano/st jÔudmine konteinerist).

KĂ€ivitame meie docker-konteineri uuesti:

$ docker restart mtproto-proxy2

NĂŒĂŒd, kĂ€su korral:

$ curl http:\/\/localhost:2398\/stats #saame mahuka statistika

Teie MTProxy Telegrami seadistamine koos statistika analĂŒĂŒsiga
Statistikast leidub palju „prĂŒgi“ (kuva 1/3 sellest osast), loome alias:

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

Saame seda, mille jaoks polime docker-konteinerit: ĂŒhenduste arv ja koormus:

$ telega

Teie MTProxy Telegrami seadistamine koos statistika analĂŒĂŒsiga
Docker-konteiner töötab, statistika liigub.

Kasutatud ressursid

Isegi kui sa oled Àge Stuart Redman, jÀtad sa oma Ônnetusest jÀlje oma aluspesule. Töötav Docker-pilt jÀtab mÀrkimisvÀÀrse jÀlje.

Docker-piltide eeliste ja puuduste kirjeldamine pole mĂ”tet, docker-konteiner on mini-virtuaalmasin, mis tarbib vĂ€hem ressursse kui „reaalne“ virtuaalmasin, nĂ€iteks VirtualBox, kuid tarbib siiski.

1) Kas see on kĂ€ivitatud statistika docker-pildiga vĂ”i ilman, kaks klienti möllavad vĂ”i kĂŒmme — ressursid utiliseeritakse ~ĂŒhtemoodi: 75% kogu CPU t2.micro jĂ”udlusest.

2) Vaadake VPC-serveri jÀlgimist:

Teie MTProxy Telegrami seadistamine koos statistika analĂŒĂŒsiga

VPC ressursside kasutamise graafikust nÀeme, et docker-konteiner tarbib pidevalt ~7,5% kogu maksimaalsest CPU jÔudlusest ja 28. mail peatati see minu poolt tahtlikult/ajutiselt. (MÀrkus - serveris töötavad ka OpenVPN & pptp).

Miks 10% pidev CPU koormus on selle serveri piir?

Sest Amazon EC2lt on piirangud ja need arvutatakse krediitide pÔhjal:

Teie MTProxy Telegrami seadistamine koos statistika analĂŒĂŒsiga

1 krediit CPU = 1 CPU, mis töötab 100% koormusega ĂŒhe minuti jooksul, ja meil on 6 krediiti (st tipptundadel on 100% CPU kasutus vĂ”imalik 6 minuti jooksul, pĂ€rast seda vĂ€heneb CPU vĂ”imsus). Teised kombinatsioonid: nĂ€iteks 1 krediit CPU = 1 CPU, mis töötab 50% koormusel kahe minuti jooksul (st saame kasutada CPU-d 50% koormusel 12 minuti jooksul) vĂ”i pidev 10% koormus CPU-l kogu aeg jne.

JĂ€reldused

  • Me oleme osa „Digitaalsest Vastupanust“. Oleme taganud oma „emadele ja isadele“ usaldusvÀÀrse kommunikatsioonikanali.
  • Kui serveris on seadistatud MtprotoProxyTelegram ja OpenVPN, kuid mitte rohkem, siis viivitusi/pingeid/ebaĂ”nnestumisi ei esine, kuid kui katsetate pidevalt oma t2/micro-ga, siis oodake ĂŒhenduse aeglustumist.
  • Minu ĂŒlemereline ping on ~100-250ms, helikĂ”nes pole viivitusi tunda.
  • Finantskulud kogu „selle“ (sealhulgas VPC ressursid) = 0 ₜ.

Oma artikli ĂŒmberkirjutamine.

UPD: TÀname mÔningaid Habr-kasutajaid kasulike kommentaaride eest, tÔepoolest, on vÔimalik (statistika toetab?), et on paremad analoogid ametlikust docker-pildist Mtproto proxy Telegrami jaoks.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster