3 ms·
The script I use to disable/enable dnscrypt-proxy (multiple instances behind dnsmasq for HA) https://gist.github.com/steakknife/bf6967e2298b95da29b7 https://gi
by bmir-alum-007 11y ago
The script I use to disable/enable dnscrypt-proxy (multiple instances behind dnsmasq for HA) https://gist.github.com/steakknife/bf6967e2298b95da29b7 https://gist.github.com/steakknife/bf6967e2298b95da29b7
Sample output (tethering):
0 ~ git:master ❯❯❯ internet_access
Bluetooth DUN: Bluetooth-Modem dns 127.0.0.1
Ethernet: en0 macaddr xx:xx:xx:...:xx dns 127.0.0.1
FireWire: fw0 dns 127.0.0.1
Wi-Fi: en1 macaddr xx:xx:xx:...:xx dns 127.0.0.1
iPhone USB: en4 172.20.10.3/24 router 172.20.10.2 macaddr xx:xx:xx:...:xx dns 127.0.0.1
Bluetooth PAN: en3 dns 127.0.0.1
Thunderbolt Bridge: bridge0 dns 127.0.0.1
0 ~ git:master ❯❯❯
Sample output (wifi enable, unassociated, no tethering):
0 ~ git:master ❯❯❯ internet_access
1 ~ git:master ❯❯❯
This is driven by a non-privileged infinite looping event bash scripts which TCP connects to another pair of bash scripts running as root which can actually make the change because they're listening on two localhost tcp ports.
(I've tried these other event-based app/script utilities and they're fragile and buggy as heck.)
It seems like something Apple, for one, should take on... deprecate AppleScript and use something more common, accessible and make a common, standardized scripting platform far more comprehensively documented in something like Ruby. AppleScript is just too COBOL/Cucumber "English" and poorly documented to be practical for advanced users. (I've been gradually moving all new scripts over to Ruby because Bash scripts are fragile and not as inherently reusable as standardizing on a dynamic languages (like RedHat w/ Python).)