{"id":13581847,"url":"https://github.com/hoppscotch/proxyscotch","last_synced_at":"2025-05-15T19:05:46.385Z","repository":{"id":37265807,"uuid":"218408263","full_name":"hoppscotch/proxyscotch","owner":"hoppscotch","description":"📡 A simple proxy server created for https://hoppscotch.io","archived":false,"fork":false,"pushed_at":"2025-03-29T08:46:47.000Z","size":18817,"stargazers_count":387,"open_issues_count":14,"forks_count":115,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-05-15T19:05:01.688Z","etag":null,"topics":["go","hacktoberfest","hoppscotch","linux","macos","proxy-server","tray","windows"],"latest_commit_sha":null,"homepage":"https://hoppscotch.io","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/hoppscotch.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2019-10-30T00:15:59.000Z","updated_at":"2025-04-30T02:29:20.000Z","dependencies_parsed_at":"2024-01-29T10:09:54.334Z","dependency_job_id":"bee28f03-77cc-4caf-9298-fef05c583190","html_url":"https://github.com/hoppscotch/proxyscotch","commit_stats":null,"previous_names":["postwoman-io/postwoman-proxy"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoppscotch%2Fproxyscotch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoppscotch%2Fproxyscotch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoppscotch%2Fproxyscotch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoppscotch%2Fproxyscotch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hoppscotch","download_url":"https://codeload.github.com/hoppscotch/proxyscotch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254404357,"owners_count":22065641,"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":["go","hacktoberfest","hoppscotch","linux","macos","proxy-server","tray","windows"],"created_at":"2024-08-01T15:02:16.421Z","updated_at":"2025-05-15T19:05:46.365Z","avatar_url":"https://github.com/hoppscotch.png","language":"Go","readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://hoppscotch.io\"\u003e\u003cimg src=\"https://hoppscotch.io/icon.png\" alt=\"Hoppscotch\" height=\"128\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003ch1\u003eProxyscotch\u003c/h1\u003e\n  \u003cp\u003e\n    API request builder - Helps you create your requests faster, saving you precious time on your development.\n  \u003c/p\u003e\n\u003c/div\u003e\n\n---\n\nA simple proxy server created by [@SamJakob](https://github.com/SamJakob/) for [Hoppscotch](https://github.com/hoppscotch/hoppscotch/) and formerly hosted by [Apollo Software Limited](https://apollosoftware.xyz/).\n\n## Installation 📦\n**Proxyscotch requires `zenity` on Linux. This is available in most distribution package managers.**\n\nWe're still working on automated installers. For now, copy the binary to a user-writeable location and launch the application.  \nA dialog will open and explain the certificate installation process - there are more detailed instructions in our [wiki](https://github.com/hoppscotch/proxyscotch/wiki).\n\n## Demo 🚀\n[https://hoppscotch.io](https://hoppscotch.io)\n\n\n## Building 🏗️\n\n*These are bash scripts. In order to execute them on Windows, you will need to use some form of bash shell on Windows. We recommend [Git Bash](https://gitforwindows.org/).*\n\n- macOS:\n```bash\n# To build the desktop tray application:\n$ ./build.sh darwin\n\n# To build the server application:\n$ ./build.sh darwin server\n```\n\n- For Linux desktops:\n```bash\n# To build the desktop tray application:\n$ ./build.sh linux\n\n# To build the server application:\n$ ./build.sh linux server\n```\n\n- For Windows desktops:\n```bash\n# To build the desktop tray application:\n$ ./build.sh windows\n\n# To build the server application:\n$ ./build.sh windows server\n```\n\n\u003e The build output is placed in the `out/` directory.\n\n\n\n## Installers 🧙\nThe `installers/` directory contains scripts for each platform to generate an installer application.  \nEach platform's installer directory, contains the relevant information for that installer.\n- [macOS](installers/darwin)\n- [Windows](installers/windows)\n- [Linux](installers/linux)\n\n\n\n## Usage 👨‍💻\n### Desktops 🖥️\nThe proxy will add a tray icon to the native system tray for your platform, which will contain all of the options for the proxy.\n\n### Servers 🖧\nTo use the proxy on a server, clone the package, build the server using the instructions above, and use:\n```bash\n$ ./out/\u003cplatform\u003e-server/server --host=\"\u003chostname\u003e:\u003cport\u003e\" --token=\"\u003ctoken_or_blank\u003e\"\n\n# e.g. on Linux\n$ ./out/linux-server/server --host=\"\u003chostname\u003e:\u003cport\u003e\" --token=\"\u003ctoken_or_blank\u003e\"\n\n# or on Windows\n$ ./out/windows-server/server.exe --host=\"\u003chostname\u003e:\u003cport\u003e\" --token=\"\u003ctoken_or_blank\u003e\"\n```\n\n- The `host` and `token` parameters are optional. The defaults are as follows:\n- `host`: `localhost:9159`\n- `token`: blank; allowing anyone to access (see below)\n\n**NOTE:** When the token is blank it will allow *anybody* to access your proxy server. This may be what you want, but please be sure to consider the security implications.\n\n#### Server Command-Line Options\n\nThe server binary supports various options to customize your instance. Each of these are in the format shown in the example above, e.g., `host` would be specified as `--host=\"your host here\"`, or banned outputs would be `--banned-outputs=\"banned output 1,banned output 2\"`.\n\n- `host` (default: `localhost:9159`) -- the hostname the server should listen on.\n- `token` (default: `\u003cblank\u003e`) -- the proxy Access Token used to restrict access to the server (feature disabled if left blank).\n- `allowed-origins` (default: `*`) -- a comma separated list of allowed origins (for the Access-Control-Allow-... (CORS) headers) (use * to permit any)\n- `banned-outputs` (default: `\u003cblank\u003e`) -- a comma separated list of values to redact from responses (feature disabled if left blank).\n- `banned-dests` (default: `\u003cblank\u003e`) -- a comma separated list of destination hosts to prevent access to (feature disabled if left blank).\n\nEach of these may be passed as command-line parameters so to apply these or deploy changes, simply change your invocation of the Proxyscotch server to your preferred command-line options and re-run proxyscotch.\n\n#### Docker Container\nThe Proxyscotch server is also available as a Docker container hosted in [Docker Hub](https://hub.docker.com/r/hoppscotch/proxyscotch) and as of version 0.1.2 and above you can pass environment variables to it to configure the container.\nThe container exposes the proxy through port `9159`.\n\nEnvironment Variables the container accepts:\n- `PROXYSCOTCH_TOKEN` (default: `\u003cblank\u003e`) -- the proxy Access Token used to restrict access to the server (feature disabled if left blank).\n- `PROXYSCOTCH_ALLOWED_ORIGINS` (default: `*`) -- a comma separated list of allowed origins (for the Access-Control-Allow-... (CORS) headers) (use * to permit any)\n- `PROXYSCOTCH_BANNED_OUTPUTS` (default: `\u003cblank\u003e`) -- a comma separated list of values to redact from responses (feature disabled if left blank).\n- `PROXYSCOTCH_BANNED_DESTS` (default: `\u003cblank\u003e`) -- a comma separated list of destination hosts to prevent access to (feature disabled if left blank).\n\nYou can provide these values to the container as follows:\n\n- Via `docker run`:\n  ```sh\n  docker run -d \\\n  -e PROXYSCOTCH_TOKEN=\u003ctoken\u003e \\\n  -e PROXYSCOTCH_ALLOWED_ORIGINS=\u003callowed_origins\u003e \\\n  -e PROXYSCOTCH_BANNED_OUTPUTS=\u003cbanned_outputs\u003e \\\n  -e PROXYSCOTCH_BANNED_DESTS=\u003cbanned_dests\u003e \\\n  -p \u003chost_port\u003e:9159 \\\n  hoppscotch/proxyscotch:v0.1.4\n  ```\n\n- Via `docker-commpose`:\n```yaml\n# docker-compose.yml\n\nservices:\n  proxyscotch:\n    image: hoppscotch/proxyscotch:v0.1.4\n    environment:\n      - PROXYSCOTCH_ALLOWED_ORIGINS=\u003callowed_origins\u003e\n      - PROXYSCOTCH_BANNED_OUTPUTS=\u003cbanned_outputs\u003e\n      - PROXYSCOTCH_BANNED_DESTS=\u003cbanned_dests\u003e\n    ports:\n      - \"\u003chost_port\u003e:9159\"\n```\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoppscotch%2Fproxyscotch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhoppscotch%2Fproxyscotch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoppscotch%2Fproxyscotch/lists"}