Dokümanlar & API

WhaleProxy'yi kodla kontrol edin.

Yerel bir kontrol düzlemi: 8091 portunda REST, adlandırılmış pipe üzerinden JSON-RPC ve bir CLI — arayüzün altındaki aynı komut kümesi.

Genel bakış

API, yönlendirme motoruna makineden makineye bir arayüzdür. Varsayılan temel URL http://127.0.0.1:8091/v1'dir; giriş ve çıkış JSON biçimindedir. Settings sekmesinden etkinleştirin.

Varsayılan olarak yalnızca loopback (127.0.0.1) üzerinde dinler. Uzaktan kontrol için bir ağ IP'sine bağlayabilirsiniz — motor yükseltilmiş yetkiyle çalıştığı ve makinenin tüm ağ trafiğini kontrol ettiği için bunu TLS + güvenlik duvarı arkasına alın.

Öne çıkan: WhaleProxy, çalışan bir işlemin proxy'sini değiştirebilir — başka hiçbir işlem başına proxy aracının yapamadığı bir şey.

Kimlik doğrulama

Her istek (/v1/healthz hariç) bir başlıkta gönderilen bir API anahtarı gerektirir. Anahtar CSPRNG ile üretilir; Settings → Generate ile oluşturun/döndürün. Anahtarlar sabit zamanda karşılaştırılır.

http
X-API-Key: <YOUR_API_KEY>
# hoặc
Authorization: Bearer <YOUR_API_KEY>

Yeniden yönlendirme — çalışan bir işlemin proxy'sini değiştirin

İşlemleri pids, exe adı, yol, kimlik hash'i ya da takma ada göre seçin — ardından yeni bir proxy'ye yönlendirin. Değişiklikleri uygulamadan deneme yapmak için /preview kullanın.

POST/v1/rerouteÇalışan bir işlemi yeniden yönlendir
POST/v1/reroute/previewHangi PID'lerin eşleşeceğini önizle
POST/v1/reroute/clearYeniden yönlendirmeyi temizle, kurallara dön
POST /v1/reroute
{ "match": { "nickname": "App 3" }, "proxy": "jp-2" }

→ 200 { "rerouted": 1, "flows_moved": 12 }

Proxy'ler

Üst akış havuzunu yönetin (socks5 / http / localnet). Test, gecikmeyi ve gerçek çıkış IP'sini döndürür.

GET/v1/proxiesProxy'leri + durumu listele
POST/v1/proxiesEkle (tek / toplu)
POST/v1/proxies/{alias}:testTest → gecikme + çıkış IP'si
DELETE/v1/proxies/{alias}Sil + otomatik yeniden dengele

Kurallar

Mevcut ve gelecekteki işlemlere uygulanan, kalıcı ve ilk eşleşenin kazandığı kurallar.

GET/v1/rulesKural zincirini listele
POST/v1/rulesKural ekle
POST/v1/rules/reorderÖnceliği yeniden sırala
POST/v1/config/reloadYapılandırmayı yeniden yükle, canlı uygula

İşlemler

İzlenen işlemleri inceleyin, takma ad atayın ya da sonlandırın.

GET/v1/processesCanlı işlem listesi
GET/v1/processes/{pid}Tek bir PID için ayrıntı
POST/v1/processes/{pid}/nicknameTakma ad belirle
POST/v1/processes/{pid}/killİşlemi sonlandır

İstatistikler & olaylar

İşlem ve proxy başına bayt/akış/bağlantıları okuyun; başlatma/sonlanma olaylarını long-poll ile izleyin.

GET/v1/statsSistem geneli toplamlar
GET/v1/stats/per-proxyProxy başına
GET/v1/events/pollLong-poll olayları

Komut satırı

CLI aynı komutları sarmalar; makine tarafından okunabilir çıktı için --json ekleyin. Motor açıkken çalışır.

cmd
$ whaleproxy proxies list --json
$ whaleproxy reroute --name chrome.exe --to jp-2
$ whaleproxy pin --nickname "App 3" --proxy us-1
$ whaleproxy stats --json

Örnek — Python'dan çağırın

API düz HTTP'dir, her dilden çağrılabilir. Aşağıdaki örnek bir işlemi farklı bir proxy'ye taşır.

python
import requests

API = "http://127.0.0.1:8091/v1"
H   = { "X-API-Key": "YOUR_KEY" }

# Đổi proxy của "App 3" sang jp-2, ngay khi đang chạy
r = requests.post(f"{API}/reroute", headers=H, json={
    "match": { "nickname": "App 3" },
    "proxy": "jp-2"
})
print(r.json())  # {'rerouted': 1, 'flows_moved': 12}
Betiklerle otomatikleştirin

Bütün işlem gruplarını betikle yeniden yönlendirin

WhaleProxy'yi indirin, API'yi Settings'ten etkinleştirin ve kodla yönetmeye başlayın.