適用於 Linux 與 Windows 的高性能 HTTP / SOCKS5 代理網關。五種啓動模式,可選外部驗證與流量 API。
從 GitHub 下載 Linux 與 Windows 預編譯包,無需編譯。
joyproxy-gui.exe 提供可視化界面,可設置監聽埠、驗證模式、啓停控制與實時日誌,無需命令行。
在同一界面設置監聽埠、本機 IP、代理類型及開放/白名單/密碼模式。
啓動、停止、保存設置,執行狀態一目瞭然。
無需另外開啓終端即可實時查看代理日誌。
執行 ./joyproxy sps -h 查看所有參數。常用選項:
| 參數 | 必填 | 說明 |
|---|---|---|
-S | 否 | 上游中繼類型:http 或 socks5(默認 http) |
-p | 是 | 監聽埠,如 :8080 或 :5001-5999 |
-g | 建議 | 本機公網 IP;調用驗證 API 時作爲 local_addr |
-parent | 否 | 驗證 API 未返回 upstream 時的默認上級代理 |
--auth-url | 否 | 外部驗證 API URL(可選) |
--auth-nouser | 否 | 客戶端無需密碼;由 API 按連接決定 |
--auth-cache | 否 | 驗證成功緩存 TTL(秒) |
--auth-fail-cache | 否 | 驗證失敗緩存 TTL(秒) |
--traffic-url | 否 | 外部流量上報 API URL(可選) |
--daemon | 否 | 後臺運行(shell 立即返回) |
--forever | 否 | 配合 --daemon:崩潰後自動重啓 |
--no-detach | 否 | 配合 --daemon:不脫離終端(systemd 使用) |
--verbose | 否 | 完整日誌 |
--quiet | 否 | 僅錯誤日誌 |
--max-conns-rate | 否 | 全局每秒最大新建連接數(0 不限制) |
--sniff-domain | 否 | 對 HTTP CONNECT 嗅探 TLS SNI |
./joyproxy sps -h
./joyproxy sps -S http -p ":8080" -g "YOUR_PUBLIC_IP"
適用於您基礎設施的生產級代理網關
可在可配置的單一埠或埠範圍上提供 HTTP 與 SOCKS5。
開放代理、白名單 API、用戶名/密碼或完整外部驗證 API。
連接結束時可選異步流量上報。
按用戶的連接限制、帶寬上限與全局連接速率限制。
後臺運行並支援崩潰後自動重啓,適合生產部署。
可選在 HTTP CONNECT 上嗅探網域。
選擇適合您部署的模式
無 --auth-url。任何能連到該埠的用戶均可無憑證使用代理。
./joyproxy sps -S http -p ":8080" -g "YOUR_PUBLIC_IP"
使用 --auth-nouser + --auth-url。客戶端無需密碼;您的 API 按連接決定允許或拒絕。
./joyproxy sps -S http -p ":8080" -g "YOUR_PUBLIC_IP" \
--auth-nouser --auth-url "https://your-api.example.com/auth"
不要使用 --auth-nouser。客戶端必須發送 Proxy-Authorization 或 SOCKS5 憑證。缺少時返回 407。
./joyproxy sps -S http -p ":8080" -g "YOUR_PUBLIC_IP"
可選 --auth-url 對每條連接向您的端點發起 HTTP GET。
./joyproxy sps -S http -p ":8080" -g "YOUR_PUBLIC_IP" \
--auth-url "https://your-api.example.com/auth"
可選 --traffic-url 在連接結束時異步回報。您的 API 應返回 204 No Content。
./joyproxy sps -S http -p ":8080" -g "YOUR_PUBLIC_IP" \
--auth-nouser --traffic-url "https://your-api.example.com/traffic"
設置 --auth-url 後,每條連接會附帶以下查詢參數:
| 參數 | 說明 |
|---|---|
user | 客戶端用戶名(--auth-nouser 時可爲空) |
pass | 客戶端密碼 |
client_addr | 客戶端地址 IP:埠 |
local_addr | 代理監聽地址 IP:埠 |
target | 目標:HTTP URL 或 host:port |
service | http 或 socks |
sps | 固定爲 1 |
您的 API 應返回 200 或 204,並附 upstream 標頭以放行;返回 upstream: ERR 或非 200/204 則拒絕(客戶端收到 503,或通過 X-Joyproxy-Reject-Status / X-Joyproxy-Deny 返回 407/429)。
| 響應標頭 | 說明 |
|---|---|
upstream | 本連接使用的上級代理 URL |
outgoing | 出站源 IP 綁定提示 |
userconns / ipconns | 最大併發連接數(按用戶) |
userrate / iprate | 單連接帶寬字節/秒(按用戶) |
userqps / ipqps | 每秒最大新建連接數(按用戶) |
設置 --traffic-url 後,每條連接結束時會異步發起 HTTP GET。您的 API 應返回 204 No Content。
| 參數 | 說明 |
|---|---|
act | 流量 |
bytes | 傳輸字節總數(上行 + 下行) |
client_addr | 客戶端 IP:埠 |
server_addr | 代理服務地址 IP:埠 |
target_addr | 目標主機或 IP:埠 |
username | 代理認證用戶名(如有) |
upstream | 實際使用的上級 URL(如有) |
out_local_addr | 出站 TCP 本地地址 |
out_remote_addr | 出站 TCP 遠程地址 |
id | http 或 socks |
sniff_domain | TLS SNI(僅啓用 --sniff-domain 時) |
生產環境使用 --daemon --forever。使用 systemd 時請加 --no-detach,避免主程式立即退出。
./joyproxy sps -S http -p ":5001-5999" -g "YOUR_PUBLIC_IP" \
--auth-nouser --daemon --forever
# systemd unit: add --no-detach
客戶端連接至 joyproxy-server;服務器在轉發流量前可選調用您的驗證 API。
近期版本說明,完整記錄見 GitHub。
驗證 API 對 SOCKS/UDP 須回傳 socks5://(不能僅 http://)。