Shadowsocks + Wireguard / OpenVPN или заворачиваем ВПН в носки
Upd: выяснилось что многим операторам такого недостаточно, дополню статью как смогу
Столкнувшись с блокировкой VPN у сотовых операторов, я очень долго искал как обойти блокировку.
Пост без подробных инструкций по настройке серверов, так как простых хватает и так. Я просто показать как завернуть VPN трафик в носки, поскольку нормальной инфы по теме к сожалению мало.
Из архива вытаскиваем sslocal.exe
Кладём в любую удобную директорию, в моём случае это C:\ss
Создаём config.json в этой же директории с содержимым по большей части совпадающим с серверным конфигом.
{
"server":"1.2.3.4", - ip сервера
"server_port":51800, - ss порт
"password":"12345", - пароль ss
"mode": "tcp_and_udp",
"method":"aes-256-gcm", - шифрование на выбор
"locals": [
{
"local_address": "127.0.0.1",
"local_port": 1080,
"forward_address": "127.0.0.1",
"forward_port": 51820, - порт wireguard/openvpn
"protocol": "tunnel"
}
]
}
Изменений от оригинального конфига мало, добавляется "locals".
Как видно из конфига, мы пробрасываем VPN трафик на локальный порт, где он оборачивается в ss и так уже летит на сервер.
В клиентском Wireguard OpenVPN конфиге мы меняем Endpoint на:
Endpoint = 127.0.0.1:1080
Открываем командную строку.
cd в директорию с sslocal.exe
Пишем: sslocal.exe -c config.json
Радуемся успешному запуску.
Запускаем VPN соединение, радуемся жизни.
Как завернуть трафик Wireguard через shadowsocks на роутере
Так как есть риск блокировки Wireguard протокола, то рассказываю, как сделать, что бы трафик туннеля шел через shadowsocks
Пример будет для сервера на Ubuntu 22.04 и роутера кинетик, с установленным на нем Entware. Предполагается, что WG уже поднят и настроен. А так же на роутер установлен Entware. Найти инструкцию по установке Entware на свое устройство можно через поисковик или в вики проекта тут. Так же предполагается, что с консолью знакомы и она не пугает, так же как и редактор vi (хотя вместо него можете использовать свой по желанию)
1.1) на сервер, где крутится wg ставим
apt install shadowsocks-libev
1.2) потом редактируем файл
vi /etc/shadowsocks-libev/config.json
{
"server": "0.0.0.0",
"mode":"tcp_and_udp",
"server_port":<server-port>,
"password":"<password>",
"timeout":300,
"method":"chacha20-ietf-poly1305"
}
где <server-port> - это порт который будет слушать сервер ss (пример 8421)
<password> - любой пароль, желательно только что сгенерированный
1.3) Потом выполняем
systemctl restart shadowsocks-libev.service
systemctl status shadowsocks-libev.service
проверяем, что сервер завелся
2.1) Теперь переходим к роутеру.
Ставим на него пакеты
opkg install shadowsocks-libev-ss-tunnel shadowsocks-libev-config
2.2) теперь редактируем конфиг
vi /opt/etc/shadowsocks.json
{
"server": "<server-ip>",
"mode":"tcp_and_udp",
"server_port":<server-port>,
"local_address": "0.0.0.0",
"local_port":<local-port>,
"password":"<password>",
"timeout":300,
"method":"chacha20-ietf-poly1305",
"tunnel_address": "127.0.0.1:<wireguard-port>"
}
где <server-port> и <password> это те же самые, которые добавили на сервер в пункте 1.2
<server-ip> - ip адрес сервера на котором крутится wireguard и ss
<local-port> - любой свободный порт на роутере, который мы будем указывать в настройках wg соединения (пример 51822)
<wireguard-port> - это порт на котором на сервере крутится wg соединение (пример 51820)
2.3) правил файл
vi /opt/etc/init.d/S22shadowsocks
меняем на строку PROCS=ss-* на PROCS=ss-tunnel
перезапускаем ss на роутере и проверяем, что работает
/opt/etc/init.d/S22shadowsocks restart
/opt/etc/init.d/S22shadowsocks check
3.1) Идем в веб морду роутера, в настройки нужного wg соединения и в пире вместо <server-ip>:<wireguard-port> вставляем 127.0.0.1:<local-port>
П.С.: Схема работы
Все! соединение должно теперь установиться. В итоге трафик через wg интерфейс будет заворачиваться в ss и идти уже под ним. Так как и ss и wg используют шифрование, то у меня скорость туннеля упала в двое, по сравнению с простым wg без заворачивания в ss. Зато надежно
П.С.: Так же есть проект, где реализована маршрутизация только к определенным ресурсам. То есть роутер использует интернет провайдера, а на определенные сайты (не будем говорить какие) ходит через впн
Сэндвич из ВПН-ов
Вчера накатил WireGuard интереса ради. Самым простым способом - качнул приложение да создал файл конфигурации, который в это приложение грузанул. Что ж, оно частично работает. Торренты качает, но скрытые для россиян видео не открывает; скорость не режет, что в условиях деревни хорошо. Однако есть одна реальная проблема: он не позволяет работу работать. OpenAI палит меня под Wireguard и блокирует доступ, а доступ к ChatGPT нужен 9 месяцев в году.
Попробовал не отключая Wireguard врубить FreeVPN, который работает по протоколу OpenVPN. Не проканало, пришлось сначала отключать Wireguard, и только после этого удалось добыть доступ к ChatGPT.
В принципе, больших неудобств в этом переключении нет, но таки было бы неплохо, чтобы все задачи покрывал один сервис. Отсюда следует, что выгоднее не пользоваться Wireguard, если только для него не появился действенный способ поменять IP.
В перспективе собираюсь поднять свой сервер на XTLS-Reality в связке с XTLS-Vision. Сейчас высняю у автора мануала Обход любых блокировок детали по аренде серваков RackNerd, необходимые для одновременной работы и торрентов и ChatGPT.
Собственный VPN сервер в пару кликов
Какое-то время назад наткнулся на этот пост, заинтересовался, но повторить руки в итоге не дошли) Но пару дней назад я поймал себя на мысли, что устал от кое-как работающих бесплатных VPN сервисов и нужно что-то менять. Собственный VPN-сервер с блэк-джеком и шлюхами показался мне отличной идеей и я откопал тот самый пост-гайд. Пост отличный, благодаря ему у меня получилось создать свой сервер, но с оговорками (я выбрал WireGuard по совету автора поста - он отлично завелся на моем iphone, но наотрез отказался работать на Windows). В итоге по прошествии пары часов безуспешного дебага ошибки в комментариях к данному посту я увидел совет использовать Amnesia VPN (не реклама). Собственно данный текст как раз о том, как сделать свой VPN-сервер с нуля любому человеку, даже без каких-либо базовых навыков.
1. Выбор и оплата сервера.
Собственно самая долгая часть. Я не стал заморачиваться с выбором и купил сервер из поста выше. У меня не было проблем с оплатой из-за наличия аккаунта Binance - я просто перевел Litecoin на указанный адрес и на этом все. Думаю, что людям без иностранной карты/крипты необходимо воспользоваться инструкцией из поста выше.
2. Настройка VPN на сервере.
Собственно суть данного поста. Все делается в пару кликов. Скачиваете Amnesia VPN. После установки жмете "Настроить свой собственный сервер", указываете IP/username/password (должно быть в письме от хостинга) и далее протыкиваете все по умолчанию. Инструкция есть на сайте амнезии. Все. Ваш сервер готов к использованию.
3. Настройка клиента.
На Windows настраивать ничего не надо. Скачанное ранее приложение и есть клиент. Единственное, что я создал список ресурсов, для который должен работать VPN - по мне так удобнее.
По умолчанию Amnesia в качестве протокола использует OpenVPN через ShadowSocks. В клиенте Amnesia идем в настройки->Share Connection->Share for ShadowSocks->Generate config. На iphone/android скачиваем Outline и добавляем в него полученный код. Все, можете пользоваться:)
Надеюсь, что кому-то эта инструкция будет полезной.
П.С. По поводу купленного мной сервера - из плюсов можно ответить недороговизну (~13$ за год), отличную админку (хотя мне особо не с чем сравнивать:)). Из минусов - высокий пинг и невысокую скорость (~50 мбит). Я думаю переехать на какой-нибудь европейский сервер в будущем. Если кто-то знает хорошие варианты - пожалуйста, отпишитесь в комментариях.
П.П.С. Думаю, что найдутся люди, которые скажут что в моем варианте не идет речь о какой-либо секьюрности. Не знаю, я не особо разбирался, что там делает Amnesia c моим серваком. Но в случае возникновения любых проблем (в чем я очень сомневаюсь) будет достаточно за пару минут накатить чистую убунту на сервер и потом еще за пять минут прогнать пункт 2 и частично 3.
П.П.П.С На сервер лучше накатывать Ubuntu 20.04 (просто выбрать из списка при первоначальной настройке сервера на хостинге). Сначала я пробовал 22.04, но Amnesia при выполнении скрипта выдавала что-то там про ssh.
Ответ на пост «VPN на своём сервере с IP адресом из США за 1$ в месяц»
Пару комментариев по поводу покупки крипты:
Оплачивать перевод сразу на кошелёк для оплаты сервиса очень не рекомендую, 2 часа это мало в случае форс мажора на обменнике, а в некоторых местах окно вообще 15 минут. Заебетесь ждать поддержку сервиса, не всегда пойдут на встречу (если обменник вдруг переведет крипту после срока оплаты на сайте).
Качаете популярный кошелек, например я использую Exodus. Самый приятный интерфейс, удобный.
Аналоги которые юзал - metamask, trust wallet, чисто для биткойна - blue wallet. Регистрации нет (это не биржа), все ваши данные в телефоне. Если есть желание (а лучше бы ему быть) - выписываем на листочек seed фразу, восстановит кошелек в случае утери телефона.
Там добавляем себе любые монеты в интерфейс и получаем адрес своего кошелька на каждую из них.
Процесс выходит чуть чуть дольше (обменник -> свой кошелек -> сервис), но надежнее.
Некоторые кошельки выдают новый адрес кошелька на каждую транзакцию получения крипты, не пугаемся, все старые кошельки все еще ваши.
Опять же, пригодится при покупки крипты про запас, как инвестицию и все такое.
Главное не перепутать адрес (не дать от другой монеты / другой сети - то есть просто правильно сравнить название в обменнике и кошельке).
По поводу покупки крипты с обменников:
С карточек это всегда вериф (чтобы не покупали с ворованных) - просят фото, бывает паспорт.
Намного проще покупать с QIWI: нет никакого верифа, до 15 тысяч рублей сам киви кошелек так же не нужно верифицировать. Переводится просто с банка.
Если есть вопросы - задавайте
P.S. Да, биржи вроде бинанса удобнее - простая покупка и вывод, обмен монет почти без комиссии, но время такое, что если ты русский - шанс блока активов очень высок. Да и в целом ты деньгами не распоряжаешься, захотят задержать на пару месяцев вывод на проверку - задержат, захотят запросить кучу документов - будете собирать.
Ответ на пост «VPN на своём сервере с IP адресом из США за 1$ в месяц»
Дорогие пикабушники, семья можно сказать.
Заходим на плати (тут сами додумаете) ру
Покупаете аккаунт pure vpn за 200 рублей и отдыхаете целый год на просторах всех заболоченных ресурсах.
Тут половина лл, а вы такие гайды читаете
Ответ на пост «VPN на своём сервере с IP адресом из США за 1$ в месяц»
Рекомендую на VPS все же ставить Firezone (WireGuard с CMS): https://www.firezone.dev/
Сервер настраивается за минуту, есть клиенты под все актуальные ОС, часто работает даже у IPC которые «режут» VPN.
Можно раздать учётки семье и друзьям, где они сами смогут зайти и добавить свое устройство в два клика.