Uvajanje vašega MTProxy Telegrama s statistiko

Uvajanje vašega MTProxy Telegrama s statistiko

"Podedoval sem to zmešnjavo,
začenši z brezsramnim Zellom; LinkedIn
in konča z "vsi ostali" na platformi Telegram
v mojem svetu.

In potem kolcanje,
Uradnik je dodal naglo in glasno:
vendar bom spravil stvari v red (tukaj v IT)"
(...).

Durov upravičeno meni, da bi se ga morale bati avtoritarne države, šifranta, Roskomnadzor in zlati ščiti s svojimi filtri DPI pa ga prav nič ne motijo.
(Politična tehnika)

Moja tehnična politika je enostavnejša, tukaj lahko opišem svoje misli o neprevidnem blokiranju v Runetu, vendar verjamem, da so napredni državljani sodobne ruščine in uporabniki Habra na lastni koži občutili neprofesionalizem sedanje vlade, zato se bom omejil na en stavek: naša tehnična politika je "Digitalni odpor" . "zagotavljanje sorodnikom in prijateljem stabilnega komunikacijskega kanala."

Uvajanje MTProto proxy Telegram

  • Tehnična stopnja kompleksnosti je "lahka", če na primer sledite tej goljufivi.
  • Stopnja zanesljivosti je »nadpovprečna«: slika dockerja deluje stabilno, ni je treba vsak dan znova zagnati, kot so zapisali razvijalci v svoji uradni dokumentaciji Telegrama, vendar vsebnik verjetno vsebuje nekaj ranljivosti.
  • Stopnja odpornosti / tesnobe - 10 članov ISIS plete svoje zarote "sorodniki uporabljajo", prepoved ni prišla iz RKN niti enkrat ves čas (od pomladi).
  • Stopnja zaupanja je "nezaupanje javnega otroka", težava na strani odjemalca (nekateri prijatelji so sumljivi glede mojega MtprotoProxyja).
  • Raven testosterona - "ni višja."
  • Finančni stroški - "0₽".
  • Finančna nagrada - "ni odvisna od državljana Durova." Promocija - sposobnost vsiljevanja oglaševanja.

Naš TelegramProxy bomo dvignili na "brezplačne / osebne" zmogljivosti Amazon-ec2: t2.micro. uporabil sem to avto.

V redu, namesti svoj brezplačni strežnik, pojdi na uradno spletno mesto dockerhub in prenesite docker vsebnik.

Ni vam treba iskati slike, datoteke ali čarobnega gumba - "ni jih tam", vsa čarovnija se naredi v CLI:

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

Toda pred "tem" namestite docker za CLI:

sudo apt-get install docker.io docker

Poleg tega nam je v uradni dokumentaciji MtprotoProxyTelegram ponujeno, da naredimo nekaj podobnega naslednjemu:

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

Po tem ukazu se bo v izhodu terminala pojavil niz HEX, ki pa nas ne zanima.

V CLI pišemo:

$ docker logs mtproto-proxy

In dobimo zahtevane podatke:

Uvajanje vašega MTProxy Telegrama s statistiko
V izhodu tega dnevnika smo prikazani (razmazani):

A) naš strežnik ip (zunanji strežnik ip);
B) in naključno skrivnost - naključni niz v HEX.

Preden registrirate naš MtproProxy, morate konfigurirati glavni požarni zid nad iptables (ne glede na to, kako preusmerite promet na ta VPC, bo poredno, saj se glavni požarni zid v Amazon-EC2 nahaja v spletnem vmesniku in ima višjo prednost pred iptables).

Gremo na "konzola Amazon-EC2" v varnostni skupini in odprite vhodna vrata 443 (logično maskiranje prometa prvič).

Uvajanje vašega MTProxy Telegrama s statistiko

Iz dnevnika vzamemo podatke o »ip in skrivnosti« in gremo v Messenger Telegram, poiščemo uradni skrbniški bot MTProxy (@MTProxybot) in registriramo naš MtproProxy: zaženemo ukaz [/newproxy] in vnesemo [our_ip:443] ter potem naš [skrivni /HEX].

Če se zmotite pri vnosu podatkov, se bo bot razjezil in vas poslal na ...

Če izpolnite dve vrstici brez napak, boste prejeli odobritev in delujočo povezavo do vašega trenutnega MtprotoProxyTelegrama, ki ga lahko delite s komerkoli.

Uvajanje vašega MTProxy Telegrama s statistiko

Tudi preko tega bota lahko dodate svoj sponzorski kanal (vendar ne klepet), kjer boste vsiljevali svoje poglede uporabnikom, ki so se povezali z vašim strežnikom, ali pa ne smete "spamati" in ne motiti svojih potencialnih strank brez prikazuje kanal na pripetem seznamu sporočil.

Še nekaj besed o botu, kjer lahko zahtevate statistiko, a “tudi krof”. Očitno je "statistika" na voljo, ko imaš za seboj "množico brezplačnikov" v Mahačkali.

Spremljanje

Koliko uporabnikov se lahko povežemo z našim strežnikom? In sploh, kdo / kaj je tam? Kaj? In koliko?

Pogledamo, kaj je tam v skladu z uradno dokumentacijo ... Ja, tukaj, naredite takole:

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

»Držite žep širše« V skladu s predlaganimi ukazi bomo vedno prejeli podobno napako:

«curl: (7) Povezava z vrati lokalnega gostitelja 2398 ni uspela: povezava zavrnjena»

Naš proxy bo deloval. Ampak! Bagel, ne dobimo statistike.

Lahko storite stvari za rdečeoke: preverite

$ netstat -an | grep 2398 и...

Sprva sem mislil, da je to še en zastoj za razvijalci Telegrama (in še vedno tako mislim), nato pa sem našel začasno dobro rešitev: zloščiti Docker Container z datoteko.

Kasneje mi je v oči padla informacija:

o državnih plesih Roskomnadzorja okoli "statistike".

»Blokirali smo nekatere javne proxyje na naših strežnikih z uporabo zbirk podatkov projekta firehol. Ta projekt spremlja sezname z javnimi posredniki in z njimi ustvarja baze podatkov.

Od tega trenutka (to je že skoraj dva dni) ni bil blokiran niti en naslov IP našega ruskega proxyja.

3. Povemo vam, kako narediti proxy, ki je skoraj neranljiv za Roskomnadzor, in delimo skript za blokiranje javnih proxyjev.

- Posodobite MTProto proxy docker vsebnik (ali demon) na najnovejšo različico: RKN izračuna stare različice s statističnimi vrati, ki so bila vezana na 0.0.0.0 in so se enolično identificirala za celoten internet. Še bolje, odprite potrebna vrata s pomočjo iptables in zaprite ostala (ne pozabite, da bi morali v primeru vsebnika docker uporabiti pravilo FORWARD).

— Roskomnadzor se je že zdavnaj naučil izločiti promet: vidijo zahteve znotraj proxyjev HTTP in SOCKS5 ter vidijo tudi staro različico zamegljenosti proxyja MTProto.

Ko stranke nekaterih ponudnikov, ki imajo nameščene takšne odlagališča, dostopajo do Telegrama prek takšnih proxyjev, RKN vidi takšne zahteve in te proxyje takoj blokira. Enako velja za proxy MTProto s staro zameglitvijo.

Rešitev: odjemalcem, ki se povežejo s proxyjem, razdeli skrivnost samo z dd na začetku (v nastavitvah samega proxyja mtproto ni treba določiti dodatnih črk dd). To bo omogočilo različico zakrivanja, ki je dumppiles ne more zaznati.

In brez proxyjev HTTP ali SOCKS5.

- Prilagoditev, s pomočjo katere lahko vsak lastnik telegram proxyja, ki ga RKN redno prepoveduje, popolnoma (ali skoraj popolnoma) preneha z blokado (in se hkrati prepriča, da RKN laže).

Skript, ki prepoveduje javne posrednike in majhen priročnik zanj.

Vir

Naš posrednik je prozahodno usmerjen, v spomladanskih in hladnih poletnih dneh nisem naletel na nobene težave/blokade, tudi ustvarjalne naloge ni pritegnil, zato nisem izgubil tempa in nisem dodal predpone dd* ključ.

Priročnik »pridobivanje statistike/nadzora« v skladu z uradnimi navodili MtprotoProxyTelegrama ne deluje/zastarel, popraviti boste morali sliko priklopne postaje.

Popravimo ga.

Vsebnik še vedno deluje:

$ 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

Preverimo statistiko:

$ curl http://localhost:2398/stats

curl: (7) Povezava z vrati 0.0.0.0 2398 ni uspela: povezava zavrnjena
Statistika še vedno ni na voljo!..

Ugotovite ID vsebnika dockerja:

$ docker ps

ID VSEBNIKA SLIKA UKAZ USTVARJENO STANJE IMENA VRAT
f423c209cfdc telegrammessenger/proxy:najnovejši "/bin/sh -c '/bin/ba…" Pred približno eno uro Gor Približno minuto 0.0.0.0:443->443/tcp mtproto-proxy2

Gremo z našo listino v docker kontejner:

$ sudo docker exec -it f423c209cfdc /bin/bash

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

In v zadnjo vrstico skripta "run.sh" dodajte manjkajočo zastavico:

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

Dodajte "--http-stats", nekaj takega bi moralo delovati:

«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 (shrani/zapusti nano/zapusti vsebnik).

Znova zaženite naš docker vsebnik:

$ docker restart mtproto-proxy2

Vse, zdaj na ukaz:

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

Uvajanje vašega MTProxy Telegrama s statistiko
V statistiki je veliko "smeti" (1/3 je na zaslonu), ustvarite vzdevek:

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

Dobimo, za kaj je bil docker vsebnik poliran: število povezav in obremenitev:

$ telega

Uvajanje vašega MTProxy Telegrama s statistiko
Vsebnik Docker deluje, statistika se vrti.

Porabljena sredstva

Ne glede na to, kako kul si Stuart Redman, tudi ti pustiš sledi na svojih spodnjicah. Zagnana slika Dockerja pusti velik odtis.

Nima smisla opisovati prednosti in slabosti dockerjevih slik, docker kontejner je mini virtualni stroj, ki porabi manj virov kot "pravi" virtualni stroj, kot je VirtualBox, vendar jih.

1) Zagon s statistiko docker-image ali brez nje, dva odjemalca se zabavata ali deset - viri so uporabljeni ~ na enak način: 75 % celotne zmogljivosti CPU t2.micro.

2) Pogledamo spremljanje strežnika VPC:

Uvajanje vašega MTProxy Telegrama s statistiko

Iz grafa izkoriščenosti virov na VPC-ju vidimo, da vsebnik docker nenehno porabi ~ 7,5 % skupnega maks. Delovanje procesorja in 28. maja sem ga namerno/začasno ustavil (Opomba - OpenVPN in pptp se izvajata tudi na strežniku).

Zakaj je 10-odstotna konstantna poraba procesorja omejitev za ta strežnik?

Ker obstajajo omejitve Amazon EC2 in so izračunane v kreditih:

Uvajanje vašega MTProxy Telegrama s statistiko

1 CPE kredit = 1 CPE, ki deluje pri 100% obremenitvi eno minuto, in imamo 6 kreditov (to je, da je na konicah možna 100% izkoriščenost CPE v 6 minutah, nato pa se bo moč CPU zmanjšala). Druge kombinacije: na primer 1 dobroimetje CPE = 1 CPE, ki deluje pri 50 % obremenitvi dve minuti (tj. lahko uporabljamo CPE pri 50 % obremenitvi 12 minut) ali na primer konstantna 10 % obremenitev CPE med ves čas itd.

Ugotovitve

  • Smo del »Digitalnega upora«. Svojim "očetom in materam" zagotovili zanesljiv komunikacijski kanal.
  • Če imate na strežniku nameščena MtprotoProxyTelegram in OpenVPN, vendar ne več, ne bo zamud / pingov / napak, če pa nenehno eksperimentirate s svojim t2 / micro, počakajte na komunikacijske zavore.
  • Moj ping v tujini je ~100-250 ms, pri glasovni komunikaciji ni zamud.
  • Finančni stroški za vse "to" (vključno z viri VPC) = 0₽.

Ponatis vašega članka.

UPD: Hvala nekaterim razpravljalcem za uporabne pripombe, res je mogoče (ali je statistika podprta?), Obstajajo boljši analogi uradne slike priklopne postaje Mtproto proxy Telegram.

Vir: www.habr.com

Dodaj komentar