From 3411defd511aa44d04eeeb03ac5e38a03d3a1b3d Mon Sep 17 00:00:00 2001 From: eva Date: Mon, 7 Sep 2026 14:58:06 +0000 Subject: [PATCH] docs: Real DNS + empty upstream Quick Start --- README.md | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 486ef9b..feaefe3 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,8 @@ SteamCache2 is a blazing fast download cache for Steam, designed to reduce bandw - Reduces bandwidth usage - Easy to set up and configure aside from dns stuff to trick Steam into using it - Supports multiple clients -- **NEW:** YAML configuration system with automatic config generation -- **NEW:** Simple Makefile for development workflow +- YAML configuration with automatic config generation on first run +- Makefile for development and validation workflows - Cross-platform builds (Linux, macOS, Windows) ## Quick Start @@ -34,7 +34,10 @@ SteamCache2 is a blazing fast download cache for Steam, designed to reduce bandw The application will automatically create a `config.yaml` file with default settings and exit, allowing you to customize it. -3. **Edit the configuration** (`config.yaml`): +3. **Edit the configuration** (`config.yaml`) for a real Steam front-door: + + Leave `upstream` empty. With an empty upstream, steamcache2 fetches from the request `Host` (the same pattern SteamPrefill / real Steam clients use when DNS points them at your cache). Do **not** paste a fake host like `https://steam.cdn.com` — that is not a Steam CDN and will not put you in front of Steam. + ```yaml listen_address: :80 cache: @@ -45,10 +48,19 @@ SteamCache2 is a blazing fast download cache for Steam, designed to reduce bandw size: 10GB path: ./disk gc_algorithm: hybrid - upstream: "https://steam.cdn.com" # Set your upstream server + # Empty upstream = use the client Host as the origin (Steam CDN names only). + upstream: "" ``` -4. **Run the application again:** +4. **Point Steam (or SteamPrefill) at this cache** before you expect hits: + + - **LAN DNS:** resolve `lancache.steamcontent.com` (and other Steam content names your clients use) to this server's LAN IP. + - **Single Windows PC:** add a hosts override — see [Windows Hosts File Override](#windows-hosts-file-override) (` lancache.steamcontent.com`). + - Restart Steam (or your prefill tool) after DNS/hosts changes. + + Empty-upstream direct fetch only allows Steam CDN host suffixes (`steamcontent.com`, `steampowered.com`, `steamstatic.com`). Literal IPs and unrelated hosts are rejected. + +5. **Run the application again:** ```bash make run # or ./steamcache2 ``` @@ -238,8 +250,9 @@ cache: gc_algorithm: hybrid # Upstream server configuration -# The upstream server to proxy requests to -upstream: "https://steam.cdn.com" +# Leave empty to fetch from the request Host (Steam CDN names only). +# Set only when chaining caches (table RAM cache -> room disk cache). +upstream: "" ``` #### Startup Validation