Представим ситуацию:
На рабочем ноутбуке заблокировали половину нужных сайтов без объяснения причин. Даже не попросили "отнестись с пониманием". Работать неудобно: на элементарные действия и решение мелких проблем уходит вдвое больше времени без нормального ИИ и привычных инструментов.
Подобные ограничения - чисто гипотетически - можно было бы обойти с помощью обратного прокси, развернутого в одной локальной сети с рабочим ПК.
Поэтому, исключительно в целях эксперимента, я попробовал реализовать данный способ на практике. Так уж получилось, что я случайно выложил код в репозиторий на гитхабе и упаковал его в Docker, чтобы все работало без установки, по одной команде в консоли.
Техническая реализация довольно проста: Nginx предоставляет reverse proxy. Python управляет его конфигурацией и рендерит веб-морду с помощью Flask.
Приложение поднимается в Docker, забирая себе для работы диапазон портов.
Рабочий ноут находится в одной локальной сети с вашим личным ПК (например, вы работаете на удаленке и раздаете на оба компа интернет с одного Wi-Fi роутера)
Возможность с рабочего ноута подключаться к IP-адресам внутри вашей локальной сети (как правило, такая возможность есть, когда выключен корпоративный ВПН)
Скачиваем Locality архивом или тянем гитом (на домашний ПК, не рабочий!): git clone https://github.com/novibe/locality.git
В папке программы выполняем команду:docker-compose up -d
По умолчанию, веб-интерфейс расположен на порту 48000, а диапазон используемых портов для прокси выставлен на 8100-8200. Вы можете изменить эти настройки перед запуском в файле .env
С другого устройства подключаемся к этому порту по ссылке вида
https://{IP устройства с запущенным Locality}:{порт с веб-интерфейсом}
Например: https:/192.168.0.233:48000
При первом подключении браузер обратит внримание на неизвестный сертификат. Он встретит вас подобным окном:
Нажмите на кнопку Дополнительные настойки и затем на строку вида
Перейти на сайт 192.168....
Предупреждение возникает, потому что браузер ничего не знает о данном сертификате, поскольку он не опубликован в авторизованных центрах сертификации / не добавлен в хранилище сертификатов на самом устройстве.
Тем не менее, свою работу он сделает - между ПК и Locality будет установлено защищенное соединение.
В веб-интерфейсе Locality добавляем нужные нам сайты. Каждый добавленный сайт встанет на свой порт. По умолчанию, порт назначится автоматически. Если нужно, можно вписать желаемое значение самостоятельно.
В качестве примера добавил Telegram и Gemini.
Готово! При нажатии на плитку произойдет автоматический редирект на нужный порт.
Обычно, обращение на локальный IP не вызывает никаких подозрений. Тем более, что данные передаются в зашифрованном виде, препятствуя анализу трафика.
Тем не менее, есть способ, которым можно "вскрыть" шифрование: MITM-атака.
Так что перед использованием Locality я бы советовал убедиться, что в вашем случае такого риска нет.
Ну, и банальные кейлоггеры да скриншоты экрана тоже никто не отменял.
Установка корпоративного сертификата позволяет компании перехватывать и расшифровывать весь HTTPS-трафик. Система безопасности генерирует подменные сертификаты для сайтов на лету. Это открывает доступ к содержимому трафика несмотря на шифрование.
Зачастую, системы, которые используют этот подход, понижают уровень шифрования с TLSv1.3 до TLSv1.2, что позволяет их обнаружить. Этим признаком пользуется Locality, чтобы детектить вмешательство
Особо продвинутые системы могут работать и с TLSv1.3. Тем не менее, их вмешательство тоже можно легко обнаружить, проверив сертификат, который использует браузер.
Для примера, зайдем в Google и посмотрим, какой сертификат используется поисковиком. Если в сертификате указан издатель не Google, а "Рога и Копыта" - вы под колпаком!
Удобный инструмент, который позволяет немного облегчить себе жизнь. Чисто гипотетически.



