{"id":21238701,"url":"https://github.com/shahradelahi/docker-cfw-proxy","last_synced_at":"2025-04-04T17:10:03.334Z","repository":{"id":279459968,"uuid":"801324458","full_name":"shahradelahi/docker-cfw-proxy","owner":"shahradelahi","description":"⛅️ CloudFlare WARP Proxy","archived":false,"fork":false,"pushed_at":"2025-03-26T17:05:06.000Z","size":50,"stargazers_count":186,"open_issues_count":2,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-28T16:11:20.429Z","etag":null,"topics":["cloudflare","http","proxy","shahdowsocks","socks5","warp"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/shahradel/cfw-proxy","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shahradelahi.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}},"created_at":"2024-05-16T02:36:53.000Z","updated_at":"2025-03-18T03:38:07.000Z","dependencies_parsed_at":"2025-03-13T17:32:33.338Z","dependency_job_id":"3ee7c687-1e45-4e8a-933e-fbfe8492426b","html_url":"https://github.com/shahradelahi/docker-cfw-proxy","commit_stats":null,"previous_names":["shahradelahi/docker-cfw-proxy"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahradelahi%2Fdocker-cfw-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahradelahi%2Fdocker-cfw-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahradelahi%2Fdocker-cfw-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahradelahi%2Fdocker-cfw-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shahradelahi","download_url":"https://codeload.github.com/shahradelahi/docker-cfw-proxy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247217222,"owners_count":20903009,"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":["cloudflare","http","proxy","shahdowsocks","socks5","warp"],"created_at":"2024-11-21T00:37:48.313Z","updated_at":"2025-04-04T17:10:03.317Z","avatar_url":"https://github.com/shahradelahi.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-cfw-proxy\n\n[![CI](https://github.com/shahradelahi/docker-cfw-proxy/actions/workflows/ci.yml/badge.svg)](https://github.com/shahradelahi/docker-cfw-proxy/actions/workflows/ci.yml)\n[![GPL-3.0 Licensed](https://img.shields.io/badge/License-GPL3.0-blue.svg?style=flat)](https://opensource.org/licenses/GPL-3.0)\n[![Code Size](https://img.shields.io/github/languages/code-size/shahradelahi/docker-cfw-proxy)](https://github.com/shahradelahi/docker-cfw-proxy)\n[![Open Issues](https://img.shields.io/github/issues/shahradelahi/docker-cfw-proxy)](https://github.com/shahradelahi/docker-cfw-proxy/issues)\n[![Visitors](https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2Fshahradelahi%2Fdocker-cfw-proxy\u0026countColor=%23263759\u0026style=flat\u0026labelStyle=upper)](https://visitorbadge.io/status?path=https%3A%2F%2Fgithub.com%2Fshahradelahi%2Fdocker-cfw-proxy)\n\n\u003e A Lightweight docker image for connecting to CloudFlare WARP trough `Socks`, `HTTP` and `Shadowsocks` proxy protocols\n\n---\n\n- [Features](#features)\n- [Build locally](#build-locally)\n- [Image](#image)\n- [Environment variables](#environment-variables)\n- [Ports](#ports)\n- [Usage](#usage)\n  - [Docker Compose](#docker-compose)\n  - [Command line](#command-line)\n- [WARP+ license](#warp-license)\n- [Upgrade](#upgrade)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Features\n\n- Support `Socks5`, `HTTP` and `Shadowsocks` proxy protocols\n- Apply license key to use existing `Warp+` subscription\n- Multi-platform image\n\n## Build locally\n\n```shell\ngit clone https://github.com/shahradelahi/docker-cfw-proxy\ncd docker-cfw-proxy\n\n# Build image and output to docker (default)\ndocker buildx bake\n\n# Build multi-platform image\ndocker buildx bake image-all\n```\n\n## Image\n\n| Registry                                                                                                | Image                            |\n| ------------------------------------------------------------------------------------------------------- | -------------------------------- |\n| [Docker Hub](https://hub.docker.com/r/shahradel/cfw-proxy/)                                             | `shahradel/cfw-proxy`            |\n| [GitHub Container Registry](https://github.com/users/shahradelahi/packages/container/package/cfw-proxy) | `ghcr.io/shahradelahi/cfw-proxy` |\n\nFollowing platforms for this image are available:\n\n```\n$ docker run --rm mplatform/mquery shahradel/cfw-proxy:latest\nImage: shahradel/cfw-proxy:latest\n * Manifest List: Yes (Image type: application/vnd.oci.image.index.v1+json)\n * Supported platforms:\n   - linux/amd64\n   - linux/arm/v6\n   - linux/arm/v7\n   - linux/arm64\n   - linux/386\n   - linux/s390x\n```\n\n## Environment variables\n\n- `TZ`: Timezone assigned to the container (default `UTC`)\n- `PROXY_USERNAME`: The username of `Socks5` and `HTTP` proxy (default `awesome-username`)\n- `PROXY_PASSWORD`: The password of all proxy protocols (default `super-secret-password`)\n- `SOCKS5_PORT`: The port of `Socks5` proxy (default `1080`)\n- `HTTP_PORT`: The port of `HTTP` proxy (default `8080`)\n- `SHADOWSOCKS_PORT`: The port of `Shadowsocks` proxy (default `8338`)\n- `SHADOWSOCKS_CIPHER`: The cipher of `Shadowsocks` proxy (default `AES-256-CFB`)\n- `WGCF_ENDPOINT`: The `endpoint` of the WARP endpoint (default `engage.cloudflareclient.com:2408`)\n- `WGCF_ENDPOINT_CIDR`: The `cidr` of the WARP endpoint (default `162.159.192.0/24`)\n- `WGCF_ENDPOINT_PORT`: WARP endpoint port (default `2408`)\n- `FAST_ENDPOINT`: Enables the feature for searching for endpoint with the lowest latency\n- `WGCF_LICENSE_KEY`: The license key of CloudFlare WARP+\n- `DNS_PROFILE`: Presets of CloudFlare DNS servers (default `default`)\n- `DNS`: The `dns` of the WireGuard interface (default `1.1.1.1, 1.0.0.1, 2606:4700:4700::1111, 2606:4700:4700::1001`)\n- `MTU`: The `mtu` of the WireGuard interface (default `1280`)\n\n\u003e 💡 `WGCF_LICENSE_KEY` is optional and to obtain it follow guides in [`WARP+ license`](#warp-license) section.\n\n## Ports\n\n- `1080`: `Socks5` proxy\n- `8080`: `HTTP` proxy\n- `8338`: `Shadowsocks` proxy\n\n## Usage\n\n### Docker Compose\n\nDocker compose is the recommended way to run this image. You can use the following\n[docker compose template](docker-compose.yml), then run the container:\n\n```bash\ndocker compose up -d\ndocker compose logs -f\n```\n\n### Command line\n\nYou can also use the following minimal command:\n\n```bash\n$ docker run -d \\\n  --name warp \\\n  -p 1080:1080 -p 8080:8080 -p 8338:8338 \\\n  -e \"PROXY_USERNAME=awesome-username\" \\\n  -e \"PROXY_PASSWORD=super-secret-password\" \\\n  -e \"SHADOWSOCKS_CIPHER=AES-256-CFB\" \\\n  --privileged \\\n  --cap-add NET_ADMIN \\\n  --cap-add SYS_MODULE \\\n  --sysctl net.ipv4.ip_forward=1 \\\n  --sysctl net.ipv4.conf.all.src_valid_mark=1 \\\n  --sysctl net.ipv6.conf.all.disable_ipv6=0 \\\n  shahradel/cfw-proxy\n```\n\n## Upgrade\n\nRecreate the container whenever I push an update:\n\n```bash\ndocker compose pull\ndocker compose up -d\n```\n\n## WARP+ license\n\nIf you have an existing Warp+ subscription, for example on your phone, you can bind the account generated by this tool to your phone's account, sharing its Warp+ status. Please note that there is a limit of 5 maximum devices linked at a time. You can remove linked devices from the 1.1.1.1 app on your phone.\n\n\u003e [!CAUTION]\n\u003e Only subscriptions purchased directly from the official 1.1.1.1 app are supported. Keys obtained by any other means, including referrals, will not work and will not be supported.\n\nFirst, get your Warp+ account license key. To view it on Android:\n\n1. Open the `1.1.1.1` app\n2. Click on the hamburger menu button in the top-right corner\n3. Navigate to: `Account` \u003e `Key`\n\nFinally, copy and paste the license key into the `WGCF_LICENSE_KEY` environment variable and restart the container.\n\n## Contributing\n\nWant to contribute? Awesome! To show your support is to star the project, or to raise issues\non [GitHub](https://github.com/shahradelahi/docker-cfw-proxy).\n\nThanks again for your support, it is much appreciated! 🙏\n\n## Credits\n\n- [WireGuard](https://www.wireguard.com/)\n- [WGCF](https://github.com/ViRb3/wgcf) CLI for Cloudflare Warp (Unofficial)\n\n## License\n\n[GPL-3.0](/LICENSE)\n\n## Notice of Non-Affiliation and Disclaimer\n\nWe are not affiliated, associated, authorized, endorsed by, or officially connected in any way with Cloudflare or any of its subsidiaries or affiliates. The official Cloudflare website is https://www.cloudflare.com.\n\nThe names _Cloudflare Warp_ and _Cloudflare_, as well as any related names, marks, emblems, and images, are registered trademarks of their respective owners.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshahradelahi%2Fdocker-cfw-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshahradelahi%2Fdocker-cfw-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshahradelahi%2Fdocker-cfw-proxy/lists"}