{"id":25936086,"url":"https://github.com/jojiiofficial/reverseproxy","last_synced_at":"2026-06-05T08:31:48.751Z","repository":{"id":52414054,"uuid":"247571768","full_name":"JojiiOfficial/Reverseproxy","owner":"JojiiOfficial","description":"A high performance reverse proxy written in go ","archived":false,"fork":false,"pushed_at":"2021-04-29T21:21:29.000Z","size":128,"stargazers_count":3,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-20T22:34:40.953Z","etag":null,"topics":["golang","highperformance","performance","reverseproxy"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/JojiiOfficial.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}},"created_at":"2020-03-15T23:48:36.000Z","updated_at":"2024-06-20T22:34:40.954Z","dependencies_parsed_at":"2022-09-06T06:13:12.470Z","dependency_job_id":null,"html_url":"https://github.com/JojiiOfficial/Reverseproxy","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/JojiiOfficial%2FReverseproxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JojiiOfficial%2FReverseproxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JojiiOfficial%2FReverseproxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JojiiOfficial%2FReverseproxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JojiiOfficial","download_url":"https://codeload.github.com/JojiiOfficial/Reverseproxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241768273,"owners_count":20017129,"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":["golang","highperformance","performance","reverseproxy"],"created_at":"2025-03-04T01:50:05.123Z","updated_at":"2026-06-05T08:31:48.741Z","avatar_url":"https://github.com/JojiiOfficial.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Reverseproxy\nA high performance reverse proxy written in go. It can replace reverseproxies like apache or nginx if you don't need special features. It is pretty simple to setup, lightweight and very fast. In some cases it is faster than apache/nginx!\n\n# Installation\nYou can compile the binary by using `go build -o main`. This will create a file called `main`.\u003cbr\u003e\nYou can set `-debug` and `-config` if you want to view more output or specify a custom config file. By default the config file is stored at /etc/reverseproxy/config.toml\n\n### Docker\nThe images are hosted at [Dockerhub](https://hub.docker.com/r/jojii/reverseproxy).\u003cbr\u003e\nTo Install it, run following command\n```bash\ndocker run --name revproxy --rm -v `pwd`/config:/app/config jojii/reverseproxy\n```\n\n## Concept/Idea\n- You have one configfile in which you have to define your routefiles and interfaces\n- You can have n routes stored in separate files in the `./config/routes` directory\n- One route represents one (sub)domain/host\n- One route can listen on n ports/interfaces which you have to specify in the config first\n- Http redirect interfaces can't be used as interface for locations\n\n# Configuration\n### Example\nConfig.toml:\n```toml\n# Specify your routes\nRouteFiles = [\"./config/routes/route1.toml\"]\n[Server]\n  MaxHeaderSize = \"16KB\" # B/KB/MB/GB/TB/PB/EB\n  ReadTimeout = \"10s\"\n  WriteTimeout = \"10s\"\n  \n# Setup port 80 as auto http redirect (to https)\n[[ListenAddresses]]\n  Address = \":80\"\n  SSL = false\n  Task = \"httpredirect\"\n  [ListenAddresses.TaskData]\n    [ListenAddresses.TaskData.Redirect]\n      HTTPCode = 301\n\n# Use 443 using SSL \n[[ListenAddresses]]\n  Address = \":443\"\n  SSL = true\n\n```\nroute1.toml:\n```toml\nServerNames = [\"yourDomain.xyz\"]\nInterfaces = [\":80\", \":443\"]\n\n# Your ssl stuff\n[SSL]\n  Key = \"./certs/key.pem\"\n  Cert = \"./certs/cert.pem\"\n\n[[Location]]\n  # Location to match for this route\n  Location = \"/\"\n  # Destination (must be a URL to somewhere)\n  Destination = \"http://127.0.0.1:81/\"\n  # Is regex in Location\n  Regex = false  \n  \n[[Location]]\n  Location = \"/hidden/secret/stuff\"\n  Destination = \"http://127.0.0.1:81/admin/\"\n  # Only allow localhost and 192.168.1.1/24 to access this location\n  Deny = \"all\"\n  Allow = [\"127.0.0.1\", \"192.168.1.1/24\"]\n```\n\n## Important\n- You \u003cb\u003emust\u003c/b\u003e specify every interface you use in routes in the config exact the same way!\n- You should put the root location (/) at the end of your locations. The priority is from top to bottom\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjojiiofficial%2Freverseproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjojiiofficial%2Freverseproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjojiiofficial%2Freverseproxy/lists"}