#tower-http #blocking #security #tower

tunnelbana-hidepaths

Hide specific paths in tower services by sending them to a 404 service

4 releases (breaking)

Uses new Rust 2024

0.4.0 Nov 3, 2025
0.3.0 Jun 5, 2025
0.2.0 Mar 18, 2025
0.1.0 Nov 11, 2024

#2459 in HTTP server


Used in tunnelbana

MIT/Apache

14KB
243 lines

tunnelbana-hidepaths

Hide specific paths in tower services by sending them to a 404 service.

Part of the tunnelbana project.

Example

use tower_http::services::ServeDir;
use tower::{ServiceBuilder, ServiceExt};
use http::Response;
use tunnelbana_hidepaths::HidePathsLayer;

let hidepaths_middleware = HidePathsLayer::builder()
    .hide("/_redirects")
    .hide_all(["/.htaccess", "/.well-known/{*hide}"])
    .build()
    .expect("Failed to build path hide router");
let serve_dir = ServeDir::new("/var/www/html").append_index_html_on_directories(true);
let service = ServiceBuilder::new()
   .layer(hidepaths_middleware)
   .service(serve_dir);

tunnelbana-hidepaths

Hide specific paths in tower services by sending them to a 404 service.

https://docs.rs/tunnelbana-hidepaths

Dependencies

~6–8.5MB
~81K SLoC