"αααα»αααΆαααα½αααααααΈααΆαααααααααααα
α αΆααααααΎαααΆαα½α Zello ααααα·αααααΆααα’αα; LinkedIn
αα·ααααα ααααα "α’αααααααα" αα ααΎαααα·ααΆ Telegram
αα αααα»ααα·ααααααααααααα»ααα αΎααααααΆαααα hiccup,
αααααααΈβααΌαβαααβααΆαβααααααβαααΆαβαααααΆααβαααααΆααβααΆα
ααα»αααααααα»αααΉαααΆααα’αααΈαααΆαααααΆααααααα (αα ααΈααααααα»α IT)"
(... ).
Durov ααΏαααααααΉαααααΌαααΆααΆααΆααααααααΆα
αααΆαααααα½αααααααΆα
ααΆαα cypherpunk αα·α Roskomnadzor αα·ααααααΆαααΆαα½αααΉαααααα DPI αααααα½ααααα·αααΆαα·αααααΆαααΆααααα
(αα
αα
ααααααααααΆα)
αααααΆααααα
αα
ααααααααααααα»αααΊααΆααααααΆα αααα»αα’αΆα
αααααΆαα
ααΈααα αααα·ααααααααα»αα’αααΈααΆααααααααΆααααααα·αααα
α·ααααα»αααΆαααα
αααα»α Runet ααα»αααααααα»αααΏααΆ αααααΆααααααααΏαααΏαααα’αααααααΎααααΆαααα»αααααΈααααααααΎα αα·α Habr ααΆαα’αΆααααααααΆααααΆααα·ααααΆααΈαααααααααααΆαα·ααΆααα
αα
α»αααααααα
αααα»αααααααααααα½ααα ααΌα
αααααααα»αααΉαααΆααααααα·ααααα½αα―αα
αααα ααααΆαααα½αα αααααΆααααα
αα
αααααααααααΎαααΊ βααΆαααααΌααΈααΈααβα "αααααα±ααααΆα
αααΆαα· αα·ααα·αααααααα·ααΆαα½αααΉααααααΆαααααΆαααααααααααΆααααααααΆαα"
ααΆαααΆααα±ααααααΎααααΆααααααΌααααΈ MTProto Telegram
- ααααα·ααα αα αααααααααΆααααα»αααααΆαααΊ "ααΆααααα½α" ααααα·αααΎα§ααΆα ααα α’αααααααΎααΆααααααΉαααααααααα
- ααααα·αααΆαααΏααΆααααΊ "ααΎαααΈααααα"α ααΌαααΆα docker ααααΎαααΆαααααααααααΆα ααΆαα·αα αΆαααΆα αα αΆααααααΎαα‘αΎααα·αααΆαααααΆαααααα ααΌα αααα’αααα’αα·ααααααααΆαααααααα αααα»αα―αααΆα Telegram ααααΌαααΆααααααα½ααα ααα»αααααα»αααΊααααααα ααααΆααΆαααΆαααΆαααααααααα½αα ααα½αα
- ααααα·αααααΆαααααΌ / ααΆααααααΆαααα - αααΆαα·α ISIS 10 ααΆααααΆαααααΆαααΆααααααα·ααααααα½ααα "ααααΎααΆα αααΆαα·" ααΆαα αΆαααΆαααα·αααΆαααααΈ RKN ααΌααααΈααααααααααααααααααΆ (α αΆααααΆααααΈαα·ααΆααααΌα) α
- ααααα·αααααΆαααΏαα»αα α·αααααΊ "ααΆααα·ααα»αα α·αααααααααΆααααΆααΆααα" αααααΆαααα αΆαα ααΆαα’αα·αα·αα (αα·αααααααα·αα½αα ααα½αααΆαααΆαααααααα’αααΈ MtprotoProxy αααααααα»α) α
- ααααα·αααααααΌαααααααΌα - "αα·ααααααααΆαααααα" α
- ααΆαα αααΆαα α·ααααααααα» - "0β½" α
- αααααΆααα α·ααααααααα» - "αα·αα’αΆαααααααΎαααααα Durov" α ααΆαααααααααααΆα - αααααααΆααααα»αααΆαααΆααααΆαααααΆαααΆαα·αααααααα
ααΎαααΉααααααΎα TelegramProxy ααααααΎαααΎαααααααΆα "α₯ααα·ααααα / ααααΆαααααα½α" αα Amazon-ec2: t2.micro α αααα»αααΆαααααΎ
αα·αα’αΈαα ααΆαααΆαααααααΆααααΆαααΈαααα₯ααα·αααααααααα’ααα ααΌαα
αΌααα
ααΆααααα αααααααααΌαααΆα
αα·αα αΆαααΆα ααααααααααΌαααΆα α―αααΆα α¬αααΌαα»αααααααα - "αα½ααααα·ααα ααΈααααα" αααααααααΆααα’ααααααΌαααΆαααααΎαα αααα»α CLIα
$ docker pull telegrammessenger/proxy #ΠΎΠ±ΡΠ°Π· ΡΠΊΠ°ΡΠ°Π½.
ααα»αααααα»αααα "ααα" ααα‘αΎα docker αααααΆαα 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
α αΎαααΎαααα½αααΆααα·αααααααααααααΌαααΆαα
αα
αααα»ααααααααααααααα ααα»ααα ααΎαααααΌαααΆααααα αΆα (smeared):
α) ip server ααααααΎα (external server ip);
α) αα·αααΆααααααΆααα
ααααα - ααααα’ααααα
ααααααα
αααα»α HEX α
αα»ααααα α»αααααα MtproProxy ααααααΎα α’αααααααΌαααααααα ααΆαααααααααααααΆααααααΎαα ααααααΎ iptables (αα·αααΆα’αααααααΌααα·αα ααΆα ααα ααΆαα VPC ααααααααααααΆααααα ααΆααΉαααΆαααΆααααααααα αααααΆααααααΆααααααΎαααααΆαααα αααα»α Amazon-EC2 ααΆαααΈααΆαααα αααα»αα ααα»α αααααΆααααα ααααα αα·αααΆαα’αΆαα·ααΆααααααααΆαα iptables) α
ααΎαβαα
"
ααΎααααα·αααααα βip and secretβ ααααααΎαα
ααααΈ log α αΎαα
αΌααα
ααΆαα Telegram messenger ααααααα MTProxy Admin Bot (@MTProxybot) ααααΌαααΆα α αΎαα
α»αααααα MtproProxy ααααααΎαα αααααΆααααααααΆ [/newproxy] α αΎααααα
αΌα [our_ip:443] α αΎα αααααΆαααα [αααααΆαα / HEX] ααααααΎαα
ααααα·αααΎα’ααααααααααααα ααααααα αΌααα·αααααα bot ααΉαααΉαα αΎαααααΎα’ααααα ...
ααααα·αααΎα’αααααααααααααΆααααΈααααααααΆαααα α»α α’αααααΉαααα½αααΆαααΆαααααααα αα·ααααααΆαααΆααα ααΆαα MtprotoProxyTelegram αα αα α»ααααααααααα’ααα αααα’αααα’αΆα α αααααααααΆαα½αααααΆααααΆααα
ααΌα
ααααΆαααααααα ααΆαααα bot ααα α’αααα’αΆα
αααααααααααΆαα§αααααααααααα’ααα (ααα»αααααα·ααααααΆααΆααααα) αααα’αααααΉαααΆααααΆαααΎαααααα’αααααΎα’αααααααΎααααΆαααααααΆαααααΆαααα
αααΆαααΈαααααααα’ααα α¬α’ααααα·αα’αΆα
"ααΆαα₯αααΆαααΆα" αα·ααα·αααααΆαα’αα·αα·αααααααΆαα»ααααααα’ααααααααααΆα αααα αΆαααΆααααα
αααα»ααααααΈα’αααααΆαααΆααααααΆαααααΆααα
ααΆαααααΈαααΈαααα’αααΈ bot αααα’αααα’αΆα ααααΎαα»ααααα·αα· ααα»αααα "ααααΆααααΌααΆααααααα" α ααΆααααααα "αααα·αα·" ααΊα’αΆα ααααΆααα ααααααα’αααααΆα "α αααΌαα’ααααααα»ααααα·α" αα ααΈααααα Makhachkala α
ααΆααααα½ααα·αα·ααα
ααΎααΎαα’αΆα ααααΆαααα αααΆαααΈαααααααααΎαααΆαααα»ααααΆαααΆαα? α αΎαβαααΆαβααΆβααβααα ααΎβα’αααβααΆβαα βααΈβααα? α’αααΈ? α αΎαααα»ααααΆα?
ααΎαβαααα‘ααβααΎαβα’αααΈβαααβαα βααΈβαααβααΆαβα―αααΆαβααααΌαβααΆαβ¦ ααΆαβαα βααΈαααβααααΎβααΌα βαααα
$ curl http://localhost:2398/stats ΠΈΠ»ΠΈ Π²ΠΎΡ ΡΠ°ΠΊ $ docker exec mtproto-proxy curl http://localhost:2398/stats # ΠΈ Π½Π°ΠΌ Π²ΡΠ΄Π°Π΄ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΡΡΠΌΠΎ Π² CLI.
"αααααΆα αααα ααααα’αααα±ααααΆααααααΌααααΌααΆα" ααααα ααΆαααΆααααααααΆαααααΆαααααΎα‘αΎαααΎαααΉααααααααα½αααΆαααα α»αααααααααααΆααα:
Β«curlα (7) αααΆααααααα»αααΆααααααΆαααα ααΆαα localhost port 2398α ααΆααααααΆααααΆαααα·αααΒ»
ααααΌααααΈααααααΎαααΉαααααΎαααΆαα αα! Bagel αα·αααααααα·αα·αααααΎαααα½αααΆαααα
α’αααα’αΆα ααααΎα’αααΈααααααΆααααααααααα αα αα·αα·ααα
$ netstat -an | grep 2398 ΠΈ...
ααααΌααααα»ααα·αααΆαααααΊααΆα§ααααααα½αααααα ααΈαααααα’ααααααααΎααααααα·ααΈ Telegram (α αΎααααα»ααα αααα·αααΌα αααα) αααααΆαααααααα»αααΆαααααΎααααααααααΆαααααα’ααααααα’αΆααααα αα»αααΆαα Docker Container ααΆαα½αααΉαα―αααΆααα½αα
ααααααα infa α αΆααααααααααα»αα
α’αααΈαααΆααααααααα Roskomnadzor αα»ααα·α "αααα·αα·" α
"ααΎαααΆαααΆααΆααααααΌααααΈααΆααΆααααα½αα ααα½ααα ααΎαααΆαααΈαααααααααΎααααααααΎααΌαααααΆααα·αααααααααααααα firehol α ααααααααααααα½ααα·αα·ααααααααΈααΆαα½αααααΌααααΈααΆααΆααα αα·ααααααΎαααΌαααααΆααα·ααααααααΆαα½ααα½αααα
α αΆααααΆααααΈαααααααα (αααααΊαα·αααΈαααααα αΎα) αα·αααΆαα’αΆααααααΆα IP αααα½αααααααΌααααΈαα»αααααΈααααααΎαααααΌαααΆαααΆααΆααααα
3. ααΎαααααΆααα’αααααΈαααααααααΎαααααΌααααΈαααααααΎααααα·αααΆααααααααα αααα Roskomnadzor αα·αα αααααααααααααΈααααααΆαααααααααΆααααααΌααααΈααΆααΆαααα
- ααααΎαα αα α»ααααααααΆααα»ααααα»αααααΌααααΈ MTProto (α¬αααα·α) αα ααΆααααα α»αααααααααα»αα RKN ααααΆααααα αΆαααααα ααααααα·αα· αααααααΌαααΆαα αααααΆαααα ααΉα 0.0.0.0 αα·ααααααα’ααααααααΆααααα―αα―ααααααΆααα’ααΈαααΊαα·αααΆααααΌαα ααΆαααααααααΎαααΆαααααα ααα ααΎαα αααα αΆαααΆα ααααααααΎ iptables α αΎααα·αααααααααααα ααα (α αα αΆαααΆαα αααα»αααααΈαα docker container α’ααααα½αααααααΎα αααΆαα FORWARD)α
- Roskomnadzor ααΆααααααΈααααααααΆα αα ααΆα αααααΆααααΈααΌαααΆαααΆααααα αΎαα αα½αααααΎαααααΎαα ααΆααααα»αααααΌααααΈ HTTP αα·α SOCKS5 α αΎααα½αααααααΎαααααα αΆαααααα MTProto proxy obfuscation αααααα
αα ααααααα’αα·αα·ααααααα’ααααααααααααΆαα½αα ααα½ααααααΆαααΆαα ααααααΆαααααααααΆαααα‘αΎαααΆαα αΌαααααΎ Telegram ααΆααααααααΌααααΈαααααα RKN ααΎαααααΎαααααα α αΎαααΆαααΆααΆααααααΌααααΈααΆαααααααααΆααα ααΌα ααααΆα ααααααααΌααααΈ MTProto ααΆαα½αααΉαααΆαα ααααΌαα αααααα αΆααα
αααααααααΆαα α ααα αΆααααααΆααααααΆαα½α dd αα ααΎααααα’αα·αα·αααααααααΆαααα ααααΌααααΈ (αα·αα αΆαααΆα ααααααΆααα’αααααααααα dd αα αααα»αααΆααααααααααααααΌααααΈ mtproto αααα½αααΆαα)α ααΆβααΉαβααΎαβααααβααβααΆαβαααβα ααα‘αβαααβααααααβα ααααβαα·αβα’αΆα βααβααΎαα
α αΎαααααΆαααααΌααααΈ HTTP α¬ SOCKS5 ααα
- ααΆααααααααΌα αααααΆααααα½αααΈααα αΆααααΈαα½ααααααααΌααααΈααα‘αααααΆα αααααααΌαααΆαα αΆαααΆααααΆαααα αΆαααα RKN α’αΆα ααααααααΆααααααααΆααααΆαααΆαααααα»α (α αΎααααα»αααααααα½αααααΌαααααΆααααΆ RKN αα»α α) α
ααααααΈααααα αΆαααΆααααααΌααααΈααΆααΆααα αα·αααααα ααααΆαααΌα αα½ααααααΆααααΆα
β
ααααΌααααΈααααααΎαααΊααΆαααααααααΆααα·α αααα»ααα·αααΆααα½αααααααααα αΆ/ααΆαααααααΆαα½ααααα»αα’αα‘α»ααααΌαααααΆααΈα αα·ααααΌααααα αααααααΆααααααα ααΆαα·αααΆααααΆαααΆαααΆαααααααααααΆαα αααααααα·ααα ααΌα αααααααα»ααα·αααΆαααΆαααααααααΏα αα·ααα·αααΆααααααααα»ααααα dd* αα αααααΉαα
ααααα αα "ααΆαααα½αααΆααααα·αα·/ααΆααααα½ααα·αα·ααα" αααααΆαααΆαααααΆαααααΌαααΆααααα MtprotoProxyTelegram αα·αααααΎαααΆα/α α½ααααααα α’αααααΉαααααΌααα½ααα»αααΌαααΆα docker α
ααΎααα½ααα»αααΆα
αα»ααα ααααααΎαααΆαα
$ 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α ααΆααααααΆααααΆαααα·ααα
αααα·αα·αα
αααα·αααΆααααΆα..!
αααααααααααααααΆαααααα docker containerα
$ docker ps
ααΌαααΆα ααααααααΆαααα»αααΊααα ααΆααααααααΆ ααΆααααααΎααααααα
αααααααΆαααΆα
f423c209cfdc telegrammessenger/proxy:latest "/bin/sh -c '/bin/baβ¦" αααα αααα½ααααααα»α α‘αΎααααα αααα½αααΆααΈ 0.0.0.0:443->443/tcp mtproto-proxy2
ααΎααα ααΆαα½ααααααα»αααααααααΎααα αααα»ααα»α dockerα
$ 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) + α (αααααΆαα»α / α ααααΈαα»αααΆααΌ / α αα) α
α αΆααααααΎααα»α docker ααααααΎαα‘αΎααα·αα
$ docker restart mtproto-proxy2
α’αααΈααααααααΆα, α₯α‘αΌαααααα ααΎααΆααααααααΆ:
$ curl http://localhost:2398/stats #ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΌΠ½ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ
ααΆα "ααααΆα" ααΆα
αααΎααα
αααα»ααααα·αα· (1/3 ααααααΆαα
ααΎα’αααααα) αααααΎαααααααααααααααΆααα½αα
$ echo "alias telega='curl localhost:2398/stats | grep -e total_special -e load_average_total'" >> .bashrc && bash
ααΎαααα½αααΆαα’αααΈααααα»α docker ααααΌαααΆααααΌα‘αΌααααααΆαα: α ααα½αααααΆααααααΆαααα·αααααα»α:
$ telega
αα»αααΊααα Docker αααα»αααααΎαααΆα αααα·αα·αααα»ααα·αα
ααααΆααααααΆαα αααΆα
αααααΆααααΌα α’αααααΆ Stuart Redman ααΌααααΈααα’ααααα»ααααααΆαα ααΎααααααα’ααααααααα ααΌαααΆα Docker ααααααα»αααααΎαααΆααααααααα»αααΌαααααΆαααΎααααααα½αα
ααΆααααΆαααααααααα»αααΆααα·αααααΆα’αααΈαα»ααααααααα· αα·ααα»ααα·ααααα·ααααΌαααΆα docker αα»α docker ααΊααΆαααΆαααΈααα·αααα·αααααΆαααΌα αααααααΎααααΆααααααΆααα·α ααΆααααΆαααΈααα·αααα·α "αα·αααααΆαα" ααΌα ααΆ VirtualBox ααα»ααααααΆααΎαα‘αΎαα
1) ααΎαααααΎαααΆααααααΆαα¬ααααΆααα·αααααα docker-image α’αα·αα·ααααΈαααΆαα frolic α¬ααα - ααααΆαααααΌαααΆαααααΎααααΆαα ~ αα·ααΈααΌα ααααΆ: 75% ααααααΎαααΆα CPU t2.micro ααΆααααΌαα
2) ααΎααα·αα·αααααΎαααΆααααα½ααα·αα·ααααααΆαααΈααα VPCα
ααΈααααΆα ααααΆαααααΎααααΆααααααΆααα
ααΎ VPC ααΎαααΎαααΆαα»α docker ααααΎααααΆααααΆαα·α
αα
~ 7,5% ααα’αα·ααα·ααΆααα»αα ααααΎαααΆααααΈααΈααΌ αα·ααα
ααααααΈ 28 ααα§αααΆ ααααΌαααΆαααααααααααααα»ααααα
ααααΆ/ααααααα’αΆαααα (α
αααΆα - OpenVPN & pptp αααααα»αααααΎαααΆααα
ααΎ server)α
α ααα»α’αααΈααΆαααΆααΆαααααΎααααΆαααααΈααΈααΌααα 10% ααΆααααααααααααααΆαααααΆαααΈαααααα?
αααααΆαααααΆαααΆαααΉααααααΉαααΈ Amazon EC2 α αΎααα½αααααααΌαααΆαααααΆααΆα₯αααΆαα
1 CPU credit = 1 CPU ααααΎααΆααα
100% load αααα»ααααααααα½αααΆααΈ α αΎαααΎαααΆα 6 credits (αααααΊαα
ααααα·αααααΌα ααΆαααααΎααααΆαα CPU 100% ααΊα’αΆα
ααααΎαα
ααΆααααα»ααααααα 6 ααΆααΈ α αΎααααααΆααααααΆααα CPU ααΉαααα
α»α)α αααααααααααααα α§ααΆα ααα α₯αααΆααααΈααΈααΌ 1 = αααΈααΈααΌ 1 ααααΎαααΆααα
ααΆααααα»α 50% ααααααααΈαααΆααΈ (α§ααΆα ααα ααΎαα’αΆα
ααααΎαααΈααΈααΌαα
ααααααα»α 50% αααααΆαααααααα 12 ααΆααΈ) α¬α§ααΆα ααα ααΆααααα»ααααΈααΈααΌ 10% ααααααα»αα’αα‘α»αααα ααααα½ααααααα
ααΆαααααΎα
- ααΎαααΆααααααα½ααα "ααΆαααααΌααΈααΈαα" α αααααα±αα "αͺαα»ααα·αααααΆα" αααααα½αααααΆαα½αααΉααααααΆαααααΆαααααααααα’αΆα αα»αα α·αααααΆαα
- ααααα·αααΎα’αααααΆα MtprotoProxyTelegram αα·α OpenVPN ααααΌαααΆαααΆαααααααΆααα ααΎαααΆαααΈααα ααα»αααααα·αααΆαααααα ααΆααΉααα·αααΆαααΆααααααΆααα / pings / αααΆααααα ααα»ααααααααα·αααΎα’ααααααα»αααααΎααΆαααΆαααααα₯ααααααααΆαα½α t2 / micro ααααα’ααα αααααΆαααααααα αΆαα αααααΆααααααΆααααααα
- ping αααα αααααααααααααα»αααΊ ~ 100-250ms, αα·αααΆαααΆααααααΆαααααααα»αααΆαααααΆααααααααΆααα‘ααααα
- ααΆαα αααΆαα α·ααααααααα»αααααΆαα "ααα" ααΆααα’αα (αα½αααΆααααααΆα VPC) = 0β½α
ααααα»αααα‘αΎααα·αααΌαα’αααααααααα’αααα
UPDα ααΌαα’ααα»αααα habrausers αα½αα
ααα½ααααααΆααααα·ααααααααααΆααααααααα ααΆαα·αααΆα’αΆα
αα
αα½α
(ααΎαααα·αα·ααααΌαααΆαααΆαααααα?) ααΆα analogues αααααΎαααΆααα»αααααΌαααΆα Docker ααααΌααααΈααααΌαααΆααααα Mtproto Telegram α
ααααα: www.habr.com