Listen to Your Audiobook Library Away from Home with Tailscale
OpenAudible has a built-in web server: your library in a browser, with covers, a player, and your place saved. It also works with phone apps built for Audiobookshelf, such as BookPlayer and AudioBooth, so they can stream and download your books. Install the free Tailscale app and run one command, and you get one HTTPS address that works on your home Wi-Fi, at work, or on cellular. There is nothing to change on your router.
What you'll need
- A copy of OpenAudible (free download) with some converted books. Converting needs a license
- The computer OpenAudible runs on, left on and awake while you listen
- A free Tailscale account (sign in with Google, Microsoft, Apple or GitHub)
- Windows, Mac or Linux. Output format: M4B or MP3, whichever you already use
Two ways to use Tailscale
-
Funnel (the quick way). One command gives your library a public
HTTPS address like
https://my-pc.tail1234.ts.net. Any phone or browser can open it, with nothing to install on the phone, and every visitor has to sign in with an OpenAudible account. This is what most people want. The address is public, so automated scanners will find it: give every account a strong password. -
Serve (the private way). Same command with
servein place offunnel. The address only works on devices signed in to your Tailscale account, so you install the Tailscale app on your phone too. Nobody else on the internet can reach the server at all.
Both use real HTTPS certificates, so your password and your books are encrypted on the way. Neither needs port forwarding, and both work when your internet provider does not give you a public IP address.
Steps
1. Turn on the OpenAudible web server
Open and go to the
Web Server tab. Check Enable web server and create
an account when asked. Leave Listen On at 127.0.0.1.
Tailscale connects from this same computer, so the server does not need to listen on
your network at all.
Note the Port. It is 8000 unless you changed it, and this
page uses 8000 throughout. If yours is different, use your number wherever you see 8000.
Check it works on this computer first. Click the web server
icon in the upper right of the OpenAudible window, or open
http://127.0.0.1:8000 in a browser on this computer, and sign in. If your
library shows up here, anything that goes wrong later is on the Tailscale side. The
Web Server documentation covers every setting.
Make a Listener account for your phone. A Listener can browse, stream and keep its own place but cannot change anything. Keep the Admin account for yourself and give it a strong password, because with Funnel the sign-in page is on the internet.
2. Install Tailscale on the same computer
Download Tailscale from tailscale.com/download,
install it, and sign in. That creates your free account and adds the computer to it.
On Windows, choco install tailscale works too if you use Chocolatey.
Mac users: Funnel needs the Tailscale command line, so use the App Store or standalone
download from that page.
3. Run one command
Open a terminal (Command Prompt or PowerShell on Windows, Terminal on a Mac) and run:
tailscale funnel --bg 8000
The first time, Tailscale says Funnel is not enabled on your tailnet and prints a link. Open it in your browser and approve. The command waits for you, then carries on and prints your address:
Success.
Available on the internet:
https://my-pc.tail1234.ts.net/
|-- proxy http://127.0.0.1:8000
The proxy line shows Tailscale handing visitors to OpenAudible on this
computer. On Linux, put sudo in front of the command.
Windows: "tailscale is not recognized"? The terminal can't find Tailscale yet. Run it from its install folder instead — no administrator prompt needed:
cd "C:\Program Files\Tailscale"
tailscale funnel --bg 8000
--bg keeps it running after you close the terminal and after a restart.
Leave it off to share only until you press Ctrl+C. For the private way, run
tailscale serve --bg 8000 instead.
Optional: choose a nicer address
The first part of the address is this computer's name in Tailscale, so it may come out
as something like desktop-4k2j9q. To get
https://books.tail1234.ts.net instead, rename the computer in Tailscale:
tailscale set --hostname=books
You can also do it in the Tailscale admin console: Machines, the … menu next to the computer, Edit machine name. This changes the name only in Tailscale, not in Windows or macOS, and it applies to everything on that computer: one computer has one name. Rename it before you set up your phone, since an app you have already connected keeps using the old address.
4. Open your library from anywhere
Turn off Wi-Fi on your phone to be sure you are testing from outside, open the
address in the phone's browser, and sign in with your Listener account. Use the
address exactly as Tailscale printed it: https:// with no port number.
Tailscale takes care of the :8000. Use this address at home too: it works
the same on Wi-Fi and on cellular.
Add it to your home screen and it opens like an app. From there you can browse the gallery, play a book, and pick up where you left off on the desktop.
Use an Audiobookshelf app instead of the browser
The OpenAudible web server also speaks the language of apps built for Audiobookshelf, the self-hosted audiobook server. So you can use a proper audiobook player with downloads for offline listening, sleep timers and synced progress, without running an Audiobookshelf server. We have tested BookPlayer (iPhone and iPad) and AudioBooth (iPhone, iPad, Mac and Apple Watch).
In the app, add an Audiobookshelf server, enter the Tailscale address from step 3 as
the server address, and sign in with your Listener account. If the app asks for a port
separately, leave it blank or use 443. Your library, covers and chapters appear. Step by
step with screenshots:
BookPlayer on iPhone and iPad.
OpenAudible is not affiliated with Audiobookshelf or with these apps, and it covers what the apps need to browse, stream, download and sync progress rather than every Audiobookshelf feature. Collections and playlists, for example, come back empty. If something doesn't work, tell us, not the app's developer.
Turning it off
tailscale funnel status shows what is shared. To stop sharing, run:
tailscale funnel reset
(or tailscale serve reset if you used Serve). Turning off the web server
in OpenAudible also stops it: the address stays, but there is nothing behind it.
Common problems
- The address doesn't load at all. OpenAudible must be running, with the web server on, on a computer that is awake. Set the computer not to sleep while plugged in if you want your library available all day. A brand-new Funnel address can also take a minute or two to start working.
- "502" or a Tailscale error page. Tailscale is up, but nothing answers on port 8000. Check that Status in the Web Server tab says Running, and that the port in the command matches the port in OpenAudible.
-
The app can't connect. Enter the address with
https://and without a port. Audiobookshelf apps often suggest port 13378, which is Audiobookshelf's own default, not ours. - Serve address doesn't work on the phone. With Serve, the phone needs the Tailscale app installed, signed in to the same account, and switched on.
- "Funnel not available" or a permissions error. Run the command again and follow the approval link it prints. If you are on a Tailscale account someone else manages, they may need to allow Funnel for you.
- Downloads are slow. Funnel traffic passes through Tailscale's servers, which have bandwidth limits. Streaming is fine; downloading a whole long book for offline listening is quicker at home on Wi-Fi.
Keep it personal
Reaching your own library from wherever you are is what the web server is for. Giving someone else an account or your address is not: sharing access to your audiobooks is distributing copyrighted works. Give each device of yours its own Listener account if you like, but keep them to yourself.
Download OpenAudible to put your library on your phone, or see the Web Server documentation for accounts, roles and the admin page.
Something unclear, out of date, or a tutorial you'd like to see? Send feedback or request a tutorial →