{"id":26784175,"url":"https://github.com/chinmayagrawal775/forward_proxy","last_synced_at":"2025-03-29T10:18:25.566Z","repository":{"id":257121617,"uuid":"857379356","full_name":"chinmayagrawal775/forward_proxy","owner":"chinmayagrawal775","description":"Forward Proxy Built using GO that you can use right in your system","archived":false,"fork":false,"pushed_at":"2024-09-16T15:03:24.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-15T05:41:38.807Z","etag":null,"topics":["concurrency","forward-proxy","golang","goroutines","profiling","thread-pool"],"latest_commit_sha":null,"homepage":"","language":"Go","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/chinmayagrawal775.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-14T13:57:50.000Z","updated_at":"2024-09-17T15:43:57.000Z","dependencies_parsed_at":"2024-09-14T23:57:57.015Z","dependency_job_id":"a82f504e-8e6d-4511-be63-069b215be6b1","html_url":"https://github.com/chinmayagrawal775/forward_proxy","commit_stats":null,"previous_names":["chinmayagrawal775/forward_proxy"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinmayagrawal775%2Fforward_proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinmayagrawal775%2Fforward_proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinmayagrawal775%2Fforward_proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinmayagrawal775%2Fforward_proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chinmayagrawal775","download_url":"https://codeload.github.com/chinmayagrawal775/forward_proxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246168108,"owners_count":20734391,"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":["concurrency","forward-proxy","golang","goroutines","profiling","thread-pool"],"created_at":"2025-03-29T10:18:25.106Z","updated_at":"2025-03-29T10:18:25.560Z","avatar_url":"https://github.com/chinmayagrawal775.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Forward Proxy Built using GO\n\n![Made with love in India](https://madewithlove.now.sh/in?heart=true\u0026colorA=%232543d4\u0026colorB=%23f58f00\u0026template=for-the-badge)\n[![made-with-go](https://img.shields.io/badge/Made%20with-GO-1f425f.svg)](https://go.dev/)\n[![Open Source Love svg1](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)\n\n\n## About Project 📄\n\nWhat is forward proxy?\n\u003e\n\u003e From chatGPT:\n\u003e\n\u003e A forward proxy is a type of server that acts as an intermediary between a client and the internet. When a client makes a request to access a website or online resource, the request is first sent to the forward proxy server. The proxy then forwards this request to the destination server, retrieves the response, and sends it back to the client.\n\n\n## Prerequisites ⚙️\n- Go installed on your system. (Version `1.23.0`)\n\n## Local Setup Guide 🛠️\n\n### Clone the repository\n```\ngit clone git@github.com:chinmayagrawal775/forward_proxy.git\n```\n\n### Go to project folder\n```\ncd forward_proxy\n```\n\n### Run Proxy server using below command\n```\ngo run main.go\n```\n\nAbove command will run the proxy server at below URL:\n\u003e http://127.0.0.1:6969\n\nBy default it also starts the profiling server. You can access it at:\n\u003e http://127.0.0.1:6060/debug/pprof\n\n### Test Proxy server 🧪\nRun the below commands in new terminal\n```\ncurl --proxy 127.0.0.1:6969 example.com\n\ncurl --proxy 127.0.0.1:6969 facebook.com\n```\nWith the first commnad you will see the html output in your terminal.\n\nAnd with the second command you will see `Access to the site blocked!!` as `facebook.com` is a blocked site in proxy server. You can tweak it by modifying the `config/restricted-hosts.txt` file.\n\n## Build Project 🏗️\nYou can use the Makefile to create executable binary with the following command:\n```\nmake build\n```\n\nOr you can also simply run the following command also:\n```\ngo build\n```\n\nBoth of the above commands will create the executable binaries with the name `foraward_proxy`\n\n## How to use it as actual proxy server 🌐 🌍\nHere i am giving the example of using your proxy server in [FireFox Browser](https://www.mozilla.org/en-US/firefox/). You can easily configure your firefox browser to use this forward proxy. Below are the steps to do that:\n\n- Open Firefox, go to settings.\n- In the General tab, at the very bottom, you will find the `Network Setting` section. Click the `Settings...` button\n- Or you can also serach for `proxy` in the search bar of firefox settings\n- In the opened modal, click the `Manual proxy configuration`\n- Now you will have access to input the proxy URL.\n- In HTTP proxy section enter the URL: `127.0.0.1` PORT: `6969`\n- do check the `Also use this proxy for HTTPS` checkbox, so that HTTPs URLs will also be proxied.\n- Click on `OK`\n\nHurray 🎉 🚀, Now you have cofigured the forward proxy in your firefox browser. All your request will now go through this proxy server. To verify check out the proxy server logs in terminal. You will find various requests logging there.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchinmayagrawal775%2Fforward_proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchinmayagrawal775%2Fforward_proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchinmayagrawal775%2Fforward_proxy/lists"}