Распоредување на вашата MTProxy Telegram со статистика

Распоредување на вашата MTProxy Telegram со статистика

„Го наследив овој хаос,
почнувајќи од бесрамниот Зело; LinkedIn
и завршувајќи со „сите други“ на платформата Телеграм
во мојот свет.

А потоа икање,
Службеникот набрзина и гласно додаде:
но ќе ги ставам работите во ред (тука во ИТ)“
(...).

Дуров, со право верува дека од него треба да се плашат авторитарни држави, циферпанк, а Роскомнадзор и златните штитови со нивните DPI филтри навистина не му пречат.
(Политичка техника)

Мојата техничка политика е поедноставна, можам овде да ги опишам моите размислувања за невнимателно блокирање во РуНет, но верувам дека прогресивните граѓани на модерните руски и корисници на Хабр ја почувствуваа непрофесионалноста на актуелната власт во своја кожа, па ќе се ограничам на една фраза: нашата техничка политика е „Дигитален отпор“ . „обезбедување на роднините и пријателите стабилен канал за комуникација“.

Распоредување на MTProto прокси Телеграма

  • Техничкото ниво на сложеност е „лесно“, ако, на пример, го следите овој лист за измами.
  • Нивото на доверливост е „надпросечно“: сликата на докерот работи стабилно, не треба да се рестартира секој ден, како што напишаа програмерите во нивната официјална документација на Telegram, но контејнерот веројатно содржи некои пропусти.
  • Ниво на отпор/анксиозност - 10 членови на ИСИС ги плетеат своите заговори „роднините ги користат“, забраната од РКН не дојде ниту еднаш цело време (од пролет).
  • Нивото на доверба е „јавна недоверба на бебето“, проблем на клиентската страна (некои пријатели се сомневаат во мојот MtprotoProxy).
  • Нивото на тестостерон - „не стана повисоко“.
  • Финансиски трошоци - „0₽“.
  • Финансиска награда - „не зависи од граѓанинот Дуров“. Промоција - способност да се наметне рекламирање.

Ќе го подигнеме нашиот TelegramProxy на „слободните / лични“ капацитети на Amazon-ec2: t2.micro. користев ова автомобил

Океј, распореди го вашиот бесплатен сервер, одете на официјалната веб-страница докерхаб и преземете го докер-контејнерот.

Нема потреба да барате некоја слика, датотека или магично копче - „тие ги нема“, целата магија е направена во CLI:

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

Но, пред „тоа“, инсталирајте докер за CLI:

sudo apt-get install docker.io docker

Понатаму, во официјалната документација на MtprotoProxyTelegram, ни се нуди да направиме нешто како следново, го правиме:

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

По оваа команда, HEX низа ќе се појави на излезот на терминалот, но ние не сме заинтересирани за тоа.

Ние пишуваме во CLI:

$ docker logs mtproto-proxy

И ги добиваме потребните податоци:

Распоредување на вашата MTProxy Telegram со статистика
На излезот од овој дневник, ни се прикажани (намачкани):

А) ИП на нашиот сервер (ип на надворешен сервер);
Б) и случајна тајна - случаен стринг во HEX.

Пред да го регистрирате нашиот MtproProxy, треба да го конфигурирате главниот заштитен ѕид преку iptables (без разлика како ќе го пренасочите сообраќајот кон овој VPC, ќе биде непослушен, бидејќи главниот заштитен ѕид во Amazon-EC2 се наоѓа во веб-интерфејсот и има поголем приоритет над iptables).

Одиме на "конзола Amazon-EC2" во Групата за безбедност и отворете ја влезната порта 443 (логично маскирање сообраќај за прв пат).

Распоредување на вашата MTProxy Telegram со статистика

Ги земаме нашите „ip и тајни“ податоци од дневникот и одиме во месинџерот Telegram, го наоѓаме официјалниот бот за администратор на MTProxy (@MTProxybot) и го регистрираме нашиот MtproProxy: извршете ја командата [/newproxy] и внесете [our_ip:443], и тогаш нашата [тајна / HEX].

Ако се збркате при внесување податоци, ботот ќе се налути и ќе ве испрати на ...

Ако пополните два реда без грешки, ќе добиете одобрение и работна врска до вашиот тековен MtprotoProxyTelegram, кој можете да го споделите со секого.

Распоредување на вашата MTProxy Telegram со статистика

Исто така, преку овој бот, можете да го додадете вашиот спонзорски канал (но не и разговор), каде што ќе ги наметнувате вашите ставови на корисниците кои се поврзале на вашиот сервер или не можете да „спамирате“ и да не ги мачите вашите потенцијални клиенти без прикажување на каналот во списокот со закачени пораки.

Уште неколку зборови за ботот, каде што можете да побарате статистика, но „исто така и крофна“. Очигледно, „статистичките податоци“ се достапни кога зад себе имаш „толпа фритовари“ во Махачкала.

Мониторинг

Колку корисници можеме да се поврземе со нашиот сервер? И како и да е, кој / што има таму? Што? И колку?

Гледаме што има според официјалната документација... Да, еве, направете го вака:

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

„Чувајте го вашиот џеб поширок“ Според предложените команди, секогаш ќе добиваме слична грешка:

«curl: (7) Не успеа да се поврзе со портата за локалниот домаќин 2398: Врската е одбиена»

Нашиот прокси ќе работи. Но! Багел, а не статистика добиваме.

Можете да правите работи за црвените очи: проверете

$ netstat -an | grep 2398 и...

Отпрвин мислев дека ова е уште еден застој зад програмерите на Telegram (и сè уште мислам така), потоа најдов привремено добро решение: полирајте го Docker Container со датотека.

Подоцна, една инфа ми падна во очи:

за државните ора на Роскомнадзор околу „статистиката“.

„Блокиравме некои од јавните прокси на нашите сервери користејќи ги базите на податоци на проектот firehol. Овој проект ги следи списоците со јавни прокси и прави бази на податоци со нив.

Од тој момент (односно, веќе скоро два дена), ниту една IP адреса на нашиот руски прокси не е блокирана.

3. Ви кажуваме како да направите прокси што е речиси неранлив за Роскомнадзор и да споделите скрипта за блокирање јавни прокси.

- Ажурирајте го MTProto прокси-докер-контејнерот (или демонот) до најновата верзија: RKN пресметува стари верзии со портата за статистика, која беше врзана за 0.0.0.0 и уникатно се идентификуваше за целиот Интернет. Уште подобро, отворете ги потребните порти користејќи iptables и затворете ги останатите (запомнете дека во случај на докер контејнер, треба да го користите правилото FORWARD).

— Роскомнадзор одамна научи како да го отфрли сообраќајот: тие гледаат повици во HTTP и SOCKS5 прокси, а ја гледаат и старата верзија на замаглување на прокси MTProto.

Кога клиентите на некои провајдери кои имаат инсталирани такви депонии пристапуваат до Telegram преку такви прокси, RKN ги гледа таквите барања и веднаш ги блокира овие прокси. Истото важи и за MTProto прокси со стара заматување.

Решение: дистрибуирајте ја тајната само со dd на почетокот до клиентите што се поврзуваат со прокси (нема потреба да се наведуваат дополнителни букви dd во поставките на самиот mtproto прокси). Ова ќе овозможи верзија на замаглување што дамките не можат да ја откријат.

И нема HTTP или SOCKS5 прокси.

- Приспособување, со чија помош секој сопственик на прокси за телеграма, кој е редовно баниран од RKN, може целосно (или речиси целосно) да престане да блокира (и во исто време да се увери дека RKN лаже).

Скрипта што забранува јавни прокси и мал прирачник за тоа.

Извор

Нашиот прокси е прозападен, не наидов на никакви проблеми / блокади во текот на пролетните и студените летни денови, не привлече ниту креативна задача, па не изгубив чекор и не го додадов префиксот dd* на клучот.

Прирачникот „добивање статистика/мониторинг“ според официјалните упатства на MtprotoProxyTelegram не работи/застарува, ќе мора да ја поправите сликата на докерот.

Го поправаме.

Контејнерот сè уште работи:

$ 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

Ајде да ја провериме статистиката:

$ curl http://localhost:2398/stats

curl: (7) Не успеа да се поврзе со портата 0.0.0.0 2398: Врската е одбиена
Статистиката се уште е недостапна.!..

Дознајте го ID на докер-контејнерот:

$ docker ps

ИД НА КОНТЕЈНЕР КОМАНДА НА СЛИКА СОЗДАДЕНА СТАТУСНИ ИМИЊА НА ПРИСТАВКИТЕ
f423c209cfdc telegrammessenger/proxy:last "/bin/sh -c '/bin/ba…" Пред околу еден час Нагоре Околу една минута 0.0.0.0:443->443/tcp mtproto-proxy2

Одиме со нашата повелба во докер-контејнерот:

$ sudo docker exec -it f423c209cfdc /bin/bash

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

И во последната линија од скриптата "run.sh", додајте го знамето што недостасува:

«--http-статистички податоци»
"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“

Додадете „--http-stats“, нешто како ова треба да работи:

«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 (зачувај/излези од нано/излези од контејнер).

Рестартирајте го нашиот докер контејнер:

$ docker restart mtproto-proxy2

Сè, сега на команда:

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

Распоредување на вашата MTProxy Telegram со статистика
Има многу „ѓубре“ во статистиката (1/3 од тоа е на екранот), креирајте алијас:

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

Добиваме за што е полиран контејнерот за докер: бројот на врски и товарот:

$ telega

Распоредување на вашата MTProxy Telegram со статистика
Контејнерот Docker работи, статистиката се врти.

Потрошени ресурси

Колку и да сте кул Стјуарт Редмен, дури и вие оставате трага на гаќите. Сликата што работи на Docker остава голем отпечаток.

Нема смисла да се опишуваат предностите и недостатоците на докерските слики, докерскиот контејнер е мини-виртуелна машина која троши помалку ресурси од „вистинската“ виртуелна машина, како што е VirtualBox, но тоа го прави.

1) Лансирани со или без статистика на докер-слика, два клиенти се веселат или десет - ресурси се користат ~ на ист начин: 75% од целокупните перформанси на процесорот t2.micro.

2) Го гледаме следењето на серверот VPC:

Распоредување на вашата MTProxy Telegram со статистика

Од графиконот за искористување на ресурсите на VPC, гледаме дека контејнерот за докер постојано троши ~ 7,5% од вкупниот макс. Перформансите на процесорот и на 28 мај беше прекинат од мене намерно/привремено (Забелешка - OpenVPN и pptp исто така работат на серверот).

Зошто 10% константна употреба на процесорот е ограничување за овој сервер?

Бидејќи има ограничувања од Amazon EC2 и тие се пресметуваат во кредити:

Распоредување на вашата MTProxy Telegram со статистика

1 кредит на процесорот = 1 процесор кој работи со 100% оптоварување за една минута, а имаме 6 кредити (односно, на врвови, 100% искористување на процесорот е можно во рок од 6 минути, а потоа моќта на процесорот ќе се намали). Други комбинации: на пример, 1 кредит на процесорот = 1 процесор работи со 50% оптоварување за две минути (т.е. можеме да го користиме процесорот при оптоварување од 50% 12 минути), или, на пример, константно оптоварување на процесорот од 10% за време на цело време итн.

Наоди

  • Ние сме дел од „Дигиталниот отпор“. На своите „татковци и мајки“ им обезбеди сигурен канал за комуникација.
  • Ако имате MtprotoProxyTelegram и OpenVPN распоредени на серверот, но нема повеќе, нема да има одложувања / пингови / неуспеси, но ако постојано експериментирате со вашиот t2 / micro, тогаш почекајте комуникациски сопирачки.
  • Мојот пинг во странство е ~100-250ms, нема доцнења во гласовната комуникација.
  • Финансиски трошоци за сето „ова“ (вклучувајќи VPC ресурси) = 0₽.

Повторно печатење на вашата статија.

УПД: Благодарение на некои хабраузери за корисни коментари, навистина, тоа е можно (дали статистиката е поддржана?), Има подобри аналози на официјалната Mtproto прокси слика на докерот на Telegram.

Извор: www.habr.com

Додадете коментар