Zure MTProxy Telegram estatistikekin zabaltzea

Zure MTProxy Telegram estatistikekin zabaltzea

"Nahaspila hau heredatu nuen,
Zello lotsagabetik hasita; LinkedIn
eta Telegram plataforman "beste guztiok" amaituz
nire munduan.

Eta gero hika,
Funtzionarioak presaka eta ozen gehitu zuen:
baina gauzak ordenatuko ditut (hemen IT)"
(...).

Durovek, arrazoiz uste du estatu autoritarioak direla beraren beldur izan behar dutenak, cypherpunk bat, eta Roskomnadzor eta DPI iragazkiak dituzten urrezko ezkutuek ez diotela benetan molestatzen.
(Teknika politikoa)

Nire politika teknikoa sinpleagoa da, hemen deskriba ditzaket Runet-en axolagabekeriaz blokeatzeari buruzko nire pentsamenduak, baina uste dut Errusiar Modernoaren eta Habr erabiltzaileen hiritar aurrerakoiek egungo gobernuaren profesionaltasunik eza euren azalean sentitu dutela, beraz, mugatuko naiz. esaldi bakarra: gure politika teknikoa “Erresistentzia digitala” da. «senideei eta lagunei komunikazio kanal egonkor bat eskaintzea».

MTProto proxy Telegram inplementatzen

  • Konplexutasun-maila teknikoa "erraza" da, adibidez, tranpa orri hau jarraitzen baduzu.
  • Fidagarritasun-maila "batez bestekoaren gainetik" dago: docker-aren irudiak egonkor funtzionatzen du, ez da egunero berrabiarazi behar, garatzaileek Telegram-eko dokumentazio ofizialean idatzi zuten bezala, baina edukiontziak ziurrenik ahultasun batzuk ditu.
  • Erresistentzia / antsietate maila - 10 ISIS kideek beren konspirazioak ehuntzen ari dira "senideek erabiltzen dute", debekua ez da RKNtik behin ere etorri denbora guztian (udaberritik).
  • Konfiantza maila "haurren mesfidantza publikoa" da, bezeroaren arazo bat (lagun batzuk nire MtprotoProxy-rekin susmatzen dute).
  • Testosterona maila - "ez zen altuagoa izan".
  • Finantza kostuak - "0₽".
  • Finantza saria - "ez du Durov hiritarren araberakoa". Sustapena - publizitatea inposatzeko gaitasuna.

Gure TelegramProxy Amazon-ec2-ren gaitasun "doako / pertsonaletan" igoko dugu: t2.micro. erabili nuen hau autoa.

Ados, doako zerbitzaria zabaldu, joan webgune ofizialera dockerhub eta deskargatu docker edukiontzia.

Ez dago irudi, fitxategi edo botoi magikoren bat bilatu beharrik - "ez daude hor", magia guztia CLIan egiten da:

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

Baina "hori" baino lehen, instalatu docker CLIrako:

sudo apt-get install docker.io docker

Gainera, MtprotoProxyTelegram-en dokumentazio ofizialean, honelako zerbait egitea eskaintzen zaigu:

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

Komando honen ondoren, HEX kate bat agertuko da terminaleko irteeran, baina ez zaigu interesatzen.

CLI-n idazten dugu:

$ docker logs mtproto-proxy

Eta beharrezko datuak jasoko ditugu:

Zure MTProxy Telegram estatistikekin zabaltzea
Erregistro honen irteeran, agertzen zaigu (lohituta):

A) gure zerbitzariaren ip (kanpoko zerbitzariaren ip);
B) eta ausazko sekretu bat - ausazko kate bat HEX-en.

Gure MtproProxy erregistratu aurretik, iptables-en suebaki nagusia konfiguratu behar duzu (VPC honetara trafikoa nola birbideratzen duzun, bihurria izango da, Amazon-EC2-ko suebaki nagusia web interfazean baitago eta lehentasun handiagoa duelako. iptables).

"Joaten gara"kontsola Amazon-EC2" Segurtasun Taldean eta ireki sarrerako 443 ataka (maskara logikoa trafikoa lehen aldiz).

Zure MTProxy Telegram estatistikekin zabaltzea

Erregistrotik gure "ip eta sekretua" datuak hartzen ditugu eta Telegram messengerra joaten gara, aurkitu MTProxy Admin Bot ofiziala (@MTProxybot) eta erregistratu gure MtproProxy: exekutatu [/newproxy] komandoa eta sartu [gure_ip:443], eta gero gure [sekretua /HEX].

Datuak sartzerakoan nahasten bazara, bot-a haserretuko da eta bidaliko zaitu ...

Bi lerro akatsik gabe betetzen badituzu, onarpena eta zure egungo MtprotoProxyTelegramerako lan-esteka jasoko dituzu, edonorekin parteka dezakezuna.

Zure MTProxy Telegram estatistikekin zabaltzea

Gainera, bot honen bidez, zure babes-kanala gehi dezakezu (baina ez txat bat), non zure zerbitzariarekin konektatu diren erabiltzaileei zure ikuspuntuak ezarriko diezu, edo ezin duzu "spam" egin eta ez diezazuke zure bezero potentzialak trabarik eman gabe. kanala ainguratutako mezularien zerrendan erakutsiz.

Bot-ari buruzko hitz batzuk gehiago, non estatistikak eska ditzakezun, baina “baita donut bat ere”. Dirudienez, "estatistikak" eskuragarri daude Makhachkala atzean "freeloaders andana" duzunean.

jarraipenaren

Zenbat erabiltzaile konekta gaitezke gure zerbitzariarekin? Eta dena den, nor / zer dago? Zer? Eta zenbat?

Dokumentazio ofizialaren arabera zer dagoen aztertzen dugu... Bai, hemen, egin horrela:

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

"Mantendu zure poltsikoa zabalago" Proposatutako komandoen arabera, beti jasoko dugu antzeko errore bat:

«curl: (7) Ezin izan da konektatu localhost 2398 atakara: Konexioa ukatu da»

Gure proxyak funtzionatuko du. Baina! Bagel, ez ditugu estatistikak.

Gauzak egin ditzakezu begi gorrientzat: egiaztatu

$ netstat -an | grep 2398 и...

Hasieran pentsatu nuen Telegramen garatzaileen atzean dagoen beste traba bat zela (eta oraindik ere hala uste dut), gero behin-behineko irtenbide on bat aurkitu nuen: Docker Container fitxategi batekin leundu.

Geroago, infa batek harrapatu dit begia:

Roskomnadzor-eko estatu-dantzei buruz "estatistiken" inguruan.

“Gure zerbitzarietako proxy publiko batzuk blokeatu ditugu firehol proiektuko datu-baseak erabiliz. Proiektu honek proxy publikoekin zerrendak kontrolatzen ditu eta haiekin datu-baseak egiten ditu.

Une hartatik (hau da, ia bi egun dagoeneko), ez da gure proxy errusiarraren IP helbide bakar bat ere blokeatu.

3. Roskomnadzorrentzat ia erasoezina den proxy bat nola egin eta proxy publikoak blokeatzeko script bat partekatu esaten dizugu.

- Eguneratu MTProto proxy docker edukiontzia (edo deabrua) azken bertsiora: RKN-k bertsio zaharrak kalkulatzen ditu estatistiken atakaren arabera, 0.0.0.0-ra lotua zegoen eta Internet osorako identifikatu zen bakarra. Hobeto, ireki beharrezko portuak iptables erabiliz, eta itxi gainerakoak (gogoratu docker edukiontzi baten kasuan, FORWARD araua erabili behar duzula).

— Roskomnadzorrek trafikoa nola botatzen ikasi zuen aspaldi: HTTP eta SOCKS5 proxien barruan deiak ikusten dituzte, eta MTProto proxy ofuskazioaren bertsio zaharra ere ikusten dute.

Zabortegi horiek instalatuta dituzten hornitzaile batzuen bezeroek Telegram-era atzitzen dutenean proxy horien bidez, RKNk horrelako eskaerak ikusten ditu eta berehala blokeatzen ditu proxy horiek. Gauza bera gertatzen da MTProto proxy-arekin ofuskazio zaharrarekin.

Irtenbidea: banatu sekretua dd-rekin soilik hasieran proxyra konektatzen diren bezeroei (ez da dd hizki gehigarririk zehaztu behar mtproto proxyaren beraren ezarpenetan). Honek duppilek detektatu ezin duten lausotze bertsio bat gaituko du.

Eta HTTP edo SOCKS5 proxyrik ez.

- Egokitzapena, zeinaren laguntzaz, RKNk aldian-aldian debekatzen duen telegrama proxy baten jabe bakoitzak blokeatzeari erabat (edo ia erabat) utzi diezaioke (eta, aldi berean, RKN gezurretan ari dela ziurtatu).

Proxy publikoak debekatzen dituen gidoia eta horren eskuliburu txiki bat.

Iturria

Gure proxy mendebaldearen aldekoa da, ez nuen arazorik/blokeorik aurkitu udaberrian eta udako egun freskoetan, ez zuen sormen-zereginik ere erakartzen, beraz, ez nuen erritmorik galdu eta ez nuen dd* aurrizkia gehitu. giltza.

MtprotoProxyTelegram-en jarraibide ofizialen arabera "estatistikak / monitorizazioa lortzea" eskuliburua ez dabil / zaharkituta dago, docker irudia konpondu beharko duzu.

Konpontzen dugu.

Edukiontzia martxan dago oraindik:

$ 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

Ikus ditzagun estatistikak:

$ curl http://localhost:2398/stats

curl: (7) Ezin izan da konektatu 0.0.0.0 ataka 2398: Konexioa ukatu da
Estatistikak oraindik ez daude erabilgarri.!...

Aurkitu docker edukiontziaren IDa:

$ docker ps

Edukiontziaren ID IRUDIA KOMANDUA SORTU EGOERA PORTUAK IZENAK
f423c209cfdc telegrammessenger/proxy:latest "/bin/sh -c '/bin/ba..." Duela ordubete inguru Gora Minutu bat gutxi gorabehera 0.0.0.0:443->443/tcp mtproto-proxy2

Gure gutuna docker edukiontziaren barruan goaz:

$ sudo docker exec -it f423c209cfdc /bin/bash

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

Eta "run.sh" script-aren azken lerroan, gehitu falta den bandera:

«--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"

Gehitu "--http-stats", honelako zerbaitek funtzionatu beharko luke:

«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»

Ktrl+o/Ctrl+x/Ctrl+d (gorde/irten nanotik/irten edukiontzia).

Berrabiarazi gure docker edukiontzia:

$ docker restart mtproto-proxy2

Dena, orain agindupean:

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

Zure MTProxy Telegram estatistikekin zabaltzea
Estatistiketan "zabor" asko dago (1/3 pantailan dago), sortu alias bat:

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

Docker edukiontzia zertarako leundu zen lortzen dugu: konexio kopurua eta karga:

$ telega

Zure MTProxy Telegram estatistikekin zabaltzea
Docker edukiontzia martxan dago, estatistikak biraka ari dira.

Agortutako baliabideak

Stuart Redman bezain polita, kuleroetan arrastoa uzten baduzu ere. Docker-eko irudiak aztarna handia uzten du.

Ez du zentzurik docker irudien abantailak eta desabantailak deskribatzeak, docker edukiontzi bat makina birtual "benetako" batek baino baliabide gutxiago kontsumitzen dituen makina birtual bat da, VirtualBox adibidez, baina bai.

1) Docker-irudiaren estatistikekin edo gabe abiarazita, bi bezero frolic edo hamar - baliabideak ~ modu berean erabiltzen dira: CPU t75.micro errendimendu osoaren % 2.

2) VPC zerbitzariaren jarraipenari begiratzen diogu:

Zure MTProxy Telegram estatistikekin zabaltzea

VPC-ko baliabideen erabilera-grafikotik, docker edukiontziak etengabe kontsumitzen duela gehienez % 7,5. CPUren errendimendua eta maiatzaren 28an nahita/aldi baterako gelditu nintzen (Oharra - OpenVPN eta pptp ere zerbitzarian exekutatzen ari dira).

Zergatik da % 10eko CPU erabilera konstantea zerbitzari honen muga?

Amazon EC2-ren murrizketak daudelako eta kredituetan kalkulatzen direlako:

Zure MTProxy Telegram estatistikekin zabaltzea

1 CPU kreditu = 1 CPU% 100eko kargarekin funtzionatzen du minutu batean, eta 6 kreditu ditugu (hau da, gailurretan, 100% PUZaren erabilera posible da 6 minututan, eta orduan PUZaren potentzia gutxituko da). Beste konbinazio batzuk: adibidez, 1 CPU kreditu = 1 CPU% 50eko kargarekin exekutatzen ari den bi minutuz (hau da, CPU% 50eko kargarekin erabil dezakegu 12 minutuz), edo, adibidez, % 10eko PUZaren karga etengabea zehar. denbora guztian, etab.

Findings

  • “Erresistentzia Digitalaren” parte gara. "Aita-amak" komunikazio kanal fidagarri bat eskaini zieten.
  • Zerbitzarian MtprotoProxyTelegram eta OpenVPN zabalduta badituzu, baina ez gehiago, ez da atzerapenik / ping / akatsik izango, baina zure t2 / microrekin etengabe esperimentatzen ari bazara, itxaron komunikazio-balaztak.
  • Nire atzerriko ping-a ~ 100-250 ms da, ez dago atzerapenik ahots bidezko komunikazioan.
  • "Hori" guztiaren finantza-kostuak (VPC baliabideak barne) = 0₽.

Zure artikuluaren berrargitalpena.

UPD: habrausers batzuei esker iruzkin erabilgarriak, egia esan, posible da (estatistikak onartzen al dira?), Mtproto proxy Telegram docker irudi ofizialaren analogo hobeak daude.

Iturria: www.habr.com

Gehitu iruzkin berria