English | δΈζ
GoHomeEasy is a Serverless-based (Cloudflare Workers / AWS Lambda) Shadowsocks/Clash subscription management tool, designed for home broadband users without a public IP.
It leverages Lucky's NAT traversal capabilities combined with Serverless automated subscription updates, allowing you to directly access your home LAN from anywhere (office, mobile network) without manually updating dynamic IPs and ports.
β Home Broadband Savior: Access NAS, soft routers, and PCs remotely without a public IP.
β Automated: Automatically updates subscriptions via Lucky Webhook when your home IP changes.
β Secure: Supports API Key authentication to prevent unauthorized scanning.
β Serverless: No server required. Cloudflare Workers offers a generous free tier that is usually sufficient for personal use.
| Feature | Cloudflare Workers (Recommended) π | AWS Lambda |
|---|---|---|
| Ease of Use | βββββ (Very Simple) | βββ (Slightly Complex) |
| Cost | Free (100k requests/day) | Free (1M requests/month) |
| Network | π Global access except Chinese Mainland | π¨π³ Not blocked by Mainland China |
- Home Server/Router: Running OpenWrt or Linux.
- Shadowsocks Server: Recommended PassWall2 or Shadowsocks-Libev on OpenWrt.
- Lucky NAT Traversal: Installed and configured for STUN traversal (Lucky Official Site), ensuring successful traversal visibility.
- Cloud Account:
- Cloudflare Account (Recommended): For deploying Workers.
- Or AWS Account: For deploying Lambda.
- Client: iOS/MacOS Shadowrocket or other clients supporting SS/Clash subscriptions.
Example using OpenWrt Passwall2:
- Add Node: Click "Add" in the "Server" tab.
- Configure Parameters:
- Type: Shadowsocks (Sing-Box core recommended).
- Listening Port:
8000(or others). - Encryption:
chacha20-ietf-poly1305recommended. - Password: Set a strong password.
- LAN Access: Must Check (allows remote access to home LAN devices).
- Save and Apply.
This is the easiest method. No servers to manage, and it's free.
- Log in to Cloudflare Dashboard.
- Go to
Workers & Pages->KV. - Create a namespace named
GoHomeEasy_KV.
- Go to
Workers & Pages->Overview->Create application->Create Worker. - Name it
GoHomeEasy. - Click
Deploy.
- Click
Edit code. - Copy the content of
GoHomeEasy_CF_SS.js(for Shadowsocks) orGoHomeEasy_CF_Clash.js(for Clash) from this repository.- Note: Choose the file based on the subscription format you need.
- Replace the code in the editor.
- Modify
const SECRET_KEY = "your_secret_key";with your own secure key.
- Go back to the Worker's
Settings->Variables(orBindings). - Under
KV Namespace Bindings, clickAdd binding. - Variable name:
KV_NAMESPACE. - KV Namespace: Select
GoHomeEasy_KV. - Deploy.
If you prefer AWS or need a specific region.
- Log in to AWS Console, select a region (e.g., Singapore).
- Go to DynamoDB -> Create table.
- Table name:
Subscription. - Partition key:
id(String). - Create table.
- Go to Lambda -> Create function.
- Function name:
GoHomeEasy. - Runtime:
Node.js 24.x(or newer). - Create function.
- Replace
index.mjscontent with contents inGoHomeEasy_AWS_SS.jsorGoHomeEasy_AWS_Clash.js. - Deploy.
- Environment Variables:
SECRET_KEY: Your API key.TABLE_NAME:Subscription.
- Permissions:
- Add
DynamoDBpermissions (PutItem,GetItem) to the Lambda's execution role.
- Add
- Add trigger -> API Gateway.
- Create a new API -> HTTP API -> Security: Open.
- Get the API Endpoint.
Enable Webhook in Lucky STUN rules.
- π Cloudflare Users:
https://your-worker-name.your-subdomain.workers.dev/ - βοΈ AWS Users:
https://your-api-id.execute-api.region.amazonaws.com/default/GoHomeEasy
Content-Type: application/json
Authorization: Bearer YOUR_SECRET_KEY
Lucky automatically replaces #{ip} and #{port}.
{
"ip": "#{ip}",
"port": "#{port}",
"method": "chacha20-ietf-poly1305",
"password": "YOUR_SHADOWSOCKS_PASSWORD"
}Note:
methodandpasswordmust match your server settings.
- π Cloudflare Users:
https://your-worker...workers.dev/?api_key=YOUR_SECRET_KEY - βοΈ AWS Users:
https://your-api...amazonaws.com/default/GoHomeEasy?api_key=YOUR_SECRET_KEY
To ensure only home traffic goes through this proxy:
- Config -> Rules -> Add Rule.
- Type:
IP-CIDR. - Value:
192.168.1.0/24(Match your home subnet). - Policy: Select
GoHomeEasy(the subscription group). - Save.
If your current network is also 192.168.1.x:
- Recommended: Change your home router subnet to something distinct like
192.168.50.x. - Alternative: In Shadowrocket Settings -> On Demand, enable Route Includes Local Network.
Q: Is Cloudflare Workers free? A: Yes, the free tier allows 100,000 requests per day, which is more than enough for personal use.
Q: Why isn't the subscription updating?
A: Check the logs (Cloudflare Worker logs or AWS CloudWatch). Common issues include mismatched SECRET_KEY or incorrect permissions (DynamoDB/KV).
Q: Cannot connect at home? A: Ensure Lucky STUN is working (TCP) and getting a public IP. Some corporate networks block non-standard ports; try using Lucky's port mapping to standard ports if possible.