{"id":29668098,"url":"https://github.com/kiler129/embedded-https","last_synced_at":"2025-10-08T18:21:29.350Z","repository":{"id":301808138,"uuid":"823423617","full_name":"kiler129/embedded-https","owner":"kiler129","description":"Small HTTPS reverse proxy shim for IoT devices","archived":false,"fork":false,"pushed_at":"2025-06-28T23:39:14.000Z","size":14,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-29T00:25:56.667Z","etag":null,"topics":["embedded","https-proxy","iot","reverse-proxy"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/kiler129.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-07-03T02:34:34.000Z","updated_at":"2025-06-28T23:39:17.000Z","dependencies_parsed_at":"2025-06-29T06:46:19.254Z","dependency_job_id":null,"html_url":"https://github.com/kiler129/embedded-https","commit_stats":null,"previous_names":["kiler129/embedded-https"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/kiler129/embedded-https","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiler129%2Fembedded-https","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiler129%2Fembedded-https/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiler129%2Fembedded-https/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiler129%2Fembedded-https/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kiler129","download_url":"https://codeload.github.com/kiler129/embedded-https/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiler129%2Fembedded-https/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266535695,"owners_count":23944275,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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":["embedded","https-proxy","iot","reverse-proxy"],"created_at":"2025-07-22T17:06:03.098Z","updated_at":"2025-10-08T18:21:29.255Z","avatar_url":"https://github.com/kiler129.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Embedded HTTPS Proxy\n\nMany medium-footprint embedded systems with web management are meant to be used with regular web browsers. Unfortunately, \nmost of them don't bother implementing HTTPS.  This is not only insecure, but often quite annoying given browsers' being \nstricter every day about HTTP pages (esp. with login forms).\n\nThis project implements a small HTTPS =\u003e HTTP reverse proxy, based on [`tiny-ssl-reverse-proxy`](https://github.com/sensiblecodeio/tiny-ssl-reverse-proxy). It is pretty \nuniversal, but the main aim is to run on embedded systems with low traffic needs.\n\n\n## Structure\nOriginally, the project was motivated by the desire to add HTTPS support to [Valetudo](https://github.com/Hypfer/Valetudo)\nto ensure passwords aren't sent in clear text, and password managers actually don't refuse to auto-fill them.\n\nHowever, the usage isn't specific to Valetudo. Every release contains three files:\n  - `tiny-ssl-reverse-proxy`: the proxy server\n  - `run-proxy.sh`: bootstrap code for the proxy\n  - `reload-proxy.sh`: reload already running proxy\n\n\n## Usage\nThe proxy expects `cert.pem` and `key.pem` files to be present in the same directory as bootstrap code \u0026 proxy server.\nIf certificate and/or key are missing and OpenSSL is installed, a self-signed certificate will be generated.\n\n  - To use the proxy simply run `run-proxy.sh`. You can set `EH_VERBOSE` to non-zero value to see log of requests.\n  - If you want to reload proxy running in the background (e.g. to provision new cert) run `reload-proxy.sh`\n\n### Usage with Valetudo\n1. Unpack release (e.g. `tar -xzvf ehttps-arm64.tar.gz`)\n2. (Optionally) Put `cert.pem` \u0026 `key.pem` in `ehttps-arm64`\n3. Upload: `scp -O -r ehttps-arm64 root@my-vacuum:/data/`\n4. Login via SSH and edit (e.g. with `nano`) the `/data/_root_postboot.sh` adding at the end:\n   ```shell\n   /data/ehttps-arm64/run-proxy.sh \u003e /dev/null 2\u003e\u00261 \u0026\n   ```\n5. `reboot` from the SSH session\n\n\n## Building manually\nIf you don't want to use/don't trust releases on GitHub you can build your own package:\n\n - `./build.sh arm64`: builds aarch64 (ARM 64bit) binary\n - `./build.sh arm`: builds armv7 (ARM 32bit) binary\n - `./build.sh amd64`: builds x86-64 binary\n\nThe build script requires `docker` and should run on both Linux and macOS.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiler129%2Fembedded-https","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkiler129%2Fembedded-https","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiler129%2Fembedded-https/lists"}