MTProxy Telegramınızı istatistiklerle dağıtma

MTProxy Telegramınızı istatistiklerle dağıtma

"Bu dağınıklığı miras aldım,
utanmaz Zello ile başlayarak; LinkedIn
ve Telegram platformunda "diğer herkes" ile biten
benim dünyamda.

Ve sonra hıçkırık,
Görevli aceleyle ve yüksek sesle ekledi:
ama işleri düzene koyacağım (burada BT'de)"
(...).

Durov, haklı olarak ondan korkması gereken otoriter devletler olduğuna inanıyor, bir cypherpunk ve DPI filtreleriyle Roskomnadzor ve altın kalkanlar onu pek rahatsız etmiyor.
(Siyasi teknik)

Teknik politikam daha basit, burada Runet'te dikkatsiz engelleme hakkındaki düşüncelerimi açıklayabilirim, ancak Modern Rus ve Habr kullanıcılarının ilerici vatandaşlarının mevcut hükümetin profesyonellikten uzaklığını kendi derilerinde hissettiklerine inanıyorum, bu yüzden kendimi şu şekilde sınırlayacağım: tek bir cümle: teknik politikamız "Dijital Direnç" dir. "akraba ve arkadaşlara istikrarlı bir iletişim kanalı sağlamak."

MTProto proxy Telegram'ı dağıtma

  • Örneğin, bu hile sayfasını takip ederseniz, teknik karmaşıklık düzeyi "kolaydır".
  • Güvenilirlik seviyesi "ortalamanın üzerinde": liman işçisi görüntüsü kararlı bir şekilde çalışıyor, geliştiricilerin resmi Telegram belgelerinde yazdığı gibi her gün yeniden başlatılması gerekmiyor, ancak kapsayıcı muhtemelen bazı güvenlik açıkları içeriyor.
  • Direniş/endişe düzeyi - 10 DAİŞ'li komplolarını "akrabalarının kullandığı" örüyor, RKN'den yasak her zaman (ilkbahardan beri) bir kez bile gelmedi.
  • Güven düzeyi "genel bebek güvensizliği", müşteri tarafında bir sorun (bazı arkadaşlar MtprotoProxy'imden şüpheleniyor).
  • Testosteron seviyeleri - "yükselmedi."
  • Finansal maliyetler - "0₽".
  • Mali ödül - "Vatandaş Durov'a bağlı değildir." Promosyon - reklam empoze etme yeteneği.

TelegramProxy'mizi Amazon-ec2'nin "ücretsiz / kişisel" kapasiteleri üzerine yükselteceğiz: t2.micro. kullandım bu araba.

Tamam, ücretsiz sunucunuzu kurun, resmi web sitesine gidin Liman işçisi ve docker kapsayıcısını indirin.

Bazı görüntü, dosya veya sihirli düğme aramaya gerek yok - "onlar orada değiller", tüm sihir CLI'de yapılır:

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

Ancak "bundan" önce, CLI için docker'ı kurun:

sudo apt-get install docker.io docker

Ayrıca, MtprotoProxyTelegram'ın resmi belgelerinde aşağıdaki gibi bir şey yapmamız teklif ediliyor, biz yapıyoruz:

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

Bu komuttan sonra uçbirim çıktısında bir HEX stringi çıkacak ama bizi ilgilendirmiyor.

CLI'de şunu yazıyoruz:

$ docker logs mtproto-proxy

Ve gerekli verileri alıyoruz:

MTProxy Telegramınızı istatistiklerle dağıtma
Bu günlüğün çıktısında (bulaşmış) gösteriliyoruz:

A) sunucu ipimiz (harici sunucu ipi);
B) ve rastgele bir sır - HEX'te rastgele bir dizi.

MtproProxy'mizi kaydetmeden önce, ana güvenlik duvarını iptables üzerinden yapılandırmanız gerekir (trafiği bu VPC'ye nasıl yönlendirirseniz yönlendirin, yaramaz olacaktır, çünkü Amazon-EC2'deki ana güvenlik duvarı web arayüzünde bulunur ve daha yüksek önceliğe sahiptir. iptables).

Biz gitmek "konsol Güvenlik Grubunda Amazon-EC2" ve gelen bağlantı noktası 443'ü açın (mantıksal maskeleme kaçakçılık ilk kez).

MTProxy Telegramınızı istatistiklerle dağıtma

Günlükten "ip ve gizli" verilerimizi alıp Telegram messenger'a gidiyoruz, resmi MTProxy Yönetici Botunu (@MTProxybot) buluyoruz ve MtproProxy'mizi kaydediyoruz: [/newproxy] komutunu çalıştırın ve [our_ip:443] girin ve sonra bizim [sırrımız /HEX].

Verileri girerken hata yaparsanız, bot sinirlenir ve sizi ...

İki satırı hatasız doldurursanız, herkesle paylaşabileceğiniz mevcut MtprotoProxyTelegram'ınız için onay ve çalışan bir bağlantı alacaksınız.

MTProxy Telegramınızı istatistiklerle dağıtma

Ayrıca bu bot sayesinde kendi görüşlerinizi sunucunuza bağlanan kullanıcılara empoze edeceğiniz (sohbet değil) sponsorluk kanalınızı ekleyebilir veya "spam" atamaz ve potansiyel müşterilerinizi rahatsız etmeyebilirsiniz. sabitlenmiş mesajlaşma listesindeki kanalı gösteriyor.

İstatistik isteyebileceğiniz bot hakkında birkaç kelime daha, ancak "aynı zamanda bir çörek". Görünüşe göre, Mahaçkale'de arkanızda "bir beleşçi kalabalığı" olduğunda "istatistikler" mevcut.

İzleme

Sunucumuza kaç kullanıcı bağlayabiliriz? Ve her neyse, orada kim / ne var? Ne? Ve kaç tane?

Resmi belgelere göre orada ne olduğuna bakıyoruz ... Evet, işte böyle yapın:

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

“Cebini geniş tut” Önerilen komutlara göre hep benzer bir hata alacağız:

«curl: (7) 2398 numaralı yerel ana bilgisayar bağlantı noktasına bağlanılamadı: Bağlantı reddedildi»

Proxy'miz çalışacak. Ancak! Simit, aldığımız istatistik değil.

Kırmızı gözlüler için bir şeyler yapabilirsiniz: kontrol edin

$ netstat -an | grep 2398 и...

İlk başta bunun Telegram geliştiricilerinin arkasındaki başka bir pervaz olduğunu düşündüm (ve hala öyle düşünüyorum), sonra geçici bir iyi çözüm buldum: Docker Container'ı bir dosyayla parlatın.

Daha sonra gözüme bir infa takıldı:

Roskomnadzor'un "istatistik" etrafındaki devlet dansları hakkında.

“Firehol projesinin veritabanlarını kullanarak sunucularımızdaki bazı genel proxy'leri engelledik. Bu proje, genel proxy'lerle listeleri izler ve bunlarla veritabanları oluşturur.

O andan beri (yani neredeyse iki gün önce), Rus proxy sunucumuzun tek bir IP adresi bile bloke edilmedi.

3. Size Roskomnadzor'a neredeyse zarar vermeyen bir proxy'yi nasıl yapacağınızı anlatıyoruz ve genel proxy'leri engellemek için bir komut dosyası paylaşıyoruz.

- MTProto proxy docker kapsayıcısını (veya daemon'unu) en son sürüme güncelleyin: RKN, 0.0.0.0'a bağlı olan ve kendisini tüm İnternet için benzersiz bir şekilde tanımlayan istatistik bağlantı noktasına göre eski sürümleri hesaplar. Daha da iyisi, gerekli bağlantı noktalarını iptables kullanarak açın ve geri kalanını kapatın (bir liman konteyneri olması durumunda, FORWARD kuralını kullanmanız gerektiğini unutmayın).

— Roskomnadzor, trafiğin nasıl boşaltılacağını uzun zaman önce öğrendi: HTTP ve SOCKS5 proxy'leri içindeki istekleri görüyorlar ve ayrıca MTProto proxy gizlemesinin eski sürümünü de görüyorlar.

Bu tür dökümlere sahip bazı sağlayıcıların müşterileri, Telegram'a bu tür proxy'ler aracılığıyla eriştiğinde, RKN bu tür istekleri görür ve bu proxy'leri hemen engeller. Aynısı, eski gizleme ile MTProto proxy için de geçerli.

Çözüm: proxy'ye bağlanan istemcilere yalnızca başlangıçta dd ile secret dağıtın (mtproto proxy ayarlarında ek dd harfleri belirtmeye gerek yoktur). Bu, çöplüklerin algılayamadığı bir şaşırtmaca sürümünü etkinleştirir.

Ve HTTP veya SOCKS5 proxy'leri yok.

- RKN tarafından düzenli olarak yasaklanan her bir telgraf proxy sahibinin yardımıyla engellemeyi tamamen (veya neredeyse tamamen) durdurabileceği (ve aynı zamanda RKN'nin yalan söylediğinden emin olabileceği) ayarlama.

Genel proxy'leri yasaklayan bir komut dosyası ve bunun için küçük bir kılavuz.

Kaynak

Proxy'miz Batı yanlısı, ilkbahar ve serin yaz günlerinde herhangi bir sorun/tıkanma ile karşılaşmadım, yaratıcı bir görev de çekmedi, bu yüzden hız kaybetmedim ve dd* önekini eklemedim. anahtar.

MtprotoProxyTelegram'ın resmi talimatlarına göre “istatistik alma/izleme” kılavuzu çalışmıyor/eski değil, docker görüntüsünü onarmanız gerekecek.

Düzeltiyoruz.

Konteyner hala çalışıyor:

$ 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

İstatistikleri kontrol edelim:

$ curl http://localhost:2398/stats

curl: (7) 0.0.0.0 bağlantı noktasına bağlanamadı 2398: Bağlantı reddedildi
İstatistikler hala mevcut değil.!..

Docker kapsayıcısının kimliğini öğrenin:

$ docker ps

KONTEYNER KİMLİK GÖRÜNTÜ KOMUT OLUŞTURULDU DURUM PORT İSİMLERİ
f423c209cfdc telegrammessenger/proxy:latest "/bin/sh -c '/bin/ba…" Yaklaşık bir saat önce Yukarı Yaklaşık bir dakika 0.0.0.0:443->443/tcp mtproto-proxy2

Charter'ımızla docker konteynerinin içine gidiyoruz:

$ sudo docker exec -it f423c209cfdc /bin/bash

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

Ve "run.sh" betiğinin en son satırına eksik bayrağı ekleyin:

«--http-istatistikler»
"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" ekleyin, bunun gibi bir şey çalışmalıdır:

«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 (nano'yu kaydet/çık/kapsayıcıdan çık).

Docker kapsayıcımızı yeniden başlatın:

$ docker restart mtproto-proxy2

Her şey, şimdi komutta:

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

MTProxy Telegramınızı istatistiklerle dağıtma
İstatistiklerde çok fazla “çöp” var (1/3'ü ekranda), bir takma ad oluşturun:

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

Docker konteynerinin ne için parlatıldığını elde ederiz: bağlantı sayısı ve yük:

$ telega

MTProxy Telegramınızı istatistiklerle dağıtma
Docker konteyneri çalışıyor, istatistikler dönüyor.

Harcanan kaynaklar

Stuart Redman olduğun kadar havalısın, külotunda bile bir iz bırakıyorsun. Çalışan bir Docker görüntüsü büyük bir ayak izi bırakır.

Liman işçisi görüntülerinin avantajlarını ve dezavantajlarını tarif etmenin bir anlamı yoktur, liman konteyneri, VirtualBox gibi "gerçek" bir sanal makineden daha az kaynak tüketen bir mini sanal makinedir, ancak tüketir.

1) Docker-image istatistikleri olsun ya da olmasın başlatılan, iki istemci ya da on - kaynak aynı şekilde kullanılır: tüm CPU t75.micro performansının %2'i.

2) VPC sunucusunun izlenmesine bakıyoruz:

MTProxy Telegramınızı istatistiklerle dağıtma

VPC'deki kaynak kullanım grafiğinden, docker konteynerinin sürekli olarak toplam maks. CPU performansı ve 7,5 Mayıs'ta kasıtlı olarak/geçici olarak benim tarafımdan durduruldu (Not - Sunucuda OpenVPN & pptp de çalışmaktadır).

Neden bu sunucu için %10 sabit CPU kullanımı limiti?

Amazon EC2'den gelen kısıtlamalar olduğundan ve bunlar kredi olarak hesaplandığından:

MTProxy Telegramınızı istatistiklerle dağıtma

1 CPU kredisi = Bir dakika boyunca %1 yükte çalışan 100 CPU ve 6 kredimiz var (yani, zirvelerde, 100 dakika içinde %6 CPU kullanımı mümkündür ve ardından CPU gücü azalır). Diğer kombinasyonlar: örneğin, 1 CPU kredisi = iki dakika boyunca %1 yükte çalışan 50 CPU (yani, CPU'yu 50 dakika boyunca %12 yükte kullanabiliriz) veya örneğin, işlem sırasında sabit %10'luk CPU yükü tüm zaman, vb.

Bulgular

  • "Dijital Direniş"in bir parçasıyız. "Anne ve babalarına" güvenilir bir iletişim kanalı sağladılar.
  • Sunucuda konuşlandırılmış MtprotoProxyTelegram ve OpenVPN varsa, ancak artık yok, gecikme / ping / arıza olmayacak, ancak sürekli olarak t2 / micro'nuzla deneyler yapıyorsanız, iletişim frenlerini bekleyin.
  • Yurt dışı pingim ~100-250ms, sesli iletişimde gecikme yok.
  • Tüm "bu" için finansal maliyetler (VPC kaynakları dahil) = 0₽.

Makalenizin yeniden basımı.

UPD: Yararlı yorumlar için bazı habrauserler sayesinde, gerçekten mümkün (istatistikler destekleniyor mu?), Resmi Mtproto proxy Telegram docker görüntüsünün daha iyi analogları var.

Kaynak: habr.com

Yorum ekle