В который раз Роскомнадзор (на их мерзкий сайт даже ссылку стыдно указать, но пусть уж будет) пробивает дно. В этот раз дно звучало следующим образом: Телеграм заблокирован. Вопрос — что делать — становится все актуальнее для тех, кто живет в России, и подпадает под действие этой мерзкой организации. Некоторые аспекты тыкания факов Роскомнадзору я озвучивал в предыдущих записях. Сегодня мы продолжим, и узнаем, какими методами можно восстановить работу Телеграм несмотря на все усилия надзоров.
Итак, самое простое — использовать ссылку: 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 поддерживает версии Windows 10, 8, 7, Vista, и XP
3. Как установить TOR? А просто. Запускаете инсталятор и выбираете необходимый язык:
После этого вы должны определиться с папкой установки клиента:
и дождаться конца установки программного обеспечения:
после чего вам предложат создать иконку для старта клиента на рабочий стол, и собственно — запустить клиент.
4. Tor — как пользоваться? Очень просто 😉 Запускаете клиент, и видите нечто вроде такого:
Кликаем кнопочку Connect. Таким образом мы соединяем TOR-клиент с сетью серверов, разбросанных по миру. Кстати, окошко соединения выглядит вот так:
Если все прошло успешно — откроется окошко:
Собственно … Все 🙂 Вы в закрытой и анонимной сети. Чувствуете себя не уверенно с текущим соединением? Нажмите Ctrl + Shift + U или покликайте мышкой сюда:
таким образом вы создадите новую цепочку из транзитных серверов 😉 Кстати, очень неплохо вся эта цепочка просматривается вот тут:
В моем случае трафик идет по пути: мой браузер — Франция — США — Нидерланды — целевой сайт. Попробуем обновить личность (напоминаю: Ctrl + Shift + U) и наблюдаем новую цепочку:
— браузер — Франция — Германия — Франция — целевой сайт.
Кошмар, вообщем… Учитывая, что эту технологию достаточно часто и вполне успешно используют граждане Китая, находящегося за Великим Китайским Файрволом становится понятно, что воспрепятствовать использованию веб-версии Телеграм не так просто как кажется.
VPN
Как видно из схемы — VPN — Virtual Private Network или виртуальная частная сеть — технология, пропускающая трафик от вашего компьютера к транзитному серверу с помощью Интернета в виде закрытого и зашифрованного туннеля.
2. Как пользоваться VPN? Очень просто 🙂 В принципе — все просто, если знаешь, как это делать. Так давайте узнаем! В качестве примера возьмем ресурс Hideme.ru, работающий на рынке VPN уже много лет. Заходим на сайт в раздел VPN:
и качаем клиент для виртуальной сети:
3. Как установить клиент для сети VPN? Первое, что делаем — запускаем скачанный инсталятор:
Все 🙂
4. Как пользоваться VPN-клиентом? После установки клиента в вашем компьютере появилось новое приложение под названием Hideme.name VPN:
Важно знать, что без кода авторизации приложение бесполезно. И да — код стоит денег. НО… есть возможность использовать VPN в течении суток совершенно бесплатно 😉 О том, как эти сутки возобновлять регулярно мы поговорим позднее, а пока заходите сюда:
https://hidemy.name/ru/demo/
Вводите адрес своей электронной почты, и спустя 30 секунд получаете код доступа, действующий 24 часа.
…
…
…
Итак, у нас имеется код доступа. Вводим его в приложение:
и нажимаем кнопочку Войти.
Происходит авторизация в системе, и спустя пару секунд вы получаете доступ к списку анонимных серверов, к которым мы можете присоединиться:
Присоединяетесь, и … вуаля!
Теперь, вы, например — в США 😉
Кстати, Телеграм весьма недурно работает в веб-режиме, а значит — можно использовать прокси. Где их брать в больших количествах — читаем тут или (опять же — если вы ленивы 🙂 — текст ниже 🙂 Кстати, если вы дружите с 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’ (исходный код страницы доступен по ссылке).
Почему именно то, что между указанных тегов? Да просто именно там хранятся адреса серверов:
Теперьу нас имеется список с адресами прокси-серверов, которые завернуты в теги < 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(‘Файл сохранен.’) #в конце работы выводим сообщение о окончании подготовки файла со списком прокси-серверов
В полном виде код доступен по ссылке.
Конечно же — в случае возникновения вопросов — пожалуйста, пишите.
Спасибо за внимание!
Support the Blog!
Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️