{"id":18457917,"url":"https://github.com/0xor0ne/ssfs","last_synced_at":"2025-11-10T12:04:39.956Z","repository":{"id":237435435,"uuid":"624826146","full_name":"0xor0ne/ssfs","owner":"0xor0ne","description":"Simple Secure Static (HTTPS) File Server with embedded certificate","archived":false,"fork":false,"pushed_at":"2023-04-09T16:14:12.000Z","size":26,"stargazers_count":46,"open_issues_count":0,"forks_count":22,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-05T07:03:40.341Z","etag":null,"topics":["file-server","https","https-server","rust","rust-lang"],"latest_commit_sha":null,"homepage":"","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/0xor0ne.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-07T10:55:15.000Z","updated_at":"2025-06-03T07:48:16.000Z","dependencies_parsed_at":"2024-05-01T19:45:42.021Z","dependency_job_id":"5810ca8e-a034-48b5-9395-c0a6829e0ab7","html_url":"https://github.com/0xor0ne/ssfs","commit_stats":null,"previous_names":["0xor0ne/ssfs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/0xor0ne/ssfs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xor0ne%2Fssfs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xor0ne%2Fssfs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xor0ne%2Fssfs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xor0ne%2Fssfs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xor0ne","download_url":"https://codeload.github.com/0xor0ne/ssfs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xor0ne%2Fssfs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265271248,"owners_count":23738178,"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":["file-server","https","https-server","rust","rust-lang"],"created_at":"2024-11-06T08:16:03.375Z","updated_at":"2025-11-10T12:04:39.865Z","avatar_url":"https://github.com/0xor0ne.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Secure Static File Server\n\nStatic Files HTTPs server with self signed embedded certificate\n\n## Installation\n\nInstall using cargo:\n\n```bash\ncargo install ssfs\n```\n\nOr build from source:\n\n```bash\ngit clone https://github.com/0xor0ne/ssfs\ncd ssfs\ncargo build --release\n# executable in target/release/ssfs\n```\n\n## Usage\n\nGeneral usage:\n\n```bash\nssfs [--port \u003clistening_port\u003e] [--ip \u003cbinding_ip_address\u003e]\n```\n\n`--port` and `--ip` are optional and their default values are:\n\n- `--port`: 8443\n- `--ip`: `0.0.0.0`\n\n`ssfs` will serve files present in its current working directory and\nsub-directories.\n\n### Examples\n\nThe following examples assume `ssfs` is present in current $PATH. If this is not\nthe case, run `ssfs` by specifying the full path to the executable or copy\n`ssfs` in the directory where the files to be served are located and run it with\n`./ssfs`.\n\nRun `ssfs` on port 9000:\n\n```bash\nssfs --port 9000\n```\n\nYou can use `curl` with the `--insecure` option to connect to the server:\n\n```bash\ncurl --insecure https://\u003cserver_ip\u003e:9000/\n```\n\nyou can download a specific file by using the path to the file (e.g.\n`path/to/file.txt`):\n\n```bash\ncurl --insecure https://\u003cserver_ip\u003e:9000/path/to/file.txt\n```\n\nThis is an example of log printed by the server:\n\n```bash\nStarting server at: https://0.0.0.0:9000\n[2023-04-09T15:59:47Z INFO  actix_server::builder] starting 10 workers\n[2023-04-09T15:59:47Z INFO  actix_server::server] Actix runtime found; starting in Actix runtime\n[2023-04-09T15:59:54Z INFO  ssfs] 127.0.0.1 curl/7.79.1 GET /path/to/file.txt HTTP/2.0 /path/to/file.txt\n```\n\nYou can also connect to the server using a standard web browser and set the\nbrowser to trust the self signed certificate.\n\n## Certificate and Key\n\n`ssfs` comes with pre-generate server certificate and key. They are located in:\n\n- `assets/cert.pem`\n- `assets/key.pem`\n\nThese two files are embedded into the `ssfs` executable during build.\n\nIf you want to use different certificate and key the the ones provided, you can\nuse run the following scripts for generating a new pair of certificate and key:\n\n```bash\n./scripts/generate_cert_and_key.sh\n```\n\n## License\n\nLicensed under either of\n\n- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or\n  http://www.apache.org/licenses/LICENSE-2.0)\n- MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xor0ne%2Fssfs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xor0ne%2Fssfs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xor0ne%2Fssfs/lists"}