Обходим блокировку ютуба без GoodbyeDPI и VPN: безопасный прокси за 10 минут

Это руководство описывает развёртывание HTTPS-прокси с помощью dumbproxy на практически любом Linux-сервере. Потребуется только curl и рутовый доступ на какой-то сервер.

В моем тг-канале я собрал еще способы ускорения.

Под HTTPS-прокси здесь подразумевается HTTP-прокси с подключением через TLS, а не просто нешифрованный HTTP-прокси, через который может работать и HTTPS. То есть такой HTTPS-прокси привносит дополнительный слой TLS между клиентом и прокси-сервером, обеспечивая таким образом конфиденциальность соединения с прокси-сервером. Такие прокси пригодны для непосредственного использования в браузерах и прочем софте. Так называемые браузерные "VPN-расширения", по сути, работают как раз через такие HTTP-прокси "с шифрованием".

Зачем HTTPS-прокси?

  • Хорошо подходит для доступа к заблокированному контенту, не требуя при этом переключать трафик всей системы. Можно использовать избирательно для каких-то отдельных сайтов, доменов и т.п.
  • Стандартный протокол, который внешне выглядит как HTTPS потому что технически он и есть HTTPS.
  • Альтернативные решения типа shadowsocks зачастую всё равно приходится прятать внутрь TLS с помощью плагинов вроде simple-tls или v2ray. А в таком случае отпадает нужда в самом shadowsocks -- проще непосредственно использовать обычный прокси внутри TLS.
  • Поддерживается браузерами без дополнительного ПО. Остальное ПО, поддерживающее HTTP-прокси, можно подружить с HTTPS-прокси с помощью вот такого адаптера.

Шаг 1. Назначение доменного имени

Нам потребуется доменное имя для сервера, чтобы на нём беспроблемно работал TLS (HTTPS). Вы можете либо купить домен и привязать его к IP-адресу вашего VPS, либо использовать какой-либо бесплатный сервис, предоставляющий доменные имена. В последнем случае, родительский домен вашего домена должен быть внесён в список публичных суффиксов доменов. Иначе могут возникнуть проблемы с выпуском сертификата через Let's Encrypt - упрётся в разрешённое число выпущенных сертификатов для родительского домена за какой-то период времени. В этом руководстве мы воспользуемся бесплатным сервисом freemyip.com, который даёт домен пользователю даже без регистрации.

Зайдите на страницу https://freemyip.com/. Выберите красивое доменное имя и заберите его. Сохраните куда-нибудь ссылку, которую получите. Запустите следующую команду на вашем сервере:

curl 'ССЫЛКА'

где ССЫЛКА - та самая ссылка, которую вы получили на предыдущем шаге. Обратите внимание: нужно не забыть взять ссылку в одиночные кавычки!

Шаг 2. Установка dumbproxy

Предполагается архитектура процессора amd64. Для других случаев см. бинарники здесь. Запустите команду:

curl -Lo /usr/local/bin/dumbproxy 'https://github.com/Snawoot/dumbproxy/releases/download/v1.6.1/dumbproxy.linux-amd64' && chmod +x /usr/local/bin/dumbproxy

Проверка: команда

dumbproxy -version

должна выводить

v1.6.1

Шаг 3. Конфигурирование dumbproxy

Создадим файл со списком пользователей и паролей. Запустите следующую команду, заменяя USERNAME и PASSWORD настоящими желаемыми значениями имени пользователя и пароля:

dumbproxy -passwd /etc/dumbproxy.htpasswd 'USERNAME' 'PASSWORD'

Сконфигурируйте dumbproxy. Создайте файл /etc/default/dumbproxy со следующим содержимым:

OPTIONS=-auth basicfile://?path=/etc/dumbproxy.htpasswd -autocert -bind-address :443

Создайте файл /etc/systemd/system/dumbproxy.service со следующим содержимым:

[Unit] Description=Dumb Proxy Documentation=https://github.com/Snawoot/dumbproxy/ After=network.target network-online.target Requires=network-online.target [Service] EnvironmentFile=/etc/default/dumbproxy User=root Group=root ExecStart=/usr/local/bin/dumbproxy $OPTIONS TimeoutStopSec=5s PrivateTmp=true ProtectSystem=full LimitNOFILE=20000 [Install] WantedBy=default.target

Наконец, примените новую конфигурацию systemd:

systemctl daemon-reload

Шаг 4. Запустите dumbproxy

Включите автозапуск следующей командой:

systemctl enable dumbproxy

Запустите сервис:

systemctl start dumbproxy

Проверка: команда

curl -x 'https://USERNAME:PASSWORD@DOMAIN' http://ifconfig.co

должна выводить IP-адрес сервера.

Примечание: первый запрос может занять несколько секунд из-за выпуска сертификата.

Готово!

Настройка клиентов

Настройка прокси для всех браузеров на Windows

Обходим блокировку ютуба без GoodbyeDPI и VPN: безопасный прокси за 10 минут

Включите опцию скрипта настройки и введите следующий код:

data:,function FindProxyForURL(u, h){return "HTTPS example.com:443";}

где вместо example.com укажите ваш домен.

Использование в Firefox

Вариант 1. PAC-скрипт

Откройте настройки прокси в Firefox, переключите режим на "URL автоматической настройки" и введите следующий код:

data:,function FindProxyForURL(u, h){return "HTTPS example.com:443";}

где вместо example.com следует написать ваш домен.

Обходим блокировку ютуба без GoodbyeDPI и VPN: безопасный прокси за 10 минут

Вариант 2. Браузерное расширение для прокси

Воспользуйтесь любым удобным браузерным расширением для переключения прокси. Например, этим.

Вариант 3. Контейнеры файрфокс

Существует расширение Firefox Container Proxy, которое позволяет назначить разным контейнерам Firefox разные прокси. Таким образом, вы можете одновременно открывать один и тот же сайт из разных сетевых локаций. Лично я пользуюсь этим вариантом.

Использование в Chrome

Вариант 1. Параметр командной строки

Прокси-сервер можно передать опцией командной строки браузера Chrome. Например, так:

chromium-browser --proxy-server='https://example.com:443'

где вместо example.com следует ваш домен.

Вариант 2. Браузерное расширение для прокси

Воспользуйтесь любым удобным браузерным расширением для переключения прокси. Например, этим.

Использование в Android

  • Установите AdGuard на Android: руководство.
  • Следуйте этому руководству, начиная с части про настройку приложения на Андроиде. Укажите тип прокси HTTPS, имя пользователя и пароль.

Использование с другими приложениями

Можно подключаться к удалённому HTTPS-прокси как к обычному локальному плэинтекстовому (нешифрованному) прокси при помощи приложения, которое принимает обычное соединение на локальном порту и дальше уже подключается через TLS к удалённому серверу. В качестве такого адаптера можно использовать steady-tun, который ещё вдобавок предварительно устанавливает соединения с запасом, скрадывая тем самым время установления каждого очередного TLS-соединения.

Подпишитесь на мой телеграм-канал, там я собрал для вас полезные сервисы и приложения.

1515
1010
11
11
11
11
34 комментария

и рутовый доступ на какой-то сервер.

Всего-то.
Напоминает рецепт из старой поваренной книги: "Если к вам неожиданно пришли гости, а вам нечем их угостить, пошлите слугу на ледник за щукой", или рецепт супа из сельдереея, где участвует еще стерлядь, и прочие совершенно обычные для всех ингредиенты.

42
Ответить

Так не понял, а в чем проблема с рутом?

2
Ответить

Быстрый завтрак за 10 минут: для начала возьмите перья птицы Додо....

5
Ответить

Хм. за 10 минут. гудбай дпи интересно за сколько ставится? надо скачать с гетхаба. Потом разархивировать, потом запустить батник и... а и всё. Ну да, ту минут 40-50 наверное. Пока скачается через мой dial-up модем

15
Ответить

Комментарий недоступен

25
Ответить

этот гудбай не всегда помогает. Тут более общее решение, которое еще и вряд ли заблокируют в ближайшее время

1
Ответить