One page, every user-facing capability in the app, with what each one costs and what it will not do. Written from the shipping build rather than from a wish list.
On most phones PhoneRig installs a full Ubuntu system, without root, and runs it as a foreground service so it keeps serving with the screen off. The phone holds an outbound tunnel open to Cloudflare, so your site is reachable over HTTPS at a free subdomain or your own domain with no port forwarding and no static IP. Your pages, photos, files and databases live on the phone. The core app is free, and the upgrades are one-time purchases rather than subscriptions.
| Tier | What it opens |
|---|---|
| Free | The server, the free subdomain, the website builder, photo albums, SSH, the terminal, the travel proxy, Fleet and the alerts. |
| $4.99 once | Backups: weekly automatic backups, passphrase encryption and restore. The offline and resource alerts are free. |
| $14.99 once | App Presets: one-tap WordPress, Gitea, code-server and Syncthing. |
| $17.99 once | PhoneRig Pro: everything above, forever. |
| Domain | $0.99 once to connect a domain on your own Cloudflare account, or $4.99 a year for the managed option. The domain itself comes from any registrar and is not included. |
Unlocks restore from Google Play when you reinstall or change phones. An unlock is active on one phone at a time, and the app offers to move it when it sees you on a new one.
A guided flow asks a few questions and publishes a one-page site with a full-screen photo. Everything here is free, and the site is served from the phone.
Three steps: pick a style, describe the business, go live. Name, tagline, an about paragraph, a logo and a cover photo, and up to three things you offer.
Cloud Minimal, Warm Amber, Fuchsia Bloom and Midnight Mint, each with its own default accent colour, plus an accent picker and font choices.
The browser editor offers ten looks in total: the four styles above plus Business Casual, Clean Blog, Grayscale, Phantom, Creative and Stellar. Eight are free. Creative and Stellar are part of PhoneRig Pro or a managed domain plan.
Up to eight items, each with an optional price and an optional one-line description. Suits a café menu, a service list or a rate card.
Set hours per weekday, or the same hours Monday to Friday. The published page shows "Open now, closes 18:00" or "Closed, opens 09:00", worked out in the visitor's browser. A day left empty shows as closed.
Up to 16 photos. The phone resizes and reorients them before publishing, so a 12 megapixel snapshot does not become a slow page.
Paste a Google Maps or OpenStreetMap link and the builder reads the coordinates out of it. The map is opt-in, so a site without one makes no third-party requests.
Up to three quotes, each with an optional name, rendered as a "Kind words" section.
A visitor picks a service and a preferred day and time. The request opens in their own WhatsApp or email app, pre-filled, so they can read it before sending. Nothing is submitted from the page and no booking service sits in the middle.
Call, WhatsApp, email, directions, Instagram, Facebook, TikTok and YouTube. Fill in the ones you use and they appear as buttons.
Write posts in the browser editor. They appear as a "News" section on the front page and each gets its own page under blog/, rendered in the same theme.
Publishing renders the index and every blog page in one pass. The app also saves a QR code image of your address to the phone, ready to print for a shop window.
Open the phone's panel from a computer or tablet on the same Wi-Fi and edit every part of the site with a live preview. Click "Connect to this phone", then approve the matching code in the notification on the phone. Your SSH password still works as a fallback.
Add a second page at its own address under the same domain. Before it creates one, the app measures free storage and the web root's file headroom and tells you plainly whether there is room. It recommends rather than forbids: the discouraging answer still offers "create anyway".
Views this week, counted on the phone. The web server streams each access line straight to the app, which counts them in memory and keeps only per-day totals, so no access log and no visitor IP addresses are written to storage. No cookies, no third-party script, and nothing about your visitors leaves the device.
You can add a Google Analytics ID to the published site. When you do, visitors get a consent bar first and the tag only runs for those who accept. Their choice is stored in their own browser. Without a tag, the site makes no outside requests.
Design a fully custom site on your computer with Google Stitch and Claude Code, then deploy it into the phone's web folder. The app shows the connect commands and the step-by-step guide on its web panel. Hosting a hand-built site costs nothing.
Anything you put in the guest's web folder is served. Switching to your own files turns off an installed preset, and the app warns before it does.
More on the builder in the step-by-step guide, and on where it lives in use cases.
Albums are free at every address: home Wi-Fi, your free subdomain, or your own domain. Guests need a browser and nothing else. Full detail on the photo albums page.
Each album has its own link name and a passcode of 4 to 12 characters. No app to install, no sign-up, and no email address is asked of anyone.
A guest types a name at the gate and it labels every photo they add, so you can filter the album down to one person's pictures. It is a label, not an identity: nobody verifies it and the page never pretends otherwise.
You turn uploads on per album. Only the owner can delete anything. Nobody at PhoneRig reviews, moderates or sees what is in an album.
GPS coordinates are wiped from uploaded JPEGs as they land, and this is on for every new album. A guest who does not know their camera tags photos with their address does not learn it the hard way.
Guests can open a photo, download a single file, or take a zip of the whole album or a selection. Files are served with range support, so large videos seek properly.
Guests can react to individual photos, and the tallies are stored with the album on the phone.
An album can be switched to accept any file type rather than only photos and videos, which turns it into a simple passcode-protected drop for documents.
Rename an album without changing its link. Issue a new passcode and everyone is signed out. Switch it off entirely and the address returns nothing. Deleting an album forgets its settings; photos already saved stay in your gallery.
Passcodes are salted and stretched before they are stored. Too many wrong tries in a day pauses the album until you unlock it. A wrong passcode, a paused album and an address that never existed are deliberately indistinguishable, timing included, so the link space cannot be probed.
Full size, on your phone, in the ordinary Android gallery. Nothing is uploaded to us and we never see it.
Pick yourname.phonerig.app and the app checks availability as you type, or leave it blank and it picks a short one. HTTPS is included and the site is usually live in about a minute.
The phone opens the connection outward, so there is no port forwarding, no static IP and no router change. Carrier NAT, a changing IP and mobile data do not break it.
Connect a domain on your own Cloudflare account. You paste one API token, the app builds the tunnel, the DNS records and the routes. No recurring fee to us. Details on the custom domain page.
We connect the domain and keep it running, certificates and renewals included. You add one CNAME record at your registrar and that is the only step. The domain itself still comes from a registrar, typically around $10 a year.
On the do-it-yourself domain tier, the app can put Cloudflare Access in front of the private editor and terminal subdomains, so reaching them needs a login code sent to the email you nominate.
Skip the public address entirely and run a private home server that answers only on your own network. It keeps working when the internet does not.
Switching between the free subdomain, your own domain and Wi-Fi only is a normal action in the app. Your apps, files and SSH access are preserved across the change.
If an address ever loses its link to the phone, the app notices and offers to re-link it in a few seconds. The address stays yours and the site keeps running.
Gitea, code-server, the Ubuntu guest and VS Code Remote-SSH need PhoneRig's Linux engine. Most phones run it. Where a phone's system blocks it, PhoneRig still serves your site and still gives you SSH and a terminal, and WordPress and Syncthing still install, but these four are not offered. Which engine your phone gets.
The full stack: WordPress core from wordpress.org, PHP-FPM with the extensions it needs, and the official SQLite database integration, behind Caddy. Themes and plugins install from wp-admin with no FTP step. The whole story.
Your own Git hosting, with the repositories on your hardware. The first account you register on its setup page becomes the admin.
VS Code in a browser, running on the phone, for writing and running code from any device.
Keep files in sync across your devices, directly, without a cloud account in between.
One preset owns the phone's web root at a time. The app names what is about to be replaced and asks before it does it. One unlock covers all four.
Ubuntu 22.04 with a root shell inside it and no root on the phone. apt is the actual feature list: Node.js, Python, PHP, Go, static site generators, bots, scheduled scripts, SQLite. What people run on it.
An SSH server on the phone, reachable on your Wi-Fi out of the box. Enable remote SSH and it is reachable through the tunnel from anywhere, with the app showing the exact command.
The app renders a QR code that opens an SSH session in a client, so you do not type an address and a port on a phone keyboard.
A terminal built into the app on every phone. With the Linux engine there is also one in a browser tab, served by the phone, and the shell is Ubuntu with apt; without it the in-app terminal is Android's own shell.
The app produces the exact Remote-SSH configuration block to paste, so desktop VS Code opens the phone as a remote host.
Each phone serves its own panel on the local network: server status, the site editor, sign-in details, recent output from each service, and the fleet console.
If the web server or the tunnel process dies, it is started again and the event is written to the status log, named, so you can see it happened.
Two features that assume you are not standing next to the phone. Both are free.
One SSH command turns the phone at home into a SOCKS5 proxy for your laptop's browser. Websites see your home connection, and the hotel or airport Wi-Fi you are on sees an encrypted connection to your house rather than the sites you visit. Full setup guide.
The plain command only works inside your home Wi-Fi. Turn on remote SSH before you leave and the Travel proxy card then shows a command that works from anywhere.
A phone cannot run the tunnel command itself, so a computer on the same Wi-Fi runs it and shares the proxy, and the other device points its Wi-Fi proxy setting at that computer. The site builds the exact configuration link for you.
The rig shows a pairing QR code, a second phone running PhoneRig scans it, and Android's VPN then sends that phone's apps through the rig. As shipped, the QR carries the rig's local network address, so pairing and connecting happen on the same Wi-Fi as the rig.
Said plainly because it matters: the exit is your own home internet, an address more identifying than any shared one, because it is yours alone. This is a convenience feature for reaching your own things and appearing at home, not an anonymity tool. If anonymity is what you need, use Tor or a VPN service.
Run PhoneRig on several phones and one console shows them all: which are up, their battery, storage, memory and uptime, the preset each is running, and a link straight into each phone's admin panel and site. It is served by a phone on your own network and nothing goes to a cloud.
There is nothing to sign up for and no code to fetch. Make up a word, type the same one on every phone, and phones on the same Wi-Fi with that code form one fleet. It is stored only on your phones and is never sent anywhere, including to us.
Some networks block the multicast that discovery uses. You can add those phones by IP address, one per line, and they appear in the grid like any other.
Fleet while you are away. Fleet is a same-network console by design. When you are away, the travel proxy makes your browsing exit from your home rig, so the console and your rigs' admin pages keep working as if you were home. This is the computer path: turn on remote SSH before you leave, run the SOCKS5 command the Travel proxy card shows, and point your browser at that proxy. The console and the peer links it renders are ordinary local addresses, and the rig opens them from your home network on the browser's behalf.
A server you cannot check is a server you worry about. The bot answers questions about the rig from a chat you already have open, without opening the app or being on its network. It is free, and it is your bot: it runs on your phone and talks to Telegram or Discord directly.
Is the server up, how long has it been up, what is published, how many visitors today, how much storage and memory is left, what is the battery doing, which daemons are alive, how is the tunnel, when was the last backup. The same numbers the app shows, asked in one line.
Visitors, traffic, battery, memory and storage come back as a drawn graph as well as a number, rendered by the phone and served from it.
Setting it up pairs the bot to one chat with a short code. Every other sender gets the same flat refusal, which does not reveal that the bot is yours or that the rig exists. A bot that told a stranger your storage was full would be a leak, not a feature.
Reading is always allowed. Restarting the server, running a backup or stopping the rig needs a switch you flip yourself. The reasoning is plain: a bot token can leak through a screenshot or a backup, and the cost of that should be somebody reading your visitor count rather than stopping your server. Stopping it also asks for confirmation, because the bot goes quiet with the server.
Add commands the app has never heard of. A fixed reply, with live values dropped in, or a script on the phone: point the command at a small handler on your own rig and whatever it prints comes back in the chat. Add and remove them in the app or from the chat itself.
You create the bot with BotFather or Discord's developer portal, and it talks to your phone at your own address. We run no bot service and never see a message. If PhoneRig disappeared tomorrow the bot would keep answering.
It needs a public address. Telegram and Discord deliver messages by calling your rig, so the bot only works once the site is reachable from the internet: the free subdomain or your own domain, not Wi-Fi-only mode. The app says so rather than offering a switch that quietly does nothing.
The server is an Android foreground service, so it keeps serving with the screen off and survives a reboot. The phone is meant to sit on a charger, where its battery doubles as a small uninterruptible supply.
The Server tab summarises the last three days: whether battery settings held the server back, whether Android ever ran short of memory, and whether anything shut it down unexpectedly. When something does go wrong the card turns amber and says what happened and how to fix it.
A plain timeline grouped by day: server started, stopped by you, phone rebooted, internet lost and back, site offline and back with how long it lasted, and any service that died and was restarted. It answers "what happened last night" without a support ticket.
A bell with an unread badge on every tab, so a notification you swiped away on the lock screen is still waiting in the app.
A notification the moment your site stops answering, and another when it recovers. The app distinguishes no internet, a web server that is not responding, and a tunnel that is not connected.
Warnings when memory or storage runs high, when the battery falls low, and when the phone gets hot enough that Android is throttling it. There is also a weekly nudge if the phone sits at 100 percent on the charger, and one if a public tunnel is running over mobile data.
Tap any stat for its own sheet: battery, memory, storage, network quality and traffic in and out, each with now, minimum, maximum and totals over a period, plus a plain sentence about what to do if it looks wrong.
Android does not let an app cap charging, so PhoneRig does not pretend to. Instead it points you at the charge limiter your phone already has, by name, on the phones that have one.
Some Android skins sleep background apps even when battery optimisation is off. The app detects that this is what happened and gives the exact settings path for your phone's brand. You can turn the warnings off if you know what you are doing.
Off by default, because the server wakes when it has work and that is easier on the battery. Turn it on if your site stops answering while the screen is off.
A scheduled archive of the server, its apps, your site and your files, written to the Downloads folder by default or to any folder you choose through Android's own picker, which includes Google Drive and an SD card.
Optional, and honest about the trade: a new backup can only be restored with that passphrase, it is stored nowhere else, and it cannot be recovered. Turning encryption off later does not unlock backups you already made.
Restore replaces the server's data with a backup and restarts the services, after warning you it cannot be undone. The app also keeps its own record of every backup with sizes, how fast the set is growing per week, roughly when the destination will fill up, and when the next one is due.
A new version downloads in the background while the server keeps serving, and the app offers the install when it is ready. Installing it takes a few seconds and keeps every file and setting; the server starts again as soon as the app is open.
If installation is interrupted, it picks up where it stopped and skips the steps that already completed. Setup also keeps running in the background while you use the phone for something else.
Not for you and not for your guests. PhoneRig never asks for an email address, a phone number or any other contact detail to use the app, and album guests never register.
There is no advertising and no analytics inside PhoneRig. Your site, its database, your files and your photos stay on the phone. We do not store, host or process your content on our servers: public traffic rides a Cloudflare tunnel to your device.
Require your fingerprint, face or PIN to open PhoneRig. It verifies the factor before it switches the lock on, so a broken sensor cannot lock you out of your own server.
Revealing the SSH password, restoring a backup and erasing everything each ask you to prove it is you first.
No fonts from a CDN, no third-party scripts, no tracking pixels. The map and an analytics tag are both things you switch on, and the tag brings a consent bar with it.
The browser panel is gated by your SSH password or by a browser you paired with a code you approved on the phone. You can disconnect a paired browser at any time.
Before publishing, the app is explicit that the phone serves whatever you put on it and that what it hosts is your responsibility, and links to the acceptable-use rules.
One action removes the server, every installed app, your website, your files and every setting on the phone. Your backups in the Downloads folder survive, and so do your purchases, which restore from Google Play.
The full account of what leaves the phone is on the privacy page.
The interface ships translated into 58 languages plus English, offline and with no model download. The picker has a search box, because scrolling to Ukrainian past fifty other entries is not a feature.
A theme setting with the sensible third option.
Server, Address, My app, Backups and Settings. The engine room is behind Advanced rather than in your way.
The app checks the processor and the memory on first run and says so plainly: a 32-bit phone cannot run the Linux engine at all, and below about 3 GB of RAM it warns that the system may kill the server under load and lets you continue anyway. A few heavily customised phone systems block the low-level features required, and the app names that case too. Check a specific phone.
A 64-bit ARM phone, Android 8 or newer, 3 GB of RAM or more, and no root. Most Android phones made since roughly 2017 qualify.
A licenses screen in the app, mirrored on the licenses page, listing the open source components PhoneRig ships and their terms.
A Discord for help and for showing what you built, linked from inside the app.
A friendly guide from setup to a live site, plus a "what people build with this" overview, both available after setup rather than only during it.
An index that only lists capabilities is an advert. These are real constraints, and knowing them up front is the difference between a good weekend and a wasted one.
The Linux guest is an unprivileged userspace and cannot load kernel modules, so container runtimes do not work. This is structural, not a missing feature.
There is no systemd, so a service installed from apt does not start itself. Anything you start from the shell has to be started again after a restart. The presets and the built-in web server are wired up by the app, so they are the exception.
Processes in the guest cannot bind privileged ports. In practice it does not bite, because the tunnel terminates 443 for you.
Not possible under the guest's constraints, and the travel proxy is not one. It is a convenience feature, not an anonymity tool, and not a hosted VPN service.
Modern Android does not let an unrooted app read system CPU usage, so PhoneRig does not display or alert on it. It monitors memory, storage, battery and thermal state instead, which are the actionable signals.
64-bit ARM only, 3 GB of RAM or more, and sized for personal and small-business workloads. No uptime guarantee and no service level agreement: it is your hardware on your electricity and your internet.
The console reaches phones on your own Wi-Fi. An internet-mediated fleet was deliberately not built, because it would mean a central store of your devices' status. Fleet is in beta.
The app presets each want to own the phone's web root, so they are exclusive by design and the app warns you before it swaps one for another.
The server itself, SSH and the built-in terminal, a free yourname.phonerig.app address with HTTPS, the website builder with its blog and booking links, unlimited photo albums, SSH, the web terminal, the travel proxy, the Fleet console and the alerts. The paid unlocks are backups at $4.99, the one-tap app presets at $14.99, and PhoneRig Pro at $17.99, each a one-time purchase.
No. Photos stay on your phone and are served from it. Nobody reviews, moderates or scans an album, and there are no accounts to attach them to. Guest uploads are off until you turn them on, per album, and only you can delete anything.
Yes. You can add a second page at its own address under the same domain. Before creating it, the app measures free storage and the web root's file headroom and tells you whether there is room, recommending rather than forbidding.
The web server hands each access line straight to the app over a local socket, and the app counts the views in memory. Only small per-day totals are ever stored, so no access log and no visitor IP addresses are written to the phone's storage. There is no cookie, no third-party script and no beacon, and nothing about your visitors leaves the device. If you want full analytics you can add your own Google Analytics tag, and then your site shows visitors a consent bar first.
No. It routes your browsing out through your own phone at home, so websites see your home connection. That connection identifies you: this is a convenience feature for appearing at home and reaching your own things, not anonymity, and PhoneRig does not run a VPN service.
Yes, on your own network. Fleet shows every PhoneRig phone sharing your Wi-Fi and your team code, with battery, storage, memory and uptime, plus a link into each phone's admin panel and site. Fleet is a same-network console by design. When you are away, the travel proxy makes your browsing exit from your home rig, so the console and your rigs' admin pages keep working as if you were home.
Your server and everything on it are kept. The new version downloads in the background while the server keeps serving, and the app offers the install when it is ready; installing it takes a few seconds, and the server starts again as soon as the app is open.
A 64-bit ARM phone on Android 8 or newer with 3 GB of RAM or more, without root. That is most Android phones made since around 2017. The app checks on first run and says plainly if a phone will not do. There is a searchable list of known-good devices.
Install PhoneRig, follow the guided setup, and have a real server with a real address before the kettle boils.
Get PhoneRig on Google PlayNo root needed · Android 8+ · 64-bit (arm64) · 3 GB of RAM or more