Belgeler

Hızlı başlangıç + her bölüm ve her cihaz için işlev açıklamaları (sürekli güncelleniyor)

Kurulum ve kaldırma

Bu belge SSH Everywhere panelinin nasıl kurulacağını, yükseltileceğini ve kaldırılacağını ayrıntılı olarak açıklar; özellikle "kurulum dizini değiştirildikten sonra nasıl kaldırılır" konusuna ve komutlardaki biçim ayrıntılarına (boşluk, tırnak) odaklanır.

1. Kurulum (tek satırlık komut)

Genel IP'li bir Linux sunucusunda çalıştırın:

curl -fsSL https://ssheverywhere.com/install.sh | bash

Betik otomatik olarak şunları yapar: sistemi algılar → bağımlılıkları kurar (Python3 / venv / pip / git / curl) → kodu indirir → sanal ortam oluşturur → Python bağımlılıklarını kurar → systemd servisini kaydeder ve başlatır.

Debian / Ubuntu / CentOS / Rocky / AlmaLinux / Fedora / WSL desteklenir (systemd yoksa otomatik olarak arka planda çalıştırmaya geçer).

Kurulum parametreleri

ParametreAçıklamaÖrnek
--lang <kod>İpucu dili + panelin varsayılan dili (varsayılan olarak sistem locale'ine göre otomatik belirlenir; 1-16 numarası da kabul edilir)--lang ja
--dir <dizin>Kurulum dizini (varsayılan /opt/ssh-everywhere; yazılamıyorsa otomatik olarak ~/ssh-everywhere dizinine düşülür ve bu durum çıktıda açıklanır)--dir /opt/my-panel
--port <port>Panel portu (varsayılan 5501)--port 8080
--asciiYalnızca saf ASCII simge çıktısı zorlanır ([ok] / [..] / [!] / [x]), hiçbir terminalde bozuk karakter olmaz--ascii
--unicodeUnicode simge çıktısı zorlanır (✓ ⟳ ⚠️ ❌); UTF-8 ortamında varsayılan olarak budur--unicode
--yes / -yYükseltme sırasında otomatik onay, etkileşim gerekmez--yes

Desteklenen dil kodları (16)

KodDilKodDilKodDilKodDil
zh中文enEnglishja日本語ko한국어
esEspañolfrFrançaisdeDeutschruРусский
ptPortuguêsitItalianoarالعربيةtrTürkçe
viTiếng ViệtthไทยidBahasa Indonesiahiहिन्दी

--lang verilmediğinde dil, sistem locale'ine göre otomatik belirlenir (örneğin LANG=ja_JP.UTF-8 → Japonca ipuçları). Sunucunun veya terminalin locale'i UTF-8 değilse (büyük bulut sağlayıcılarının küçültülmüş imajlarında LANG=C yaygındır), betik otomatik olarak saf ASCII simgelerine [ok] geçer; dil açıkça belirtilmediyse ipucu metinlerini de İngilizceye döndürür ve nedenini başta açıklar — bunların hepsi her türlü bozuk karakteri önlemek içindir. Kendi dilinizi zorlamak için şunu kullanın: --lang xx --unicode.

Parametreleri boru (pipe) ile aktarırken bash -s -- eklenmelidir:

# Japonca ipuçları + Japonca panel
curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ja

# Rusça ipuçları + özel dizin ve port
curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ru --dir /opt/my-panel --port 8080

# Eski terminal / GBK terminalinde bozuk karakter korkusu: saf ASCII çıktı (Çince ipuçları + [ok] simgeleri)
curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang zh --ascii

# Arapça (RTL arayüz)
curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ar

Önce indirip sonra çalıştırabilirsiniz de (etkileşimli; dil, dizin ve yükseltme onayını adım adım sorar):

curl -fsSL https://ssheverywhere.com/install.sh -o install.sh && bash install.sh

> Büyük bulutlarda (Tencent Cloud / Alibaba Cloud) root girişi varsayılan olarak devre dışıdır. Açıkça verilen --dir öncelikli olarak dikkate alınır; ancak mevcut kullanıcının o dizinde yazma izni yoksa betik otomatik olarak HOME dizininize (~/ssh-everywhere) geçer ve çıktıda «hangi dizini verdiğinizi, neden değiştirildiğini ve oraya kurmak için root olarak çalıştırmanız gerektiğini» açıkça bildirir.

2. Yükseltme

Kurulum komutunu yeniden çalıştırmanız yeterlidir; betikte sürüm denetimi vardır ve yeni bir sürüm bulduğunda yükseltmeyi önerir (veriler korunur, tamamen otomatik):

curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --yes

--yes, yükseltme sırasında otomatik onay verilmesini ve etkileşim gerekmemesini sağlar.

3. Kaldırma

Varsayılan dizinden kaldırma (etkileşimli, önerilir)

curl -fsSL https://ssheverywhere.com/uninstall.sh -o uninstall.sh && bash uninstall.sh

Betik önce kaldırılacak içeriği listeler ve onay sorar; yalnızca yes yazarsanız işlem yapılır.

Etkileşimsiz / betikle kaldırma

--yes ekleyerek onayı atlayın (güvenlik doğrulamaları yine korunur):

curl -fsSL https://ssheverywhere.com/uninstall.sh | bash -s -- --yes

Kaldırma parametreleri

ParametreAçıklama
--dir <dir>kurulum dizini (varsayılan /opt/ssh-everywhere, dizin değiştirildiyse mutlaka belirtilmelidir)
--keep-datakaldırmadan önce data (sunucu yapılandırması / veritabanı) dizinini tar paketi olarak yedekler
--yesetkileşimsiz modda kaldırmayı onaylar

4. Kurulum dizini değiştirildiyse nasıl kaldırılır? (önemli)

Kurulumda --dir ile dizin değiştirildiyse, kaldırma sırasında da aynı --dir belirtilmelidir; aksi hâlde betik kurulum dizinini bulamaz ve otomatik olarak durur (bu, yanlışlıkla silmeye karşı bir güvenlik korumasıdır).

Dizin yolunda boşluk yoksa

curl -fsSL https://ssheverywhere.com/uninstall.sh -o uninstall.sh && bash uninstall.sh --dir /opt/my-panel

Boru yöntemi (--dir, bash -s -- sonrasına konur):

curl -fsSL https://ssheverywhere.com/uninstall.sh | bash -s -- --dir /opt/my-panel --yes

Dizin yolunda boşluk varsa

Dizin adında boşluk varsa tüm yolu çift tırnak içine almanız gerekir; aksi hâlde shell yolu ikiye böler ve betik dizini bulamaz:

bash uninstall.sh --dir "/opt/my panel"

Boru yöntemi için de aynıdır (tırnak tüm yolu kapsamalı, yalnızca yarısını sarmamalıdır):

curl -fsSL https://ssheverywhere.com/uninstall.sh | bash -s -- --dir "/opt/my panel" --yes

Verileri koruyarak kaldırmak isterseniz

bash uninstall.sh --dir /opt/my-panel --keep-data

data (sunucu yapılandırması / veritabanı) <install-dir>-data-backup-<timestamp>.tar.gz dosyasına yedeklenir; kaldırma sonrasında geri alınabilir.

> 💡 Öneri: Kurulum sırasında dizin adında boşluk kullanmaktan kaçının; kısa çizgi veya alt çizgi kullanın (örn. my-panel, my_panel); böylece tırnak yüzünden yaşanacak zahmetten kurtulursunuz.

5. Güvenlik açıklaması

Kaldırma betiğinde yanlışlıkla silmeyi önleyen üç katmanlı koruma bulunur:

1. Mutlak yol doğrulaması —— göreli yollar reddedilir.

2. Sistem kritik dizinleri kara listesi —— /, /root, /etc, /usr, /var vb. reddedilir.

3. Kurulum dizini parmak izi doğrulaması —— silme işlemi yalnızca VERSION ve app.py birlikte varsa yapılır, aksi hâlde durdurulur.

> Kaldırma yalnızca panelin kendisini siler; hedef sunuculardaki / cihazlardaki Agent etkilenmez (panel silindikten sonra çevrimdışı görünürler).