Điều khiển WhaleProxy bằng code.
Một control plane chạy ngay trên máy bạn: REST ở cổng 8091, JSON-RPC qua named pipe, và CLI. Cả ba xài chung một bộ lệnh với giao diện app — quen chỗ nào dùng chỗ đó.
Tổng quan
API là cách để máy nói chuyện với engine định tuyến. Base URL mặc định http://127.0.0.1:8091/v1, gửi JSON vào, nhận JSON ra. Bật nó trong tab Settings là chạy.
Mặc định API chỉ nghe loopback (127.0.0.1). Muốn điều khiển từ xa thì bind ra IP mạng — nhưng nhớ đặt sau TLS và firewall, vì engine chạy với quyền cao và điều khiển toàn bộ luồng mạng của máy.
Xác thực
Mọi request đều cần API key gắn ở header, trừ /v1/healthz. Key sinh bằng CSPRNG; tạo hoặc đổi ở Settings → Generate. Lúc so key, WhaleProxy dùng constant-time để chống dò theo thời gian.
X-API-Key: <YOUR_API_KEY>
# hoặc
Authorization: Bearer <YOUR_API_KEY>
Reroute — đổi proxy khi app đang chạy
Nhắm tiến trình theo pids, tên exe, đường dẫn, hash danh tính hay biệt danh — rồi trỏ sang proxy mới. Chưa chắc thì gọi /preview xem thử, chưa đụng gì cả.
{ "match": { "nickname": "Acc 3" }, "proxy": "jp-2" }
→ 200 { "rerouted": 1, "flows_moved": 12 }
Proxies
Quản lý pool proxy upstream (socks5 / http / localnet). Test một phát là biết độ trễ và IP thoát thật.
Rules
Rule lưu lại lâu dài, chạy first-match-wins, áp cho cả app đang chạy lẫn app mở sau này.
Processes
Xem những tiến trình đang theo dõi, đặt biệt danh, hoặc tắt thẳng tay.
Stats & events
Đọc byte, luồng, kết nối theo từng tiến trình và từng proxy. Long-poll để bắt sự kiện spawn/exit.
Command line
CLI xài chung bộ lệnh đó. Thêm --json là ra dữ liệu cho máy đọc. Nhớ để engine chạy sẵn.
$ whaleproxy proxies list --json
$ whaleproxy reroute --name chrome.exe --to jp-2
$ whaleproxy pin --nickname "Acc 3" --proxy us-1
$ whaleproxy stats --json
Ví dụ — gọi từ Python
API là HTTP thuần nên gọi từ ngôn ngữ nào cũng được. Ví dụ dưới đây đẩy một acc sang proxy khác.
import requests
API = "http://127.0.0.1:8091/v1"
H = { "X-API-Key": "YOUR_KEY" }
# Đổi proxy của "Acc 3" sang jp-2, ngay khi đang chạy
r = requests.post(f"{API}/reroute", headers=H, json={
"match": { "nickname": "Acc 3" },
"proxy": "jp-2"
})
print(r.json()) # {'rerouted': 1, 'flows_moved': 12}
Script một lần, reroute cả loạt acc
Tải WhaleProxy, bật API trong Settings, rồi điều khiển tất cả bằng code.