大家都知道shadowsocks只提供了SOCKS5的代理,而沒有提供http代理,而很多軟體僅提供了http代理的支援,比如老高需要使用shell命令列扶牆,或者使用git同步android的原始碼,再或者更新android SDK,該怎麼辦呢?
老高在此介紹一個軟體Privoxy,它可以作為代理的代理,為我們解決上述問題!
Privoxy is a non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data and HTTP headers, controlling access, and removing ads and other obnoxious Internet junk. Privoxy has a flexible configuration and can be customized to suit individual needs and tastes. It has application for both stand-alone systems and multi-user networks.
由介紹看來,privoxy的功能可遠遠不止http代理這麼簡單!
教程情境:
老高的路由器刷了openwrt,並安裝了shadowsocks在1080連接埠提供SOCKS5代理服務,現在我們使用Privoxy將其轉化為http代理。
I. 安裝
先登入到路由器
ssh root@192.168.1.1
root@192.168.1.1's password:
BusyBox v1.22.1 (2015-06-06 07:53:28 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
_______________________________________________________________
| ____ _ ____ |
| | _ \ __ _ _ __ __| | ___ _ __ __ _| __ ) _____ __ |
| | |_) / _` | '_ \ / _` |/ _ \| '__/ _` | _ \ / _ \ \/ / |
| | __/ (_| | | | | (_| | (_) | | | (_| | |_) | (_) > < |
| |_| \__,_|_| |_|\__,_|\___/|_| \__,_|____/ \___/_/\_\ |
| |
| PandoraBox SDK Platform |
| The Core of SmartRouter |
| Copyright 2013-2015 D-Team Technology Co.,Ltd.SZ |
| http://www.pandorabox.org.cn |
|______________________________________________________________|
Base on OpenWrt BARRIER BREAKER (14.09, r1018)
[root@PandoraBox:/root]#
Privoxy在路由器上的安裝很簡單,一行代碼即可搞定!
opkg install privoxy
如果提示找不到安裝包,可以參考小米路由器mini折騰之配置opkg篇檢查opkg的配置。
其他平台可以使用yum apt-get命令安裝
如果解決不了,請移步官方的安裝包下載地址
II. 配置
Privoxy的設定檔位於/etc/privoxy/config,下來我們用vim編輯它。
注意老高的注釋!
vim /etc/privoxy/config
# 如此多的配置!看來privoxy的功能很強大
confdir /etc/privoxy
logdir /var/log
filterfile default.filter
logfile privoxy
actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
actionsfile default.action # Main actions file
#actionsfile user.action # User customizations
# 監聽連接埠為8118,如果需要其他裝置訪問,則需要將ip改為路由器的IP 192.168.1.1 或 0.0.0.0 或者直接 :8118
listen-address 192.168.1.1:8118
toggle 1
enable-remote-toggle 1
enable-remote-http-toggle 0
enable-edit-actions 1
enforce-blocks 0
buffer-limit 4096
forwarded-connect-retries 0
accept-intercepted-requests 0
allow-cgi-request-crunching 0
split-large-forms 0
keep-alive-timeout 300
socket-timeout 300
permit-access 192.168.1.0/24
debug 1 # show each GET/POST/CONNECT request
debug 4096 # Startup banner and warnings
debug 8192 # Errors - *we highly recommended enabling this*
#admin-address privoxy-admin@example.com
#proxy-info-url http://www.example.com/proxy-service.html
# 由於我們的ss運行於1080連接埠,我們加入下面的配置,不要忘了最後的點.
forward-socks5 / 127.0.0.1:1080 .
配置好代理設定我們就可以重啟privoxy了
最簡單的使用就是chrome下的SwitchyOmega擴充,我們按照下圖配置
然後在瀏覽器中啟用http代理,如下圖
完美運行!
既然現在我們有了一個運行在8118連接埠的http扶牆代理,那麼現在我們想讓終端扶牆怎麼辦?
將下面的代碼添加到
~/.bashrc
即可!
export http_proxy=http://192.168.1.1:8118export https_proxy=http://192.168.1.1:8118
IV. 解決SDK更新
配製好HTTP代理後,我們將ANDROID SDK MANAGER按照如下設定