MTProxy Telegram-ı statistika ilə yerləşdirmək

MTProxy Telegram-ı statistika ilə yerləşdirmək

"Mənə bu qarışıqlıq miras qaldı,
həyasız Zello ilə başlayan; LinkedIn
və Telegram platformasında "hamı" ilə bitən
mənim dünyamda.

Və sonra hıçqırıq,
Məmur tələsik və ucadan əlavə etdi:
amma mən hər şeyi qaydasına salacağam (burada İT-də)"
(...).

Durov, haqlı olaraq hesab edir ki, ondan qorxmalı olan avtoritar dövlətlərdir, şiferpank və Roskomnadzor və DPI filtrləri olan qızıl qalxanlar onu həqiqətən narahat etmir.
(Siyasi texnika)

Texniki siyasətim daha sadədir, Runet-də ehtiyatsız bloklama ilə bağlı fikirlərimi burada təsvir edə bilərəm, amma inanıram ki, Müasir Rus və Habr istifadəçilərinin mütərəqqi vətəndaşları mövcud hökumətin qeyri-peşəkarlığını öz dərilərində hiss ediblər, ona görə də özümü bununla məhdudlaşdıracağam. tək bir ifadə: bizim texniki siyasətimiz “Rəqəmsal Müqavimət”dir. "qohumları və dostları sabit rabitə kanalı ilə təmin etmək."

MTProto proxy Telegram-ın yerləşdirilməsi

  • Mürəkkəbliyin texniki səviyyəsi "asandır", məsələn, bu fırıldaq vərəqinə əməl etsəniz.
  • Etibarlılıq səviyyəsi "orta səviyyədən yuxarıdır": docker təsviri sabit işləyir, tərtibatçıların rəsmi Telegram sənədlərində yazdığı kimi onu hər gün yenidən işə salmaq lazım deyil, lakin konteynerdə yəqin ki, bəzi zəifliklər var.
  • Müqavimət/narahatlıq səviyyəsi - 10 İŞİD üzvü “qohumların istifadə etdiyi” sui-qəsdləri toxuyurlar, qadağa RKN-dən bir dəfə də olsun hər zaman (yazdan bəri) gəlməyib.
  • Güvən səviyyəsi "ictimai körpə inamsızlığı", müştəri tərəfindəki problemdir (bəzi dostlar mənim MtprotoProxy-dən şübhələnir).
  • Testosteron səviyyələri - "yüksək olmadı".
  • Maliyyə xərcləri - "0₽".
  • Maddi mükafat - "vətəndaş Durovdan asılı deyil". Təşviq - reklam tətbiq etmək bacarığı.

Biz TelegramProxy-ni Amazon-ec2: t2.micro-nun “pulsuz / şəxsi” imkanları üzrə artıracağıq. Mən istifadə etdim bu maşın

Tamam, pulsuz serverinizi yerləşdirdiniz, rəsmi vebsayta keçin dockerhub və docker konteynerini yükləyin.

Bəzi şəkil, fayl və ya sehrli düyməni axtarmağa ehtiyac yoxdur - "onlar yoxdur", bütün sehrlər CLI-də edilir:

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

Ancaq "bundan" əvvəl CLI üçün docker quraşdırın:

sudo apt-get install docker.io docker

Bundan əlavə, MtprotoProxyTelegram-ın rəsmi sənədlərində bizə aşağıdakı kimi bir şey etmək təklif olunur, biz edirik:

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

Bu əmrdən sonra terminal çıxışında HEX sətri görünəcək, lakin bizi maraqlandırmır.

CLI-də yazırıq:

$ docker logs mtproto-proxy

Və lazımi məlumatları alırıq:

MTProxy Telegram-ı statistika ilə yerləşdirmək
Bu jurnalın çıxışında bizə göstərilir (qarışdırılır):

A) serverimizin ip (xarici server ip);
B) və təsadüfi sirr - HEX-də təsadüfi sətir.

MtproProxy-ni qeydiyyatdan keçirməzdən əvvəl iptables üzərindən əsas təhlükəsizlik divarını konfiqurasiya etməlisiniz (trafikin bu VPC-yə necə yönləndirilməsindən asılı olmayaraq, o, yaramaz olacaq, çünki Amazon-EC2-də əsas firewall veb-interfeysdə yerləşir və daha yüksək prioritetə ​​malikdir. iptables).

Biz gedirik "konsol Təhlükəsizlik Qrupunda Amazon-EC2" və 443-cü daxil olan portu açın (məntiqi maskalama trafik ilk dəfə).

MTProxy Telegram-ı statistika ilə yerləşdirmək

Jurnaldan “ip və məxfi” məlumatlarımızı götürüb Telegram messencerinə gedirik, rəsmi MTProxy Admin Botunu (@MTProxybot) tapırıq və MtproProxy-ni qeydiyyatdan keçiririk: [/newproxy] əmrini işə salın və [our_ip:443] daxil edin və sonra bizim [gizli /HEX].

Məlumat daxil edərkən səhv etsəniz, bot qəzəblənəcək və sizi ...

Səhvsiz iki sətir doldursanız, təsdiq və hazırkı MtprotoProxyTelegram-a işləyən keçid alacaqsınız, onu hər kəslə paylaşa bilərsiniz.

MTProxy Telegram-ı statistika ilə yerləşdirmək

Həmçinin, bu bot vasitəsilə siz öz sponsorluq kanalınızı əlavə edə bilərsiniz (lakin söhbət deyil), burada öz baxışlarınızı serverinizə qoşulmuş istifadəçilərə tətbiq edəcəksiniz və ya “spam” göndərə və potensial müştərilərinizi heç bir problem olmadan narahat edə bilməzsiniz. bağlanmış messencer siyahısında kanalı göstərir.

Statistikaya müraciət edə biləcəyiniz bot haqqında daha bir neçə söz, lakin “həmçinin pişi”. Görünür, Mahaçqala arxanızda “sərbəst yükləyənlər izdihamı” olanda “statistika” olur.

Monitorinq

Serverimizə neçə istifadəçi qoşula bilərik? Və hər halda, kim / nə var? Nə? Və neçə?

Rəsmi sənədlərə görə orada nə olduğuna baxırıq ... Bəli, burada bunu belə edin:

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

"Cibinizi daha geniş saxlayın" Təklif olunan əmrlərə əsasən, biz həmişə oxşar səhv alacağıq:

«curl: (7) 2398 nömrəli localhost portuna qoşulmaq alınmadı: Bağlantı rədd edildi»

Proxyumuz işləyəcək. Amma! Bagel, aldığımız statistika deyil.

Qırmızı gözlülər üçün bir şey edə bilərsiniz: yoxlayın

$ netstat -an | grep 2398 и...

Əvvəlcə bunun Telegram tərtibatçılarının arxasında başqa bir tıxac olduğunu düşündüm (və hələ də belə düşünürəm), sonra müvəqqəti yaxşı bir həll tapdım: Docker Konteynerini bir fayl ilə cilalayın.

Sonradan bir infa diqqətimi çəkdi:

Roskomnadzorun "statistika" ətrafında dövlət rəqsləri haqqında.

“Firehol layihəsinin məlumat bazalarından istifadə edərək serverlərimizdə ictimai proksilərin bəzilərini blokladıq. Bu layihə ictimai proksilərlə siyahıları izləyir və onlarla verilənlər bazası yaradır.

O andan (yəni, demək olar ki, iki gündür) Rusiya proxy-mizin heç bir IP ünvanı bloklanmayıb.

3. Biz sizə Roskomnadzor üçün demək olar ki, toxunulmaz olan bir proxy düzəltməyi və ictimai proksiləri bloklamaq üçün skript paylaşmağı söyləyirik.

- MTProto proksi doker konteynerini (və ya daemonunu) ən son versiyaya yeniləyin: RKN köhnə versiyaları 0.0.0.0-a bağlı olan və bütün İnternet üçün unikal şəkildə müəyyən edilmiş statistika portu ilə hesablayır. Daha yaxşısı, iptables istifadə edərək lazımi portları açın və qalanlarını bağlayın (yadda saxlayın ki, docker konteyneri vəziyyətində FORWARD qaydasından istifadə etməlisiniz).

— Roskomnadzor trafiki necə boşaltmağı çoxdan öyrənib: onlar HTTP və SOCKS5 proksilərində zəngləri görürlər, həmçinin MTProto proksi çaşqınlığının köhnə versiyasını görürlər.

Belə zibilləri quraşdırmış bəzi provayderlərin müştəriləri bu cür proksilər vasitəsilə Telegram-a daxil olduqda, RKN bu cür sorğuları görür və dərhal bu proksiləri bloklayır. Eyni şey köhnə çaşqınlıqla MTProto proxy-yə də aiddir.

Həll yolu: sirri yalnız başlanğıcda dd ilə proksiyə qoşulan müştərilərə paylayın (mtproto proksinin özünün parametrlərində əlavə dd hərflərini göstərməyə ehtiyac yoxdur). Bu, zibillərin aşkar edə bilmədiyi çaşqınlıq versiyasını aktivləşdirəcək.

Və HTTP və ya SOCKS5 proksiləri yoxdur.

- RKN tərəfindən müntəzəm olaraq qadağan edilən hər bir teleqram proksi sahibinin bloklanmağı tamamilə (və ya demək olar ki, tamamilə) dayandıra biləcəyi (və eyni zamanda RKN-nin yalan danışdığından əmin olun) tənzimləmə.

İctimai proxyləri qadağan edən bir skript və bunun üçün kiçik bir təlimat.

Mənbə

Proksi qərbyönümlüdür, yaz və sərin yay günlərində heç bir problemlə/tıxanma ilə qarşılaşmadım, yaradıcılıq işi də cəlb etmədi, ona görə də tempi itirmədim və dd* prefiksini əlavə etmədim. Açar.

MtprotoProxyTelegram-ın rəsmi təlimatlarına uyğun olaraq "statistika əldə etmək/monitorinq" təlimatı işləmir/köhnəlmir, docker şəklini təmir etməli olacaqsınız.

Biz düzəldirik.

Konteyner hələ də işləyir:

$ 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

Statistikaya nəzər salaq:

$ curl http://localhost:2398/stats

curl: (7) 0.0.0.0 port 2398-ə qoşulmaq alınmadı: Bağlantı rədd edildi
Statistikalar hələ də əlçatmazdır.!..

Docker konteynerinin identifikatorunu tapın:

$ docker ps

KONTEYNER ID ŞƏKİL ƏMƏRİ YARADAN STATUS PORTLARININ ADLARI
f423c209cfdc telegrammessenger/proxy:son "/bin/sh -c '/bin/ba..." Təxminən bir saat əvvəl Yuxarı Bir dəqiqəyə yaxın 0.0.0.0:443->443/tcp mtproto-proxy2

Biz nizamnaməmizlə docker konteynerinin içərisinə gedirik:

$ sudo docker exec -it f423c209cfdc /bin/bash

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

Və "run.sh" skriptinin ən son sətirində itkin bayrağı əlavə edin:

«--http-stats»
"exec /usr/local/bin/mtproto-proxy -p 2398 -H 443 -M "$WORKERS" -C 60000 --aes-pwd /etc/telegram/hello-explorers-ne-you-you-hees -u kök $CONFIG --allow-skip-d h --nat-info "$INTERNAL_IP:$IP" $SECRET_CMD $TAG_CMD"

"--http-stats" əlavə edin, buna bənzər bir şey işləməlidir:

«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 (saxla/çıxış nano/konteynerdən çıx).

Docker konteynerimizi yenidən başladın:

$ docker restart mtproto-proxy2

Hər şey, indi əmrlə:

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

MTProxy Telegram-ı statistika ilə yerləşdirmək
Statistikada çoxlu “zibil” var (onun 1/3 hissəsi ekrandadır), ləqəb yaradın:

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

Docker konteynerinin nə üçün cilalandığını alırıq: bağlantıların sayı və yük:

$ telega

MTProxy Telegram-ı statistika ilə yerləşdirmək
Docker konteyneri işləyir, statistika fırlanır.

Sərf olunan resurslar

Nə qədər sərin Stüart Redman olsan da, hətta qısa tumanlarınızda iz buraxırsınız. Çalışan Docker şəkli böyük iz buraxır.

Docker şəkillərinin üstünlüklərini və çatışmazlıqlarını təsvir etmək mənasızdır, docker konteyneri VirtualBox kimi "real" virtual maşından daha az resurs istehlak edən mini-virtual maşındır, lakin edir.

1) Docker-image statistikası ilə və ya onsuz işə salınan iki müştəri əylənir və ya on - resurslardan ~ eyni şəkildə istifadə olunur: bütün CPU t75.micro performansının 2%-i.

2) VPC serverinin monitorinqinə baxırıq:

MTProxy Telegram-ı statistika ilə yerləşdirmək

VPC-də resursdan istifadə qrafikindən görürük ki, docker konteyneri daim ümumi maksimumun ~ 7,5%-ni istehlak edir. CPU performansı və mayın 28-də mənim tərəfimdən qəsdən/müvəqqəti olaraq dayandırıldı (Qeyd - OpenVPN və pptp də serverdə işləyir).

Niyə 10% daimi CPU istifadəsi bu server üçün limitdir?

Çünki Amazon EC2-dən məhdudiyyətlər var və onlar kreditlə hesablanır:

MTProxy Telegram-ı statistika ilə yerləşdirmək

1 CPU krediti = bir dəqiqə ərzində 1% yüklə işləyən 100 CPU və 6 kreditimiz var (yəni zirvələrdə 100 dəqiqə ərzində 6% CPU istifadəsi mümkündür və sonra CPU gücü azalacaq). Digər birləşmələr: məsələn, 1 CPU krediti = iki dəqiqə ərzində 1% yüklə işləyən 50 CPU (yəni biz CPU-dan 50 dəqiqə ərzində 12% yüklə istifadə edə bilərik) və ya, məsələn, proses zamanı sabit 10%-lik CPU yükü bütün vaxt və s.

Tapıntılar

  • Biz “Rəqəmsal Müqavimət”in bir hissəsiyik. “Ata və analarını” etibarlı rabitə kanalı ilə təmin etdilər.
  • Əgər serverdə MtprotoProxyTelegram və OpenVPN yerləşdirilibsə, lakin artıq deyilsə, gecikmələr / pinglər / uğursuzluqlar olmayacaq, ancaq t2 / mikro ilə daim sınaqdan keçirsəniz, rabitə əyləclərini gözləyin.
  • Xaricdəki pingim ~100-250ms-dir, səsli ünsiyyətdə gecikmə yoxdur.
  • Bütün "bu" üçün maliyyə xərcləri (VPC resursları daxil olmaqla) = 0₽.

Məqalənizi yenidən çap edin.

UPD: Faydalı şərhlər üçün bəzi habrauzerlərə təşəkkür edirik, həqiqətən də mümkündür (statistika dəstəklənirmi?), Rəsmi Mtproto proxy Telegram docker görüntüsünün daha yaxşı analoqları var.

Mənbə: www.habr.com

Добавить комментарий