polipo 能將sock5代理共享給局域網的機器,但是只能共享為sock5代理,不能共享為http/https代理。
privoxy 能將socks5代理共享給局域網的機器,能將socks5代理轉為 http/https 代理,(能不能轉為 socks5代理我現在還不知道。后來試了,不能轉為socks代理)。
大部分時候我用的是privoxy.
privoxy的網址: https://www.privoxy.org
配置文件很簡單,就是:
1, 將默認配置文件的 listen-address 127.0.0.1:8118 改成你的地址,如果要局域網的機器可用,則必須改為 0.0.0.0:10808 或 :10808. (曾經遇到過改成 0.0.0.0:10808 及 :10808 后功能都不正常的情況,改成 本機局域網ip地址[非localhost也非127.0.0.1]則正常了)
查看privoxy的10808端口是否正常:
$ nc 127.0.0.1 8118 -vz
測試privoxy代理是否生效:
$ curl cip.cc -x http://127.0.0.1:8118 -v
2, 在配置文件的末尾添加兩行:
permit-access 192.168.1.0/24
forward-socks5 / 127.0.0.1:1080 .
注意1080后面的點,permit-access 將訪問權限放開給局域網的用戶,forward-socks5 申明自己的父代理為本機的 127.0.0.1:1080 socks5代理。
3, privoxy的白名單配置:
在 etc/privoxy/config 文件里追加
actionsfile whitelist.action
編輯/創建文件 etc/privoxy/whitelist.action,內容為:
# 本配置默認全部直接訪問(不通過socks5代理),需要代理的列在{whitelist}下面 {{alias}} direct = +forward-override{forward .} whitelist = +forward-override{forward-socks5 localhost:1337 .} #default {direct} / #whitelist {whitelist} .google.com .cip.cc .docker.com .docker.io .github.com
或
# 這種配置是默認都走socks5代理,{direct}下定義直接訪問 {{alias}} proxy = +forward-override{forward-socks5 localhost:1337 .} direct = +forward-override{forward .} {proxy} / {direct} .cn .cip.cc
運行方式:
sudo privoxy --user your_username /etc/privoxy/config
或 sudo privoxy --no-daemon --user your_username /etc/privoxy/config
polipo 源碼地址:
https://github.com/jech/polipo
官網:
https://www.irif.fr/~jch/software/polipo/manual/
配置文件:
socksParentProxy = "127.0.0.1:1080" socksProxyType = socks5 proxyAddress="0.0.0.0" proxyPort=10808 logFile = ./log/polipo logLevel = 99 logSyslog = true daemonise=true chunkHighMark = 50331648 objectHighMark = 16384 allowedClients = 192.168.1.0/24 serverMaxSlots = 64 serverSlots = 16 serverSlots1 = 32