{"id":15396929,"url":"https://github.com/luizfonseca/proksi","last_synced_at":"2025-05-16T04:03:37.670Z","repository":{"id":239646522,"uuid":"796942916","full_name":"luizfonseca/proksi","owner":"luizfonseca","description":"Batteries-included CDN, reverse proxy and Load Balancer with Docker support using Cloudflare Pingora.","archived":false,"fork":false,"pushed_at":"2025-05-12T12:30:46.000Z","size":3049,"stargazers_count":143,"open_issues_count":5,"forks_count":14,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-12T13:35:45.879Z","etag":null,"topics":["cdn","docker","pingora","proxy-server","reverse-proxy","swarm"],"latest_commit_sha":null,"homepage":"https://proksi-1.gitbook.io/proksi","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/luizfonseca.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["luizfonseca"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"custom":null}},"created_at":"2024-05-06T22:58:00.000Z","updated_at":"2025-05-12T12:30:48.000Z","dependencies_parsed_at":"2025-04-14T10:02:22.176Z","dependency_job_id":"a31003e8-02dc-4dcf-8463-7491b04b8595","html_url":"https://github.com/luizfonseca/proksi","commit_stats":null,"previous_names":["luizfonseca/proksi"],"tags_count":57,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luizfonseca%2Fproksi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luizfonseca%2Fproksi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luizfonseca%2Fproksi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luizfonseca%2Fproksi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luizfonseca","download_url":"https://codeload.github.com/luizfonseca/proksi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254464891,"owners_count":22075570,"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":["cdn","docker","pingora","proxy-server","reverse-proxy","swarm"],"created_at":"2024-10-01T15:35:23.283Z","updated_at":"2025-05-16T04:03:37.629Z","avatar_url":"https://github.com/luizfonseca.png","language":"Rust","funding_links":["https://github.com/sponsors/luizfonseca"],"categories":["Rust"],"sub_categories":[],"readme":"\n![GitHub Release](https://img.shields.io/github/v/release/luizfonseca/proksi?style=for-the-badge)\n![Crates.io MSRV](https://img.shields.io/crates/msrv/proksi?style=for-the-badge)\n![Crates.io License](https://img.shields.io/crates/l/proksi?style=for-the-badge)\n[![Crates.io Total Downloads](https://img.shields.io/crates/d/proksi?style=for-the-badge)](https://crates.io/crates/proksi)\n\n# Proksi: Automatic SSL, HTTP, and DNS Proxy\n\n\u003cimg src=\"./assets/discord.png\" alt=\"discord-logo\" width=\"200\"/\u003e\n\n\n# About\n\nProksi is a simple, lightweight, and easy-to-use proxy server that automatically handles SSL, HTTP, and DNS traffic. It is designed to be used as a standalone proxy server or as a component in a larger system. Proksi is written in [Rust](https://www.rust-lang.org/) and uses [Pingora](https://github.com/cloudflare/pingora) as its core networking library.\n\n\n# Features\n\nOf the many features Proksi offers is the ability to load balance to your infrastructure or any IP that supports your host configurations. Other features of Proksi also include:\n\n- Automatic Docker and Docker Swarm service discovery through labels\n- Built-in most common middlewares such as OAuth, Rate Limiting, CDN Caching and others\n- The ability of running it as a single binary in your system\n- Automatic SSL through Let's Encrypt and redirection from HTTP to HTTPS\n- Configuration through **HCL** with support for functions (get environment variables, etc)\n- Powerful plugin system for adding new middlewares and other features using **WebAssembly (WASM)**\n- Many others.\n\n# Quick start\n\n1. Download the latest release from [https://github.com/luizfonseca/proksi/releases](https://github.com/luizfonseca/proksi/releases)\n2. Create a configuration file named `proksi.hcl`\n3. Add the following content to the file:\n\n```hcl\nlets_encrypt {\n  enabled = true\n  email = \"my@email.com\"\n}\n\npaths {\n  # Where to save certificates?\n  lets_encrypt = \"./\"\n}\n\n# A list of routes Proksi should handle\nroutes = [\n  {\n    # You might need to edit your /etc/hosts file here.\n    host = \"mysite.localhost\",\n\n    # Will create a certificate for mysite.localhost\n    ssl_certificate =  {\n      self_signed_on_failure = true\n    }\n\n    # Where to point mysite.localhost to\n    upstreams = [{\n      ip = \"docs.proksi.info\"\n      port = 443\n\n      headers = {\n        add = [{ name = \"Host\", value = \"docs.proksi.info\" }]\n      }\n    }]\n  }\n]\n```\n4. Run `proksi -c /path-where-proksi.hcl-is-located`\n\nFor more information or guides, please refer to the [documentation](https://docs.proksi.info).\n\n\n# Documentation\nDocumentation for Proksi can be found at [https://docs.proksi.info](https://docs.proksi.info) which is also available in the [gitbook](./gitbook/) folder of this repository.\n\n\n# Contributing\nWe welcome contributions to Proksi. If you have any **suggestions** or **ideas**, please feel free to open an issue or a pull request on the GitHub repository.\n\n# License\nProksi is licensed under the [MIT License](https://github.com/luizfonseca/proksi/blob/main/LICENSE), the [Apache License 2.0](https://github.com/luizfonseca/proksi/blob/main/LICENSE-APACHE) and is free to use and modify.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluizfonseca%2Fproksi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluizfonseca%2Fproksi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluizfonseca%2Fproksi/lists"}