captive-browser

This commit is contained in:
Cat /dev/Nulo 2022-08-02 11:13:17 +02:00
parent 57bed2a06d
commit 80b6d4eae4
2 changed files with 29 additions and 0 deletions

View file

@ -0,0 +1,2 @@
#!/bin/sh
echo "$dns"

View file

@ -0,0 +1,27 @@
# browser is the shell (/bin/sh) command executed once the proxy starts.
# When browser exits, the proxy exits. An extra env var PROXY is available.
#
# Here, we use a separate Chrome instance in Incognito mode, so that
# it can run (and be waited for) alongside the default one, and that
# it maintains no state across runs. To configure this browser open a
# normal window in it, settings will be preserved.
browser = """
chromium-browser \
--user-data-dir="$HOME/.chromium-captive" \
--proxy-server="socks5://$PROXY" \
--host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE localhost" \
--no-first-run --new-window --incognito \
http://example.com
"""
# dhcp-dns is the shell (/bin/sh) command executed to obtain the DHCP
# DNS server address. The first match of an IPv4 regex is used.
# IPv4 only, because let's be real, it's a captive portal.
#
# `wlan0` is your network interface.
#
dhcp-dns = "doas udhcpc -i wlan0 -s ~/.config/captive-browser.dump-dns.sh"
# socks5-addr is the listen address for the SOCKS5 proxy server.
socks5-addr = "localhost:1666"