26497

Becerikli
Katılım
3 Eylül 2025
Mesajlar
268
Çözümler
2
Beğeniler
170
Feragatnâme:
Kod:
Bu rehberde anlatılan XRAY/XTLS ile ilgili işlemleri uygulamak tamamen **sizin kararınız**dır.
Burada yazanları yapmanız sonucunda ortaya çıkabilecek herhangi bir problemden ben sorumlu değilim.

Olası senaryolar şunları içerebilir:
- Bağlantının çalışmaması
- Servislerin saçma şekilde bozulması
- “Az önce çalışıyordu ama artık çalışmıyor” durumu
- Hiç beklemediğiniz hatalar
- Hukuki sorunlar.

XTLS’nin tüm edge-case’lerini bildiğimi, her ortamda kusursuz çalışacağını
ya da sizin sisteminizde sorun çıkarmayacağını **iddia etmiyorum**.
Bu bir “herkeste çalışır” rehberi değildir.

Buradaki adımları uygularken:
- Araştırmayı **siz** yaparsınız
- Riskleri **siz** alırsınız
- Bir şeyler ters giderse sorumluluk **sizindir**

Eğer bir noktada işler bozulur ve gelip:
> “Bu rehberi yaptım, çalışmadı, senin yüzünden”

derseniz…
**Muhtemelen gülerim.**

Devam ediyorsanız, yukarıdaki her şeyi kabul etmiş sayılırsınız.

Evet bugün sizlere xray kullanarak sansür aşma yöntemi göstereceğim.
[]Sadece sansür aşmak için değil spoofing içinde kullanılabilir. Mesela instagram paketiniz varsa normal internet niyetine kullanabilirsiniz.
Bu rehberin sonunda sunucu ile sizin aranızdaki iletişim belirlediğiniz alan adı ile iletişim yapılıyormuş gibi görünecektir.

Gereksinimler:

1 adet linux sunucu.
Android için https://f-droid.org/packages/com.github.dyhkwong.sagernet/
iOS için bilgim yok. Apple ürünlerini zaten tavsiye etmiyorum.
Windows: https://github.com/XTLS/Xray-core/releases/download/v25.12.8/Xray-windows-64.zip
Linux: https://github.com/XTLS/Xray-core/releases/download/v25.12.8/Xray-linux-64.zip

Sunucuyu nerden temin ettiğinizin bir önemi yok. 443 portu açık olan herhangi bir sunucu işinizi görür.

Sunucuya bağlanın:
Kod:
ssh username@ipadresi
Sorulan soruya yesyazın ve şifrenizi girin. İlk girişten sonra passwd usernamenizile şifrenizi değiştirmenizi tavsiye ederim.

Sonra sunucu için gereken komutlar şunlar:
Kod:
# ilk önce sistemi güncelliyoruz
# debian kullandığınızı varsaydım
apt update ; apt upgrade -y ; apt install tmux apache2  sudo openssl -y

Sonra ortamımız için klasör oluşturacağız.
mkdir xray && cd xray
Şimdi xrayı indireceğiz:
Kod:
https://github.com/XTLS/Xray-core/releases/download/v25.12.8/Xray-linux-64.zip
unzip Xray-linux-64.zip

Sonra arka planda çalıştırmak için tmuxu açacağız:
tmux new-session -s xray

Şimdi config dosyamızı kaydedeceğiz:
Kod:
{
    "log": {
        "loglevel": "debug"
    },
  "inbounds": [
    {
      "port": 65535,
      "listen": "127.0.0.1",
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "db561134-5581-4a3f-b676-c8128c270908"
            // DİKKAT: inbound tarafında "encryption" YOK!
          }
        ],
        "decryption": "none"
      },
      "streamSettings": {
        "network": "ws",
        "wsSettings": {
          "path": "/ray"
        }
      }
    }
  ],
  "outbounds": [
    { "protocol": "freedom" }
  ]
}
Bunu kopyalayın ve nano config.jsonc dosyasını açıp Ctrl+Shift+V ile yapıştırın. Sonra Ctrl+X yapın ve ardından sadece Y tuşuna basın.

Şimdi sunucuyu çalıştırın:
Kod:
./xray run -c config.jsonc
Şimdi tmuxtan çıkmak için Ctrl+B tuşuna bastıktan sonra sadece D tuşuna basın.
Tmux sessionuna tekrar girmek için tmux attach -t xray yazabilirsiniz ve aynı kısayolla geri çıkabilirsiniz.
Şimdi bu sunucu sunucunun lokalinde 65535 portunda çalışıyor bunu apache2 ile reverse proxy yapacağız. Şifreleme TLS ile yapılacak.

Apache2 yi zaten kurmuştuk yukardakş verdiğim komutla. Şimdi config dosyamızı ayarlayalım.
Kod:
# bu komutları girin. sonra devam edin
sudo a2enmod ssl
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_wstunnel
sudo a2enmod headers
Kod:
nano /etc/apache2/sites-enabled/xray.conf
Nano ile girdik şimdi aşşağıdaki verdiğim conf dosyasını kendinize göre editleyin. (XXX kısmını)
Kod:
<VirtualHost *:443>
    ServerName XXX # XXX yerine görünmesini istediğiniz domaini yazın ( instagram.com)


    SSLEngine on
    SSLCertificateFile /etc/ssl/private/fullchain.pem
    SSLCertificateKeyFile /etc/ssl/private/privkey.pem



    ProxyPreserveHost On
    ProxyRequests Off



    AllowEncodedSlashes NoDecode


    ProxyPass        "/ray"  "ws://127.0.0.1:65535/ray" nocanon
    ProxyPassReverse "/ray"  "ws://127.0.0.1:65535/ray"


    <Location /ray>
        ProxyPass        "ws://127.0.0.1:65535/ray" nocanon
        ProxyPassReverse "ws://127.0.0.1:65535/ray"

        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-Forwarded-Host "%{HTTP_HOST}s"
        RequestHeader set X-Real-IP "%{REMOTE_ADDR}s"
    </Location>



    ErrorLog ${APACHE_LOG_DIR}/XXX-error.log
    CustomLog ${APACHE_LOG_DIR}/XXX-access.log combined
</VirtualHost>
Yine yapıştırıp kaydedip çıkın yukarda ksıayolları belirttim.

Şimdi openssl ile sertifika oluşturacağız.
Kod:
openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/ssl/private/privkey.pem \
-out /etc/ssl/private/fullchain.pem \
-subj "/C=TR/ST=Istanbul/L=Istanbul/O=Example/OU=IT/CN=XXX.com"

Sertifika oluşturma işi bitti. sudo systemctl restart apache2yazın.

Şimdi client kısmına gelelim. Alan adı ve ip adresi kısmını kendinize göre ayarlayın. Ve xray.jsonc gibi bir dosyaya kaydedin.
Kod:
{
  "log": {
    "loglevel": "debug"
  },

  "inbounds": [
    {
      "tag": "socks-in",
      "port": 1080,
      "listen": "127.0.0.1",
      "protocol": "socks",
      "settings": {
        "udp": true
      }
    }
  ],

  "outbounds": [
    {
      "tag": "proxy",
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "SUNUCUNUZUN IP ADRESİNİYAZIN",
            "port": 443,
            "users": [
              {
                "id": "db561134-5581-4a3f-b676-c8128c270908",
                "encryption": "none"     // Client tarafında gereklidir
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "ws",
        "security": "tls",
        "tlsSettings": {
          "serverName": "BELİRLEDİĞİNİZ ALAN ADI örneğin (instagram.com)",  // SNI
          "allowInsecure": true       // Sertifika düzgünse böyle kalacak
        },
        "wsSettings": {
          "path": "/ray",
          "headers": {
            "Host": "BELİRLEDİĞİNİZ ALAN ADI örneğin (instagram.com)"
          }
        }
      }
    },

    {
      "tag": "direct",
      "protocol": "freedom"
    }
  ],

  "dns": {
    "servers": [
      "1.1.1.1",
      "8.8.8.8"
    ]
  }
}
Androidde exclave kullanarak dosyadan aktar deyin. Ve dosyayı seçin.

Windows/linuxta yine yukarda linkini verdiğim zip dosyalarını indirin ve içine config.jsonc dosyasını oluşturup bunu yapıştırın.
Sonra terminalden/cmdden o dizinin içinden ./xray run -c config.jsonc yazın. Sonra tarayıcınızın proxy ayarlarını açın ve proxy sunucusu olarak
Kod:
ip adersi: 127.0.0.1
port : 1080
yazın.

Bu kadar. Okuduğunuz için teşekkürler.
 
Son düzenleme:
Kendim sunucuma nasıl kurmuşum diye baktım sadece v2ray install scripti indirip çalıştırmışım. Bir de server config ve client config dosyalarında ufak değişiklikler yapıp kullanmaya başlamışım. Bu adımlar daha karışık geldi :)
 
Kendim sunucuma nasıl kurmuşum diye baktım sadece v2ray install scripti indirip çalıştırmışım. Bir de server config ve client config dosyalarında ufak değişiklikler yapıp kullanmaya başlamışım. Bu adımlar daha karışık geldi :)
Kullanım amacına göre değişir. Biz burda SNI spoofing yaptık. Tek amacımız sansür aşmak değil. :iyimser: