Kurulum
Zorven istemcisi tek bir ikili dosyadır (zorven). Kurulum betikleri ikiliyi indirir, token'ını ve sunucu adresini sistem yapılandırmasına yazar ve arka plan servisini başlatır.
Linux ve macOS
Betik /usr/local/bin/zorven yolunu kullanır ve sistem servisi oluşturduğu için root yetkisi ister. Token'ı panelden al (Hızlı başlangıç) ve bayrakla ver:
Token vermezsen betik sorar. Çalıştırmadan önce betiği okumak istersen:
Windows
PowerShell'i Yönetici olarak aç. Betik C:\Program Files\Zorven altına kurar ve Windows servisini başlatır:
Betiği önce incelemek için irm https://zorven.app/install.ps1 çıktısını bir dosyaya yönlendirip oku.
Masaüstü uygulaması
Windows için grafik arayüzlü kurulum paketi: Zorven-Setup-windows-amd64.exe. Ayrıntılar ve diğer platformlar için İndir sayfasına bak.
Elle indirme
Betik kullanmak istemezsen ikiliyi doğrudan indir, çalıştırılabilir yap ve PATH üzerindeki bir dizine koy.
| Platform | Dosya |
|---|---|
| Linux x86-64 | /bin/zorven-linux-amd64 |
| Linux ARM64 | /bin/zorven-linux-arm64 |
| Linux ARM (32 bit) | /bin/zorven-linux-arm |
| macOS Intel | /bin/zorven-darwin-amd64 |
| macOS Apple Silicon | /bin/zorven-darwin-arm64 |
| Windows x86-64 | /bin/zorven-windows-amd64.exe |
| Windows ARM64 | /bin/zorven-windows-arm64.exe |
Güncel sürüm bilgisi /bin/manifest.json içindedir. İstemci kendini otomatik güncelleyebilir; kapatmak için --no-auto-update bayrağını kullan.
Hızlı başlangıç
- Hesap aç ve token oluştur
Panele gir, bir istemci oluştur ve
zrv_live_ile başlayan istemci token'ını kopyala. Token bir cihazın kimliğidir; gizli tut. - Token'ı kaydet
$zorven authtoken zrv_live_...
- Yerel portunu yayınla
Çıktıdaki$zorven http 3000
https://<ad>--slug.zorven.appadresi geçerli TLS ile hemen yayındadır; WebSocket, HTTP/2 ve SSE çalışır. İstemci bir durum kutusu basar:Durum: Cevrimici (Online),Genel URL: https://<ad>--slug.zorven.app,Yerel Hedef: http://localhost:3000. - Gerekirse geçici tünel aç
Süre dolunca tünel kendini siler. Başlangıçta$zorven ephemeral 3000 --ttl 30m
Gecici tunel: 30m0s sonra kendiliginden kaldirilacak.satırı yazılır.
Port yönlendirmesi veya modem ayarı gerekmez: istemci sunucuya dışarıya doğru bağlanır, bu yüzden CGNAT arkasında da çalışır.
CLI komutları
Aşağıdaki liste istemcinin gerçek komutlarıdır. Her komutun yardımı için zorven <komut> --help çalıştırabilirsin.
zorven http <port> ve zorven <port>
Yerel bir HTTP servisini internete açar. zorven 8080 kısa yazımı da aynı işi yapar.
Uzak terminal ve ekran paylaşımı CLI ve servis modunda varsayılan olarak kapalıdır; Windows masaüstü uygulamasında varsayılan olarak açıktır. Panelden uzak terminal/ekran kullanmak için CLI'da bu cihazda açıkça izin ver (0.2.2 ve üzeri):
Panel terminali: İstemci makinedeki kabukları bildirir; panelde yeni sekme açarken bunlardan birini seçersin (bash, zsh, fish, sh, PowerShell 7, Windows PowerShell, cmd, WSL). Aynı istemcide en fazla 8 sekme açabilirsin; sekmelerde arama, yazı boyutu ve seçince kopyalama var. zsh ve bash, Zorven profiliyle (istem, otomatik öneri, sözdizimi vurgulama) açılır; düz kabuk için --terminal-plain-zsh / --terminal-plain-bash kullan. Kabuk sunucuda yaşar: başka sayfaya geçince ya da sayfayı yenileyince sekme aynı kabuğa geri bağlanır ve son çıktı yeniden gösterilir. Bağlantı koptuktan sonra kabuk 30 dakika bekler; sekmeyi kapatınca kabuk da kapanır. Oturuma yalnızca onu açan kişi geri bağlanabilir.
zorven ephemeral <port>
Süresi dolunca kendini silen geçici tünel açar; demo, webhook testi ve PR önizlemesi için uygundur. --ttl 1 dakika ile 24 saat arasında olmalı (varsayılan 2h). Kısa adlar: temp, tmp.
zorven authtoken <token>
İstemci token'ını yerel yapılandırmaya kaydeder. Token zrv_live_ ile başlamalıdır; aksi halde komut hata verir. Kısa ad: token.
status, update, version
İstemci sürümünü, ayar dosyasını, sunucu adresini, kayıtlı token'ı (maskeli) ve arka plan servisinin durumunu gösterir (sürüm satırı 0.2.2 ve üzeri).
Yeni sürüm varsa indirir ve uygular (istemci yeniden başlar).
İstemci ve protokol sürümünü, işletim sistemi ve mimariyi yazar. Destek talebinde bu çıktıyı ekle.
zorven config
--system bayrağı ayarı sistem geneline (servis moduna) yazar; yönetici/root yetkisi gerekir. Ayrıntı için Yapılandırma bölümüne bak.
zorven connect Team+
Zorven Network'e bağlanır ve yerel bir SOCKS5 proxy açar (varsayılan 127.0.0.1:1080). Uygulamaların, internete açılmamış özel kaynaklara (ör. db.internal:5432) adıyla ulaşır. Bu komut istemci token'ı değil, API token'ı ister (panelde API Anahtarları, en az tunnels:read kapsamı). Token bir servis hesabına ait olmalı ve o servis hesabına erişim veren bir kaynak politikası tanımlanmış olmalıdır (REST API: POST /resource-policies, grant.service_account_ids); politika yoksa bağlantı kaynaklara ulaşamaz.
Ardından uygulamanda SOCKS5 proxy olarak 127.0.0.1:1080 kullan. Örnek, SSH ile:
Ağ geçidi (site-to-site) modunda proxy'yi LAN'a açabilirsin; bu mod için izinli istemci aralıkları zorunludur:
Loopback dışına dinlemek ancak --gateway ve --allow-from birlikte verilirse çalışır; yerel dinleyicide kimlik doğrulama olmadığı için bu kısıt bilinçlidir.
zorven forward <host>
SNI modundaki bir ham TCP tüneline yerel bir port bağlar (ziyaretçi tarafı). Örneğin oyun sunucusuna bağlanmak için:
Ardından uygulamanı 127.0.0.1:25565 adresine bağla. Başka bir adreste dinlemek için --listen kullan. Bu komut yalnızca TCP'yi destekler; UDP için panelde ayrılmış port modunu kullan.
Ortak bayraklar
zorven, zorven http ve zorven ephemeral komutlarında kullanılabilir (0.2.2 ve üzeri; önceki sürümlerde bayraklar yalnızca zorven [port] komutundadır):
| Bayrak | Açıklama |
|---|---|
--server | Tünel sunucusu (host:port, ör. zorven.app:443) |
--token | İstemci token'ı (zrv_live_...) |
--local | Açılacak yerel servis adresi veya portu |
--ca-cert | Self-signed sunucu sertifikası dosyası |
--insecure | TLS yerine düz ws:// (yalnızca yerel geliştirme) |
--log-level | debug, info, warn, error (varsayılan warn) |
--enable-terminal / --no-terminal | Uzaktan terminal (PTY) erişimine izin ver / kapat |
--enable-screen / --no-screen | Uzaktan ekran paylaşımına izin ver / kapat |
zorven enable|disable terminal|screen | Çalışan istemcide (ön plan veya servis) izni yeniden başlatmadan aç / kapat; --persist kalıcı yapar. zorven status durumu gösterir. Çalışırken --enable-terminal vermek de aynı yola yönlenir. |
zorven up / zorven down | Arka plan servisi olarak çalıştır: gerekirse kurar, sistem açılışında otomatik başlatır ve hemen başlatır (--token, --enable-terminal, --enable-screen kalıcı ayar yazar). down durdurur, --remove sistemden kaldırır. Yönetici/root yetkisi gerekir. |
zorven autostart on|off | Servisin sistem açılışında otomatik başlamasını aç / kapat |
--no-auto-update | Otomatik güncellemeyi kapat |
--print-url | Makine tarafından okunabilir zorven-url: <url> satırları yaz (SDK ve betikler için) |
Servis modu
Servis modunda istemci oturum açmasan da arka planda çalışır ve bilgisayar açıldığında kendiliğinden başlar (Windows Service veya systemd). Kurulum betikleri bunu zaten yapar; elle kurmak için yönetici/root yetkisiyle:
| Komut | Ne yapar |
|---|---|
zorven service install | Servisi sisteme kaydeder (--token/-t, --server/-s sistem ayarına yazılır) |
zorven service start | Servisi başlatır |
zorven service stop | Servisi durdurur |
zorven service restart | Servisi yeniden başlatır |
zorven service status | Servisin aktif durumunu gösterir |
zorven service uninstall | Servisi sistemden kaldırır |
Servis, kullanıcı ayarlarını değil sistem yapılandırmasını okur; bu yüzden token ve sunucuyu --system ile (veya service install --token ile) yazman gerekir. zorven authtoken tek başına servisi yapılandırmaz; servis için sudo zorven service install --token zrv_live_... kullan.
Yapılandırma
İstemci iki ayar dosyası kullanır: kullanıcıya ait config.json (kullanıcı yapılandırma dizinindeki zorven klasöründe) ve servis modu için sistem geneli dosya (Linux/macOS: /etc/zorven/config.json, Windows: %ProgramData%\zorven\config.json). Geçerli değerleri görmek için zorven config show çalıştır.
Ortam değişkenleri de desteklenir:
| Değişken | Kullanım |
|---|---|
ZORVEN_TOKEN | İstemci token'ı (yalnızca tünel komutları: zorven, http, ephemeral) |
ZORVEN_SERVER | Sunucu adresi (host:port; tünel komutları ve connect) |
ZORVEN_API_TOKEN | zorven connect için API token'ı |
Sunucu adresi belirtilmezse varsayılan zorven.app:443 kullanılır. Kendi sunucunda çalıştırıyorsan zorven config set-server ile kendi adresini ver.
Panel kavramları
Yönetim panel.zorven.app üzerinden yapılır. Aşağıda kavramlar ve hangi plandan itibaren kullanılabildikleri özetlenir; güncel limitler için fiyatlandırma sayfasına bak.
Organizasyon ve projeler
Her hesap bir organizasyona bağlıdır. Tünelleri, istemcileri ve domainleri projeler altında gruplayabilirsin; böylece staging, üretim veya müşteri ortamları birbirine karışmaz. Proje sayısı plana göre değişir (Free 2, Hobby 3, Pro 10, Team 50).
Tüneller
Bir istemci (cihaz) bir veya daha fazla tünel açar. Tünel türleri: HTTP/HTTPS, ham TCP (veritabanı, SSH), SNI modlu TCP ve UDP (oyun sunucuları). HTTP tünellerinde yol tabanlı yönlendirme, trafik politikası ve panelde istek denetleyicisi (başlık/gövde görüntüleme ve tek tıkla yeniden gönderme) bulunur. Tünele parola (Basic Auth) veya Google/GitHub ile ziyaretçi girişi ekleyebilirsin. Capture ile kaydedilen istekleri yeniden gönderebilir (replay) ve iki yanıtı karşılaştırabilirsin (replay diff). İstek denetleyicisi, kimlik doğrulama, politika veya IP kuralı nedeniyle erken reddedilen istekleri (401, politika, IP) kaydetmez. Node ve Python SDK'ları da vardır.
Domainler
Her tünel ücretsiz kiracı adresi (ad--slug.zorven.app, slug organizasyonunun kısa adıdır) ve otomatik HTTPS alır. Panelde Domainler bölümünden ad.zorven.app biçiminde global bir kısa ad da alabilirsin (ilk gelen alır): Pro'da 1, Team'de 3, Enterprise'da 10 adet; Pro+. Plan düşerse kota dışında kalan kısa adlar ve özel domainler silinmez, askıya alınır (erişime kapanır); planı yükselttiğinde en eski adlardan başlayarak yeniden açılır. zorven ve rpshell içeren adlar alınamaz. Kendi alan adını (ör. api.sirketin.com) panelden ekleyip gösterilen DNS kayıtlarını (sahiplik doğrulaması ve CNAME) oluşturduğunda Zorven sertifikayı otomatik alır ve yeniler. Özel domain Hobby+ planlarda açılır.
Sertifikalar: *.zorven.app için platform joker (wildcard) sertifikası DNS doğrulamasıyla (acme.sh) sunucu dışında alınır ve dosyadan yüklenir; özel domainler için sertifika Let's Encrypt'ten otomatik alınır (HTTP-01 ve TLS-ALPN-01). DNS doğrulaması tamamlanmamış bir özel domainde TLS el sıkışması reddedilir.
Ekip
Organizasyona e-posta davetiyle üye ekle; roller owner, admin ve member'dır. Ekip sayfası Pro+ planlarda kullanılır; üye limiti plana göre değişir (Pro 3, Team 5). Kurumsal giriş için OIDC SSO ve 2FA desteklenir.
Policy ve Secret Vault
Policy motoru Pro+, kod yazmadan panelden kural tanımlamanı sağlar: rate limit, deny, redirect, başlık ekleme (set_header), mTLS zorunluluğu (require_mTLS), WAF (waf) ve webhook imza doğrulama (verify_webhook). WAF, OWASP-lite kurallarıyla SQL enjeksiyonu, XSS, path traversal, komut enjeksiyonu ve tarayıcı User-Agent'larını yakalar; ayrıca özel regex kuralı ekleyebilirsin. Yol, sorgu, User-Agent, Referer ve Cookie kontrol edilir (istek gövdesi kontrol edilmez); eşleşen istek 403 alır. verify_webhook GitHub, Stripe, GitLab, Shopify ve Slack imzalarını doğrular (5 dakika tolerans, gövde en çok 1 MB); geçersiz imza 401 ile reddedilir. Secret Vault Pro+ sırlarını şifreli saklar; {{secret:ad}} yalnızca verify_webhook'un secret_ref alanında çözülür.
İstek işleme sırası: ücretsiz planın ilk ziyaret ara sayfası politika motorundan önce, tünel başına istek sınırı ise politikalardan sonra çalışır. Yük dengeleme Team+: round robin, ağırlıklı (weighted), en az bağlantı (least connections) ve gecikme (latency) stratejileri; HTTP ve TCP sağlık kontrolleri.
Plan kapıları
| Özellik | Plan |
|---|---|
| REST API ve API token'ları | Pro+ |
| IP izin listesi | Pro+ |
| Web ile kapı açma (TCP/UDP) | Pro+ |
| Policy motoru | Pro+ |
| Secret Vault | Pro+ |
| WAF ve webhook imza doğrulama (policy motorunun parçası) | Pro+ |
| OIDC SSO, tünel mTLS, Basic Auth, Google/GitHub ziyaretçi girişi | Tüm planlar (politika tabanlı require_mTLS Pro+) |
| Merkezi ajan yapılandırması, gelişmiş UDP | Pro+ |
| Ekip sayfası | Pro+ (üye limiti plana göre) |
| Log dışa aktarımı, Zorven Network, gelişmiş yük dengeleme | Team+ |
| Sıfır güven erişim koşulları (2FA zorunluluğu, kaynak IP aralığı) | Enterprise |
Kota aşıldığında bağlantı kesilmez, hız düşürülür: Free 1, Hobby 5, Pro 10, Team 25, Enterprise 100 Mbps. Pro planında 7 günlük ücretsiz deneme vardır. Log saklama süresi plana göre uygulanır (Free 1, Hobby 3, Pro 7, Team 30, Enterprise 90 gün; saatlik temizlik işi); denetim kaydı (audit log) 365 gün tutulur. Team'de ek cihaz (0,50 $/cihaz/ay) ve ek trafik (0,10 $/GB) panelde Kotalar ve Planlar bölümünden talep edilir; onaylandığında limitlerin artar.
Ziyaretçi giriş sayfaları
HTTP tünelinde erişim politikası (Basic Auth ya da Google / GitHub) açıksa ziyaretçiler tarayıcının parola penceresi yerine Zorven temalı bir giriş sayfası görür. Sayfa Türkçe ve İngilizce, açık ve koyu temada ve mobilde çalışır.
- Kullanıcı adı ve parola: oturum 12 saat sürer. Parolayı değiştirirsen mevcut oturumlar geçersiz olur. Aynı IP için 10 dakikada en fazla 10 başarısız deneme yapılabilir.
curlve API istemcileriAuthorization: Basicbaşlığıyla geçmeye devam eder. - Google / GitHub ile devam et: yalnızca tünelin izin verdiği sağlayıcılar görünür; izinli e-posta listesi uygulanır ve ziyaretçi hesap değiştirebilir.
- İstatistik: her deneme (yöntem, sağlayıcı, kimlik, başarı, neden, IP, user agent) kaydedilir; parola kaydedilmez. Kayıtlar planın log saklama süresi kadar tutulur.
GET /api/v1/tunnels/{id}/access-eventslisteyi,GET /api/v1/tunnels/{id}/access-events/summary?window=24h|7d|30dözeti verir (analytics:readkapsamı). Panel ekranı sonra gelecek.
Web ile kapı açma (TCP/UDP) Pro+
Ham TCP/UDP (SNI dahil) tüneller için ziyaretçi web üzerinden giriş yapar ve yalnızca kendi IP adresi tünelin portuna izinli olur. İzni olmayan bağlantılar sessizce düşer.
- Tünele önce bir giriş yöntemi ver: kullanıcı adı ve parola ya da Google / GitHub (erişim politikası).
- Kapıyı aç ve izin süresini seç:
3600(1 saat),43200(12 saat),86400(24 saat) ya da604800(7 gün). - Kapı adresini ziyaretçiyle paylaş:
door--<etiket>.zorven.app. Ziyaretçi giriş yapınca IP'si süre dolana kadar porta erişir; isterse kapıyı kendisi kapatabilir.
| Uç nokta | İş |
|---|---|
GET /api/v1/tunnels/{id}/door | Ayar ve kapı adresi |
PUT /api/v1/tunnels/{id}/door | Aç / kapat ve süre seç |
GET /api/v1/tunnels/{id}/door/grants | Aktif IP izinleri |
DELETE /api/v1/tunnels/{id}/door/grants/{grantId} | İzni iptal et (kişinin oturumunu da kapatır) |
Engellenen denemeler erişim istatistiğinde sayılır. Plan Pro'nun altına düşerse kapı otomatik kapanır. IPv6 ile IPv4 arasında eşleştirme yapılmaz.
Posta uygulamalarında kullan
Platform posta kutunu (org-adi@mail.zorven.app) mail uygulamalarında IMAP ve SMTP ile kullanabilirsin. Panelde Mail bölümündeki "Mail uygulamalarında kullan" alanından kutu başına uygulama parolası oluştur; parola bir kez gösterilir ve istediğin an iptal edilir.
| Ayar | Değer |
|---|---|
| Sunucu | mail.zorven.app |
| IMAP | Port 993, SSL/TLS |
| SMTP (gönderim) | Port 587 STARTTLS ya da port 465 SSL/TLS |
| Kullanıcı adı | Tam posta adresin |
| Parola | Panelde oluşturduğun uygulama parolası |
| Klasörler | INBOX, Sent, Trash, Drafts (IDLE ile anlık bildirim) |
- Gmail uygulaması (Android / iOS): hesap ekle, "Diğer" ya da "Kişisel (IMAP)" seç, yukarıdaki ayarları gir.
- Outlook ve Thunderbird: otomatik yapılandırma (autoconfig / autodiscover) uç noktaları vardır; adresi girmen yeterli olabilir.
- Apple Mail: panelden yapılandırma profilini indirip kur.
- Harici alıcılara gönderim webmail ile aynı plan kuralına bağlıdır (Enterprise); platform içi adreslere her zaman teslim edilir.
- POP3 sunulmaz, yalnızca IMAP vardır. Gmail'in web sitesi harici hesabı POP3 ile eklediği için gmail.com'a eklenemez; Gmail uygulamasını kullan.
API ve token'lar
Panelde yapılan her şeyi REST API ile de yapabilirsin. API erişimi Pro+ planlarda açıktır. Panelde API Anahtarları bölümünden kapsam (scope) ve süre seçerek bir API token'ı oluştur ve her isteğe Authorization başlığıyla ekle:
İki token türünü karıştırma: zrv_live_ istemci (cihaz) token'ıdır ve zorven authtoken ile kullanılır; zrv_api_ API token'ıdır ve REST API ile zorven connect için geçerlidir. Tüm uçlar ve kapsamlar için API referansına bak.
Yardım
Sık sorulan sorular için SSS, sistem durumu için durum sayfası, diğer konular için iletişim sayfası. İstemci ve sunucu kodu açık çekirdektir (AGPLv3): GitHub.