Linux sunucuya kurulum
install.sh release binary'sini indirir, sha256 özetini 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 bir soru sorar:
- Admin WebUI adresi. Varsayılan
127.0.0.1:46492değeridir, yani panel yalnız sunucunun kendisinde yanıt verir.0.0.0.0:46492değerini yalnız o portu bir firewall veya bir VPN koruyorsa yazın.
Kurulumun son adımı admin hesabını oluşturur. --password verilmezse script güçlü rastgele bir parola üretir ve bir kez basar:
r3-server v2.6.7 is running.
WebUI: http://127.0.0.1:46492/
Server: /usr/local/bin/r3-server
Agent: /usr/local/bin/r3-agent
CLI: /usr/local/bin/r3
Config: /etc/r3v3rs3
Logs: /var/log/r3v3rs3 and journalctl -u r3-server
Service: systemctl status|restart|stop r3-server
Add user: /usr/local/bin/r3-server add-user --config-dir /etc/r3v3rs3 <name>
Admin: admin
Password: C579ts1HwZwMB2DpbtvhDTMk
The script printed the password only here. Store it in a password manager now.
Yeni hesabın parolasını seçmek için --password verin:
$ curl -fsSL https://raw.githubusercontent.com/KilimcininKorOglu/r3v3rs3/main/install.sh \
| sudo bash -s -- --password s3cret-PASSWORD
Yükseltme mevcut hesapları korur ve parola basmaz. Script, adres loopback dışına bağlanıyorsa WebUI portunu local firewall'da açar: önce çalışan bir firewalld'a veya aktif bir ufw'ya kural ekler. Başka araç yoksa ve catch-all REJECT veya DROP kuralı portu engelliyorsa bir iptables accept kuralı ekler. netfilter-persistent varsa kuralı kaydeder.
Tüm seçenekler soru sormadan kurmak için de çalışır:
$ curl -fsSL https://raw.githubusercontent.com/KilimcininKorOglu/r3v3rs3/main/install.sh \
| sudo bash -s -- --version 2.6.7 --webui 0.0.0.0:46492
Adım 2: Servisi kontrol edin
$ systemctl is-enabled r3-server
enabled
$ systemctl is-active r3-server
active
$ curl -o /dev/null -w '%{http_code}\n' http://127.0.0.1:46492/
200
Script /etc/systemd/system/r3-server.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/r3-server start
KillSignal=SIGINT
Restart=on-failure
RestartSec=5
LimitNOFILE=1048576
KillSignal=SIGINT satırı önemlidir: r3-server 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 r3-server 1024 altındaki bir portu ek ayar olmadan bağlar.
Adım 3: Paneli açın
Varsayılan adres yalnız sunucuda yanıt 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/r3-server | Sunucu binary'si. |
/usr/local/bin/r3-agent | Agent binary'si (r3-server sembolik linki). |
/usr/local/bin/r3 | CLI istemci binary'si. |
/etc/r3v3rs3 | r3v3rs3.db (birleşik veritabanı), r3v3rs3.key (ana şifreleme anahtarı) ve certs/. Dizinin modu 0700 değeridir. |
/var/log/r3v3rs3 | Denetim kaydını tutan log.db. Dizinin modu 0750 değeridir. |
Sunucu log'unu journalctl -u r3-server gösterir. /etc/r3v3rs3/r3v3rs3.db tüm yapılandırma ve durum verilerini, r3v3rs3.key ise ana şifreleme anahtarını 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 yeniden adlandırarak değiştirir, çünkü çalışan servis eski dosyayı açık tutar.
- Yapılandırmayı ve hesapları korur. İkinci bir hesap oluşturmaz.
- WebUI sorusunda varsayılan olarak kurulu servisin adresini sunar, yani Enter adresi korur.
- Servisi yeniden başlatır ve WebUI yanıt 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 2.6.7 ile sabitleyin.
Kaldırma
$ sudo systemctl disable --now r3-server
$ sudo rm /etc/systemd/system/r3-server.service /usr/local/bin/r3-server /usr/local/bin/r3-agent /usr/local/bin/r3
$ 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.
Agent kurma
Deploy platformunun bir agent hedefi, uygulamaları başka bir sunucuda çalıştırır. O sunucuda Docker Engine çalışmalıdır. Master'da platformu açın ve config.toml dosyasının [platform] bölümüne agent_port değerini (agent'lar başka bir ada bağlanıyorsa agent_host değerini de) yazın, sonra master'ı yeniden başlatın. Hedefi master'daki Hedefler sayfasında ekleyin, sonra sayfanın gösterdiği komutu çalıştırın:
$ curl -fsSL https://raw.githubusercontent.com/KilimcininKorOglu/r3v3rs3/main/install.sh \
| sudo bash -s -- --agent --master master.example.com:9443
Script kayıt token'ını gizli (echo olmadan) ister, böylece secret süreç argümanlarında veya shell geçmişinde görünmez. Aynı binary'yi kurar ve r3-agent komutunu r3-agent systemd servisi olarak çalıştırır:
[Service]
Type=simple
Environment=R3V3RS3_AGENT_MASTER=master.example.com:9443
Environment=R3V3RS3_AGENT_DATA_DIR=/var/lib/r3v3rs3-agent
EnvironmentFile=-/var/lib/r3v3rs3-agent/token.env
ExecStart=/usr/local/bin/r3-agent
KillSignal=SIGINT
Restart=always
RestartSec=5
Token yalnız agent kaydolana kadar token.env dosyasında (mod 0600) kalır. Script kayıt için en fazla 30 saniye bekler, sonra dosyayı siler. Kayıt başarısız olursa journal'ın son 50 satırını yazar ve durur. Agent bağlıyken Hedefler sayfası hedefi Bağlı olarak gösterir.
Agent'ı güncellemek için script'i token vermeden --agent ile yeniden çalıştırın. Sunucuyu yeniden kaydetmek için Hedefler sayfasında Yeni token oluşturun ve onu --token ile verin. Agent'ı kaldırmak için:
$ sudo systemctl disable --now r3-agent
$ sudo rm /etc/systemd/system/r3-agent.service
$ sudo systemctl daemon-reload
/var/lib/r3v3rs3-agent dizini agent'ın key'ini ve Compose uygulamalarının dosyalarını tutar.
Diğer kurulum yolları
- Releases sayfası: elle kurulum için derlenmiş binary arşivleri. Binary'yi
PATHiçine koyun ve kendi unit dosyanızı yazın.
Sonraki adımlar
- Başlangıç: ilk port ve ilk proxy.
- Yapılandırma dosyaları: yapılandırma dizinindeki her dosyanın içeriği.