docs: Real DNS + empty upstream Quick Start #43

Merged
linus merged 1 commits from docs/quick-start-real-dns into main 2026-09-07 10:00:58 -05:00
+20 -7
View File
@@ -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) (`<cache-ip> 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