anyprox

1. 安裝 node

cd /usr/local
wget https://nodejs.org/dist/v14.15.3/node-v14.15.3-linux-x64.tar.xz
tar xf node-v14.15.3-linux-x64.tar.xz
mv node-v14.15.3-linux-x64 node

vim ~/.bash_profile
PATH=$PATH:/usr/local/node/bin
source ~/.bash_profile

npm install -g cnpm --registry=https://registry.npm.taobao.org

2. 安裝 anyproxy

npm i -g anyproxy

3. 啓動 anyproxy

anyproxy

4. 訪問 anyproxy

http://localhost:8002

5. 客戶端設置代理

localhost 8001

6. 配置 https

原理:AnyProxy 解析 Https 的原理是自制根證書 rootCA 在終端信任這份證書之後,再用它簽發各個域名的二級證書,此時二級證書可以重新對各個頁面進行解析。

6.1. 生成 ca 正式

anyproxy-ca

6.2. 打開 ca 證書

~/.anyproxy/certificates/rootCA.crt

6.3. 信任 ca 證書

打開已安裝的 AnyProxy 證書,展開“信任”,選擇“使用此證書時”:“始終信任”

6.4. 以支持 https 的方式啓動 anyproxy

anyproxy -i

6.5. 移動端安裝證書

瀏覽器訪問 http://localhost:8002/fetchCrtFile 下載證書並安裝

7. 卸載

npm uninstall anyproxy

8. 清除證書

anyproxy --clear

9. 二次開發

把網絡通信過程分解爲三個階段:

  • 在收到客戶端請求後,允許開發者直接從本地提供返回
  • 在轉發請求到服務器前,允許開發者對發送的請求進行修改
  • 在收到服務器響應後,允許開發者對響應內容進行修改,再返回給客戶端

9.1. 編寫規則文件: rule.js

module.exports = {
    shouldInterceptHttpsReq: function(req){
        return true
    }
}

9.2. 啓動並加載規則

anyproxy --rule ./rule.js

9.3. 測試規則

  • 直接請求
curl https://github.com
  • 通過代理請求
curl https://github.com --proxy http://127.0.0.1:8001

10. 文檔

https://github.com/alibaba/anyproxy

11. 桌面 APP

https://github.com/fwon/electron-anyproxy
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章