透過プロキシ(macOS)
環境変数
シェル起動時にネットワーク設定からプロキシ設定を環境変数に読み出すようにしている場合、GUIで設定すればOK。
export HTTP_PROXY=http://proxy.example.com:8080/export HTTPS_PROXY=http://proxy.example.com:8080/export NO_PROXY=localhost,127.0.0.0/8,::1
NO_PROXYには必ずlocalhost/ローカルループバックアドレスを設定しておくこと(無限ループする)。
ビルド
git clone https://github.com/wadahiro/go-transproxy.gitcd go-transproxy/makels go-transproxy/bin/transproxy# check network device nameifconfig
~/transproxy/pf.conf
MacBookの無線LANカード:en0
Mac miniなどの場合はNIC名が異なる場合があるので注意。
Packets = "proto tcp from en0 to {!192.168.0.0/16}"rdr pass log on lo0 $Packets port 80 -> 127.0.0.1 port 3129rdr pass log on lo0 $Packets port 443 -> 127.0.0.1 port 3130pass out on en0 route-to lo0 inet $Packets port {80, 443} keep state
有効化
sudo pfctl -ef ~/transproxy/pf.conftransproxy -disable-iptables
無効化
# stop transproxy process (Ctrl+C)# reset pf configssudo pfctl -df /etc/pf.conf