{"id":22311488,"url":"https://github.com/vilicvane/plug2proxy","last_synced_at":"2025-10-07T02:20:14.602Z","repository":{"id":53443546,"uuid":"432863450","full_name":"vilicvane/plug2proxy","owner":"vilicvane","description":"Transparent Proxy over HTTP2 or QUIC.","archived":false,"fork":false,"pushed_at":"2025-06-04T13:53:39.000Z","size":1249,"stargazers_count":22,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-23T22:57:35.710Z","etag":null,"topics":["http2","p2p","plug2proxy","proxy","quic","transparent-proxy"],"latest_commit_sha":null,"homepage":"https://plug2proxy.com","language":"Rust","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/vilicvane.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-29T00:55:11.000Z","updated_at":"2025-08-22T13:40:33.000Z","dependencies_parsed_at":"2023-12-08T19:29:41.330Z","dependency_job_id":"0b221c94-dc43-4e64-a911-30c0b7aba4d3","html_url":"https://github.com/vilicvane/plug2proxy","commit_stats":{"total_commits":88,"total_committers":1,"mean_commits":88.0,"dds":0.0,"last_synced_commit":"8c52efc824f4b2041eb223de3643f7da23f91c98"},"previous_names":["vilicvane/plug2proxy","vilic/plug2proxy"],"tags_count":96,"template":false,"template_full_name":null,"purl":"pkg:github/vilicvane/plug2proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vilicvane%2Fplug2proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vilicvane%2Fplug2proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vilicvane%2Fplug2proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vilicvane%2Fplug2proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vilicvane","download_url":"https://codeload.github.com/vilicvane/plug2proxy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vilicvane%2Fplug2proxy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278708004,"owners_count":26031932,"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","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["http2","p2p","plug2proxy","proxy","quic","transparent-proxy"],"created_at":"2024-12-03T21:20:00.521Z","updated_at":"2025-10-07T02:20:14.574Z","avatar_url":"https://github.com/vilicvane.png","language":"Rust","readme":"[![MIT License](https://img.shields.io/badge/license-MIT-0969da?style=flat-square)](./LICENSE)\n[![Discord](https://img.shields.io/badge/chat-discord-5662f6?style=flat-square)](https://discord.com/invite/vanVrDwSkS)\n\n# Plug2Proxy\n\n\u003e Checkout the original Node.js version at branch [nodejs](https://github.com/vilicvane/plug2proxy/tree/nodejs).\n\nPlug2Proxy is a transparent proxy **currently in development** that:\n\n-   Connects IN to OUT with TCP (HTTP2) or UDP (QUIC) tunnels.\n-   Utilizes a match server (currently only Redis server is supported) to exchange peer configuration.\n-   Supports routing based on GeoLite2 and fake-IP DNS (no traffic sniffing).\n\nCurrently only IPv4 TCP is supported, will probably add UDP support soon and then IPv6 as well.\n\n## Usage\n\n\u003e You'll need to compile it yourself for now, so make sure you have reasonably new Rust installed.\n\u003e\n\u003e The template is now available only for Ubuntu.\n\n```sh\n# install to IN server\n./scripts/install-to-server.sh -m in -c common,ubuntu -d \"in-server-address\"\n# install to OUT server\n./scripts/install-to-server.sh -m out -c common,ubuntu -d \"out-server-address\"\n```\n\n## Configuration\n\nThe configuration file provided by the installation template is located at `/etc/plug2proxy/config.json`.\n\nIf you are using the binary directly, just do `plug2proxy config.json`.\n\nCheckout [src/config.rs](src/config.rs) for the complete configuration options available.\n\n### IN Server\n\n```json\n{\n    \"mode\": \"in\",\n    \"tunneling\": {\n        \"match_server\": \"redis://username:password@redis-server/\"\n    },\n    \"routing\": {\n        \"rules\": [\n            {\n                \"type\": \"geoip\",\n                \"match\": \"CN\",\n                \"out\": \"DIRECT\"\n            },\n            {\n                \"type\": \"domain\",\n                \"match\": \"chatgpt.com\",\n                \"out\": \"us\",\n                \"tag\": \"warp\"\n            },\n            {\n                \"type\": \"fallback\",\n                \"out\": \"ANY\"\n            }\n        ]\n    }\n}\n```\n\n### OUT Server\n\n```json\n{\n    \"mode\": \"out\",\n    \"tunneling\": {\n        \"label\": \"us\",\n        \"match_server\": \"redis://username:password@redis-server/\"\n    },\n    \"outputs\": [\n        {\n            \"tag\": \"warp\",\n            \"type\": \"socks5\",\n            \"address\": \"127.0.0.1:1080\"\n        }\n    ]\n}\n```\n\n## License\n\nMIT License.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvilicvane%2Fplug2proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvilicvane%2Fplug2proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvilicvane%2Fplug2proxy/lists"}