{"id":16001841,"url":"https://github.com/the10thwiz/rocket-cgi","last_synced_at":"2026-04-19T16:35:52.109Z","repository":{"id":65141372,"uuid":"583169702","full_name":"the10thWiz/rocket-cgi","owner":"the10thWiz","description":"Simple CGI (RFC 3875) handler for Rocket.","archived":false,"fork":false,"pushed_at":"2022-12-31T17:03:27.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T13:31:54.320Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/the10thWiz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-12-29T01:15:11.000Z","updated_at":"2023-04-24T13:58:50.000Z","dependencies_parsed_at":"2023-01-10T14:31:10.066Z","dependency_job_id":null,"html_url":"https://github.com/the10thWiz/rocket-cgi","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the10thWiz%2Frocket-cgi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the10thWiz%2Frocket-cgi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the10thWiz%2Frocket-cgi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the10thWiz%2Frocket-cgi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/the10thWiz","download_url":"https://codeload.github.com/the10thWiz/rocket-cgi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243259463,"owners_count":20262480,"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":[],"created_at":"2024-10-08T10:00:57.896Z","updated_at":"2025-12-26T17:02:13.617Z","avatar_url":"https://github.com/the10thWiz.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple CGI (RFC 3875) handler for Rocket\n\n[![https://img.shields.io/crates/v/rocket-cgi.svg]](https://crates.io/crates/rocket-cgi)\n\nSimple standards compliant CGI handler for Rocket. This is still a WIP, and will\nremain so until the security todo items have been handled.\n\n## Usage\n\nSimply mount a directory with a CGI handler.\n\n```rust\nrocket().mount(\"/cgi\", CGIDir::new(\"./cgi\"))\n```\n\n## Configuration\n\n- `cgi` data limit for post requests (1 MiB default)\n\n## Notes\n\nThis CGI handler will automatically attempt to kill the script as soon as\npossible. If the process closes stdout, the header lines have been printed for a\nHEAD request, or a redirect was sent will all cause the process to be killed.\n\nThis also don't implement several optional parts of the spec. For example,\nextension methods (even just PUT \u0026 DELETE) are not supported.\n\n## TODO\n\n- Security\n  - [ ] Check file permissions - Deny writable files?\n  - [x] Check file permissions - Deny setuid bit\n  - [x] Block path traversal\n  - [x] Ignore dot files / hidden files\n- Functionality\n  - [x] Additional default filetypes\n  - [x] Redirection\n  - [ ] Extension headers\n- Testing\n  - [ ] Test Windows-only features (Hidden Files \u0026 System/Temporary Files)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthe10thwiz%2Frocket-cgi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthe10thwiz%2Frocket-cgi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthe10thwiz%2Frocket-cgi/lists"}