MTProxy Telegrami kÀivitamine statistika abil

MTProxy Telegrami kÀivitamine statistika abil

„Ma pĂ€risin selle segaduse,
alustades sĂŒdantlĂ€bi Zello; LinkedIn
ja lĂ”petades „kĂ”ikide teistega“ Telegrami platvormil
minu maailmas.

Ja siis, pÀrast köhitamist,
ametnik kiirustas ja ĂŒtles valjult:
aga ma kehtestan (siin IT-sektoris) korda”
(
).

Durov usub Ă”igesti, et autoritaarsetel riikidel on tema, krĂŒptovandeneurite, ees karta, samas kui Roskomnadzorid ja kuldsed kilbid oma DPI-filteritega ei hĂ€iri teda eriti.
(Poliitiline tehnika)

Minu tehniline poliitika – lihtsam, ma vĂ”in siin esitada oma mĂ”tteid hoolimatute blokeeringute kohta Runetis, aga arvan, et progressiivsed elanikud Modern Russia ja Habra kasutajad on kogenud ametivĂ”imude ebaprofessionaalsust, seetĂ”ttu piirdun ainsa lausega: meie tehniline poliitika – „Digitaalne Vastupanu“. „kohana toimetulekuks, et tagada sugulastele ja lĂ€hedastele stabiilne sideteenus“.

MTProto proxy Telegrami kÀivitamine

  • Tehnilise keerukuse tase – „lihtne“, kui nĂ€iteks jĂ€rgida seda abivahendit.
  • UsaldusvÀÀrsuse tase — "ĂŒle keskmise": docker-pilt töötab stabiilselt, seda ei ole vaja iga pĂ€ev taaskĂ€ivitada, nagu on öeldud arendajate ametlikus Telegrami dokumentatsioonis, kuid mingid haavatavused konteinerit kindlasti sisaldavad.
  • Vastupidavuse/tĂ”e tase — 10 ISIL-i liiget punuvad oma vandenĂ”usid "perekond kasutab", RKN-lt pole keeldumist tulnud kunagi kogu aja jooksul (kevade algusest).
  • UsaldusvÀÀrsuse tase — "avalik beebi usaldus", probleem on klientide poolel (mĂ”ned sĂ”brad kahtlustavad mu MtprotoProxy-d).
  • Testosterooni tase — "ĂŒle ei ole saanud".
  • Finantskulud — "0ₜ".
  • Finantsiline tasu — "ei sĂ”ltu kodanik Durovist". Preemia — vĂ”imalus reklaami pealesurumiseks.

Kavatseme meie TelegramProxy ĂŒles seada "tasuta/isiklikel" Amazon-ec2 ressurssidel: t2.micro. Olen kasutanud seda masinat.

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

Ei ole vaja otsida mingit pilti, faili vĂ”i maagilist nuppu — "neid ei ole", kogu maagia toimub CLI-s:

$ docker pull telegrammessenger/proxy #pilt on alla laaditud.

Aga enne "seda" installige docker CLI jaoks:

sudo apt-get install docker.io docker

SeejÀrel soovitatakse ametlikus dokumentatsioonis MtprotoProxyTelegram teha jÀrgmist:

$ 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 huvitagi.

Sisestame CLI:

$ docker logs mtproto-proxy

Ja saame vajalikud andmed:

MTProxy Telegrami kÀivitamine statistika abil
Selle logi vÀljundis nÀidatakse meile (tumendatud):

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

Enne kui registreerime meie MtproProxy, tuleb seadistada peamine tulemĂŒĂŒr iptables'i kohal (ĂŒkskĂ”ik, kuidas te ka ei suunaks liiklust selles VPC-s, see jÀÀb sĂ”nakuulmatu, kuna kĂ”ige olulisem tulemĂŒĂŒr Amazon-EC2-s asub veebiliideses ja sellel on kĂ”rgem prioriteet kui iptables'il).

Siseneme „konsol Amazon-EC2“ Security Groupi ja avame siseneva 443 pordi (loogiline maskeerimine liikluse ajaks).

MTProxy Telegrami kÀivitamine statistika abil

VĂ”tame logist meie andmed „IP ja saladus“ ja lĂ€heneme messengera Telegram, leiame ametlikku MTProxy Admin Boti (@MTProxybot) ja registreerime meie MtproProxy: kĂ€ivitame kĂ€su [/newproxy] ja sisestame [meie_ip:443], seejĂ€rel ka meie [saladus/HEX].

Kui teete andmete sisestamisel viga, siis bot vihastab ja saadab teid


Kui tÀidate kaks rida ilma vigadeta, saate heakskiidu ja töötava lingi oma aktiivsele MtprotoProxyTelegramile, mida saate jagada kellegagi.

MTProxy Telegrami kÀivitamine statistika abil

Selle boti kaudu saate lisada oma sponsorluskanali (aga mitte chati), kus te saate oma vaateid kasutajatele, kes on teie kanaliga ĂŒhendatud, peale suruda. serverile, aga vĂ”ite ka mitte "spĂ€mida" ja mitte hĂ€irida oma potentsiaalseid kliente, nĂ€itamata kanali kinnitatud nimekirjas messengeri.

Veel paar sĂ”na botist, seal saab kĂŒsida statistikat, aga "ka see on tĂŒhine". Ilmselt on "statistika" saadaval, kui teid jĂ€lgib Makhatchkala "vĂ”sundite hulk".

JĂ€lgimine

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

Vaatame, mis on ametlikus dokumentatsioonis
 Ah, siit see tuleb:

$ curl http://localhost:2398/stats vÔi niimoodi $ docker exec mtproto-proxy curl http://localhost:2398/stats # ja anname statistika otse CLI-s.

„Hoia taskud laiemad“ Pakutud kĂ€skude puhul saame alati sarnase vea:

«curl: (7) Ühendus localhosti pordiga 2398 ebaĂ”nnestus: Ühenduses keelduti.»

Meie proksy töötab. Aga! Bublik, mitte statistikat me saame.

VÔib tegeleda asjadega punasilmade jaoks: kontrollida

$ netstat -an | grep 2398 ja...

Alguses arvasin, et see on jÀlle Telegrami arendajate viga (ja ma arvan seda endiselt), siis leidsin ajutise, kuid hea lahenduse: lihvida Docker-konteinerit nailoniga.

Hiljem jÀi silma info:

riiklike tantsude kohta Roskomnadzori ĂŒmber "statistika".

"Oleme blokeerinud oma serverites osa avalikku proksyt, kasutades projekti firehol andmeid. See projekt jÀlgib nimekirju avalikest proksidest ja koostab nende baase.

Sellest hetkest (st juba peaaegu kaks pĂ€eva) ei ole ĂŒhegi meie Venemaa proksy IP-aadressi blokeeritud.

3. RÀÀgime, kuidas teha peaaegu haavatamatut Roskomnadzori jaoks proksyt ja jagame avalike prokside blokeerimise skripti.

— Uuendage MTProto proxy docker-konteinerit (vĂ”i teenust) viimasele versioonile: RKN tuvastab vanad versioonid statistika pordi kaudu, mis oli seotud aadressiga 0.0.0.0 ja identifitseeris end kogu Internetis. Veel parem — avage vajalikud pordid iptables'i abil ja sulgege ĂŒlejÀÀnud (peate meeles pidama, et docker-konteineri puhul tuleks kasutada FORWARD reeglit).

— Roskomnadzor on ammu Ă”ppinud liiklust jĂ€lgima: nad nĂ€evad pĂ€ringuid HTTP- ja SOCKS5-prokside kaudu ning nĂ€evad ka vana versiooni MTProto proxy obfuskeeringust.

Kui mÔne proviideri kliendid, kellel on sellised jÀlgimisriistad, pöörduvad Telegrami selliste prokside kaudu, siis RKN nÀeb neid pÀringuid ja loobustab kohe need proksid. Sama kehtib ka MTProto prokside puhul, millel on vana obfuskeering.

Lahendus: andke proksiga ĂŒhenduvad kliendid, saladus, mis algab dd’ga (Ă€rge lisage seadistustes tĂ€iendavaid tĂ€hti dd MTProto proksi ise). See aktiveerib obfuskeeringu versiooni, mida jĂ€lgimisriistad ei oska tuvastada.

Ja ei mingeid HTTP- ja SOCKS5-proksisid.

— Meetod, mille abil iga Telegrami-proksi omaniku, kes regulaarselt leidub RKN blokeeringutes, suudab tĂ€ielikult (vĂ”i peaaegu tĂ€ielikult) blokeeringud lĂ”petada (ja veenduda, et RKN valetab).

Skripti, mis blokeerib avalikke proksisid ja vÀike juhend sellele.

→ Allikas

Meie proksi on lÀÀne suunaga, ma ei ole kevadel ega jahedatel suvepĂ€evadel mingeid probleeme/ blokeeringuid kohanud, loov ĂŒlesanne ei saanud sellest ka kantud, seega ei kaotanud ma tempot ega lisanud vĂ”ti eesliidet dd*.

Juhend „statistika saamine/monitooring” ametliku MtprotoProxyTelegram juhise jĂ€rgi — ei tööta/ on aegunud, tuleb parandada docker-pilt.

Parandame.

Konteiner on meil endiselt kÀimas:

$ docker stop mtproto-proxy #peatame meie kÀimasoleva docker-konteineri ja kÀivitame uue pildi statistikanÀidiku 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) Ühendumi ebaĂ”nnestumine 0.0.0.0 port 2398: Ühendus keeldus
Statistika on endiselt kÀttesaamatu .!..

Selgitame vÀlja docker-konteineri ID:

$ docker ps

KONTROLLER ID PILT KOMANDI LOO NI KESKUS STATU PORTIDE NIMED
f423c209cfdc telegrammessenger/proxy:latest «/bin/sh -c ‘/bin/ba » Umbes tunni tagasi Üles Umbes minut tagasi 0.0.0.0:443->443/tcp mtproto-proxy2

Tuleme oma reeglitega docker-konteinerisse:

$ sudo docker exec -it f423c209cfdc /bin/bash

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

Ja skripti «run.sh» kÔige viimasesse ritta 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»

Lisate «—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/vÀlja konteinerist).

TaaskÀivitame meie docker-konteineri:

$ docker restart mtproto-proxy2

KĂ”ik, nĂŒĂŒd kĂ€suga:

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

MTProxy Telegrami kÀivitamine statistika abil
Statistikast leiate palju «prĂŒgi» (ekraanipildil 1/3 sellest), loome alias:

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

Saame selle, mille jaoks docker-konteinerit lihvisime: ĂŒhenduste arv ja koormus:

$ telega

MTProxy Telegrami kÀivitamine statistika abil
Docker-konteiner töötab, statistika jookseb.

Kulutatud ressursid

Mitte kui lahe sa oled, Stewart Redman, isegi sina jĂ€tad oma pĂŒkstes jĂ€lje. Töökindel Docker-pilt jĂ€tab mĂ€rkimisvÀÀrse jĂ€lje.

Docker-piltide eeliste ja puuduste ĂŒleskirjutamine pole mĂ”tet, docker-konteiner on mini-virtuaalmasin, mis tarbib ressursse vĂ€hem kui "pĂ€ris" virtuaalmasin, nĂ€iteks VirtualBox, kuid tarbib siiski.

1) KĂ€ivitatud kas docker-pildi statistika abil vĂ”i ilma, kas kaks klienti hullavad vĂ”i kĂŒmme — ressursse kasutatakse ~ĂŒhtlaselt: 75% kogu t2.micro CPU jĂ”udlusest.

2) Vaatame VPC-serveri monitooringut:

MTProxy Telegrami kÀivitamine statistika abil

VPC ressursside kasutuse graafikust nĂ€eme, et docker-konteiner tarbib pidevalt ~7,5% kogu maksimum CPU jĂ”udlusest ja 28. mail lĂ”petasin selle tahlikult/ajutiselt. (MĂ€rkus — serveris töötab samamoodi OpenVPN & pptp).

Miks on 10% pidev CPU koormus selle serveri jaoks piiriks?

Kuna Amazon EC2 poolt on piirangud ja need arvutatakse krediitide jÀrgi:

MTProxy Telegrami kÀivitamine statistika abil

1 CPU kredi = 1 protsessor, mis töötab 100% koormusega ĂŒhe minuti jooksul, ja meil on 6 krediiti (st tippudel on 100% CPU kasutus vĂ”imalik 6 minuti jooksul, pĂ€rast seda vĂ€heneb CPU vĂ”imsus). Muud kombinatsioonid: nĂ€iteks, 1 CPU krediit = 1 protsessor, mis töötab 50% koormusega kahe minuti jooksul (st me saame kasutada CPU-d 50% koormusega 12 minuti jooksul), vĂ”i nĂ€iteks pideva 10% koormusega CPU kogu aja jooksul jne.

JĂ€reldused

  • Me oleme „Digitaalne Vastupanu“. Tagasime oma „isa ja ema“ usaldusvÀÀrse suhtluskanali.
  • Kui serveris on paigaldatud MtprotoProxyTelegram ja OpenVPN, kuid mitte rohkem, siis viivitusi/pingeid/rikkeid ei toimu, kuid kui katsetate pidevalt oma t2/mikroga, siis oodake ĂŒhenduse aeglustumist.
  • Minu ĂŒlemereline ping ~100-250ms, hÀÀlkĂ”nes ei tunne viivitusi.
  • Finantskulud kogu selle „asja“ eest (sealhulgas VPC ressursid) = 0ₜ.

Oma artikli ĂŒmbertrĂŒkk.

UPD: TÀnan mÔningaid Habr kasutajaid kasulike kommentaaride eest, tÔepoolest, vÔib-olla (statistika toetab?), on paremad analoogid ametlikule docker-kiibile Mtproto proxy Telegram.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster