1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Cache-focused NNTP Proxy configuration
# Use this with nntp-proxy; caching is built in and the same binary handles dashboard/headless UI modes.
# Backend NNTP servers
[[]]
= "news.example.com"
= 119
= "Example News Server"
# username = "your_username"
# password = "your_password"
= 10
# Connection health check interval (omit to disable, recommended: 60-120 seconds)
# Sends DATE command to detect stale connections before reuse
= 60
# TLS/SSL configuration
= false
= true
# tls_cert_path = "/path/to/ca-cert.pem"
# Routing configuration
[]
= "hybrid"
= "least-loaded"
= false
# Article cache configuration
[]
# Maximum article-cache size in memory (default: 64mb)
# Supports human-readable formats: "1gb", "500mb", "64mb"
= "64mb"
# Time-to-live for the article cache (default: 1 hour)
= 3600
# Store full article bodies in the article cache (required for memory/disk article caching)
= true
# Disk Cache Configuration (optional, only used when store_article_bodies = true)
# When configured, creates two-tier cache: memory -> disk -> backend
# Articles evicted from memory are written to disk for later retrieval
#
# [cache.disk]
# # Path to disk cache directory (will be created if needed)
# # Recommended: Use a fast SSD or NVMe drive
# path = "/var/cache/nntp-proxy"
# # Maximum disk cache size (default: 10gb)
# # Supports: "100gb", "10gb", "1tb", or raw bytes
# capacity = "10gb"
# # Compression codec for disk storage (default: "lz4")
# # Options:
# # "lz4" - Fast compression (~60% reduction), minimal CPU, SIMD-accelerated
# # "zstd" - Better compression ratio, moderate CPU overhead, SIMD-accelerated
# # "none" - No compression, fastest but largest disk usage
# # SIMD optimizations (SSE2/AVX2/AVX512) for "lz4" and "zstd" are auto-detected and enabled by default
# compression = "lz4"
# # Number of shards for concurrent disk access (default: 4)
# # Higher values improve concurrency but use more file handles
# shards = 4
# Health check configuration
[]
# Interval between health checks in seconds
= 30
# Timeout for each health check in seconds
= 5
# Number of consecutive failures before marking unhealthy
= 3