This commit is contained in:
gru committed 2026-10-03 00:27:09 +01:00
commit 5e23e9af02
240 files changed
+99957

No files matched your search

+236
View File
@@ -0,0 +1,236 @@
{
"host_policies": [
{
"hosts": [
"localhost",
"127.0.0.1",
"demo.localhost"
],
"acl": {
"default": "deny",
"rules": [
{
"network": "127.0.0.0/8",
"action": "allow"
},
{
"network": "::1/128",
"action": "allow"
}
]
}
}
],
"headers": {
"request": [
{
"op": "set",
"name": "x-rustproxy-example",
"value": "global"
}
],
"response": [
{
"op": "remove",
"name": "server"
},
{
"op": "set",
"name": "x-content-type-options",
"value": "nosniff"
}
]
},
"vhosts": [
{
"id": "example-1",
"frontend": {
"hosts": [
"localhost"
],
"listener_ids": [
"example-1-http"
]
},
"backends": [
{
"id": "demo",
"url": "http://127.0.0.1:9000",
"allow_private": true,
"preserve_host": true
}
],
"load_balancing": {
"health_check": {
"mode": "off"
}
},
"routes": [
{
"id": "demo",
"path_prefix": "/",
"backend_id": "demo",
"enabled": true,
"headers": {
"request": [
{
"op": "set",
"name": "x-rustproxy-example",
"value": "route"
}
],
"response": [
{
"op": "set",
"name": "x-rustproxy-demo",
"value": "enabled"
}
]
}
},
{
"id": "blocked-admin",
"path_prefix": "/admin",
"backend_id": "demo",
"enabled": true,
"acl": {
"default": "deny",
"rules": []
}
}
]
},
{
"id": "example-2",
"frontend": {
"hosts": [
"127.0.0.1"
],
"listener_ids": [
"example-1-http"
]
},
"backends": [
{
"id": "demo",
"url": "http://127.0.0.1:9000",
"allow_private": true,
"preserve_host": true
}
],
"load_balancing": {
"health_check": {
"mode": "off"
}
},
"routes": [
{
"id": "demo",
"path_prefix": "/",
"backend_id": "demo",
"enabled": true,
"headers": {
"request": [
{
"op": "set",
"name": "x-rustproxy-example",
"value": "route"
}
],
"response": [
{
"op": "set",
"name": "x-rustproxy-demo",
"value": "enabled"
}
]
}
},
{
"id": "blocked-admin",
"path_prefix": "/admin",
"backend_id": "demo",
"enabled": true,
"acl": {
"default": "deny",
"rules": []
}
}
]
},
{
"id": "example-3",
"frontend": {
"hosts": [
"demo.localhost"
],
"listener_ids": [
"example-1-http"
]
},
"backends": [
{
"id": "demo",
"url": "http://127.0.0.1:9000",
"allow_private": true,
"preserve_host": true
}
],
"load_balancing": {
"health_check": {
"mode": "off"
}
},
"routes": [
{
"id": "demo",
"path_prefix": "/",
"backend_id": "demo",
"enabled": true,
"headers": {
"request": [
{
"op": "set",
"name": "x-rustproxy-example",
"value": "route"
}
],
"response": [
{
"op": "set",
"name": "x-rustproxy-demo",
"value": "enabled"
}
]
}
},
{
"id": "blocked-admin",
"path_prefix": "/admin",
"backend_id": "demo",
"enabled": true,
"acl": {
"default": "deny",
"rules": []
}
}
]
}
],
"listeners": {
"endpoints": [
{
"id": "example-1-http",
"name": "example-1 HTTP",
"scope": "internal",
"enabled": true,
"binding": {
"address": "127.0.0.1:8080",
"tls": false,
"http2": false,
"http3": null
}
}
]
}
}
+159
View File
@@ -0,0 +1,159 @@
{
"listeners": {
"endpoints": [
{
"id": "example-1-http",
"name": "example-1 HTTP",
"scope": "internal",
"enabled": true,
"binding": {
"address": "127.0.0.1:8080",
"tls": false,
"http2": false,
"http3": null
}
}
]
},
"server_header": {
"mode": "custom",
"value": "RustProxy/v0.5.0"
},
"compression": {
"gzip": true,
"br": true,
"zstd": true,
"deflate": false,
"min_bytes": 1024
},
"cache": {
"enabled": true,
"max_bytes": 268435456,
"max_object_bytes": 16777216,
"max_entries": 4096,
"transient_max_bytes": 67108864,
"cold_queue_max_bytes": 33554432,
"hot_eviction_max_objects": 64,
"default_ttl_seconds": 0,
"max_ttl_seconds": 86400,
"bypass_query": false,
"bypass_prefixes": [
"/private"
],
"expose_status": true,
"expose_hits": true,
"expose_cache_status": true
},
"headers": {
"request": [],
"response": [
{
"op": "remove",
"name": "x-powered-by"
},
{
"op": "set",
"name": "x-served-by",
"value": "RustProxy"
}
]
},
"vhosts": [
{
"id": "example-1",
"frontend": {
"hosts": [
"localhost"
],
"listener_ids": [
"example-1-http"
]
},
"backends": [
{
"id": "demo",
"url": "http://127.0.0.1:9000",
"allow_private": true,
"preserve_host": true
}
],
"load_balancing": {
"health_check": {
"mode": "off"
}
},
"routes": [
{
"id": "demo",
"path_prefix": "/",
"backend_id": "demo",
"enabled": true
}
]
},
{
"id": "example-2",
"frontend": {
"hosts": [
"127.0.0.1"
],
"listener_ids": [
"example-1-http"
]
},
"backends": [
{
"id": "demo",
"url": "http://127.0.0.1:9000",
"allow_private": true,
"preserve_host": true
}
],
"load_balancing": {
"health_check": {
"mode": "off"
}
},
"routes": [
{
"id": "demo",
"path_prefix": "/",
"backend_id": "demo",
"enabled": true
}
]
},
{
"id": "example-3",
"frontend": {
"hosts": [
"demo.localhost"
],
"listener_ids": [
"example-1-http"
]
},
"backends": [
{
"id": "demo",
"url": "http://127.0.0.1:9000",
"allow_private": true,
"preserve_host": true
}
],
"load_balancing": {
"health_check": {
"mode": "off"
}
},
"routes": [
{
"id": "demo",
"path_prefix": "/",
"backend_id": "demo",
"enabled": true
}
]
}
]
}
+52
View File
@@ -0,0 +1,52 @@
{
"vhosts": [
{
"id": "demo",
"frontend": {
"hosts": [
"localhost",
"127.0.0.1",
"demo.localhost"
],
"listener_ids": [
"demo-http"
]
},
"backends": [
{
"id": "demo",
"url": "http://127.0.0.1:9000",
"allow_private": true,
"preserve_host": true
}
],
"load_balancing": {
"health_check": {
"mode": "off"
}
},
"routes": [
{
"id": "root",
"path_prefix": "/"
}
]
}
],
"listeners": {
"endpoints": [
{
"id": "demo-http",
"name": "demo HTTP",
"scope": "internal",
"enabled": true,
"binding": {
"address": "127.0.0.1:8080",
"tls": false,
"http2": false,
"http3": null
}
}
]
}
}
+3
View File
@@ -0,0 +1,3 @@
{
"vhosts": []
}
+61
View File
@@ -0,0 +1,61 @@
{
"listeners": {
"endpoints": [
{
"id": "local-https",
"name": "Local TLS / HTTP3",
"scope": "internal",
"enabled": true,
"binding": {
"address": "127.0.0.1:8443",
"tls": true,
"http2": true,
"http3": {
"alt_svc_max_age": 3600,
"max_concurrent_connections": 512,
"max_concurrent_bidistream": 100,
"max_concurrent_unistream": 100,
"max_idle_timeout": 10
}
}
}
]
},
"vhosts": [
{
"id": "h3-demo",
"frontend": {
"hosts": [
"localhost"
],
"listener_ids": [
"local-https"
]
},
"backends": [
{
"id": "origin-a",
"url": "http://127.0.0.1:9001",
"allow_private": true
}
],
"load_balancing": {
"health_check": {
"mode": "off"
}
},
"cache": {
"enabled": true,
"expose_status": true,
"expose_hits": true
},
"server_header": {
"mode": "custom",
"value": "RustProxy/v0.5.0"
},
"diagnostic_headers": {
"request_id": false
}
}
]
}
+92
View File
@@ -0,0 +1,92 @@
{
"cache": {
"enabled": false
},
"compression": {
"gzip": true,
"br": true,
"min_bytes": 1024
},
"pages": {
"direct_ip": {
"kind": "welcome",
"status": 200
}
},
"vhosts": [
{
"id": "mock",
"frontend": {
"hosts": [
"mock.localhost"
],
"listener_ids": [
"mock-http"
]
},
"backends": [
{
"id": "origin-a",
"url": "http://127.0.0.1:9001",
"allow_private": true,
"preserve_host": true
}
],
"load_balancing": {
"health_check": {
"mode": "http",
"path": "/health",
"interval_ms": 1000,
"timeout_ms": 800,
"slow_response_ms": 600,
"fall": 2,
"rise": 1
},
"slow_start_seconds": 0
},
"cache": {
"enabled": true,
"expose_status": true,
"expose_hits": true,
"expose_cache_status": true,
"max_ttl_seconds": 300,
"default_ttl_seconds": 30
},
"headers": {
"response": [
{
"op": "set",
"name": "x-site",
"value": "mock"
}
]
},
"security_headers": {
"nosniff": true
},
"pages": {
"errors": {
"503": {
"kind": "html",
"html": "<!doctype html><meta charset=\"utf-8\"><title>Maintenance</title><h1>Origin unavailable</h1><p>Please try again soon.</p>"
}
}
}
}
],
"listeners": {
"endpoints": [
{
"id": "mock-http",
"name": "mock HTTP",
"scope": "internal",
"enabled": true,
"binding": {
"address": "127.0.0.1:8080",
"tls": false,
"http2": false
}
}
]
}
}
+69
View File
@@ -0,0 +1,69 @@
{
"listeners": {
"endpoints": [
{
"id": "private-http",
"name": "Private applications",
"scope": "internal",
"enabled": true,
"binding": {
"address": "127.0.0.2:8181",
"tls": false,
"http2": false
}
}
]
},
"vhosts": [
{
"id": "tinyauth-app",
"frontend": {
"hosts": [
"app.localhost"
],
"listener_ids": [
"private-http"
]
},
"backends": [
{
"id": "origin-a",
"url": "http://127.0.0.1:9001",
"allow_private": true
}
],
"load_balancing": {
"health_check": {
"mode": "off"
}
},
"cache": {
"enabled": true,
"expose_status": true,
"expose_hits": true
},
"server_header": {
"mode": "custom",
"value": "RustProxy/v0.5.0"
},
"diagnostic_headers": {
"request_id": false
},
"tinyauth": {
"enabled": true,
"url": "http://10.87.7.99:3000",
"login_url": "https://auth.linuxiarz.pl/login",
"allow_private": true,
"address_allowlist": [
"10.87.7.99/32"
],
"connect_timeout_seconds": 5,
"timeout_seconds": 10,
"response_headers": [
"remote-user",
"remote-email"
]
}
}
]
}
+69
View File
@@ -0,0 +1,69 @@
{
"tls": {
"certificates": [
{
"id": "app",
"hosts": [
"app.localhost"
],
"cert_file": "app.pem",
"key_file": "app.key"
}
]
},
"vhosts": [
{
"id": "example-1",
"frontend": {
"hosts": [
"app.localhost"
],
"listener_ids": [
"example-1-http"
]
},
"backends": [
{
"id": "demo-dns",
"url": "http://localhost:9000",
"protocol": "http1",
"allow_private": true,
"preserve_host": true,
"address_allowlist": [
"127.0.0.0/8",
"::1/128"
]
}
],
"load_balancing": {
"health_check": {
"mode": "off"
}
},
"routes": [
{
"id": "app",
"path_prefix": "/",
"backend_id": "demo-dns",
"enabled": true
}
]
}
],
"listeners": {
"endpoints": [
{
"id": "example-1-http",
"name": "example-1 HTTP",
"scope": "internal",
"enabled": true,
"binding": {
"address": "127.0.0.1:8080",
"tls": false,
"http2": false,
"http3": null
}
}
]
}
}
+138
View File
@@ -0,0 +1,138 @@
{
"listeners": {
"endpoints": [
{
"id": "public-app-http",
"name": "public-app HTTP",
"scope": "internal",
"enabled": true,
"binding": {
"address": "0.0.0.0:80",
"tls": false,
"http2": false
}
},
{
"id": "public-app-https",
"name": "public-app HTTPS",
"scope": "internal",
"enabled": true,
"binding": {
"address": "0.0.0.0:443",
"tls": true,
"http2": true
}
}
]
},
"vhosts": [
{
"id": "public-app",
"enabled": true,
"frontend": {
"hosts": [
"app.example.test"
],
"listener_ids": [
"public-app-http",
"public-app-https"
]
},
"backends": [
{
"id": "app-a",
"url": "http://127.0.0.1:9001",
"weight": 3,
"enabled": true,
"allow_private": true,
"preserve_host": true,
"protocol": "http1",
"address_allowlist": [
"127.0.0.1/32"
]
},
{
"id": "app-b",
"url": "http://127.0.0.1:9002",
"weight": 1,
"enabled": true,
"allow_private": true,
"preserve_host": true,
"protocol": "http1",
"address_allowlist": [
"127.0.0.1/32"
]
}
],
"load_balancing": {
"algorithm": "adaptive",
"slow_start_seconds": 10,
"health_check": {
"mode": "http",
"path": "/health",
"interval_ms": 5000,
"timeout_ms": 2000,
"slow_response_ms": 1500,
"fall": 3,
"rise": 2,
"expected_status_min": 200,
"expected_status_max": 299
},
"keepalive": {
"enabled": true,
"idle_timeout_seconds": 30,
"max_idle_per_host": 4,
"tcp_keepalive_seconds": 30
},
"sticky": {
"mode": "cookie",
"ttl_seconds": 3600
}
},
"security_headers": {
"hsts": {
"enabled": true,
"max_age_seconds": 300,
"include_subdomains": false,
"preload": false
},
"nosniff": true,
"frame_options": "sameorigin",
"referrer_policy": "strict-origin-when-cross-origin"
},
"headers": {
"response": [
{
"op": "remove",
"name": "x-powered-by"
},
{
"op": "set",
"name": "x-served-by",
"value": "RustProxy"
}
]
},
"routes": [
{
"id": "root",
"path_prefix": "/",
"cache": false
}
]
}
],
"tls": {
"default_certificate": "app",
"certificates": [
{
"id": "app",
"hosts": [
"app.example.test"
],
"cert_file": "app.pem",
"key_file": "app.key"
}
]
}
}
+110
View File
@@ -0,0 +1,110 @@
{
"listeners": {
"endpoints": [
{
"id": "private-app-http",
"name": "private-app HTTP",
"scope": "internal",
"enabled": true,
"binding": {
"address": "127.0.0.2:8080",
"tls": false,
"http2": false
}
}
]
},
"vhosts": [
{
"id": "private-app",
"enabled": true,
"frontend": {
"hosts": [
"private.localhost"
],
"listener_ids": [
"private-app-http"
]
},
"backends": [
{
"id": "app-a",
"url": "http://127.0.0.1:9001",
"weight": 3,
"enabled": true,
"allow_private": true,
"preserve_host": true,
"protocol": "http1",
"address_allowlist": [
"127.0.0.1/32"
]
},
{
"id": "app-b",
"url": "http://127.0.0.1:9002",
"weight": 1,
"enabled": true,
"allow_private": true,
"preserve_host": true,
"protocol": "http1",
"address_allowlist": [
"127.0.0.1/32"
]
}
],
"load_balancing": {
"algorithm": "adaptive",
"slow_start_seconds": 10,
"health_check": {
"mode": "http",
"path": "/health",
"interval_ms": 5000,
"timeout_ms": 2000,
"slow_response_ms": 1500,
"fall": 3,
"rise": 2,
"expected_status_min": 200,
"expected_status_max": 299
},
"keepalive": {
"enabled": true,
"idle_timeout_seconds": 30,
"max_idle_per_host": 4,
"tcp_keepalive_seconds": 30
},
"sticky": {
"mode": "off",
"ttl_seconds": 3600
}
},
"security_headers": {
"hsts": {
"enabled": false
},
"nosniff": true,
"frame_options": "sameorigin",
"referrer_policy": "strict-origin-when-cross-origin"
},
"headers": {
"response": [
{
"op": "remove",
"name": "x-powered-by"
},
{
"op": "set",
"name": "x-served-by",
"value": "RustProxy"
}
]
},
"routes": [
{
"id": "root",
"path_prefix": "/",
"cache": false
}
]
}
]
}