# CLI Referansı

`sqctl`, SecurQbit'i bir terminalden yönetme biçiminizdir. Arka plan servisiyle yerel bir soket üzerinden konuşur; hiçbir kimlik bilgisi tutmaz ve kendine ait bir yetkiye ihtiyaç duymaz. Henüz kurmadıysanız [Masaüstü ve Router Kurulumu](/cli-installation) ile başlayın.

Her komut `--json` kabul eder; bu, biçimlendirilmiş çıktı yerine ham belgeyi yazdırır. Betik yazarken hedeflemeniz gereken arayüz odur — insan için düzenlenmiş görünüm değişebilir.

## Bir bakışta

```text
sqctl status                        VPN açık mı, hangi hesapla
sqctl login                         tarayıcıda bir bağlantıyı onaylayarak giriş
sqctl logout
sqctl locations                     bu planın kullanabildiği ülkeler
sqctl connect [COUNTRY] [--fastest]
sqctl disconnect
sqctl set                           tercihleri göster
sqctl set country DE|any
sqctl set autoconnect on|off
sqctl set updates on|off
sqctl update [--check] [--yes]      en son sürümü kur
```

## sqctl status

Korunuyor musunuz ve hangi hesapla, onu gösterir.

```text
$ sqctl status

  ● Connected      Germany
    Connected for  12m 40s
    Transferred    ↓ 148 MB   ↑ 22 MB

    Account        Alice  alice@example.com
    Plan           Monthly
    Renews         1 September 2026
```

Tünelin nasıl kurulduğuna dair hiçbir şeyi bilerek göstermez — ne sunucu adresi ne oturum kimliği. Bunların hiçbiriyle bir şey yapamazsınız; özellikle sunucu adresi de yardım isterken bir ekran görüntüsüne sızması gereken bir şey değildir.

Servis çalışmıyorsa `sqctl` bunu söyler ve *bu* makinede onu başlatan komutu yazdırır — init sistemi hangisiyse ona göre.

## sqctl login

Bu bilgisayarı bir tarayıcıda onaylatarak giriş yapar.

```text
$ sqctl login

Open this link to approve the sign-in:

    https://accounts.securqbit.com/device?code=BCDF-GHJK

Check the page shows this code:

    B C D F - G H J K

Waiting for approval — expires in 10 minutes, Ctrl-C to cancel
```

Bağlantıyı açın — `sqctl` sizin için açmayı dener, `--no-browser` bunu engeller —, henüz giriş yapmadıysanız yapın, **sayfadaki kodun terminalinizdekiyle aynı olduğunu doğrulayın** ve onaylayın. Terminale hiçbir şey geri yazılmaz.

Bu karşılaştırma, bu akışın güvenliğinin tamamıdır.

> **Yalnızca kendi başlattığınız bir isteği onaylayın.** Biri size böyle bir bağlantı gönderdiyse ve siz onayladıysanız, *onun* bilgisayarını *sizin* hesabınıza sokmuş olursunuz. Sayfada görünen kod ve makine adı, tam da bu farkı görebilmeniz için oradadır.

Giriş için önceden var olan bir hesap gerekir. [iOS veya Android uygulamasından](/installation) bir tane oluşturun — [misafir hesabı](/anonymous-accounts) dahil; o da kurtarma koduyla accounts.securqbit.com'a girer ve diğerleri gibi oradan onaylar.

## sqctl logout

VPN'i kapatır ve bu bilgisayarın oturumunu kapatır. Tünel önce indirilir, bilerek: az önce iptal edilmiş kimlik bilgileri üzerinde açık bırakmak, trafiğinizi sunucunun birazdan sileceği bir oturumda ortada bırakırdı.

[Misafir hesabında](/anonymous-accounts) önce onay istenir, çünkü kurtarma kodu olmadan tekrar giriş yapamazsınız. `--force` bu soruyu atlar.

## sqctl connect

```bash
sqctl connect            # kayıtlı tercihiniz
sqctl connect DE         # Almanya'da görünmek
sqctl connect --fastest  # seçimi SecurQbit yapsın
```

Ülke iki harfli bir koddur — planınızın izin verdiklerini görmek için `sqctl locations` çalıştırın. Bağlanmak birkaç saniye sürer; terminal sessiz kalmak yerine gerçek durumu değiştikçe izler.

> **Deneme planları ülke seçemez.** Deneme planında `--fastest` kullanın. Bir ülke belirtmek, sizi sessizce başka bir yere bağlamak yerine ücretli plan gerektiğini belirten bir hata döndürür. Bkz. [Hesap ve Faturalandırma](/account-billing).

## sqctl disconnect

Tüneli indirir ve yönlendirmenizi ve DNS'inizi eski haline döndürür.

Bağlantıyı kesmek aynı zamanda SecurQbit'e *dur* demektir. Bir tünel kendiliğinden düşerse servis onu geri getirmek için çalışmayı sürdürür — uykudan uyanan bir dizüstünde veya bağlantısı dalgalanan bir router'da isteyeceğiniz şey budur. Bu niyeti yalnızca `sqctl disconnect`, oturumu kapatmak veya servisi durdurmak iptal eder.

## sqctl locations

Planınızın kullanabildiği ülkeleri adlarıyla listeler.

```text
$ sqctl locations

    DE             Germany
    FR             France
    NL             Netherlands
    SG             Singapore
    US             United States
```

## sqctl set

Tercihlerinizi gösterir veya değiştirir. Üç tanedir ve gerçekten sizin seçmeniz gereken üç şey bunlardır.

```bash
sqctl set                    # üçünü de göster
sqctl set country DE         # varsayılan Almanya
sqctl set country any        # varsayılan en hızlısı
sqctl set autoconnect on     # makine açılır açılmaz bağlan
sqctl set updates off        # yeni sürüm aramayı bırak
```

```text
$ sqctl set

    Location       Germany (DE)
    Auto-connect   on
    Updates        on
```

Tünelle ilgili geri kalan her şey — nasıl kurulduğu, DNS olarak neyi kullandığı, nasıl yeniden denediği — sizin adınıza kararlaştırılmıştır ve CLI'dan erişilemez. Bunlar, sunulmakla bir VPN'i iyileştiren tercihler değildir.

`updates` sabit değil bir ayardır, çünkü bu kontrol SecurQbit CDN'ine yapılan düzenli bir çağrıdır ve bir VPN çalıştıran kişinin buna hayır deme hakkı vardır.

## sqctl update

En son sürümü kurar.

```bash
sqctl update            # sor, sonra kur ve yeniden başlat
sqctl update --check    # yalnızca var mı yok mu söyle
sqctl update --yes      # sormadan
```

```text
$ sqctl update

  ! Update available

    Installed      v1.0.0
    Latest         v1.1.0

  SecurQbit restarts to finish, so the VPN disconnects for a moment.

Install it now? [y/N]
```

İndirilen, hiçbir şey değiştirilmeden önce yayımlanmış sağlama toplamlarıyla karşılaştırılır ve servis yeni sürümle yeniden başlatılır. `sqctl` onun geri gelmesini bekler ve sürümü ondan okur; böylece size diske yazılan değil, gerçekten çalışan sürüm bildirilir.

SecurQbit ayrıca günde bir kez kendi başına bakar ve yalnızca size söyler — `sqctl status` altında bir satır:

```text
    Update         v1.1.0 available — run: sqctl update
```

Asla kendi başına kurmaz. Bir güncellemeyi tamamlamak yeniden başlatmak demektir ve yeniden başlatmak açık olan tüneli düşürür; bunu birine haber vermeden yapmak, onu bir sürüm geride bırakmaktan daha kötüdür.

SecurQbit dağıtımınızın paket yöneticisiyle kurulduysa, `sqctl update` hiçbir şey indirmeden reddeder ve onu nasıl kurduysanız öyle güncellemenizi söyler.

## Betik yazmak

Herhangi bir komuta eklenen `--json`, protokol belgesini yazdırır:

```bash
$ sqctl status --json | jq '.state, .country'
"connected"
"DE"
```

```bash
# Bağlan ve gerçekten işe yaradığını doğrula
sqctl connect --fastest --json > /dev/null
test "$(sqctl status --json | jq -r .state)" = connected
```

Çıkış kodları: `0` başarılı, `1` komut başarısız, `2` SecurQbit servisine ulaşılamıyor.

## Bir şey ters gittiğinde

`sqctl` hataları üzerine bir şey yapabileceğiniz bir dile çevirir ve iç ayrıntıları yolunuzdan çeker. O ayrıntılara ihtiyacınız olduğunda — bir hata bildirimi için — gizli bir tanılama komutu vardır:

```bash
sqctl debug          # sürümler, her şeyin nerede olduğu, hangi soketin yanıtladığı,
                     # tünel motoru ve ham son hata
sqctl debug probe DE # bir sunucuyu BAĞLANMADAN uçtan uca test et
```

İşe yarayanı `sqctl debug probe`. Gerçek bir sunucuya karşı proxy'yi başlatır, üzerinden bir istek gönderir ve karşı tarafın gördüğü adresi bildirir — ama hiçbir tünel aygıtı oluşturmaz ve hiçbir yönlendirmeyi değiştirmez; yani yol çalışmıyorsa bile size internetinize mal olmadan durumu söyler.

Bir sorun bildirirken `sqctl debug` çıktısını ekleyin. Bkz. [Sorun Giderme](/troubleshooting).

## Sonraki adımlar

- [Masaüstü ve Router Kurulumu](/cli-installation) — kurma, güncelleme ve kaldırma.
- [Sunucuya Bağlanma](/connecting) — sunucu seçimi nasıl çalışır.
- [Güvenlik Duvarı Aşma ve Gizleme](/firewall-bypass) — kısıtlı bir ağda.
