MTProxy-sähköpostin käyttöönotto tilastojen avulla

MTProxy-sähköpostin käyttöönotto tilastojen avulla

"Olen perinyt tämän sotkun,
alkaen häpeämättömästä Zellosta; LinkedIn
ja päättyen "kaikkiin muihin" Telegram-alustalla
minun maailmassani.

Ja sitten hikka,
Virkamies lisäsi hätäisesti ja äänekkäästi:
mutta laitan asiat järjestykseen (täällä IT:ssä)"
(...).

Durov uskoo oikeutetusti, että autoritaaristen valtioiden pitäisi pelätä häntä, cypherpunk, ja Roskomnadzor ja kultaiset kilvet DPI-suotimeineen eivät todellakaan häiritse häntä.
(Poliittinen tekniikka)

Tekninen politiikkani on yksinkertaisempi, voin kuvailla tässä ajatuksiani huolimattomasta estämisestä Runetissa, mutta uskon, että Modernin Venäjän ja Habr-käyttäjien edistykselliset kansalaiset ovat tunteneet nykyisen hallituksen epäammattimaisuuden omalla ihollaan, joten rajoitan vain yksi lause: tekninen politiikkamme on "Digital Resistance" . "tarjoamalla sukulaisille ja ystäville vakaa viestintäkanava."

MTProto-välityspalvelimen Telegramin käyttöönotto

  • Tekninen monimutkaisuusaste on "helppo", jos esimerkiksi seuraat tätä huijauslehteä.
  • Luotettavuustaso on "keskiarvon yläpuolella": docker-kuva toimii vakaasti, sitä ei tarvitse käynnistää uudelleen joka päivä, kuten kehittäjät kirjoittivat virallisessa Telegram-dokumentaatiossaan, mutta kontti sisältää todennäköisesti joitain haavoittuvuuksia.
  • Vastustuksen/ahdistuneisuuden taso - 10 ISIS-jäsentä kutovat salaliittojaan "sukulaisten käyttöön", kielto ei ole tullut RKN:ltä kertaakaan koko ajan (keväästä lähtien).
  • Luottamustaso on "julkinen vauvan epäluottamus", ongelma asiakaspuolella (jotkut ystävät epäilevät MtprotoProxyani).
  • Testosteronitasot - "ei noussut korkeammalle".
  • Rahoituskulut - "0₽".
  • Taloudellinen palkkio - "ei riipu Durovin kansalaisesta". Promotion - kyky määrätä mainontaa.

Lisäämme TelegramProxymme Amazon-ec2:n "vapaisiin / henkilökohtaisiin" kapasiteeteihin: t2.micro. käytin tämä auto.

Okei, ota ilmainen palvelin käyttöön, siirry viralliselle verkkosivustolle dockerhub ja lataa Docker-säilö.

Ei tarvitse etsiä kuvaa, tiedostoa tai taikapainiketta - "ne eivät ole siellä", kaikki taika tehdään CLI:ssä:

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

Mutta ennen "setä" asenna docker CLI:lle:

sudo apt-get install docker.io docker

Lisäksi MtprotoProxyTelegramin virallisessa dokumentaatiossa meille tarjotaan jotain seuraavanlaista, teemme:

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

Tämän komennon jälkeen HEX-merkkijono ilmestyy päätteen ulostuloon, mutta emme ole kiinnostuneita siitä.

Kirjoitamme CLI:ssä:

$ docker logs mtproto-proxy

Ja saamme tarvittavat tiedot:

MTProxy-sähköpostin käyttöönotto tilastojen avulla
Tämän lokin tulosteessa meille näytetään (tahreina):

A) palvelimemme ip (ulkoisen palvelimen ip);
B) ja satunnainen salaisuus - satunnainen merkkijono HEX.

Ennen kuin rekisteröit MtproProxymme, sinun on määritettävä pääpalomuuri iptablesin yli (riippumatta siitä, kuinka ohjaat liikennettä tälle VPC:lle, se on tuhma, koska Amazon-EC2:n pääpalomuuri sijaitsee verkkoliittymässä ja sillä on korkeampi prioriteetti. iptables).

Menemme "konsoli Amazon-EC2" Security Groupissa ja avaa saapuvan portin 443 (looginen peitto liikennettä ensimmäistä kertaa).

MTProxy-sähköpostin käyttöönotto tilastojen avulla

Otamme "ip and secret" -tietomme lokista ja siirrymme Telegram Messengeriin, etsimme virallisen MTProxy Admin Botin (@MTProxybot) ja rekisteröimme MtproProxymme: suorita [/newproxy] komento ja kirjoita [our_ip:443] ja sitten meidän [salainen /HEX].

Jos sotket syöttäessäsi tietoja, botti suuttuu ja lähettää sinut ...

Jos täytät kaksi riviä ilman virheitä, saat hyväksynnän ja toimivan linkin nykyiseen MtprotoProxyTelegramiisi, jonka voit jakaa kenen tahansa kanssa.

MTProxy-sähköpostin käyttöönotto tilastojen avulla

Tämän botin kautta voit myös lisätä sponsorointikanavasi (mutta ei chattia), jossa kohdistat näkemyksesi käyttäjiin, jotka ovat muodostaneet yhteyden palvelimeesi, mutta et voi "roskapostittaa" etkä häiritä potentiaalisia asiakkaitasi ilman näyttää kanavan kiinnitetyssä messenger-luettelossa.

Muutama sana lisää botista, josta voi pyytää tilastoja, mutta "myös donitsi". Ilmeisesti "tilastot" ovat saatavilla, kun sinulla on "joukko freeloadereja" takanasi Makhachkala.

seuranta

Kuinka monta käyttäjää voimme muodostaa yhteyden palvelimeemme? Ja joka tapauksessa, kuka/mikä siellä on? Mitä? Ja kuinka monta?

Katsomme mitä siellä on virallisen dokumentaation mukaan... Joo, tee se näin:

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

"Pidä tasku leveämpänä" Ehdotettujen komentojen mukaan saamme aina samanlaisen virheen:

«curl: (7) Yhteyden muodostaminen localhost-porttiin 2398 epäonnistui: Yhteys estetty»

Välityspalvelimemme toimii. Mutta! Bagel, ei tilastoja, joita saamme.

Voit tehdä asioita punasilmäisille: tarkista

$ netstat -an | grep 2398 и...

Aluksi ajattelin, että tämä on toinen jamb Telegram-kehittäjien takana (ja olen edelleen sitä mieltä), sitten löysin väliaikaisen hyvän ratkaisun: kiillota Docker Container tiedostolla.

Myöhemmin silmään osui infa:

Roskomnadzorin valtiontansseista "tilastojen" ympärillä.

”Olemme estäneet joitakin julkisia välityspalvelimia palvelimillamme Firehol-projektin tietokantoja käyttämällä. Tämä projekti valvoo luetteloita julkisilla välityspalvelimilla ja tekee niistä tietokantoja.

Siitä hetkestä lähtien (eli jo melkein kaksi päivää) yhtäkään venäläisen välityspalvelimemme IP-osoitetta ei ole estetty.

3. Kerromme, kuinka voit tehdä välityspalvelimen, joka on melkein haavoittumaton Roskomnadzorille, ja jakaa komentosarja julkisten välityspalvelinten estämiseksi.

- Päivitä MTProto-välityspalvelimen telakointikontti (tai daemon) uusimpaan versioon: RKN laskee vanhat versiot tilastoportin avulla, joka oli sidottu 0.0.0.0:aan ja tunnisti itsensä yksilöllisesti koko Internetissä. Vielä parempi, avaa tarvittavat portit iptablesilla ja sulje loput (muista, että telakkakontin tapauksessa sinun tulee käyttää FORWARD-sääntöä).

— Roskomnadzor oppi tyhjentämään liikennettä kauan sitten: he näkevät puhelut HTTP- ja SOCKS5-välityspalvelinten sisällä, ja he näkevät myös vanhan version MTProto-välityspalvelimen hämärtymisestä.

Kun joidenkin palveluntarjoajien asiakkaat, joilla on tällaisia ​​kaatotiedostoja, käyttävät Telegramia tällaisten välityspalvelinten kautta, RKN näkee tällaiset pyynnöt ja estää välittömästi nämä välityspalvelimet. Sama pätee MTProto-välityspalvelimeen, jossa on vanha hämärtäminen.

Ratkaisu: jaa salaisuus vain dd:n alussa asiakkaille, jotka muodostavat yhteyden välityspalvelimeen (ei tarvitse määrittää muita kirjaimia dd itse mtproto-välityspalvelimen asetuksissa). Tämä mahdollistaa hämärtymisen version, jota kaatopaikat eivät pysty havaitsemaan.

Eikä HTTP- tai SOCKS5-välityspalvelimia.

- Säätö, jonka avulla jokainen sähkevälityspalvelimen omistaja, jonka RKN on säännöllisesti kieltänyt, voi kokonaan (tai melkein kokonaan) lopettaa eston (ja samalla varmistaa, että RKN valehtelee).

Skripti, joka kieltää julkiset välityspalvelimet ja pieni ohjekirja sitä varten.

Lähde

Välityspalvelimemme on länsimielinen, en havainnut ongelmia/tukoksia keväisinä ja viileinä kesäpäivinä, se ei myöskään houkutellut luovaa tehtävää, joten en menettänyt vauhtia enkä lisännyt dd*-etuliitettä avain.

MtprotoProxyTelegramin virallisten ohjeiden mukainen manuaali “tilastojen/seuranta” ei toimi/vanhentunut, joudut korjaamaan telakointikuvan.

Korjaamme sen.

Kontti on edelleen käynnissä:

$ 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

Katsotaanpa tilastoja:

$ curl http://localhost:2398/stats

curl: (7) Yhteyden muodostaminen 0.0.0.0-porttiin 2398 epäonnistui: Yhteys evätty
Tilastot eivät ole vielä saatavilla!...

Selvitä telakointikontin tunnus:

$ docker ps

SÄILIÖN TUNNUS KUVAKOMENTO LUOTI TILAN PORTIEN NIMET
f423c209cfdc telegrammessenger/proxy:latest "/bin/sh -c '/bin/ba…" Noin tunti sitten Ylös Noin minuutti 0.0.0.0:443->443/tcp mtproto-proxy2

Kuljemme charterimme kanssa telakkakontin sisällä:

$ sudo docker exec -it f423c209cfdc /bin/bash

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

Ja "run.sh"-skriptin aivan viimeiselle riville lisää puuttuva lippu:

«--http-tilastot»
"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"

Lisää "--http-stats", jotenkin tämän pitäisi toimia:

«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 (tallenna/poistu nanosta/poistu säilöstä).

Käynnistä telakointisäiliömme uudelleen:

$ docker restart mtproto-proxy2

Kaikki, nyt käskystä:

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

MTProxy-sähköpostin käyttöönotto tilastojen avulla
Tilastoissa on paljon "roskaa" (1/3 siitä on näytöllä), luo alias:

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

Saamme sen, mitä varten telakointikontti on kiillotettu: liitäntöjen lukumäärä ja kuorma:

$ telega

MTProxy-sähköpostin käyttöönotto tilastojen avulla
Docker-säilö on käynnissä, tilastot pyörivät.

Resurssit käytetty

Niin siisti kuin oletkin Stuart Redman, vaikka sinä jätät jäljen housuisiisi. Käynnissä oleva Docker-kuva jättää suuren jalanjäljen.

Docker-kuvien etuja ja haittoja ei ole järkevää kuvata, telakointikontti on minivirtuaalikone, joka kuluttaa vähemmän resursseja kuin "todellinen" virtuaalikone, kuten VirtualBox, mutta se tekee.

1) Käynnistetty docker-kuvatilastoilla tai ilman niitä, kaksi asiakasta leikkii tai kymmenen - resursseja hyödynnetään ~ samalla tavalla: 75% koko CPU t2.micro -suorituskyvystä.

2) Tarkastelemme VPC-palvelimen valvontaa:

MTProxy-sähköpostin käyttöönotto tilastojen avulla

VPC:n resurssien käyttökaaviosta näemme, että telakointikontti kuluttaa jatkuvasti ~ 7,5 % kokonaismäärästä max. Prosessorin suorituskyky ja 28. toukokuuta pysäytin tarkoituksella/väliaikaisesti (Huomaa - OpenVPN ja pptp ovat myös käynnissä palvelimella).

Miksi 10 % jatkuva prosessorin käyttö on raja tälle palvelimelle?

Koska Amazon EC2:lla on rajoituksia ja ne lasketaan krediiteillä:

MTProxy-sähköpostin käyttöönotto tilastojen avulla

1 CPU krediitti = 1 prosessori, joka toimii 100 % kuormituksella yhden minuutin ajan, ja meillä on 6 krediittiä (eli huipuilla 100 % prosessorin käyttöaste on mahdollista 6 minuutissa, ja sitten prosessorin teho laskee). Muut yhdistelmät: esimerkiksi 1 prosessorin saldo = 1 prosessori, joka toimii 50 %:n kuormituksella kahden minuutin ajan (eli voimme käyttää prosessoria 50 %:n kuormituksella 12 minuuttia), tai esimerkiksi jatkuva 10 %:n prosessorikuormitus käytön aikana. koko ajan jne.

Tulokset

  • Olemme osa "Digital Resistancea". Tarjosivat "isilleen ja äideilleen" luotettavan viestintäkanavan.
  • Jos MtprotoProxyTelegram ja OpenVPN on otettu käyttöön palvelimella, mutta ei enempää, viiveitä / pingiä / virheitä ei tapahdu, mutta jos kokeilet jatkuvasti t2:ta / mikroa, odota viestintäjarruja.
  • Ulkomaan pingini on ~100-250ms, puheviestinnässä ei ole viiveitä.
  • Kaiken "tämän" taloudelliset kustannukset (mukaan lukien VPC-resurssit) = 0₽.

Tulosta artikkelisi uudelleen.

UPD: Kiitos joillekin habrausereille hyödyllisistä kommenteista, se on todellakin mahdollista (tuetaanko tilastoja?), Viralliselle Mtproto-välityspalvelimelle Telegram docker -kuvalle on parempia analogeja.

Lähde: will.com

Lisää kommentti