{"id":13503846,"url":"https://github.com/static-web-server/static-web-server","last_synced_at":"2026-02-20T04:05:44.036Z","repository":{"id":37607836,"uuid":"205869004","full_name":"static-web-server/static-web-server","owner":"static-web-server","description":"A cross-platform, high-performance and asynchronous web server for static files-serving. ⚡","archived":false,"fork":false,"pushed_at":"2026-02-03T16:58:52.000Z","size":10114,"stargazers_count":2098,"open_issues_count":33,"forks_count":112,"subscribers_count":18,"default_branch":"master","last_synced_at":"2026-02-04T05:18:04.783Z","etag":null,"topics":["alpine-linux","amd64","android","arm","arm64","darwin","debian-linux","docker-image","file-server","freebsd","http-server","http2","linux","macos","musl-libc","rust-lang","static-web-server","tls","windows","x86"],"latest_commit_sha":null,"homepage":"https://static-web-server.net","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/static-web-server.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE-APACHE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"joseluisq","custom":"paypal.me/joseluisqs"}},"created_at":"2019-09-02T13:59:23.000Z","updated_at":"2026-02-03T18:28:55.000Z","dependencies_parsed_at":"2023-11-24T00:29:34.163Z","dependency_job_id":"1d024eb5-ff85-46a9-bd5f-b77fbbb20773","html_url":"https://github.com/static-web-server/static-web-server","commit_stats":{"total_commits":940,"total_committers":34,"mean_commits":"27.647058823529413","dds":"0.18085106382978722","last_synced_commit":"ec85abdf3213e9995786974b44dd8f2628ecf7eb"},"previous_names":[],"tags_count":103,"template":false,"template_full_name":null,"purl":"pkg:github/static-web-server/static-web-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/static-web-server%2Fstatic-web-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/static-web-server%2Fstatic-web-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/static-web-server%2Fstatic-web-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/static-web-server%2Fstatic-web-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/static-web-server","download_url":"https://codeload.github.com/static-web-server/static-web-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/static-web-server%2Fstatic-web-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29640861,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T03:21:14.183Z","status":"ssl_error","status_checked_at":"2026-02-20T03:18:24.455Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alpine-linux","amd64","android","arm","arm64","darwin","debian-linux","docker-image","file-server","freebsd","http-server","http2","linux","macos","musl-libc","rust-lang","static-web-server","tls","windows","x86"],"created_at":"2024-07-31T23:00:46.715Z","updated_at":"2026-02-20T04:05:43.750Z","avatar_url":"https://github.com/static-web-server.png","language":"Rust","readme":"\u003cdiv\u003e\n  \u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://static-web-server.net\" title=\"static-web-server website\"\u003e\n      \u003cimg src=\"https://static-web-server.net/assets/sws.svg\" height=\"100\" width=\"100\"\n    /\u003e\u003c/a\u003e\n  \u003c/div\u003e\n\n  \u003ch1 align=\"center\"\u003eStatic Web Server\u003c/h1\u003e\n\n  \u003ch4 align=\"center\"\u003e\n    A cross-platform, high-performance and asynchronous web server for static files-serving ⚡\n  \u003c/h4\u003e\n\n  \u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://github.com/static-web-server/static-web-server/actions/workflows/devel.yml\" title=\"devel ci\"\u003e\u003cimg src=\"https://github.com/static-web-server/static-web-server/actions/workflows/devel.yml/badge.svg?branch=master\"\u003e\u003c/a\u003e \n    \u003ca href=\"https://hub.docker.com/r/joseluisq/static-web-server/\" title=\"Docker Image Version (tag latest semver)\"\u003e\u003cimg src=\"https://img.shields.io/docker/v/joseluisq/static-web-server/2\"\u003e\u003c/a\u003e \n    \u003ca href=\"https://hub.docker.com/r/joseluisq/static-web-server/tags\" title=\"Docker Image Size (tag)\"\u003e\u003cimg src=\"https://img.shields.io/docker/image-size/joseluisq/static-web-server/2\"\u003e\u003c/a\u003e \n    \u003ca href=\"https://hub.docker.com/r/joseluisq/static-web-server/\" title=\"Docker Image\"\u003e\u003cimg src=\"https://img.shields.io/docker/pulls/joseluisq/static-web-server.svg\"\u003e\u003c/a\u003e \n    \u003ca href=\"https://crates.io/crates/static-web-server\" title=\"static-web-server crate\"\u003e\u003cimg src=\"https://img.shields.io/crates/v/static-web-server.svg\"\u003e\u003c/a\u003e \n    \u003ca href=\"https://docs.rs/static-web-server\" title=\"static-web-server crate docs\"\u003e\u003cimg src=\"https://img.shields.io/docsrs/static-web-server/latest?label=docs.rs\"\u003e\u003c/a\u003e \n    \u003ca href=\"https://github.com/static-web-server/static-web-server/blob/master/LICENSE-APACHE\" title=\"static-web-server license\"\u003e\u003cimg src=\"https://img.shields.io/crates/l/static-web-server\"\u003e\u003c/a\u003e \n    \u003ca href=\"https://discord.gg/VWvtZeWAA7\" title=\"Static Web Server Community on Discord\"\u003e\n      \u003cimg src=\"https://img.shields.io/discord/1086203405225164842?logo=discord\u0026label=discord\"\u003e\n    \u003c/a\u003e\n  \u003c/div\u003e\n\u003c/div\u003e\n\n## Overview\n\n**Static Web Server** (or **`SWS`** abbreviated) is a tiny and fast production-ready web server suitable to serve static web files or assets.\n\nIt is focused on **lightness and easy-to-use** principles while keeping [high performance and safety](https://blog.rust-lang.org/2015/04/10/Fearless-Concurrency.html) powered by [The Rust Programming Language](https://rust-lang.org).\n\nWritten on top of [Hyper](https://github.com/hyperium/hyper) and [Tokio](https://github.com/tokio-rs/tokio) runtime, it provides [concurrent and asynchronous networking abilities](https://rust-lang.github.io/async-book/01_getting_started/02_why_async.html) and the latest HTTP/1 - HTTP/2 implementations.\n\nCross-platform and available for `Linux`, `macOS`, `Windows`, `FreeBSD`, `NetBSD`, `Android`, `Docker` and `Wasm` (via [Wasmer](https://wasmer.io/wasmer/static-web-server)).\n\n![static-web-server running](https://github.com/static-web-server/static-web-server/assets/1700322/102bef12-1f30-4054-a1bc-30c650d4ffa7)\n\n## Features\n\n- Built with [Rust](https://rust-lang.org), which focuses on [safety, speed and concurrency](https://kornel.ski/rust-c-speed).\n- Memory-safe and significantly reduced CPU and RAM overhead.\n- Blazing fast static files-serving and asynchronous powered by the latest [Hyper](https://github.com/hyperium/hyper/), [Tokio](https://github.com/tokio-rs/tokio) and a set of [awesome crates](https://github.com/static-web-server/static-web-server/blob/master/Cargo.toml).\n- Single __4MB__ (uncompressed) and fully static binary with no dependencies ([Musl libc](https://doc.rust-lang.org/edition-guide/rust-2018/platform-and-target-support/musl-support-for-fully-static-binaries.html)). Suitable for running on [any Linux distro](https://en.wikipedia.org/wiki/Linux_distribution) or [Docker container](https://hub.docker.com/r/joseluisq/static-web-server/tags).\n- Optional GZip, Deflate, Brotli or Zstandard (zstd) compression for text-based web files only.\n- Compression on-demand via [Accept-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding) header.\n- [Partial Content Delivery](https://en.wikipedia.org/wiki/Byte_serving) support for byte-serving of large files.\n- Optional [Cache-Control](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control) headers for assets.\n- [Termination signal](https://www.gnu.org/software/libc/manual/html_node/Termination-Signals.html) handling with [graceful shutdown](https://cloud.google.com/blog/products/containers-kubernetes/kubernetes-best-practices-terminating-with-grace) ability and grace period.\n- [HTTP/2](https://tools.ietf.org/html/rfc7540) and TLS support.\n- [Security headers](https://web.dev/security-headers/) for HTTP/2 by default.\n- [HEAD](https://tools.ietf.org/html/rfc7231#section-4.3.2) and [OPTIONS](https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.7) responses.\n- Lightweight and configurable logging via [tracing](https://github.com/tokio-rs/tracing) crate.\n- Customizable number of blocking and worker threads.\n- Optional directory listing with sorting and JSON output format support.\n- [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) with preflight requests support.\n- Basic HTTP Authentication.\n- Customizable HTTP response headers for specific file requests via glob patterns.\n- Fallback pages for 404 errors, useful for Single-page applications.\n- Run the server as a [Windows Service](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc783643(v=ws.10)).\n- Configurable using CLI arguments, environment variables or a TOML file.\n- Default and custom error pages.\n- Built-in HTTP to HTTPS redirect.\n- GET/HEAD Health check endpoint.\n- Support for serving pre-compressed (Gzip/Brotli/Zstd) files directly from disk.\n- Custom URL rewrites and redirects via glob patterns with replacements.\n- Virtual hosting support.\n- Multiple index files.\n- Maintenance Mode functionality.\n- Available as a library crate with opt-in features.\n- First-class [Docker](https://docs.docker.com/get-started/overview/) support. [Scratch](https://hub.docker.com/_/scratch), latest [Alpine Linux](https://hub.docker.com/_/alpine) and [Debian](https://hub.docker.com/_/alpine) Docker images.\n- Ability to accept a socket listener as a file descriptor for sandboxing and on-demand applications (e.g. [systemd](http://0pointer.de/blog/projects/socket-activation.html)).\n- Cross-platform. Pre-compiled binaries for Linux, macOS, Windows, FreeBSD, NetBSD, Android (`x86/x86_64`, `ARM/ARM64`) and WebAssembly (via [Wasmer](https://wasmer.io/wasmer/static-web-server)).\n\n## Documentation\n\nPlease refer to [The Documentation Website](https://static-web-server.net/) for more details about the API, usage and examples.\n\n## Releases\n\n- [Docker Images](https://hub.docker.com/r/joseluisq/static-web-server/)\n- [Release Binaries](https://github.com/static-web-server/static-web-server/releases)\n- [Platforms/Architectures Supported](https://static-web-server.net/platforms-architectures/)\n\n## Benchmarks\n\n\u003cimg title=\"SWS - Benchmarks April 2023\" src=\"https://raw.githubusercontent.com/static-web-server/benchmarks/master/data/2023-04/benchmark-2023-04.png\" width=\"860\"\u003e\n\nFor more details see [benchmarks repository](https://github.com/static-web-server/benchmarks)\n\n## Notes\n\n- If you're looking for `v1` please go to [1.x](https://github.com/static-web-server/static-web-server/tree/1.x) branch.\n- If you want to migrate from `v1` to `v2` please view [Migrating from `v1` to `v2`](https://static-web-server.net/migration/) release.\n\n## Contributions\n\nUnless you explicitly state otherwise, any contribution you intentionally submitted for inclusion in current work, as defined in the Apache-2.0 license, shall be dual licensed as described below, without any additional terms or conditions.\n\nFeel free to submit a [pull request](https://github.com/static-web-server/static-web-server/pulls) or file an [issue](https://github.com/static-web-server/static-web-server/issues).\n\n## Community\n\n[SWS Community on Discord](https://discord.gg/VWvtZeWAA7)\n\n## License\n\nThis work is primarily distributed under the terms of both the [MIT license](LICENSE-MIT) and the [Apache License (Version 2.0)](LICENSE-APACHE).\n\n© 2019-present [Jose Quintana](https://joseluisq.net)\n","funding_links":["https://github.com/sponsors/joseluisq","paypal.me/joseluisqs"],"categories":["应用程序 Applications","Applications","Rust","arm"],"sub_categories":["Web服务器 Web Servers","Web Servers"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatic-web-server%2Fstatic-web-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstatic-web-server%2Fstatic-web-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatic-web-server%2Fstatic-web-server/lists"}