Bloga dön
Ağustos 19, 2026Rehberler

VPS Üzerine 3X-UI Paneli Nasıl Kurulur

Ubuntu üzerinde 3X-UI Xray panelini kurmaya, web arayüzünü kilitlemeye, TLS vermeye, VLESS Reality inbound oluşturmaya, kullanıcıları yönetmeye ve masaüstü ile mobil istemcileri bağlamaya dair üretim odaklı tam rehber.

VPS Üzerine 3X-UI Paneli Nasıl Kurulur

3X-UI, Xray-core için bir web panelidir. Inbound’ları (VLESS, VMess, Trojan, Shadowsocks ve diğerleri) yönetmenize, abonelik bağlantıları üretmenize, trafik limitleri ve son kullanma tarihleri koymanıza ve JSON’u elle düzenlemeden canlı bağlantıları izlemenize olanak tanır. Zaten bir VPS çalıştıranlar için, altı ay sonra kimsenin güncelleyemeyeceği tek seferlik bir yapılandırma yerine bakımı yapılabilir bir proxy yığını kurmanın en hızlı yollarından biridir.

Bu rehber, çoğu Hiddence Linux imajının ilk açılıştan sonra göründüğü gibi taze bir Ubuntu 22.04 veya 24.04 VPS için yazıldı. Yaygın kullanılan MHSanaei 3X-UI derlemesini kuracağız, ilk girişte tüm varsayılan sırları değiştireceğiz, paneli HTTPS arkasına alacağız, yalnızca gerçekten ihtiyaç duyduğunuz portları açacağız, bir VLESS + Reality inbound oluşturacağız ve ardından istemci uygulamalarını adım adım geçeceğiz. Marzban makalemizi zaten izlediyseniz fikir benzerdir — Xray üstünde bir panel — ancak kurulum yolu, dosya düzeni ve günlük iş akışı farklıdır; portları ayırmayı gerçekten bilmiyorsanız ikisini aynı sunucuda karıştırmayın.

Ham bir Xray yapılandırması yerine neden 3X-UI

Ham bir Xray yapılandırması tek kullanıcı ve tek inbound için yeterlidir. Arkadaş eklediğiniz, Reality anahtarlarını döndürdüğünüz veya telefonların tek dokunuşla içe aktaracağı bir abonelik URL’sine ihtiyaç duyduğunuz anda panel saatler kazandırır. 3X-UI kullanıcıları yerel bir veritabanında saklar, değişikliklerden sonra Xray’i temiz yeniden başlatabilir ve trafik ile çevrimiçi durum için kompakt bir gösterge paneli sunar. Kendi başına sihirli bir anonimlik katmanı değildir: VPS konumu, TLS parmak izi, inbound türü ve sizin operasyonel hijyeniniz kurulumun ağda nasıl davrandığını hâlâ belirler.

  • Elle düzenlenen JSON yerine inbound’lar, istemciler, trafik ve son kullanma için web arayüzü
  • v2rayN, v2rayNG, Streisand, Happ ve benzeri istemciler için yerleşik abonelik bağlantıları
  • Tek komutla kurulum artı belgelenmiş bir güncelleme yolu
  • Küçük bir VPS’te iyi çalışır (kişisel kullanım için 1 vCPU / 1 GB RAM yeterlidir)
  • Kök erişim kendi sunucunuzda kalır — panel yapılandırmaları üçüncü taraf bir buluta göndermez

Başlamadan önce ihtiyacınız olanlar

Alan adı ve güvenlik duvarı kısımlarını atlamayın. 2053 portunda HTTP’de varsayılan parolayla bırakılan bir panel, botlar tarafından saatler içinde taranır. Bu öğeleri hazırlayın, ardından SSH üzerinden root (veya sudo kullanıcısı) olarak bağlanın.

  • Genel bir IPv4 adresine sahip bir Linux VPS (Ubuntu 22.04/24.04 önerilir)
  • En az 1 GB RAM ve 10 GB disk; başka hizmetler de çalıştırıyorsanız 2 GB RAM daha rahattır
  • SSH üzerinden root veya sudo erişimi
  • VPS IP’sine A kaydı yönlendiren bir alan adı veya alt alan adı (düzgün bir panel sertifikası için gerekir)
  • Yaklaşık 20–30 dakika, artı A kaydını yeni oluşturduysanız DNS bekleme süresi

Adım 1: Sistemi güncelleyin ve saat dilimini ayarlayın

Yeni bir VPS’te genellikle bekleyen güvenlik güncellemeleri ve UTC saati vardır. Yükleyicinin eski bir OpenSSL veya curl ile savaşmaması için önce paketleri güncelleyin. Saat dilimini ayarlamak Xray’in kendisi için isteğe bağlıdır, ancak panel günlüklerini ve sertifika son kullanma tarihlerini okumayı çok kolaylaştırır.

bash
ssh root@YOUR_VPS_IP

apt update && apt -y upgrade
apt -y install curl wget ca-certificates gnupg socat tar unzip

timedatectl set-timezone UTC
hostnamectl set-hostname panel

# Confirm DNS for your subdomain (should print your VPS IP):
dig +short panel.example.com

Adım 2: 3X-UI’yi kurun

MHSanaei 3X-UI derlemesinin resmi kurulum betiği en son sürümü indirir, Xray-core’u kurar, bir systemd hizmeti oluşturur ve ilk giriş URL’sini yazdırır. Çıktıyı dikkatle okuyun: rastgele bir yol ve üretilmiş bir kullanıcı adı/parola içerir. Bunları hemen bir parola yöneticisine kopyalayın. Betik panel portunu sorarsa 2053’ü koruyun veya kullanılmayan yüksek bir port seçin; güvenlik duvarı adımı için bunu hatırlamanız yeter.

bash
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

# After install, useful commands:
x-ui                    # interactive menu (start/stop/restart, reset, update)
systemctl status x-ui    # confirm the service is active
ss -tulpn | grep x-ui    # see which port the panel listens on
Bu SSH oturumunu açık tutun. Panelden kendinizi kilitlerseniz, sunucudaki x-ui menüsü yönetici parolasını yeniden kurulum yapmadan sıfırlayabilir.

Adım 3: İlk giriş ve hemen sıkılaştırma

Yükleyicinin yazdırdığı URL’yi açın; genellikle http://YOUR_IP:2053/<random-path>. Üretilen kimlik bilgileriyle giriş yapın, ardından Panel Ayarları (veya Yapılandırma) bölümüne gidin. Kullanıcı adı ve parolayı benzersiz değerlere değiştirin. Panel web taban yolunu değiştirmenize izin veriyorsa yapın — uzun rastgele bir yol rastgele taramaların büyük kısmını keser. 2053 dışında bir şey istiyorsanız dinleme portunu ayarlayın. Kaydedin ve paneli arayüzden veya systemctl restart x-ui ile yeniden başlatın, ardından yeni URL’den tekrar giriş yapın.

Ardından derlemeniz sunuyorsa iki faktörlü kimlik doğrulamayı açın ve asla kullanmayacağınız inbound şablonlarını kapatın. Xray ayarlarında, başka bir derlemeyi sabitlemek için belirli bir nedeniniz yoksa panelle gelen çekirdek sürümünü bırakın. Bu portlar daha sonra Reality veya bir ters proxy tarafından kullanılacaksa paneli henüz 80/443 üzerinde açmayın — bir strateji seçin ve ona bağlı kalın.

  • Üretilen yönetici girişini hemen değiştirin
  • Gizli web yolunu koruyun; paneli / konumuna taşımayın
  • Varsayılan olmayan bir panel portunu tercih edin ve kaydedin
  • Bu parolayı başka hizmetlerde asla yeniden kullanmayın

Adım 4: Panel için TLS sertifikası

Tarayıcılar HTTP’de uyarı verir ve genel bir ağda yönetici parolasını açık metin göndermek kötü bir fikirdir. Port 80 boşsa ve alan adı bu VPS’e işaret ediyorsa 3X-UI bir Let's Encrypt sertifikası isteyebilir. Panelde sertifika / SSL bölümünü açın, panel.example.com girin ve sertifikayı talep edin. Port 80 zaten doluysa DNS-01 akışı kullanın veya öne Caddy/Nginx koyup 127.0.0.1:2053’e ters proxy yapın.

bash
# Quick check that port 80 is free before the panel ACME challenge:
ss -tulpn | grep ':80'

# If you terminate TLS on Caddy instead of inside 3X-UI:
# Caddyfile example (panel stays on 127.0.0.1:2053):
# panel.example.com {
#     reverse_proxy 127.0.0.1:2053
# }
Paneldeki sertifika yalnızca web arayüzü içindir. VLESS Reality farklı bir TLS hikâyesi kullanır (başka bir site gibi kamufle olur) ve istemci trafiği için bu Let's Encrypt dosyasını kullanmaz.

Adım 5: Bir VLESS Reality inbound oluşturun

Inbound’larda yeni bir inbound oluşturun. Birçok ağ için sağlam bir varsayılan, Reality ve TCP ile VLESS’tir. Panel portu olmayan bir port seçin — başka bir şey bağlı değilse 443 yaygındır; aksi halde yüksek bir TCP portu kullanın ve güvenlik duvarında tutarlı olun. İlk istemci için bir UUID üretin, arayüzde Reality anahtar çiftlerini oluşturun ve dest / serverNames değerlerini taklit etmenize izin verilen meşru bir hedefe ayarlayın (TLS 1.3 destekleyen tanınmış bir site). Inbound’u kaydedin ve panel günlüklerinde Xray’in hatasız yeniden yüklendiğini doğrulayın.

Ardından ihtiyaç duyarsanız aynı inbound’a ekstra istemciler ekleyin: her kullanıcı bir UUID, isteğe bağlı e-posta etiketi ve isteğe bağlı trafik veya süre limiti alır. Bağlantı bağlantısını veya abonelik URL’sini kullanıcı satırından kopyalayın. Bu bağlantıları genel sohbetlerde paylaşmayın; bir parolaya eşdeğerdirler.

bash
# On the server, confirm Xray is listening on the inbound port (example: 443):
ss -tulpn | grep -E ':443|:2053'

# Follow Xray logs if a client cannot connect:
journalctl -u x-ui -f

Adım 6: Güvenlik duvarı — yalnızca ihtiyaç duyduğunuz portlar

Ubuntu’da UFW yeterlidir. Kendinizi kilitlememek için önce SSH’ye izin verin, ardından panel portu ve inbound portu. Sertifikayı panelden Let's Encrypt ile istediyseniz, düzenleme sırasında 80/tcp’ye de izin verin. 443 üzerindeki Reality inbound 443/tcp ister (ve aynı portta panel olmamalıdır).

bash
ufw allow OpenSSH
ufw allow 2053/tcp comment '3x-ui panel (change if you picked another port)'
ufw allow 443/tcp comment 'VLESS Reality inbound'
# ufw allow 80/tcp comment 'only if panel ACME needs it'
ufw enable
ufw status verbose

İstemcileri bağlayın

Windows’ta v2rayN, panodan bir VLESS bağlantısını içe aktarabilir. Android’de v2rayNG veya benzeri Xray istemcileri QR kodundan aynısını yapar. iOS’ta VLESS Reality destekleyen bir istemci kullanın (bölgenizde o anda ne varsa, örneğin Streisand veya Happ). İçe aktardıktan sonra profili etkinleştirin ve panelin çevrimiçi listesini kontrol edin. İstemci çevrimdışı kalırsa olağan nedenler yanlış port, yalnızca TCP inbound’da UDP’nin açık bırakılması, dest ile eşleşmeyen bir Reality serverName veya dizüstü bilgisayardaki yerel güvenlik duvarıdır.

  • Windows: v2rayN — VLESS bağlantısını içe aktarın, yönlendirmeyi ihtiyacınıza göre ayarlayın (küresel veya kural tabanlı)
  • Android: v2rayNG — panel kullanıcı sayfasından QR tarayın
  • macOS / iOS: VLESS + Reality destekli bir istemci; aynı bağlantıyı yapıştırın
  • Abonelik URL’si: UUID döndürmelerinde elle yeniden içe aktarma gerekmemesi için istemciye ekleyin

Güncellemeler, yedekleme ve yeniden kurulum güvenliği

Her panel güncellemesinden önce arayüzden bir yedek indirin (veritabanı + yapılandırma). VPS’in dışında saklayın. Güncellemeler genellikle x-ui, ardından menüdeki güncelleme seçeneği veya mevcut kurulumu algılayan aynı kurulum betiğidir. Güncellemeden sonra systemd hizmetinin etkin olduğunu ve inbound’ların hâlâ dinlediğini doğrulayın. İşletim sistemini yeniden kurarsanız her UUID’yi elle yeniden oluşturmak yerine yedeği panelde geri yükleyin.

bash
x-ui   # choose update when prompted, or:
# bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

# Backup files commonly live under /etc/x-ui/ — copy them off-box:
ls -la /etc/x-ui/
# Example offsite copy:
# scp -r /etc/x-ui/ you@backup-host:~/x-ui-backup-$(date +%F)/

Sorun giderme

İlk gün arızalarının çoğu DNS, portlar veya Reality alanlarıdır. Paneli yeniden kurmadan önce bu listeyi tarayın. Yedeksiz yeniden kurulum, her istemci UUID’sini kaybetmenin yoludur.

  • Web arayüzü açılmıyor: systemctl status x-ui, ss -tulpn ve UFW’yi kontrol edin. URL’de gizli yolu eklediğinizden emin olun.
  • Yönetici parolasını unuttunuz: sunucuda x-ui çalıştırın ve sıfırlama seçeneğini kullanın.
  • İstemci bağlanıyor sonra takılıyor: inbound portu engelli veya TCP Reality inbound’da UDP’yi açtınız.
  • Panelde TLS hataları: alan adı A kaydı henüz burayı göstermiyor veya ACME sırasında 80 portu meşgul.
  • Reality el sıkışması başarısız: dest/serverNames uyuşmazlığı veya 443’e zaten başka bir hizmet bağlı.
  • Yüksek CPU: 1 vCPU planda çok fazla inbound veya açık bir portta tarama/sel — ss ve panel çevrimiçi sayısını kontrol edin.

Gerçekten önemli güvenlik notları

Panele üretim yönetici yazılımı gibi davranın. Yeni kullanıcılar üretebilir ve her UUID’yi okuyabilir. Web portuna kimlerin ulaşabileceğini sınırlayın: sabit bir ofis IP’niz varsa UFW’de 2053/tcp için yalnızca o IP’ye izin verin. SSH’yi parolalarla değil anahtarlarla tutun. 443’te Reality kullanıyorsanız aynı IP’de ilgisiz genel web siteleri çalıştırmayın — bir portta yarışan TLS yığınları klasik kesinti kaynağıdır. Panel ekran görüntüsü bir sohbete sızdıysa yönetici parolasını döndürün.

  • Yalnızca SSH anahtarları; anahtarlar çalıştıktan sonra parola girişini kapatın
  • Yapabildiğinizde panel portunu güvenlik duvarında kısıtlayın
  • /etc/x-ui dizinini sunucunun dışına düzenli yedekleyin
  • Abonelik URL’lerini genel Telegram gruplarında paylaşmayın
  • Diski izleyin: günlükler ve trafik istatistikleri yoğun bir inbound’da büyür

Pratik ipuçları

  • Birçok istemcili tek inbound, neredeyse aynı on inbound’dan işletmesi daha kolaydır
  • İstemcilere cihaz adına göre isim verin (laptop-anna, phone-ben) ki trafik grafikleri bir şey ifade etsin
  • Bir web sitesi için de ters proxy gerekiyorsa siteyi başka IP veya porta koyun — Reality ile 443 için savaşmayın
  • Herhangi bir x-ui yeniden başlatmasından sonra SSH oturumunu kapatmadan bir istemciyi test edin
  • Güncellemeden önce değişiklik günlüğünü okuyun; Cuma gecesi ‘latest’ atlamalarını atlayın

Artık 3X-UI bir systemd hizmeti olarak kurulu, kilitlenmiş bir yönetici URL’si, panelde TLS, bir VLESS Reality inbound, bu portlarla eşleşen güvenlik duvarı kuralları ve bir yedekleme alışkanlığınız var. İstemcileri inbound sayfasından ekleyin, bağlantıyı her cihazda içe aktarın ve paneli yalnızca yedekten sonra güncelleyin. Bir şey bozulursa kurtarma yolu VPS’teki x-ui menüsüdür — tam yeniden kurulum değil.