Телеграм заблокирован — что делать?

Телеграм заблокирован - что делатьВ который раз Роскомнадзор (на их мерзкий сайт даже ссылку стыдно указать, но пусть уж будет) пробивает дно. В этот раз дно звучало следующим образом: Телеграм заблокирован. Вопрос — что делать — становится все актуальнее для тех, кто живет в России, и подпадает под действие этой мерзкой организации. Некоторые аспекты тыкания факов Роскомнадзору я озвучивал в предыдущих записях. Сегодня мы продолжим, и узнаем, какими методами можно восстановить работу Телеграм несмотря на все усилия надзоров.

Итак, самое простое — использовать ссылку: https://telegram.veesecurity.com, после перехода на которую ваш Телеграм будет работать через прокси-сервера расположенные по всей планете (кроме России, понятное дело). На случай, если сервис испытывает проблемы в работе — имеется альтернатива: Tgproxy.me/

Предпочитаете хардкор? Добро пожаловать в рабочий режим с VPN. Более подробно эту методику, а так же работу через TOR я описывал тут, но — если вам лениво перейти по ссылке — читаем текст ниже:

TOR.
1. Что это такое? Упрощенно — это совершенно бесплатное в использовании программное обеспечение, созданное специально для шифрования трафика, и создания соединений, которые будут проходить через анонимную сеть виртуальных туннелей. Достигается это тройной системой шифрования и передачей трафика через три узла.

2. TOR — где взять? Для этого вам нужно зайти на сайт https://www.torproject.org/ (сайт проекта), и скачать сам клиент по ссылке: https://www.torproject.org/download/download-easy.html.en. Как видно из скрина — у вас имеется возможность указать необходимый вам язык при загрузке клиента:
tor-download
Нужно отметить, что TOR поддерживает версии Windows 10, 8, 7, Vista, и XP

3. Как установить TOR? А просто. Запускаете инсталятор и выбираете необходимый язык:
tor-lang

После этого вы должны определиться с папкой установки клиента:
tor-path
и дождаться конца установки программного обеспечения:
Tor-finish
после чего вам предложат создать иконку для старта клиента на рабочий стол, и собственно — запустить клиент.

4. Tor — как пользоваться? Очень просто 😉 Запускаете клиент, и видите нечто вроде такого:
tor-configuration

Кликаем кнопочку Connect. Таким образом мы соединяем TOR-клиент с сетью серверов, разбросанных по миру. Кстати, окошко соединения выглядит вот так:
tor-connect

Если все прошло успешно — откроется окошко:
tor

Собственно … Все 🙂 Вы в закрытой и анонимной сети. Чувствуете себя не уверенно с текущим соединением? Нажмите Ctrl + Shift + U или покликайте мышкой сюда:
tor-new-persone
таким образом вы создадите новую цепочку из транзитных серверов 😉 Кстати, очень неплохо вся эта цепочка просматривается вот тут:
tor-network
В моем случае трафик идет по пути: мой браузер — Франция — США — Нидерланды — целевой сайт. Попробуем обновить личность (напоминаю: Ctrl + Shift + U) и наблюдаем новую цепочку:
tor-network-2
— браузер — Франция — Германия — Франция — целевой сайт.
Кошмар, вообщем… Учитывая, что эту технологию достаточно часто и вполне успешно используют граждане Китая, находящегося за Великим Китайским Файрволом становится понятно, что воспрепятствовать использованию веб-версии Телеграм не так просто как кажется.

VPN

1. Что такое VPN?
Схема VPN

Как видно из схемы — VPN — Virtual Private Network или виртуальная частная сеть — технология, пропускающая трафик от вашего компьютера к транзитному серверу с помощью Интернета в виде закрытого и зашифрованного туннеля.

2. Как пользоваться VPN? Очень просто 🙂 В принципе — все просто, если знаешь, как это делать. Так давайте узнаем! В качестве примера возьмем ресурс Hideme.ru, работающий на рынке VPN уже много лет. Заходим на сайт в раздел VPN:
hideme-vpn
и качаем клиент для виртуальной сети:
vpn-download

3. Как установить клиент для сети VPN? Первое, что делаем — запускаем скачанный инсталятор:
hideme-vpn-install
Все 🙂

4. Как пользоваться VPN-клиентом? После установки клиента в вашем компьютере появилось новое приложение под названием Hideme.name VPN:
hideme-vpn-start

Важно знать, что без кода авторизации приложение бесполезно. И да — код стоит денег. НО… есть возможность использовать VPN в течении суток совершенно бесплатно 😉 О том, как эти сутки возобновлять регулярно мы поговорим позднее, а пока заходите сюда:
https://hidemy.name/ru/demo/

Вводите адрес своей электронной почты, и спустя 30 секунд получаете код доступа, действующий 24 часа.


Итак, у нас имеется код доступа. Вводим его в приложение:
hideme-vpn-start-key
и нажимаем кнопочку Войти.

Происходит авторизация в системе, и спустя пару секунд вы получаете доступ к списку анонимных серверов, к которым мы можете присоединиться:
hideme-vpn-work

Присоединяетесь, и … вуаля!
Теперь, вы, например — в США 😉
hide-ok

Кстати, Телеграм весьма недурно работает в веб-режиме, а значит — можно использовать прокси. Где их брать в больших количествах — читаем тут или (опять же — если вы ленивы 🙂 — текст ниже 🙂 Кстати, если вы дружите с Python — к вашим услугам скрипт, который генерирует список живых прокси-серверов. Спасибо можно не говорить — просто не забывайте о рекламных баннерах 😉

«Прокси», «Список прокси» — такой частый запрос в Google, что я (в учебных, понятное дело) целях задался целью сделать парсер прокси-серверов на Python. И оказывается (впрочем, как всегда) — все проще, чем кажется 🙂 Итак, поехали!

Одним из ведущих по моему мнению ресурсов, занимающихся составлением списка работающих прокси-серверов является сайт Hidemy.name, которые так же занимаются предоставлением VPN (зачем это нужно — читайте тут) — а значит, будем парсить список прокси с их сайта, благо — обновляется этот список каждые две-три минуты 🙂 Наша цель: получение списка прокси-серверов, выгрузка в файлик, и радость в итоге.

Приступим:
1. Нам нужно получить исходный код страницы, на которой расположены актуальные прокси и информация о портах соединения
2. Получаем адреса прокси-серверов
3. Получаем порты
4. Все сливаем в файлик.

Начинаем разбираться более подробно, и вначале получаем исходный код страницы:

import requests #подключаем библиотеку, которая ЗНАЧИТЕЛЬНО упрощает работу с http-запросами
from fake_useragent import UserAgent #библиотека для генерации поддельного запроса на сервер (позволяет создавать поддельные заголовки пакетов, благодаря чему сайт «видит» якобы реального человека
from bs4 import BeautifulSoup #библиотека, помогающая в обработке получаемых данных
import re #библиотека, служащая для парсинга информации
link_to_proxylist = ‘https://hidemy.name/ru/proxy-list/
#Загоняем в переменную ссылку на страницу с адресами-портами прокси-серверов
response = requests.get(link_to_proxylist, headers={‘User-Agent’: UserAgent().chrome})
#Загоняем в переменную ответ, который получаем от указанного адреса, причем — запрос отправляем прикрывшись поддельным заголовком (якобы, реальный человек)
html = requests.get(link_to_proxylist) #По указанному запросу запрашиваем содержимое страницы
html = response.content #Загоняем в переменную содержимое страницы

Итак, к настоящему моменту мы:

  • Прикрылись поддельным заголовком
  • Получили полный текст страницы
  • Следующий пункт нашей программы — обработка полученной информации:
    soup = BeautifulSoup(html,’html.parser’) #Подключаем ПрекрасныйСуп, показываем, что именно нужно парсить
    proxy_server = soup.findAll(‘td’, attrs = {‘class’:’tdl’}) #Загоняем в переменную все, что находится на указанной странице между тегами td и class = ‘tdl’ (исходный код страницы доступен по ссылке).
    Почему именно то, что между указанных тегов? Да просто именно там хранятся адреса серверов:

    hideme - где прячутся адреса прокси
    Для увеличения — кликните по картинке

    Теперьу нас имеется список с адресами прокси-серверов, которые завернуты в теги < td> и < /tdl>. Постараемся очистить этот бардак с помощью регулярного выражения (ПрекрасныйСуп тут уже, к сожалению, не особо помощник):
    proxy_server = str(proxy_server) #Так как регулярные выражения работают по строковым типам — конвертируем переменную, в которой у нас имеется список прокси-серверов в строковый тип
    regxp = ‘>(.*?)< /td>‘ #Указываем в регулярном выражении, что именно ищем: все, что находится между тегами > и < /td>
    result_proxy = re.findall(regxp, proxy_server) #Загоняем в переменную все, что получается с помощью регулярного выражения regxp, которое применяется к переменной proxy_server

    В итоге получаем переменную result_xp, в которой содержится список прокси-серверов в чистом виде. Теперь получим порты, по которым нужно соединяться с прокси-серверами:
    html = str(html) #конвертируем переменную html (исходный код страницы) в строковую, что бы иметь возможность использовать регулярное выражение
    regxp = ‘>(\d+)<' #Задаем регулярное выражение, которое будет выгребать все цифры, заключенные между знаками > и <.
    result_ip = re.findall(regxp, html) #Загоняем в переменную result_ip все, что получается в результате работы регулярного выражения применительно к переменной html

    Наверное, все хорошо, только … регулярка сгребает еще ряд цифр, которые проходят по показателям (номера страниц), но нам совершенно не нужны, ведь мы работаем только по первой странице, где есть самые актуальные прокси-сервера. Обрезаем их просто — по количеству прокси-серверов в переменной result_proxy (логика простая: количество серверов должно совпадать с количеством портов):

    del result_ip[len(result_proxy):] #т.е. обрезаем список result_ip до количества значений, равного списку result_proxy, благодаря чему получаем переменную result_ip, содержащую количество портов равное количеству серверов в переменной result_proxy.

    А теперь осталось записать в файлик все, что получилось. Для этого используем код:
    i = 0 #Вводим в код переменную i — ее будем использовать в цикле записи
    while i < len(result_proxy): #объявляем цикл, работающий до момента, пока переменная i не станет больше количества прокси-серверов в переменной result_proxy
    ip_port = (result_proxy[0], ‘:’, result_ip[0]) #создаем переменную ip_port, которая формируется за счет объединения адреса прокси-сервера (список result_proxy, нулевое значение) и номер порта прокси-сервера (список result_ip, нулевое значение)
    del result_proxy[0] #удаляем нулевое значение в списке прокси-серверов
    del result_ip[0] #удаляем нулевое значение в списке портов
    ip_port = ».join(ip_port) #корректируем получившееся значение — убираем пробелы
    print(ip_port) #выводим получившееся значение на экран (можно и без этого 🙂 )
    i = i + 1 #увеличиваем значение i на единицу

    with open(‘proxy_list.txt’, ‘a’, encoding=’utf8′) as f: #открываем для записи файл proxy_list.txt. В случае, если он отсутствует — файл создается

    f.write(ip_port + ‘\n’) #записываем в файл переменную ip_port, содержащую в себе адрес сервера и номер порта для соединения и символ \n — для обозначения перехода на следующую строку
    print(‘Файл сохранен.’) #в конце работы выводим сообщение о окончании подготовки файла со списком прокси-серверов

    В полном виде код доступен по ссылке.

    Конечно же — в случае возникновения вопросов — пожалуйста, пишите.

    Спасибо за внимание!