A full-featured Cloudflare management app built with React Native & Expo. Manage your domains, DNS records, Workers, KV, R2, Pages, and more — right from your phone.
Disclaimer: This is an unofficial app and is not affiliated with, endorsed by, or officially connected to Cloudflare, Inc.
Download
Available on Google Play, or grab the APK from GitHub Releases.
Screenshots
| Dashboard | Zones | Services |
|---|---|---|
![]() | ![]() | ![]() |
| Settings (Dark) | Settings (Light) |
|---|---|
![]() | ![]() |
Features
Zone Management — View and manage all your Cloudflare zones
DNS Records — Create, edit, delete A, AAAA, CNAME, MX, TXT, and more
SSL/TLS — Configure encryption mode, certificates, HTTPS settings
Firewall — Manage firewall rules, IP access rules, rate limiting
Cache — Purge cache, toggle development mode, cache settings
Analytics — Traffic, bandwidth, and threats overview with time-series charts
Under Attack Mode — One-tap security level toggle per zone
DNS Import/Export — Bulk import & export records as BIND zone files
Email Routing — Manage routing rules, catch-all, destination addresses
Audit Logs — Account activity history viewer
Biometric Lock — Fingerprint/face lock before the app opens
Workers — View and manage Cloudflare Workers scripts
KV Namespaces — Browse KV storage namespaces
R2 Buckets — Manage R2 object storage with a built-in file browser (upload / download / delete)
Workers Live Logs — Real-time tail of Worker requests and console output
Pages — View Cloudflare Pages projects and deployments
Page Rules — Configure page rules per zone
Multi-Account — Switch between multiple Cloudflare accounts
Dark / Light Mode — Manual theme toggle (Light, Dark, System)
Localization — English and Bahasa Indonesia
Secure Storage — API tokens stored with hardware-backed encryption (Android Keystore)
Privacy First — Sensitive data (email, account IDs) masked by default
Premium — One-time purchase removes all ads forever
How to Use
1. Get Your Cloudflare API Token
You need a Cloudflare API Token or Global API Key to use this app.
API Token (Recommended):
- Login to dash.cloudflare.com
- Go to My Profile > API Tokens
- Click Create Token
- Use the Edit zone DNS template, or create a custom token with permissions you need:
Zone:Read— View zones
Zone Settings:Read/Edit— Manage zone settings (SSL, Cache, etc.)
DNS:Read/Edit— Manage DNS records
Firewall Services:Read/Edit— Manage firewall rules
Analytics:Read— View analytics
Worker Scripts:Read/Edit— Manage Workers
Account Settings:Read— View account info
- Click Continue to summary > Create Token
- Copy the token — you'll only see it once
Global API Key (Not Recommended):
- Go to My Profile > API Tokens
- Scroll down to Global API Key
- Click View and copy the key
- You'll also need your Cloudflare email address
Global API Key has full access to your entire account. Use API Token with scoped permissions whenever possible.
2. Login
- Open the app
- Complete the onboarding (first time only)
- Choose your auth method: API Token or Global API Key
- Enter your credentials and tap Sign In
- The app will verify your token and load your account
3. Navigate the App
| Tab | What You Can Do |
|---|---|
| Dashboard | Overview of zones, stats, quick actions |
| Zones | Browse all zones, search, tap to manage |
| Services | Workers, KV, R2, Pages management |
| Settings | Theme, language, account info, sign out |
4. Managing a Zone
- Tap any zone from Dashboard or Zones tab
- You'll see zone info, nameservers, and management options:
DNS Records — Add/edit/delete records, toggle proxy
SSL/TLS — Change encryption mode (Off/Flexible/Full/Full Strict)
Firewall — View and manage firewall rules
Cache — Purge all cache, toggle dev mode
Analytics — View traffic and threat data
Page Rules — Configure URL-based rules
- Toggle Development Mode directly from the zone detail page
5. Quick Actions
From the Dashboard, swipe the Quick Actions row to access:
Manage DNS — Jump to zones list
Purge Cache — Pick a zone and purge
Workers — Go to services
Analytics — Pick a zone and view stats
Firewall — Pick a zone and manage rules
SSL/TLS — Pick a zone and configure
6. Switch Account
If you have multiple Cloudflare accounts:
- Go to Settings
- Under Switch Account, tap the account you want
- The app will reload with that account's data
7. Change Theme & Language
Theme: Settings > Appearance > Light / Dark / System
Language: Settings > Language > English / Bahasa Indonesia
Auth Methods
| Method | Header | Security | Scope |
|---|---|---|---|
| API Token | Authorization: Bearer <token> | Scoped permissions | Recommended |
| Global API Key | X-Auth-Email + X-Auth-Key | Full account access | Not recommended |
Your credentials are stored locally on your device using Android Keystore (hardware-backed encryption). They are never sent to any server other than api.cloudflare.com.
Getting Started (Development)
Prerequisites
- Node.js 18+
- Android Studio with Android SDK
- JDK 17+
- A Cloudflare account
Install
git clone https://github.com/imtaqin/CFMobile.git
cd CFMobile
npm install
Run
# Start Expo dev server
npx expo start
# Run on Android emulator
npx expo run:android
# Run on Web
npx expo start --web
Build Production AAB
# Generate native project
npx expo prebuild --platform android --clean
# Build release AAB
cd android && ./gradlew bundleRelease
# Output: android/app/build/outputs/bundle/release/app-release.aab
Tech Stack
React Native 0.81 + Expo 54
Expo Router — File-based navigation
Expo Secure Store — Encrypted credential storage
Axios — HTTP client for Cloudflare API v4
i18next — Internationalization (EN / ID)
react-native-svg — Custom icon system (Lucide-based) & analytics charts
react-native-google-mobile-ads — AdMob ads (free version)
react-native-iap — Premium one-time purchase (removes ads)
expo-local-authentication — Biometric app lock
expo-document-picker / expo-sharing / expo-file-system — DNS import/export & R2 file browser
Project Structure
app/
(tabs)/ # Tab screens (Dashboard, Zones, Services, Settings)
zone/[id]/ # Zone detail pages (DNS, SSL, Firewall, Cache, Analytics, Page Rules)
login.tsx # Login screen
onboarding.tsx # First-time onboarding
components/ui/ # Reusable UI components (Card, Badge, Icon, MenuItem, etc.)
contexts/ # Auth & Theme providers
services/ # Cloudflare API client & TypeScript types
hooks/ # Custom React hooks
locales/ # i18n translation files (en.json, id.json)
constants/ # Theme colors, spacing, typography
Known Limitations
Rate Limiting — Cloudflare API allows 1,200 requests per 5 minutes. The app does not currently batch requests, so heavy usage may hit the limit.
No Offline Mode — All data is fetched live from Cloudflare API. No local caching of zone data.
iOS — Not tested on iOS. The app is built for Android first.
Workers Editor — You can view Workers scripts but cannot edit code inline. Use the Cloudflare dashboard for code editing.
Two-Factor Auth — The app does not handle 2FA. Use API Tokens which bypass 2FA.
Privacy Policy
https://imtaqin.id/page/-privacy-policy-cloudflare-mobile
License
MIT





