Linux sunucuya kurulum
install.sh release binary'sini indirir, sha256 digest'ini kontrol eder, admin hesabını oluşturur ve r3v3rs3'ü systemd servisi olarak çalıştırır. Tek bir komut kurar, aynı komut sonra yükseltir.
Başlamadan önce
Script şunları ister:
- systemd çalışan bir Linux. Başka bir init sisteminde durur.
x86_64veyaaarch64mimarisi. Başkası için release binary'si yoktur.- root ve şu komutlar:
curl,tar,xz,sha256sum,systemctl.
Adım 1: Script'i çalıştırın
$ curl -fsSL https://raw.githubusercontent.com/KilimcininKorOglu/r3v3rs3/main/install.sh | sudo bash
Script iki soru sorar:
- Admin WebUI adresi. Varsayılan
127.0.0.1:46492değeridir, yani panel yalnız sunucunun kendisinde cevap verir.0.0.0.0:46492değerini yalnız o portu bir firewall veya bir VPN koruyorsa yazın. - Admin kullanıcı adı, sonra parola. Başarısız denemeden sonra tekrar sorar, toplam üç kez.
Çıktı bütün yolları yazar:
r3v3rs3 v1.0.1 is running.
WebUI: http://127.0.0.1:46492/
Binary: /usr/local/bin/r3v3rs3
Config: /etc/r3v3rs3
Logs: /var/log/r3v3rs3 and journalctl -u r3v3rs3
Service: systemctl status|restart|stop r3v3rs3
Add user: /usr/local/bin/r3v3rs3 add-user --config-dir /etc/r3v3rs3 <name>
Soru sormadan kurmak için iki option da vardır:
$ curl -fsSL https://raw.githubusercontent.com/KilimcininKorOglu/r3v3rs3/main/install.sh \
| sudo bash -s -- --version 1.0.1 --webui 0.0.0.0:46492
Terminal olmadan, pipe içinden çalışan bir script hesap oluşturmaz. Onun yerine komutu yazar:
$ sudo r3v3rs3 add-user --config-dir /etc/r3v3rs3 admin
Adım 2: Servisi kontrol edin
$ systemctl is-enabled r3v3rs3
enabled
$ systemctl is-active r3v3rs3
active
$ curl -o /dev/null -w '%{http_code}\n' http://127.0.0.1:46492/
200
Script /etc/systemd/system/r3v3rs3.service dosyasını yazar:
[Service]
Type=simple
Environment=R3V3RS3_CONFIG_DIR=/etc/r3v3rs3
Environment=R3V3RS3_LOG_DIR=/var/log/r3v3rs3
Environment=R3V3RS3_WEBUI=127.0.0.1:46492
ExecStart=/usr/local/bin/r3v3rs3 start
KillSignal=SIGINT
Restart=on-failure
RestartSec=5
LimitNOFILE=1048576
KillSignal=SIGINT satırı önemlidir: r3v3rs3 SIGINT ile düzgün kapanır. LimitNOFILE=1048576 file descriptor limitini yükseltir, çünkü her bağlantı bir tane ister.
Servis root olarak çalışır, bu yüzden r3v3rs3 1024 altındaki bir portu ek ayar olmadan bağlar.
Adım 3: Paneli açın
Varsayılan adres yalnız sunucuda cevap verir. Portu dışarı açmak yerine SSH ile ulaşın:
$ ssh -L 46492:127.0.0.1:46492 kullanici@sunucunuz
http://localhost:46492/ adresini açın ve Adım 1'deki hesapla giriş yapın. Başlangıç rehberi ilk port ve ilk proxy ile devam eder.
Dosyalar nerede
| Yol | İçerik |
|---|---|
/usr/local/bin/r3v3rs3 | Binary. |
/etc/r3v3rs3 | accounts.toml, proxies.toml, ports.toml, access_lists.toml, acme.toml, config.toml ve sertifikalar. Dizinin modu 0700 değeridir. |
/var/log/r3v3rs3 | Audit log'u tutan log.db. Dizinin modu 0750 değeridir. |
Sunucu log'unu journalctl -u r3v3rs3 gösterir. /etc/r3v3rs3/acme.toml dosyası ACME hesap key'lerini ve DNS provider credential'larını düz metin tutar, bu yüzden bütün dizini yedekleyin ve yedeği koruyun.
Yükseltme
Aynı komutu tekrar çalıştırın:
$ curl -fsSL https://raw.githubusercontent.com/KilimcininKorOglu/r3v3rs3/main/install.sh | sudo bash
- Script binary'yi rename ile değiştirir, çünkü çalışan servis eski dosyayı açık tutar.
- Config'i ve hesapları korur. İkinci bir hesap oluşturmaz.
- WebUI sorusunda varsayılan olarak kurulu servisin adresini sunar, yani Enter adresi korur.
- Servisi restart eder ve WebUI cevap verene kadar bekler. WebUI 30 saniye sessiz kalırsa
systemctl statusçıktısını ve son 50 journal satırını yazar, sonra durur.
Bir filoyu adım adım yükseltirken sürümü --version 1.0.1 ile sabitleyin.
Kaldırma
$ sudo systemctl disable --now r3v3rs3
$ sudo rm /etc/systemd/system/r3v3rs3.service /usr/local/bin/r3v3rs3
$ sudo systemctl daemon-reload
Bu adımlar /etc/r3v3rs3 ve /var/log/r3v3rs3 dizinlerini bırakır. Onları yalnız hiçbir sertifikayı ve hesabı saklamayacaksanız silin.
Diğer kurulum yolları
- Docker: iki volume ile tek container.
cargo binstall r3v3rs3veyacargo install r3v3rs3: crates.io paketi WebUI'yi içinde taşır, bu yüzden trunk istemez.- Releases sayfası: elle kurulum için arşiv. Binary'yi
PATHiçine koyun ve kendi unit dosyanızı yazın.
Sonraki adımlar
- Başlangıç: ilk port ve ilk proxy.
- Config dosyaları: config dizinindeki her dosyanın içeriği.
- Yüksek erişilebilirlik: tek state paylaşan birkaç sunucu.