{"id":13566091,"url":"https://github.com/micoli/frp-ssl-proxy","last_synced_at":"2026-02-13T21:56:40.332Z","repository":{"id":145151030,"uuid":"371776254","full_name":"micoli/frp-ssl-proxy","owner":"micoli","description":"FRP HTTPS let's encrypt reverse proxy ","archived":false,"fork":false,"pushed_at":"2021-05-31T11:52:00.000Z","size":121,"stargazers_count":10,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-04T20:41:53.931Z","etag":null,"topics":["docker","frp","nodejs","reverse-proxy","tunnel-server"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/micoli.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,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-05-28T17:38:55.000Z","updated_at":"2024-10-19T15:30:07.000Z","dependencies_parsed_at":"2024-01-19T07:30:16.977Z","dependency_job_id":null,"html_url":"https://github.com/micoli/frp-ssl-proxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micoli%2Ffrp-ssl-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micoli%2Ffrp-ssl-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micoli%2Ffrp-ssl-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micoli%2Ffrp-ssl-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/micoli","download_url":"https://codeload.github.com/micoli/frp-ssl-proxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247097667,"owners_count":20883122,"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":["docker","frp","nodejs","reverse-proxy","tunnel-server"],"created_at":"2024-08-01T13:02:01.878Z","updated_at":"2026-02-13T21:56:40.290Z","avatar_url":"https://github.com/micoli.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# FRP SSL proxy\n\n## What is FRP-SSL-Proxy\n\nFRP SSL proxy is a plugin to [Fast Reverse Proxy](https://github.com/fatedier/frp). \n\nIt is listening for new client tunnel connection from FRP client, get associate certificates from Let'sEncrypt and expose secured URL of tunnel.\n\nA local store keep trace of previous client hosts and certificates.\n\nIt's base on [RedBird](https://github.com/OptimalBits/redbird) NodeJS reverse proxy and is freely inspired by [ACMEProxy](https://github.com/lukacu/docker-frps).\n\n## Architecture\n\n![Diagram](./doc/diagram.png)\n\n## Example\n\nIn `example` folder, you can find a `docker-compose.yml` of a tunnel server and a `frp.ini` for client side configuration`\n\n## Configuration\n\nFRP Let's Encrypt proxy has the following available environment variables\n\n| Variable Name | Purpose | Default value |\n| ---  | --- | --- |\n| FRP_SSL_PROXY_EMAIL | LetsEncrypt email| test@example.com |\n| FRP_SSL_PROXY_PRODUCTION | LetsEncrypt production flag | false |\n| FRP_SSL_PROXY_HTTP_PORT | Exposed Http port, used by let's encrypt challenge resolution| 80 |\n| FRP_SSL_PROXY_HTTPS_PORT | Exposed Https port, used by tunnels | 443 |\n| FRP_SSL_PROXY_LETSENCRYPT_PORT | internal let's encrypt port| 9999 |\n| FRP_SSL_PROXY_SUBDOMAIN_HOST | Main frp server domain| tunnel.example.com |\n| FRP_SSL_PROXY_PROXY_TARGET | Internal FRP server host, used by https-\u003ehttp reverse proxy | http://frp-server:80 |\n| FRP_SSL_PROXY_API_HTTP_PORT | Internal FRP let's encrypt proxy api, used by FRP server on new conection | 9002 |\n| FRP_SSL_PROXY_X_FORWARD | X-Forward header flag, used by RedBird| true |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicoli%2Ffrp-ssl-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicoli%2Ffrp-ssl-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicoli%2Ffrp-ssl-proxy/lists"}