SenseUnit / dumbproxy

Dumbest HTTP proxy ever
MIT License
461 stars 32 forks source link

Возможно ли подключение к вышестоящему прокси в той же системе? #36

Closed vladns closed 1 year ago

vladns commented 1 year ago

Приветствую! Собственно вопрос. В системе уже есть прокси (squid, privoxy и т.п), который работает по правилам фильтрации сайтов и т.п. Нужно просто подключиться с мобильного устройства к своему маршрутизатору, где всё это настроено. Спасибо.

Snawoot commented 1 year ago

@vladns Здравствуйте!

Подключение к вышестоящему прокси возможно с помощью опции -proxy. Справка по опциям: https://github.com/Snawoot/dumbproxy#synopsis

vladns commented 1 year ago

А при каких настройках работает шифрование? Если у меня сервер настроен так (пример): OPTIONS=-auth basicfile://?path=/etc/dumbproxy.htpasswd -bind-address :4443 -proxy http://127.0.0.1:3128 В клиенте для android (proxyfire) выбран прокси https (но я не знаю точно что это значит).

Snawoot commented 1 year ago

Только с опциями -autocert либо -cert и -key. В вашем случае, т.к. прокси на нестандартном порту и не сможет ответить по ALPN на порту :443, для опции -autocert ещё потребуется опция -autocert-http :80, чтобы нормально выпустился сертификат.

vladns commented 1 year ago

С такими настройками проблема. У меня белый ip от провайдера (который в обычные квартиры подключает). Да и 80-й порт занят веб-сервером, конечно его можно освободить, но я не знаю, такая схема будет работать? Сейчас на мобильном устройстве как бы работает, но только для сайтов https (без сертификатов в конфиге). К http не может подключиться, но это не так важно. Правильно ли я понимаю, что в описаной конфигурации, шифрование обеспечивается, лишь тем что открываемый мной сайт сам использует шифрование (https), никакого шифрованого туннеля и т.п. нет?

Snawoot commented 1 year ago

У меня белый ip от провайдера (который в обычные квартиры подключает). Да и 80-й порт занят веб-сервером

В таком случае можно на 80ый порт поставить nginx и им разруливать между вебсервером и директорией с ACME-челенджами какого-нибудь certbot-а. Ну и https-серты certbot-ом выпускать тогда. Решаемо, в общем.

А то что у вас белый IP от провайдера не проблема, можно и на него домен навесить динамически, и выпускать валидные серты свободно.

Правильно ли я понимаю, что в описаной конфигурации, шифрование обеспечивается, лишь тем что открываемый мной сайт сам использует шифрование (https), никакого шифрованого туннеля и т.п. нет?

Да, у вас же TLS на самой проксе выключен сейчас.

vladns commented 7 months ago

Подскажите, в логе вижу сообщение "HTTPSRV : 2024/03/01 23:16:18 server.go:3411: http: TLS handshake error from 192.168.2.14:51431: tls: first record does not look like a TLS handshake". Пытаюсь тестово подключиться браузером (firefox) в локальной сети. Настройки в браузере, использовать прокси, локальный адрес маршрутизатора и порт. В браузере в "Приватность и защита->Серверы->Добавить исключения" добавлен локальный_адрес_прокси:порт. Видел сообщение пользователя с такой проблемой, ответ был что прокси используется как обычный http прокси. Как нужно настроить браузер в таком случае?

Snawoot commented 7 months ago

@vladns на главной странице инструкция. но лучше используйте расширение SwitchyOmega на любом браузере.