6.7 KiB
cloudflared — EdgeOS & Multi-Arch Fork
🔄 Auto-synced fork of
cloudflare/cloudflaredwith additional builds for UniFi EdgeOS routers and other MIPS devices.
What is this?
This repository is a fork of the official cloudflare/cloudflared Cloudflare Tunnel client. It adds:
- Automated upstream sync — A CI/CD pipeline checks for new upstream releases every 6 hours and automatically builds & publishes them here
- MIPS architecture support — Pre-built binaries and
.debpackages for UniFi EdgeOS devices that are not available in the official releases - Multi-architecture releases — Every release includes 9 platform/arch combinations plus
.debpackages
Supported Architectures
| Platform | Architecture | Binary | .deb |
Devices |
|---|---|---|---|---|
| Linux | amd64 | ✅ | ✅ | Standard x86_64 servers |
| Linux | arm64 | ✅ | ✅ | Raspberry Pi 3/4/5, AWS Graviton |
| Linux | armhf (ARMv7) | ✅ | ✅ | Raspberry Pi 2, 32-bit ARM |
| Linux | arm (ARMv5) | ✅ | — | Older ARM devices |
| Linux | 386 | ✅ | — | 32-bit x86 |
| Linux | mipsle | ✅ | ✅ | EdgeRouter X / ER-X-SFP (MT7621) |
| Linux | mips64 | ✅ | ✅ | EdgeRouter Lite / ER-4 / ER-6P / ER-12 (Cavium Octeon) |
| macOS | amd64 | ✅ | — | Intel Mac |
| macOS | arm64 | ✅ | — | Apple Silicon (M1/M2/M3/M4) |
Quick Install — EdgeOS
EdgeRouter X / ER-X-SFP (MIPS little-endian)
# Download and install the latest release
LATEST=$(curl -s https://api.github.com/repos/cafe-x-technologies/cloudflared/releases/latest | grep tag_name | cut -d '"' -f4)
curl -L -o /tmp/cloudflared.deb "https://github.com/cafe-x-technologies/cloudflared/releases/download/${LATEST}/cloudflared_${LATEST}_mipsel.deb"
sudo dpkg -i /tmp/cloudflared.deb
# Verify installation
cloudflared --version
EdgeRouter Lite / ER-4 / ER-6P / ER-12 (MIPS64 big-endian)
# Download and install the latest release
LATEST=$(curl -s https://api.github.com/repos/cafe-x-technologies/cloudflared/releases/latest | grep tag_name | cut -d '"' -f4)
curl -L -o /tmp/cloudflared.deb "https://github.com/cafe-x-technologies/cloudflared/releases/download/${LATEST}/cloudflared_${LATEST}_mips64.deb"
sudo dpkg -i /tmp/cloudflared.deb
# Verify installation
cloudflared --version
Manual binary install (any architecture)
# Example for mipsle (EdgeRouter X)
LATEST=$(curl -s https://api.github.com/repos/cafe-x-technologies/cloudflared/releases/latest | grep tag_name | cut -d '"' -f4)
curl -L -o /tmp/cloudflared "https://github.com/cafe-x-technologies/cloudflared/releases/download/${LATEST}/cloudflared-linux-mipsle"
chmod +x /tmp/cloudflared
sudo mv /tmp/cloudflared /usr/local/bin/cloudflared
Quick Install — Other platforms
For standard platforms (amd64, arm64, macOS), you can use the official Cloudflare installation methods or download binaries from our Releases page.
See the official cloudflared documentation for more installation options.
How the Sync Works
┌──────────────────────────┐
│ cloudflare/cloudflared │ Upstream (official)
│ New release tagged │
└────────────┬─────────────┘
│ ⏰ Checked every 6 hours
▼
┌──────────────────────────┐
│ sync-upstream-release │ GitHub Actions workflow
│ .yml │
├───────────────────────────┤
│ 1. Detect new release tag │
│ 2. Build 9 arch binaries │
│ 3. Package 5 .deb files │
│ 4. Create GitHub Release │
└────────────┬──────────────┘
▼
┌──────────────────────────┐
│ cafe-x-technologies/ │ This fork
│ cloudflared/releases │ With MIPS + all platforms
└───────────────────────────┘
The workflow can also be manually triggered from the Actions tab with options to:
- Specify a particular upstream tag to sync
- Force re-release an existing tag
Running cloudflared as a Service on EdgeOS
After installing, you can set up cloudflared as a tunnel service:
# Authenticate (follow the URL that appears)
cloudflared tunnel login
# Create a tunnel
cloudflared tunnel create my-tunnel
# Configure your tunnel (edit the config file)
sudo mkdir -p /etc/cloudflared
sudo cat > /etc/cloudflared/config.yml << 'EOF'
tunnel: <YOUR-TUNNEL-ID>
credentials-file: /root/.cloudflared/<YOUR-TUNNEL-ID>.json
ingress:
- hostname: myapp.example.com
service: http://localhost:8080
- service: http_status:404
EOF
# Run the tunnel
cloudflared tunnel run my-tunnel
To run on boot, create a systemd service or add to EdgeOS task-scheduler.
Development
This fork tracks upstream and adds MIPS architecture support to the Makefile.
Cross-compile for EdgeOS
# EdgeRouter X (mipsle, softfloat)
make cloudflared TARGET_OS=linux TARGET_ARCH=mipsle TARGET_MIPS=softfloat
# EdgeRouter Lite/4/6P/12 (mips64)
make cloudflared TARGET_OS=linux TARGET_ARCH=mips64
# Build .deb package
make cloudflared-deb TARGET_OS=linux TARGET_ARCH=mipsle TARGET_MIPS=softfloat
Build & test (standard)
make cloudflared # Build for current platform
make test # Run tests
make lint # Run linters
For full development documentation, see the upstream README.
Upstream Project
This is a fork of cloudflare/cloudflared — the official Cloudflare Tunnel client.
License
Same as upstream — Apache License 2.0