v0.35.1: performance, AGPL licensing and documentation overhaul

- Web Server reads static files inline; proxy middleware chain flattened
- About window with license summary and project links; AGPL-3.0-or-later
- Rewritten documentation: feature list, screenshots, performance guide
- Fix false spikes in per-Vhost request-rate charts
This commit is contained in:
gru committed 2026-11-05 18:29:56 +01:00
1 parent d3b492874b
commit eba9f89283
135 files changed
+1425 -1064

No files matched your search

+7 -7
View File
@@ -1,7 +1,7 @@
async fn forward(
State(state): State<Arc<App>>,
Extension(peer): Extension<PeerAddr>,
Extension(local): Extension<LocalAddr>,
state: Arc<App>,
peer: PeerAddr,
local: LocalAddr,
mut request: Request,
) -> Response {
let cookies = crate::auth_provider::CookieSink::default();
@@ -279,7 +279,7 @@ async fn forward_request(
country.as_deref(),
request
.headers()
.get(http::header::USER_AGENT)
.get(::http::header::USER_AGENT)
.and_then(|value| value.to_str().ok()),
&snapshot.global_security.rate_limit,
) {
@@ -288,7 +288,7 @@ async fn forward_request(
"RustProxy: global request rate limit exceeded\n",
);
if let Ok(value) = HeaderValue::from_str(&limited.retry_after_seconds.to_string()) {
response.headers_mut().insert("retry-after", value);
response.headers_mut().insert(::http::header::RETRY_AFTER, value);
}
return response;
}
@@ -335,7 +335,7 @@ async fn forward_request(
country.as_deref(),
request
.headers()
.get(http::header::USER_AGENT)
.get(::http::header::USER_AGENT)
.and_then(|value| value.to_str().ok()),
&frontend.rate_limit,
) {
@@ -344,7 +344,7 @@ async fn forward_request(
"RustProxy: request rate limit exceeded\n",
);
if let Ok(value) = HeaderValue::from_str(&limited.retry_after_seconds.to_string()) {
response.headers_mut().insert("retry-after", value);
response.headers_mut().insert(::http::header::RETRY_AFTER, value);
}
return response;
}