IPv6代理伺服器
只需一個腳本,即可在任何 Linux 發行版上建立您自己的 IPv6 反向連接代理伺服器。可分配子網路上任意數量的隨機 IP 位址,非常適合解析和流量套利(Google/Facebook/Youtube/Instagram 等眾多網站都支援 IPv6)。
https://github.com/Temporalitas/ipv6-proxy-server?tab=readme-ov-file#ipv6-proxy-server-
如果有問題,請在議題中提出。
教學
假設您已經將整個 IPv6 子網路(/48 或 /64)路由到您的伺服器。
只需運行:
#sudo su
wget https://raw.githubusercontent.com/Temporalitas/ipv6-proxy-server/master/ipv6-proxy-server.sh && chmod +x ipv6-proxy-server.sh
./ipv6-proxy-server.sh -s 64 -c 100 -u username -p password -t http -r 10
如果您不是以 root 使用者身分執行,請取消註解第一行或執行所有命令sudo。
如果腳本已經安裝,您只需執行一個命令即可重新配置參數,例如:
./ipv6-proxy-server.sh -s 64 -c 20 -u username2 -p password2 -t socks5 -r 2
舊實例將被停用,新實例無需重新安裝即可快速啟動。
如果要卸載代理伺服器,只需運行:
./ipv6-proxy-server.sh --uninstall
代理伺服器將停止運行,所有設定檔、防火牆、排程器等都將重設為初始狀態。
命令列參數:
-s或--subnet- 伺服器上已完全分配的 IPv6子網路。任何能被 4 整除的子網路(例如,48或56),預設值64
-c或--proxy-count- 您希望擁有的代理總數(1 到 10000)
-t或--proxies-type- 代理類型 -http或socks5。預設值http(如果未提供值)
-u或--username- 所有代理的身份驗證登入
-p或--password- 所有代理程式均需密碼認證(如果您既未指定使用者名稱也未指定密碼,則代理程式將無需身份驗證即可運行)
--rotate-every-request- 布林參數,未賦值時,如果使用,則每次向每個代理程式發出請求時,您都會從 IPv6 子網路中取得不同的網關 IP 位址。並非所有 VPS 都支援此功能。如果配置失敗,程式將報錯退出。
--random- 未賦值的布林參數,如果使用,則每個反向連接代理都會有一個隨機的使用者名稱和密碼,這些使用者名稱和密碼將寫入反向連接代理檔案(-f參數)中。
--start-port- 反向連接 IPv4 起始連接埠。如果您建立了 1500 個代理,且伺服器的外部 IPv4 位址為,例如,start-port您可以使用下列位址連接到代理:,依此類推,直到建立1500 個代理。20000180.113.14.28180.113.14.28:20000180.113.14.28:20001180.113.14.28:21500
-r或--rotating-interval- 整個代理池的輪換週期(以分鐘為單位)。每個週期結束時,所有代理程式的輸出(外部 IPv6)位址都會更改,並且代理伺服器會重啟,這會導致現有連線中斷幾秒鐘。取值範圍為 0 到 59,預設值為 - 0(輪換禁用)。
--allowed-hosts- 允許使用者透過代理連接的主機清單(以逗號分隔,不含空格,例如 - "google.com,*.google.com,fb.com")。如果提供了此參數,則所有其他主機都將被拒絕連線。
--denied-hosts- 拒絕存取的主機清單(以逗號分隔,不含空格,例如 - "google.com,*.google.com,fb.com")。如果提供了此參數,則所有其他主機都將被允許存取。
-l或--localhost- 未賦值的布林參數,如果使用,所有反向連接代理將僅在本地主機上可用(127.0.0.1:30000而不是180.113.14.28:30000)。
-b或--backconnect-ip- 代理伺服器的 IPv4 反向連接位址,僅當腳本無法正確解析 IP 位址且您的伺服器具有非標準 IP 配置時才使用。
-f或--backconnect-proxies-file- 指定一個檔案路徑,當代理開始工作時,反向連線代理清單將寫入該檔案(預設~/proxyserver/backconnect_proxies.list)。您可以直接從該檔案複製所有代理,並將其用作軟體中的 IPv6 代理清單。
-m或者--ipv6-mask,使用伺服器子網路的前幾個區塊,未更改的部分,末尾不帶冒號,僅當腳本無法自動解析 IPv6 遮罩時才使用。例如,如果伺服器上的外部 IPv6 位址是 ` 2a03:6f01:5::1da6/64`,而您想要使用整個 `/64` 子網,則腳本無法解析 IPv6 網關,因為位址的零欄位會被替換為 ` ::/64`。 `/64` 子網路的實際遮罩是前四個區塊2a03:6f01:5:0。如果您想要提供手動分配的、不能被 16 整除的子網,則應提供完整的最後一個區塊。例如,如果您想要2a01:7e01:f403:a000使用伺服器上分配的整個 `/56` 子網,請在執行命令時使用 ` /56` --ipv6-mask 2a01:7e01:f403:a000,而不是--ipv6-mask 2a01:7e01:f403:a0`/56`—不要刪除區塊的最後幾個數字!
-i或--interface- 乙太網路介面名稱,IPv6 子網路將指派給該接口,所有代理都會在該介面上建立。預設情況下,系統資訊會自動解析此名稱,僅當您的伺服器上有非標準/額外的介面時才需要使用。
--uninstall- 卸載代理伺服器,無需提供任何其他參數。
--info- 取得有關正在運行的代理伺服器的資訊(代理數量、輪調、身份驗證等)
快速錯誤常見問題:
如果你的代理伺服器完全不起作用,請嘗試以下幾個步驟,只有在所有方法都無效的情況下才提交問題:
檢查日誌文件,/var/tmp/ipv6-proxy-server-logs.log查看是否有任何錯誤訊息。如果資訊與設定/子網路分配相關,請聯絡您的VPS提供者。如果錯誤訊息不清楚,請提交問題報告。
如果沒有錯誤,運行./ipv6-proxy-server.sh --info。
檢查反向連接位址是否已正確解析(第一步驟中伺服器上的檔案名稱)。
檢查是否已正確產生(在proxyserver/3proxy/3proxy.cfg檔案中)外發 IPv6 位址。
檢查代理伺服器連線:選擇上一個步驟中列出的一個出站 IPv6 位址並執行命令curl --interface 。如果命令運作正常,但代理伺服器仍然無法運作,請立即提交問題報告。
檢查您要造訪的網站在 DNS 中是否有 AAAA 記錄。如果沒有,您將無法透過任何 IPv6 代理程式存取網站。
請確認您的 VPS 提供者已為伺服器指派完整的 IPv6 子網路(DigitalOcean 和許多其他提供者都沒有這樣做)。
執照
麻省理工學院
留言
張貼留言