# RDP-FIDO-GATE — kurulum ve yapılandırma (adım adım)

**Zorunlu bir FIDO2/WebAuthn donanım anahtarı geçidi** ile güvenli Uzak Masaüstü (RDP). RDP portu
her zaman güvenlik duvarında kapalı kalır ve anahtara dokunduktan sonra **yalnızca sizin IP'niz için, yaklaşık 90 saniye boyunca** açılır.
Windows 10 1903+ (WebAuthn + Windows Firewall) gerektirir. Barındırılan bir hizmet yoktur — onu kendiniz
indirip kurarsınız.

İki bileşen ve portları:

| Bileşen | Nerede çalışır | Portlar |
|-----------|---------------|-------|
| **Gate** | hedef makine (bağlandığınız PC) | **7440/TCP** — kontrol + FIDO onayı; **3389/TCP** — RDP (istek üzerine açılır) |
| **Client** | sizin makineniz | ana bilgisayarın 7440 ve 3389 portlarına giden bağlantılar |
| **FIDO Stream** (isteğe bağlı) | ana bilgisayar | **7441/UDP** — düşük gecikmeli modun video, ses ve girişi; oturum başına, yalnızca sizin IP'niz için açılır |

---

## Step 1. Host — geçidi kur

1. Hedef makinede **[RdpFido-Setup.exe](https://accounts.new-imobile.com/updates/RdpFido-Setup.exe)** dosyasını indirin, çalıştırın ve **Host** seçeneğini seçin (Windows yönetici onayı isteyecektir). Bu, geçidi kurar; **[RdpFidoGate-Setup.msi](https://accounts.new-imobile.com/updates/RdpFidoGate-Setup.msi)** dosyasını doğrudan da indirebilirsiniz.
2. Yükleyici Remote Desktop'ı (NLA ile) etkinleştirir, geçit portu **7440**'a bir TLS sertifikası bağlar, geçit hizmetini kaydeder ve başlatır. RDP portu eskisi gibi çalışmaya devam eder — yalnızca ilk anahtar kaydedildiğinde kapanır.
3. Yükleyicinin son sayfası **tek kullanımlık anahtar kayıt kodunu** (15 dakika geçerli, "Kodu kopyala" düğmesiyle) ve makinenin adresleri ile geçit portunu gösterir.
4. **Not alın:** ana bilgisayar adresi (ad / genel IP), port **7440** ve **kod**. Kodun süresi dolarsa yönetici olarak `RdpFidoGate.exe code` çalıştırın.

Sessiz kurulum (örn. yönetim sisteminden): `msiexec /i RdpFidoGate-Setup.msi /qn`

Birleşik yükleyiciyle katılımsız kurulum: `RdpFido-Setup.exe host`

---

## Step 2. Yönlendirici port yönlendirme (ana bilgisayar NAT/bir yönlendirici arkasındaysa) — internet erişimi için GEREKLİDİR

**İnternetten** bağlanıyorsanız ve hedef makine bir ev/ofis yönlendiricisinin arkasındaysa, yönlendiricide
ana bilgisayarın LAN adresine **iki port yönlendirmeniz** gerekir. Bu olmadan istemci ne geçide
ne de RDP'ye ulaşabilir.

Yönlendirin (yönlendirici yönetiminde Port Forwarding / Virtual Servers / NAT):

| Harici port | Protokol | → Dahili IP (ana bilgisayar LAN) | Dahili port |
|---------------|----------|--------------------------|---------------|
| **7440** | TCP | `192.168.x.x` (ana bilgisayar LAN IP) | **7440** |
| **3389** | TCP | aynı ana bilgisayar LAN IP | **3389** |
| **7441** | UDP | aynı ana bilgisayar LAN IP | **7441** — yalnızca FIDO Stream'i internetten kullanıyorsanız |

Prosedür:
1. Ana bilgisayarın LAN IP'sini bulun: `ipconfig` → "IPv4 Address" (örn. `192.168.1.50`).
2. Bu adresi ana bilgisayar için **rezerve edin** (yönlendiricide MAC'e göre DHCP rezervasyonu) — aksi halde değişebilir.
3. Yönlendiricide: **Port Forwarding / Virtual Servers** → tablodaki iki kuralı ekleyin
   (harici port = dahili port, protokol TCP, dahili IP = ana bilgisayar LAN).
4. **Genel IP'nizi** bulun (ana bilgisayarda `https://api.ipify.org` açın veya yönlendiricinin "WAN IP"si). IP'niz
   **dinamik** ise **DDNS** kurun (yönlendiricide veya no-ip/DuckDNS aracılığıyla) ve IP yerine DDNS adını kullanın.

> Güvenlik: dışarıya yalnızca geçit (7440) dinler. RDP (3389), anahtarla onaylayana kadar dışarıdan
> **kapalıdır** — sonra dar bir şekilde, yalnızca sizin IP'niz için, ~90 sn açılır. 3389'u yönlendirmek
> tek başına erişim sağlamaz; yalnızca geçici "pencerenin" yönlendiriciden geçmesine izin verir.

---

## Step 3. Client — kur ve kaydet

1. İstemciyi kurun: **[RdpFido-Setup.exe](https://accounts.new-imobile.com/updates/RdpFido-Setup.exe)** dosyasını çalıştırın ve **Client** seçeneğini seçin (kullanıcı başına, yönetici hakları gerekmez) veya doğrudan **[RdpFidoClient-Setup.msi](https://accounts.new-imobile.com/updates/RdpFidoClient-Setup.msi)** kullanın.
2. AccountServer üzerinden **etkinleştirme**: e-postanızı girin → size bir kod postalanır → onu girin.
   14 günlük etkinleştirme ödemsizlik süresi; ücretsiz kademe = en fazla 10 kayıtlı oturum, ücretli = sınırsız.
3. **Bir oturum ekle:**
   - Adres: ana bilgisayarın genel IP'si veya DDNS adı (Step 2'den) ya da aynı ağdaysanız LAN adresi.
   - Geçit portu: **7440**.
   - Protokol: **RDP (mstsc)** veya **FIDO Stream** — bkz. Step 5.
   - Step 1'deki **tek kullanımlık kodu** girin ve **FIDO2 anahtarınızı kaydedin** (dokunun).

---

## Step 4. Bağlan

Oturumu seçin → **anahtara dokunun** → geçit onu doğrular ve **mevcut IP'niz için 3389'u yaklaşık
90 sn açar** → istemci `mstsc`'yi başlatır ve sizi otomatik olarak bağlar. Her 30 sn'de geçit
engellemeyi yeniden uygular, böylece pencere dar ve IP kapsamlı kalır.

---

## Step 5 (isteğe bağlı). FIDO Stream — oyunlar ve video için düşük gecikmeli mod

FIDO Stream, RDP'nin yanında ikinci bir bağlantı modudur: ana bilgisayarın ekranı, sesi ve sizin girişiniz donanım kodlamasıyla UDP üzerinden gider; böylece LAN'da "tıklamadan görüntüye" gecikme yaklaşık 25–45 ms olur. Aynı anahtar dokunuşu onu açar; geçit UDP 7441'i yalnızca sizin IP'niz için ve yalnızca oturum süresince açar. Ek bir şey kurulmaz: ana bilgisayar aracısı geçidin içinde, görüntüleyici istemcinin içindedir (ana bilgisayarda geçit sürümü 1.15 veya daha yeni).

1. Oturum ayarlarında **Protokol: FIDO Stream (oyun, düşük gecikme)** seçeneğini seçin.
2. İlk deneme için ayarları **Otomatik** olarak bırakın. Anlamları:
   - **Denge** — **Zayıf bağlantı** (daha düşük çözünürlük, HEVC, daha fazla hata düzeltme) ile **Zayıf PC'ler** (yalnızca donanım kodlayıcı, en hızlı ön ayar, yerel çözünürlük) arasında bir kaydırıcı; **Dengeyi otomatik ayarla** onu mevcut darboğaza doğru kaydırır.
   - **Ana bilgisayar sesi** ve **Mikrofonumu ana bilgisayara gönder** — her iki yönde ses.
   - **Başlangıçta fareyi yakala (oyunlar için)** — nişancı oyunları için göreli fare hareketi.
   - **Bağlantı** — **Otomatik (NAT'ı delme)**, **Bu bilgisayar ana bilgisayarı arar** (7441/UDP'nin ana bilgisayara yönlendirilmesi gerekir) veya **Ana bilgisayar bu bilgisayarı arar** (PC'nizin genel adresi olduğunda).
   - **Kodlayıcı (ana bilgisayar)** — Otomatik / NVIDIA NVENC (doğrudan) / Donanım (herhangi bir GPU) / Yazılım (CPU); **Kod çözücü** — Otomatik / Donanım (GPU) / Yazılım (CPU).
3. Her zamanki gibi bağlanın: oturumu seçin → anahtara dokunun → akış penceresi açılır.

Akış penceresindeki kısayol tuşları: **Ctrl+Alt+Home** fareyi yakalar/bırakır, **Ctrl+Alt+Enter** tam ekranı açıp kapatır, **Ctrl+Alt+End** bağlantıyı keser.

Gereksinimler: her iki tarafta Windows 10 1903+; en düşük gecikme için ana bilgisayarda donanım kodlayıcılı bir GPU (NVIDIA, Intel veya AMD). HEVC yalnızca istemcide GPU kod çözücü varsa kullanılır; aksi halde akış otomatik olarak H.264'e döner. Ana bilgisayarda tanılama (yönetici olarak): `RdpFidoGate.exe stream encoders` kullanılabilir kodlayıcıları listeler, `RdpFidoGate.exe stream encoders --bench` her birini ölçer, `RdpFidoGate.exe stream selftest` ağ olmadan yakalama → kodlama → kod çözme çalıştırır. Ayrıntılar ana bilgisayarda `gate.log`, istemcide `client.log` dosyasına yazılır.

---

## Kontrol ve sorun giderme

- İstemciden: `Test-NetConnection <public-ip-or-DDNS> -Port 7440` → 
  `TcpTestSucceeded : True` olmalıdır. `False` ise — port 7440 yönlendirilmemiştir veya ana bilgisayar güvenlik duvarı onu engelliyordur.
- Port **3389, anahtarla onaylayana kadar dışarıdan kapalıdır** — bu beklenendir (dokunmadan önce onu test etmeyin).
- "Oturum açılmıyor": şunları kontrol edin: 1) geçit hizmeti ana bilgisayarda çalışıyor mu, 2) **her iki** port da
  yönlendiricide ana bilgisayarın mevcut LAN IP'sine yönlendirilmiş mi, 3) genel IP değişmemiş mi (dinamikse DDNS kullanın).
- Bir yönlendiricinin arkasında birden fazla ana bilgisayar: farklı harici portlar kullanın (örn. host-2 → harici 7441→7440,
  3390→3389) ve bu harici portları istemci oturumuna girin.
- FIDO Stream başlamıyor: ana bilgisayardaki geçit 1.15 veya daha yeni sürüm olmalıdır (istemci bunu söyler) ve internet erişimi için ya 7441/UDP ana bilgisayara yönlendirilmiş olmalı ya da oturum **Ana bilgisayar bu bilgisayarı arar** seçeneğini kullanmalıdır.

---

## Kaldırma

Ana bilgisayarda, yönetici olarak: `powershell -ExecutionPolicy Bypass -File Uninstall-Gate.ps1`
(hizmeti kaldırır, güvenlik duvarı kurallarını geri yükler). Ardından isteğe bağlı olarak yönlendiricideki port yönlendirme kurallarını kaldırın.
