-
Автор темы
- #1
Всем доброго дня!
Не знаю насколько это будет здесь актуально, но в любом случае думаю есть смысл поделиться. Тема насчет (обфускации/абуза, называйте как хотите) траффика довольно редкая.
Автором данной тулзы являюсь я, так что если возникнут какие-либо проблемы отправляйте реквесты на гитхаб .
Ссылка:
Либо:
Описание
Наверное начну с описания данной утилиты, а потом уже перейду к тех.деталям (на гитхабе все расписано, но на английском языке):
Это обычный туннель который сгодиться для обычного серфинга по запрещенным/цензурированным сайтам. Ни ваш провайдер, ни сам туннель, ни владельцы хостинг компании на которой будет стоять сам сервер не смогут просматривать ваши пакеты. Все данные будут зашифрованы два раза (TLS over TLS):
От клиента к серверу самого туннеля и от туннеля к конечному веб серверу. Провайдер не сможет просмотреть какие сайты вы посещаете даже при всем желании так как идет дополнительная подмена индикации имени сервера (SNI). Пока что она статическая, но в будущем можно будет добавить динамическую подмену SNI.
Каким образом данная утилита может перестать работать?
Только при условии если указанный SNI подпадает под раздачу фаера либо же если сам ip адрес туннеля будет в блокировке (это довольно просто обходиться).
Как установить? (Server side - Серверная часть)
Каюсь за то что не уложил сервер в докер контейнер, по этому прийдеться немного попыхтеть
Сразу скажу, вам понадобится выделенный удаленный хост, благо стоят они не очень дорого (хотя можно раздобыть и за бесплатно, но это тема для отдельного обсуждения)
Хост может быть хоть на винде, хоть на линуксе - главное чтоб были установлены Ruby и OpenSSL.
Шаги (пример для Debian/Ubuntu):
Предупреждаю, 5 шаг можно пропустить и сгенерировать самоподписной сертификат:
1. Установить язык руби : apt install ruby
2. Установить bundler: gem install bundler
3, Клонировать репозиторий с гитхаба
4. Выполнить команду
5. Прикрепить сертификат к вашему ip адресу (по желанию можно и домен поставить) ->
6. Создать сервисный (.service) файл для systemd чтоб наш сервер работал бесперебойно ->
7. Если 6 шаг вы пропустили, то можете запускать от root пользователя сервер
Установка на клиенте (Т.е к вам на ПК)
В будущем могу переписать клиент на Crystal, чтобы был один бинарник. Можно будет запускать и на винде и на линуксе.
1. Ставим руби и bundler
Linux:
2. Клонируем репозиторий
3. Выполнить команду
4. Все готово! Можно запускать клиент:
5. Укажите адрес 127.0.0.1 и указанный вами порт в настройках прокси в браузере либо
На данном этапе любой HTTPS запрос отправленный на локалку 127.0.0.1 и указанный вами порт будет отправлен на сервер по TLS туннелю. Если посмотрите подключения через wireshark, то запросы будут выглядеть точно также как если бы вы обращались к обычному сайту на 443 порту.
Если будут вопросы, обращайтесь! Также если хотите лично связаться, вот телега:
Не знаю насколько это будет здесь актуально, но в любом случае думаю есть смысл поделиться. Тема насчет (обфускации/абуза, называйте как хотите) траффика довольно редкая.
Автором данной тулзы являюсь я, так что если возникнут какие-либо проблемы отправляйте реквесты на гитхаб .
Ссылка:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Либо:
git clone https://github.com/lightswisp/HTTPS-Tunnel.git
Описание
Наверное начну с описания данной утилиты, а потом уже перейду к тех.деталям (на гитхабе все расписано, но на английском языке):
Это обычный туннель который сгодиться для обычного серфинга по запрещенным/цензурированным сайтам. Ни ваш провайдер, ни сам туннель, ни владельцы хостинг компании на которой будет стоять сам сервер не смогут просматривать ваши пакеты. Все данные будут зашифрованы два раза (TLS over TLS):
От клиента к серверу самого туннеля и от туннеля к конечному веб серверу. Провайдер не сможет просмотреть какие сайты вы посещаете даже при всем желании так как идет дополнительная подмена индикации имени сервера (SNI). Пока что она статическая, но в будущем можно будет добавить динамическую подмену SNI.
Каким образом данная утилита может перестать работать?
Только при условии если указанный SNI подпадает под раздачу фаера либо же если сам ip адрес туннеля будет в блокировке (это довольно просто обходиться).
Как установить? (Server side - Серверная часть)
Каюсь за то что не уложил сервер в докер контейнер, по этому прийдеться немного попыхтеть
Сразу скажу, вам понадобится выделенный удаленный хост, благо стоят они не очень дорого (хотя можно раздобыть и за бесплатно, но это тема для отдельного обсуждения)
Хост может быть хоть на винде, хоть на линуксе - главное чтоб были установлены Ruby и OpenSSL.
Шаги (пример для Debian/Ubuntu):
Предупреждаю, 5 шаг можно пропустить и сгенерировать самоподписной сертификат:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365
1. Установить язык руби : apt install ruby
2. Установить bundler: gem install bundler
3, Клонировать репозиторий с гитхаба
git clone https://github.com/lightswisp/HTTPS-Tunnel.git
4. Выполнить команду
bundle install
5. Прикрепить сертификат к вашему ip адресу (по желанию можно и домен поставить) ->
Пожалуйста, авторизуйтесь для просмотра ссылки.
6. Создать сервисный (.service) файл для systemd чтоб наш сервер работал бесперебойно ->
Пожалуйста, авторизуйтесь для просмотра ссылки.
(этот шаг не обязательный)7. Если 6 шаг вы пропустили, то можете запускать от root пользователя сервер
ruby server.rb
(не забудьте указать в параметрах сертификат и приватный ключ который вы получили ранее *5 шаг)Установка на клиенте (Т.е к вам на ПК)
В будущем могу переписать клиент на Crystal, чтобы был один бинарник. Можно будет запускать и на винде и на линуксе.
1. Ставим руби и bundler
Linux:
sudo apt install ruby && gem install bundler
2. Клонируем репозиторий
git clone https://github.com/lightswisp/HTTPS-Tunnel.git
3. Выполнить команду
bundle install
4. Все готово! Можно запускать клиент:
ruby client.rb
(в параметрах укажите локальный сервер для прослушки и ip адрес сервера)5. Укажите адрес 127.0.0.1 и указанный вами порт в настройках прокси в браузере либо
export https_proxy=127.0.0.1:<port>
(Важно чтобы все запросы были https, т.к клиент игнорирует обычные http запросы. Можете поставить принудительное https в настройках браузера)На данном этапе любой HTTPS запрос отправленный на локалку 127.0.0.1 и указанный вами порт будет отправлен на сервер по TLS туннелю. Если посмотрите подключения через wireshark, то запросы будут выглядеть точно также как если бы вы обращались к обычному сайту на 443 порту.
Если будут вопросы, обращайтесь! Также если хотите лично связаться, вот телега:
Пожалуйста, авторизуйтесь для просмотра ссылки.