zavsc Posted February 2, 2025 Posted February 2, 2025 Пытаюсь сделать следующее на openwrt есть сеть допустим 192.168.2.1 br-lan нужно абонам показывать страницу оплаты при заходе на http/https пытался делать через nodogsplash но не могу понять как сделать то что я хочу. Отрицательный баланс показываем абону платёжный шлюз pay.example.ru он там нажимает кнопку пополнить и идёт на юмани. Набросал примерный скрипт на bash подскажите в каком направлении копать response=$(curl -s "https://pay.example.ru/api/check_payment/1") status=$(echo "$response" | jq -r '.status') if [ "$status" == "paid" ]; then service nodogsplash stop else echo "unpaid" fiё Вставить ник Quote
MMM Posted February 2, 2025 Posted February 2, 2025 https будет ругаться на сертификат Вставить ник Quote
[anp/hsw] Posted February 3, 2025 Posted February 3, 2025 Сесть в любую кафешку с хотспотом, запустить tcpdump и посмотреть, как сделано у них. Давно не встречал, чтобы телефон жаловался на сертификат в таких wifi с редиректом на страницу авторизации. Вставить ник Quote
alibek Posted February 3, 2025 Posted February 3, 2025 Это разные вещи. Мобильные устройства при подключении к беспроводной сети обращаются на специальный ресурс по протоколу HTTP. Адреса уже не помню, у Google/Apple/Microsoft у каждого свой адрес. Там трафик без проблем перехватывается и заменяется — а мобильные устройства, получив отличное от эталона содержание, понимают что они подключены к хотспоту и требуется авторизация. На ПК это не сработает. Вставить ник Quote
hRUst Posted February 3, 2025 Posted February 3, 2025 (edited) на ПК с win10/11 тоже самое, есть свои сайты https://discourse.pi-hole.net/t/commonly-whitelisted-domains/212#captive-portal-tests-31 Edited February 3, 2025 by hRUst Вставить ник Quote
alibek Posted February 3, 2025 Posted February 3, 2025 Да, в Windows 11 такое тоже добавили (насчет Windows 10 не знаю). Но все равно, это решения для хотспотов. Рассчитывать на такое для страницы при отрицательном балансе я бы не стал. У нас такое есть (при отрицательном балансе редирект на личный кабинет), но статистика показывает, что сейчас таких абонентов мало, это в основном мобильные устройства абонентов. Десктопов с редиректом очень мало, также как других устройств (смарт-ТВ, игровые приставки и т.п.). Вставить ник Quote
Saab95 Posted February 3, 2025 Posted February 3, 2025 10 часов назад, alibek сказал: Десктопов с редиректом очень мало, также как других устройств (смарт-ТВ, игровые приставки и т.п.). Потому что надо делать не редирект, а перенаправлять на веб прокси, который выдает свою страничку. И уже с этой странички, когда абонент нажмет некую кнопку или ссылку, перенаправлять в ЛК или на сайт платежной системы. Сразу делать перенаправление на какой-то другой сайт плохая затея. И да, в виндовс 7 при таком перенаправлении через хотспот появляется сообщение вверху браузера, что "вы должны выполнить вход что бы работать в сети". Нажали и попали на страничку. Перенаправлять на https соединениях умеет DPI, например карбон редуктор. Но тут есть нюанс - он перенаправляет по своему фильтру, который содержит IP адреса абонентов, не всегда они оттуда быстро могут удаляться, и если вдруг что-то пойдет не так, абонент не сможет работать в интернете. Вставить ник Quote
alibek Posted February 3, 2025 Posted February 3, 2025 Перенаправлять = подменять ответ. С HTTPS не работает, а с HTTP не имеет смысла, потому что там у браузеров и редирект нормально работает, а без браузера (в смарт-ТВ) информацию об отрицательном балансе читать некому. Вставить ник Quote
Ivan_83 Posted February 3, 2025 Posted February 3, 2025 Ну что вы как маленькие, собрались в пивнушке и обсуждаете сплетни. WiFi hot spot authorization / captive portal это уже давно стандарт который втянула в себя венда, андройд и все (оба) браузеры. Суть там предельно проста: на эвент о смене сетевого соединения или просто время от времени браузер или сервис в ОС пытается резолвить через DNS то что он 100% знает заранее во что должно отрезолвится. Если прилетает другой адрес - значит юзеру показыают что то. Дальше оно пытается по http скачать то что оно знает как будет выглядеть. Если там редирект или херь какая то другая - оно опять юзеру чото предлагает/показывает. Вот сверхсеркретное описание механизма как оно в венде: https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/troubleshoot-ncsi-guidance https://learn.microsoft.com/en-us/windows-server/networking/ncsi/ncsi-frequently-asked-questions Я дома уже лет 10+ как засунул в unbound: # Windows Internet emulator: Network Connectivity Status Indicator (NCSI) # https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-7/ee126135(v=ws.10) local-data: "dns.msftncsi.com 30 IN A 131.107.255.255" local-data: "dns.msftncsi.com 3600 IN AAAA fd3e:4f5a:5b81:0:0:0:0:1" local-data: "www.msftncsi.com 30 IN A 172.16.0.254" local-data: "ipv6.msftncsi.com 30 IN AAAA 2001:470:1f15:8e:0:0:0:1" и в nginx: # www.msftncsi.com location ^~ /ncsi.txt { more_set_headers 'Content-Type: text/plain'; add_header Cache-Control 'max-age=30, must-revalidate'; return 200 'Microsoft NCSI'; } и судя по секретной документации начиная с вин10 адреса немного другие. Вот ещё более секретная инфа по мазилле: https://support.mozilla.org/en-US/kb/captive-portal https://firefox-source-docs.mozilla.org/networking/captive_portals.html А вот сборник всего сразу, как оглавление по теме, чтобы знать что в секретный поисковик гуглаг вбивать: https://en.wikipedia.org/wiki/Captive_portal https://gist.github.com/zhangyoufu/0ad9b3b9cd3a144714f70c6610e43962 https://community.fortinet.com/t5/FortiAP/Troubleshooting-Tip-Redirecting-to-a-captive-portal-gets-a/ta-p/191375 Вставить ник Quote
sdy_moscow Posted February 3, 2025 Posted February 3, 2025 @Ivan_83 Люблю наш форум и его постоянных участников. Каждый день что-то полезное узнаешь. Спасибо, сам потом почитаю.... Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.