{"id":13998165,"url":"https://github.com/dcoles/nginx-rs","last_synced_at":"2025-07-23T05:32:35.037Z","repository":{"id":57644931,"uuid":"213219459","full_name":"dcoles/nginx-rs","owner":"dcoles","description":"Nginx module written in Rust","archived":true,"fork":false,"pushed_at":"2023-11-08T04:34:48.000Z","size":46,"stargazers_count":87,"open_issues_count":1,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-11T20:25:04.807Z","etag":null,"topics":["nginx","nginx-modules","rust"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dcoles.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-10-06T18:14:29.000Z","updated_at":"2025-01-07T02:54:02.000Z","dependencies_parsed_at":"2023-11-08T07:46:28.030Z","dependency_job_id":null,"html_url":"https://github.com/dcoles/nginx-rs","commit_stats":{"total_commits":41,"total_committers":1,"mean_commits":41.0,"dds":0.0,"last_synced_commit":"fc87c86b39f0169e5736694f4c1f20916da85100"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dcoles/nginx-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcoles%2Fnginx-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcoles%2Fnginx-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcoles%2Fnginx-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcoles%2Fnginx-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dcoles","download_url":"https://codeload.github.com/dcoles/nginx-rs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcoles%2Fnginx-rs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266080614,"owners_count":23873505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["nginx","nginx-modules","rust"],"created_at":"2024-08-09T19:01:26.456Z","updated_at":"2025-07-23T05:32:34.765Z","avatar_url":"https://github.com/dcoles.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# nginx-rs\n\n[![crates.io](https://img.shields.io/crates/v/nginx-rs.svg)](https://crates.io/crates/nginx-rs)\n[![MIT License](https://img.shields.io/crates/l/nginx-rs.svg)](LICENSE)\n\n\u003e **Note**\n\u003e **[Nov 2023]** Nginx now provides official Rust support with the [`ngx`](https://crates.io/crates/ngx) crate.\n\u003e \n\u003e See Nginx's blog post [*Extending NGINX with Rust (an Alternative to C)*](https://www.nginx.com/blog/extending-nginx-with-rust-an-alternative-to-c/).\n\u003e\n\u003e **[Feb 2023]** I haven't had a chance to work on this recently, but you might be interested in\n\u003e Cloudflare's blog post [*ROFL with a LOL: rewriting an NGINX module in Rust*](https://blog.cloudflare.com/rust-nginx-module/), which takes some inspiration from this module.\n\nA framework for writing Nginx modules in pure Rust.\n\nThis module is in early stages. It lacks documentation and the API is still quite unstable.\nBut it can be used to write simple request handlers for content or access control.\n\n## Building Modules\n\nBuilding modules requires a checkout of the Nginx sources\n[configured for building dynamic modules](https://www.nginx.com/blog/compiling-dynamic-modules-nginx-plus/):\n\n```bash\nexport NGINX_DIR=/path/to/nginx\ncd \"${NGINX_DIR}\"\nauto/configure --with-compat\n```\n\nOnce Nginx is configured, you can then build your module:\n\n```bash\ncd /path/to/module\ncargo build --release\n```\n\nThe resulting `.so` in `target/release` can then be loaded using the\n[`load_module` directive](https://nginx.org/en/docs/ngx_core_module.html#load_module).\n\n## Examples\n\n- [hello_world](/examples/hello_world) — Demonstrations access control and content handlers\n\n## Licence\n\nThis project is licensed under the terms of the [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcoles%2Fnginx-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdcoles%2Fnginx-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcoles%2Fnginx-rs/lists"}