Cikis Sunucusu Tunel API Referansi
Kendi cikis sunucunuzdaki WireGuard-uzeri-TCP kullanicilarini kendi sisteminizden olusturun ve silin. Otomatik uygulama acikken peer, MikroTik yonlendiricinizde de olusturulur.
https://servernet.cloud/tr/developers/tunnel · 2026/08/25
/api/v1/tunnel/servers
TCP tunelli cikis sunuculari
tunnel:read
/api/v1/tunnel/{service}/accounts
kullanicilar ve durumlari
tunnel:read
/api/v1/tunnel/{service}/accounts
kullanici olustur — anahtar bir kez
tunnel:write
/api/v1/tunnel/{service}/accounts/{name}
kullanici sil
tunnel:write
/api/v1/tunnel/{service}/agent
otomatik uygulama durumu
tunnel:read
/api/v1/tunnel/{service}/agent
otomatik uygulamayi ac
tunnel:write
1On kosullar ve kimlik dogrulama
Bu arayuz yalnizca TCP tuneli yapilandirilmis cikis sunuculari icin calisir. Boyle bir profili olmayan sunucu listede hic gorunmez.
- Musteri panelinizde Guvenlik sayfasini acin ve bir API tokeni olusturun.
- tunnel:read ve tunnel:write kapsamlarini isaretleyin.
- Gerekirse tokene IP kisitlamasi ekleyin.
- Token yalnizca bir kez gosterilir; hemen kaydedin.
curl -H "Authorization: Bearer sn_xxxxxxxx" \
https://servernet.cloud/api/v1/tunnel/servers
2Servis kimliginizi bulun
Sonraki tum yollar sayisal bir kimlik ister. Bu cagridan alin ve kodunuzda saklayin.
GET https://servernet.cloud/api/v1/tunnel/servers
{"ok": true, "data": [{
"service_id": 49,
"name": "blackwood-vip-1",
"status": "active", "writable": true,
"host": "sn-571100.servernet.cloud", "port": 8443,
"subnet": "10.77.0.0/24", "next_ip": "10.77.0.5",
"accounts": 7, "max": 100,
"agent": {"installed": true, "alive": true,
"last_seen_at": "2026-08-24T08:16:18+00:00",
"pending_jobs": 0}
}]}
service_id | sonraki yollarda {service} yerine gecen kimlik |
host | son kullanicinin baglandigi ad veya adres |
subnet | sunucunun dahili araligi; her kullanici adresi buradan verilir |
next_ip | ilk bos adres, ip vermezseniz bu secilir |
writable | false ise servis etkin degildir ve yeni hesap verilmez |
agent | yonlendiricide otomatik uygulama durumu |
3Yonlendiricide otomatik uygulama
Yonlendiriciniz bizim tarafimizdan erisilebilir degil, bu yuzden biz baglanmayiz: o bize sorar. Asagidaki iki satir bir betik ve zamanlayici kurar; kuyrugunuzu duzenli okur ve yeni peerlari uygular.
- Asagidaki cagri ile ajan tokenini alin; yanit calistirmaya hazir iki satiri da doner.
- Bu iki satiri MikroTik terminalinizde calistirin.
- Ilk calisma birkac saniye surer cunku kok sertifika da kurulur.
- Sonrasinda durum alive olmalidir.
POST https://servernet.cloud/api/v1/tunnel/49/agent
{"ok": true, "data": {
"token": "sna_49_xxxxxxxx",
"replaced": false,
"install": [
"/tool fetch url=\"https://servernet.cloud/agent/tunnel/install\" http-header-field=\"X-Agent-Token: sna_49_xxxxxxxx\" dst-path=snet-agent.rsc",
"/import file-name=snet-agent.rsc"
]
}}
installed token verildigi anlamina gelir; alive yonlendiricinin gercekten yakin zamanda baglandigi anlamina gelir. Ikisi bilerek ayridir.
GET https://servernet.cloud/api/v1/tunnel/49/agent
{"ok": true, "data": {
"installed": true, "alive": true,
"last_seen_at": "2026-08-24T08:16:18+00:00",
"pending_jobs": 0
}}
Sunucu yonlendiriciye asla komut gondermez. Yanit yalnizca ad, adres ve genel anahtar tasir; betik her birini dogrular ve komutu kendisi olusturur.
4Kullanici olusturma
POST https://servernet.cloud/api/v1/tunnel/49/accounts
{"name": "ali-mobile"}
{"ok": true, "data": {
"name": "ali-mobile", "ip": "10.77.0.5",
"public_key": "...", "private_key": "...",
"delivery": {"mode": "agent", "status": "pending",
"job_id": 41, "agent_alive": true},
"router_command": "/interface/wireguard/peers/add ...",
"config": { ... sing-box ... }
}}
Giris alanlari
name | zorunlu, 2 ile 24 kucuk latin harfi, rakam, tire veya alt cizgi |
ip | istege bagli, vermezseniz siradaki bos adres secilir |
format | istege bagli, varsayilan singbox; eski uygulamalar icin legacy |
config alani eksiksiz bir sing-box yapilandirmasidir; son kullaniciya verin, json olarak kaydedip uygulamasina aktarsin.
delivery alani isin nerede oldugunu soyler: agent kuyruga alindi demektir; manual ajan kurulu degil demektir. router_command her iki durumda da doner.
5Kullanicilari ve durumlarini listeleme
Her kullanicinin, dahili bir etiketi degil son kullanicinin deneyimini bildiren bir state alani vardir.
GET https://servernet.cloud/api/v1/tunnel/49/accounts
{"ok": true, "data": {
"service_id": 49, "next_ip": "10.77.0.6",
"agent": {"installed": true, "alive": true, "pending_jobs": 0},
"accounts": [
{"name": "ali-mobile", "ip": "10.77.0.5",
"public_key": "...", "issued_at": "...",
"state": "active"}
]
}}
active yonlendiricide uygulandi, kullanici baglanir
pending hala kuyrukta, birkac saniye bekleyin
failed yonlendirici reddetti veya ajan calismadi; kaydi kontrol edin
Bu kuyruktan once olusturulan kullanicilarin is kaydi yoktur ve bilerek active olarak bildirilir.
6Kullanici silme
DELETE https://servernet.cloud/api/v1/tunnel/49/accounts/ali-mobile
{"ok": true, "data": {
"name": "ali-mobile",
"delivery": {"mode": "agent", "status": "pending"},
"router_command": "/interface/wireguard/peers/remove [find name=\"ali-mobile\"]"
}}
7Hatalar ve sinirlar
Basarisiz yanit her zaman error alaninda makine tarafindan okunabilir bir kod tasir.
insufficient_scope | token gerekli kapsama sahip degil |
not_found | hesabinizda boyle bir sunucu veya hesap yok |
service_not_active | servis askida, suresi dolmus veya iptal |
bad_name | ad izin verilen bicime uymuyor |
name_taken | bu adla bir hesap zaten var |
bad_ip | adres bu sunucunun dahili araliginda degil |
ip_taken | bu adres zaten kullanimda |
limit_reached | hesap sinirina ulastiniz |
Hiz sinirlari
| okuma | 120 / 1 dk |
| olusturma ve silme | 20 / 1 dk |
| ajan tokeni | 5 / 1 dk |
| sunucu basina kullanici | 100 |