@huoshan007: Still paying for airport proxies? You can really stop now. This trick is a bit crazy: Prepare two things: 1. Cloudflare account, free registration 2. A domain, a few dollars a year. Then configure it with this open-source tool, basically done in ten minutes. Unlimited nodes, Cloudflare CDN channels, YouT…
Summary
edgetunnel is an open-source tool based on Cloudflare Workers/Pages, using edge computing tunnel technology to build proxy nodes, supporting VLESS, Trojan, Shadowsocks and other protocols, which can freely replace paid VPN services.
View Cached Full Text
Cached at: 07/01/26, 06:01 AM
If you’re still paying for airport proxies, you can honestly stop now. Here’s a somewhat crazy trick: prepare two things: 1) a Cloudflare account (free to register), 2) a domain name (a few dollars a year). Then configure it with this open-source tool, and you’re basically done in ten minutes. Unlimited nodes, Cloudflare CDN channel, YouTube 4K, Netflix, ChatGPT – everything works.
My first reaction: those paid airports costing tens of dollars a month suddenly look a bit awkward.
Tool: https://github.com/cmliu/edgetunnel… Demo: https://edt-pages.github.io/admin/ Tutorial: https://cdn.blog.cmliussss.com/p/edt2/
cmliu/edgetunnel
Source: https://github.com/cmliu/edgetunnel
🚀 edgetunnel 2.1 Admin Page
Stars (https://github.com/cmliu/edgetunnel/stargazers) Forks (https://github.com/cmliu/edgetunnel/network/members) License (https://github.com/cmliu/edgetunnel/blob/main/LICENSE) Telegram (https://t.me/CMLiussss) YouTube (https://www.youtube.com/watch?v=LeT4jQUh8ok) zread (https://zread.ai/cmliu/edgetunnel) Ask DeepWiki (https://deepwiki.com/cmliu/edgetunnel)
📖 Project Introduction
edgetunnel is an edge computing tunnel decryption solution based on the CF Workers/Pages platform. It efficiently handles network traffic and provides a powerful management panel with flexible node configuration capabilities.
- 🖥️ Demo Site: https://EDT-Pages.github.io/admin
✨ Core Features
- 🛡️ Protocol Support: Supports major protocols such as VLESS, Trojan, and Shadowsocks, with deep integration of encrypted transmission.
- 📊 Management Panel: Built-in visual backend supporting real-time configuration changes, log viewing, and traffic statistics.
- 🛠️ Flexible Deployment: Fully compatible with CF Workers and CF Pages (GitHub / Upload).
- 🔄 Subscription System: Built-in automatic subscription generation and obfuscation conversion, compatible with major clients (Clash, Sing-box, Surge, etc.).
- ⚡ Performance Acceleration: Supports custom ProxyIP, SOCKS5/HTTP chained proxy, and optimized API to reduce network latency.
- 🌐 Multi-Platform Support: Perfectly compatible with Windows, Android, iOS, macOS, and various router firmware.
💡 Quick Deployment
📖 Detailed Guide with Screenshots: edgetunnel Deployment Guide (https://cmliussss.com/p/edt2/)
⚠️ Error 1101 Issue: Video Explanation (https://www.youtube.com/watch?v=r4uVTEJptdE)
⚙️ Workers Deployment
「 Workers Deployment Text Guide 」
-
Deploy CF Worker:
- Create a new Worker in the CF Workers dashboard.
- Paste the content of worker.js (https://github.com/cmliu/edgetunnel/blob/main/_worker.js) into the Worker editor.
- In the left
Settingstab, selectVariables>Add Variable. Fill in variable name ADMIN with your admin password, then clickSave.
-
Bind KV Namespace:
- In the
Bindingstab, selectAdd Binding +>KV Namespace>Add Binding. Choose an existing namespace or create a new one. - Set the variable name to KV, then click
Add Binding.
- In the
-
Bind Custom Domain to Workers:
- In the Workers dashboard’s
Triggerstab, clickAdd Custom Domainat the bottom. - Enter a subdomain already under CF DNS, e.g.,
vless.google.com, then clickAdd Custom Domain. Wait for the certificate to take effect.
- In the Workers dashboard’s
-
Access Admin Panel:
- Visit
https://vless.google.com/adminand enter the admin password to log in.
- Visit
🛠 Pages Upload Deployment
Best Recommended!!! Guide with Screenshots (https://cmliussss.com/p/edt2/)
「 Pages Upload Deployment Text Guide 」
-
Deploy CF Pages:
- Download main.zip (https://github.com/cmliu/edgetunnel/archive/refs/heads/main.zip) and don’t forget to star the repo!
- In the CF Pages dashboard, select
Upload assets, name your project, clickCreate project, upload the downloaded main.zip (https://github.com/cmliu/edgetunnel/archive/refs/heads/main.zip), then clickDeploy site. - After deployment, click
Continue to site, then go toSettings>Environment Variables> Make production environment variables >Add Variable. Set variable name ADMIN with your admin password, then clickSave. - Return to the
Deploymentstab, clickCreate new deploymentat the bottom right, re-upload main.zip (https://github.com/cmliu/edgetunnel/archive/refs/heads/main.zip), then clickSave and deploy.
-
Bind KV Namespace:
- In the
Settingstab, selectBindings>+ Add>KV Namespace. Choose an existing namespace or create a new one. - Set the variable name to KV, then click
Saveand redeploy.
- In the
-
Bind CNAME Custom Domain to Pages: Video Tutorial (https://www.youtube.com/watch?v=LeT4jQUh8ok&t=851s)
- In the Pages dashboard’s
Custom domainstab, clickSet up custom domainat the bottom. - Enter your custom subdomain. Do not use your root domain. For example, if your assigned domain is
fuck.cloudns.biz, enterlizi.fuck.cloudns.biz. - Follow CF’s instructions to add a CNAME record for
lizipointing toedgetunnel.pages.devat your DNS provider, then clickActivate domain.
- In the Pages dashboard’s
-
Access Admin Panel:
- Visit
https://lizi.fuck.cloudns.biz/adminand enter the admin password to log in.
- Visit
🛠 Pages + GitHub Deployment
「 Pages + GitHub Deployment Text Guide 」
-
Deploy CF Pages:
- First, fork this project on GitHub and don’t forget to star!
- In the CF Pages dashboard, select
Connect to Git, choose theedgetunnelproject, then clickBegin setup. - At the bottom of the
Configure build and deploymentpage, selectEnvironment variables (advanced)andAdd variable. Set variable name ADMIN with your admin password, then clickSave and deploy.
-
Bind KV Namespace:
- In the
Settingstab, selectBindings>+ Add>KV Namespace. Choose an existing namespace or create a new one. - Set the variable name to KV, then click
Saveand redeploy.
- In the
-
Bind CNAME Custom Domain to Pages: Video Tutorial (https://www.youtube.com/watch?v=LeT4jQUh8ok&t=851s)
- In the Pages dashboard’s
Custom domainstab, clickSet up custom domainat the bottom. - Enter your custom subdomain. Do not use your root domain. For example, if your assigned domain is
fuck.cloudns.biz, enterlizi.fuck.cloudns.biz. - Follow CF’s instructions to add a CNAME record for
lizipointing toedgetunnel.pages.devat your DNS provider, then clickActivate domain.
- In the Pages dashboard’s
-
Access Admin Panel:
- Visit
https://lizi.fuck.cloudns.biz/adminand enter the admin password to log in.
- Visit
🔑 Environment Variables
| Variable Name | Required | Example | Notes |
|---|---|---|---|
| ADMIN | ✅ | 123456 | Admin panel password |
| KEY | ❌ | CMLiussss | Quick subscription path key; visit /CMLiussss to get nodes quickly |
| UUID | ❌ | 90cd4a77-141a-43c9-991b-08263cfe9c10 | Force fixed UUID; only UUIDv4 standard format is supported |
| PROXYIP | ❌ | proxyip.cmliussss.net:443 | Global custom reverse proxy IP |
| URL | ❌ | https://cloudflare-error-page-3th.pages.dev | Default homepage camouflage URL (can be a web URL or 1101) |
| GO2SOCKS5 | ❌ | blog.cmliussss.com,*.ip111.cn,*google.com | Force traffic through SOCKS5 (URLs separated by commas; * for global) |
| DEBUG | ❌ | 1 or true | Developer mode: default off (no debug logs); set to 1 or true to enable debug logging |
| OFF_LOG | ❌ | 1 or true | Logging is on by default; set to 1 or true to disable logging |
| BEST_SUB | ❌ | 1 or true | Default off: use as optimized subscription generator; set to 1 or true to enable |
| PRELOAD_RACE_DIAL | ❌ | 1 or true | Default off: use as preloaded race dialing; set to 1 or true to enable |
🔧 Advanced Tips
To modify the TOKEN in the subscription URL and the UUID used for node validation, adjust the variables:
- Changing the value of
ADMINorKEYwill randomly modify the subscription URL TOKEN and node validation UUID. - Setting the
UUIDvariable forces a fixed subscription URL TOKEN and node validation UUID. It must be a valid UUIDv4 standard format; otherwise, nodes will not work.
This tool supports dynamically switching the underlying proxy scheme via PATH parameters:
- Specify
PROXYIPexamples:/proxyip=proxyip.cmliussss.net /?proxyip=proxyip.cmliussss.net - Specify
SOCKS5examples:/socks5=user:[email protected]:1080 /?socks5=user:[email protected]:1080 /socks://[email protected]:1080 (activates global SOCKS5 by default) /socks5://user:[email protected]:1080 (activates global SOCKS5 by default) - Specify
HTTP proxyexamples:/http=user:[email protected]:1080 /http://user:[email protected]:8080 (activates global SOCKS5 by default)
💻 Client Compatibility
| Platform | Recommended Clients |
|---|---|
| Windows | v2rayN (https://github.com/2dust/v2rayN/releases), Hiddify (https://github.com/hiddify/hiddify-app/releases), FlClash (https://github.com/chen08209/FlClash/releases), mihomo-party (https://github.com/mihomo-party-org/clash-party/releases), Clash Verge Rev (https://github.com/clash-verge-rev/clash-verge-rev/releases), Clashmi (https://github.com/KaringX/clashmi/releases), FlyClash (https://github.com/GtxFury/FlyClash/releases), Karing (https://github.com/KaringX/karing/releases), Bettbox (https://github.com/appshubcc/Bettbox/releases) |
| Android | v2rayNG (https://github.com/2dust/v2rayNG/releases), ClashMetaForAndroid (https://github.com/MetaCubeX/ClashMetaForAndroid/releases/), FlClash (https://github.com/chen08209/FlClash/releases), Clashmi (https://github.com/KaringX/clashmi/releases), Hiddify (https://github.com/hiddify/hiddify-app/releases), NekoBox (https://github.com/MatsuriDayo/NekoBoxForAndroid/releases), FlyClash (https://github.com/GtxFury/FlyClash/releases), Karing (https://github.com/KaringX/karing/releases), Bettbox (https://github.com/appshubcc/Bettbox/releases) |
| iOS | Surge, Shadowrocket, Stash, Hiddify (https://github.com/hiddify/hiddify-app/releases), Loon, Egern, Clashmi (https://clashmi.app/download), Karing (https://karing.app/), Quantumult X |
| macOS | FlClash (https://github.com/chen08209/FlClash/releases), mihomo-party (https://github.com/mihomo-party-org/clash-party/releases), Clash Verge Rev (https://github.com/clash-verge-rev/clash-verge-rev/releases), Surge, Clashmi (https://clashmi.app/download), Karing (https://karing.app/), FlyClash (https://github.com/GtxFury/FlyClash/releases) |
| HarmonyOS | ClashBox (https://github.com/xiaobaigroup/ClashBox/releases) |
⭐ Project Stars
Stargazers over time (https://starchart.cc/cmliu/edgetunnel)
🙏 Special Thanks
💖 Sponsors
- Provides cloud server to maintain subscription conversion service (https://sub.cmliussss.net/)
- Alice (https://url.cmliussss.com/alice)
- EasyLinks (https://www.vmrack.net?ref_code=5Zk7eNhbgL7)
- ZMTO(VTEXS) (https://zmto.com/?affid=1532)
🛠 Open Source Code References
- zizifn/edgetunnel (https://github.com/zizifn/edgetunnel)
- 3Kmfi6HP/EDtunnel (https://github.com/6Kmfi6HP/EDtunnel)
- SHIJS1999/cloudflare-worker-vless-ip (https://github.com/SHIJS1999/cloudflare-worker-vless-ip)
- Stanley-baby (https://github.com/Stanley-baby)
- ACL4SSR (https://github.com/ACL4SSR/ACL4SSR/tree/master/Clash/config)
- Gǔ shén (https://t.me/CF_NAT/38889)
- Workers/Pages Metrics (https://t.me/zhetengsha/3382)
- Bái piào gē (https://t.me/bestcfipas)
- Mingyu (https://github.com/ymyuuu/workers-vless)
- ToiCF/CF-Workers-HTTPS (https://github.com/ToiCF/CF-Workers-HTTPS)
- ToiCF/CF-Workers-TURN (https://github.com/ToiCF/CF-Workers-TURN)
- ToiCF/CF-Workers-SoftEther (https://github.com/ToiCF/CF-Workers-SoftEther)
- eooce (https://github.com/eooce/Cloudflare-proxy)
- Sukka (https://ip.skk.moe/)
- zhangtaile (https://github.com/cmliu/edgetunnel/pull/999)
- 1345695 (https://github.com/1345695/edcloudwasm)
- ToiCF/GrainTCP (https://github.com/ToiCF/GrainTCP)
⚠️ Disclaimer
- This project (“edgetunnel”) is intended solely for educational, scientific research, and personal security testing purposes.
- Users must strictly comply with local laws and regulations when downloading or using the project code.
- The author cmliu assumes no responsibility for any actions or consequences resulting from the misuse of this project code.
- This project is not liable for any direct or indirect damages caused by the use of its code.
- It is recommended to delete all project deployments within 24 hours after testing.
If you find this project helpful, please give it a Star 🌟 – it’s the greatest encouragement to me!
Similar Articles
@brucexu_eth: Damn, my internet just went down out of nowhere, all the VPN nodes were down. I messed around for a while, including trying to use Tailscale exit node, and I was just about to get it working when I realized I logged into Tailscale with Google. It was a dead loop, wtf. Finally, @draken_zeng recommended E…
Recommended an open-source project called edgetunnel, an edge computing tunnel decryption based on Cloudflare Workers/Pages, which can serve as a free replacement for paid VPN services.
@QT9277: Brothers, still annoyed by unstable VPNs lately? Today I'm sharing a super practical money-saving tip! You'll never have to pay for a proxy service again! First, you need two things: 1. A Cloudflare account (free to register) 2. A domain name (just a few bucks a year, dirt cheap). Then...
Share how to use Cloudflare and a domain name with the open-source tool edgetunnel to build a free and stable proxy, suitable for beginners, money-saving and practical.
@afly813: https://x.com/afly813/status/2061989786215444949
Detailed tutorial on how to use Cloudflare's free services (Workers, Pages, KV, etc.) and free domain names to build a long-term network proxy node at zero cost for accessing services like ChatGPT and Gemini.
@dulipeng: https://x.com/dulipeng/status/2067450611529093311
This article is a practical tutorial that details how to use the Cloudflare Workers/Pages free tier to deploy a low-cost VPN, based on the open-source project edgetunnel, and used with clients like Clash and Shadowrocket.
@ezshine: My wife returned to China and asked me to set up a VPN for her. I was going to buy a cheap one for a few bucks, but then I found an open-source project that uses Cloudflare's thousands of global edge nodes for circumvention, allowing you to switch IPs freely, free of charge, with blazing speed. Deployment is super simple—just 2 steps. Can you handle that?
An open-source project leverages Cloudflare's global edge nodes to provide free circumvention service, with simple deployment, fast speed, and freely changeable IPs.