arsiv.egebostanci.me — Windows’ta HFS + Cloudflare Tunnel

Linux’tan Windows’a geçiş sonrasında arsiv.egebostanci.me servisini yeniden kurdum. İki bileşen: HFS 3 (HTTP File Server) ve Cloudflare Tunnel.

Mimari

D:\Arşiv  →  HFS 3 (localhost:8080)  →  Cloudflare Tunnel  →  arsiv.egebostanci.me

VPS’e ihtiyaç yok. Dosyalar local makinede, sadece Cloudflare Tunnel public hale getiriyor.

Bileşen 1: HFS 3 (HTTP File Server)

Kurulum

winget install rejetto.hfs

Executable yolu:

C:\Users\<user>\AppData\Local\Microsoft\WinGet\Packages\rejetto.hfs_Microsoft.Winget.Source_8wekyb3d8bbwe\hfs.exe

Konfigürasyon

Config dosyası: C:\Users\<user>\hfs-arsiv\config.yaml

port: 8080
vfs:
  Arsiv:
    source: D:\Arşiv
    can_see: "*"
    can_read: "*"
  children:
    - source: D:\Arşiv
version: 3.0.10

Başlatma

cd C:\Users\<user>\hfs-arsiv && hfs.exe --port 8080

HFS başlatıldığında D:\Arşiv klasörünü localhost:8080 adresinde sunar.


Bileşen 2: Cloudflare Tunnel

Kurulum

winget install Cloudflare.cloudflared

Konfigürasyon

Config dosyası: C:\Users\<user>\.cloudflared\config.yml

tunnel: <tunnel-id>
credentials-file: C:\Users\<user>\.cloudflared\<tunnel-id>.json
 
ingress:
  - hostname: arsiv.egebostanci.me
    service: http://localhost:8080
  - service: http_status:404

Tunnel ID’sini cloudflared tunnel create arsiv komutu üretir; çıktıda görüneni config’e yapıştır.

Başlatma

cloudflared tunnel run arsiv

Otomatik Başlatma

Her iki servis de Windows oturum açılışında otomatik başlasın istedim. Startup klasörüne eklenen tek bir .bat dosyası ikisini birden arka planda başlatır:

Bat dosyası: C:\Users\<user>\hfs-arsiv\start-arsiv.bat

Startup kopyası: %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\start-arsiv.bat

@echo off
cd /d "C:\Users\<user>\hfs-arsiv"
start "" /B "C:\Users\<user>\AppData\Local\Microsoft\WinGet\Packages\rejetto.hfs_Microsoft.Winget.Source_8wekyb3d8bbwe\hfs.exe" --port 8080
start "" /B "C:\Program Files (x86)\cloudflared\cloudflared.exe" tunnel run arsiv

/B flag’i pencereyi gizliyor, start "" ise senkron beklemeden process’i bırakıyor — böylece login’den hemen sonra ikisi de arka planda başlamış oluyor.


Notlar / Öğrenilenler

  • Önceki kurulum: Linux (CachyOS) üzerinde farklı bir setup vardı — sistemd service ile Caddy reverse proxy ve cloudflared.service. Windows’a geçişle birlikte HFS3 + bat dosyası ile daha sade bir yapıya geçtim.
  • Tunnel ID kaybolabiliyor: Bir Linux↔Windows döngüsünde credentials kayboldu, tunnel’ı yeniden oluşturup DNS CNAME’i --overwrite-dns ile yeni tunnel’a yönlendirmek gerekti. Login için cloudflared tunnel login ile tarayıcı akışı.
  • HFS sürümü: Winget güncel sürümü getiriyor (3.1.x). Eski 3.0.x config’leri ileri geri uyumlu.
  • D: sürücüsü zorunlu değil: HFS hangi klasörü sunarsa onu sunar. Benim arşivim D:\Arşiv’de durduğu için orası.

İlgili yazılar