What is Snappier Server?
Snappier Server is a lightweight yet powerful Python-based service designed to run seamlessly on your machine 24/7. Built exclusively for the Snappier IPTV App, it acts as the brain behind all your media recording and downloading needs.
With the Snappier IPTV App, users can effortlessly schedule live TV recordings, save CatchupTV, and download movies or entire TV series from their IPTV provider. Movies can also be scheduled to download at a specific future date and time. Snappier Server takes care of these requests in the background—quietly, efficiently, and reliably.
By default, all your media is saved to the snappierServer/
folder on your system, but you're free to specify a custom location for folders to organize your recordings and downloads your way. The downloaded content is fully compatible with the Snappier IPTV app and can also be played in any media player that supports the format.
Note: Live TV and CatchupTV recordings are saved in the .ts
(MPEG Transport Stream) format. While widely compatible, this format may not work with certain players—such as Infuse.
Once a recording or download begins through the Snappier IPTV App, Snappier itself can be closed. Snappier Server continues the task independently, ensuring everything completes smoothly—even while you're away.
Need help? Join our friendly community on Discord! You’ll find the invite link directly in the Snappier IPTV app.
Notice: Snappier Server is currently a beta feature of the Snappier IPTV App. While it's designed to work for most users, it may not be compatible with all systems or network setups. Installation is the responsibility of the user, and while we may not be able to assist with every individual setup, we’ll always try our best to help in the Discord server if possible. We welcome feedback as we continue to improve it.
All-in-One Version – Simple to run
All-in-One App Downloads
Download the unified app package for your platform. This all-in-one bundle contains everything needed to run the server — only Python 3.13.x and curl are required. Just unzip the file and run the executable inside.
The main file is usually called something like snappierServer_full_linux_aarch64_v077c_beta.py
or snappierServer_full_windows_x86_64_v077c_beta.exe
The actual filename will depend on the OS and version number you have downloaded.
macOS
Windows
Linux
Unzip & Run All-In-One Version
Note: Replace snappier_server
, snappier_server.py
, or snappier_server.exe
with the actual filename you downloaded for your system and version.
- Unzip the downloaded archive to a folder of your choice.
- Open a terminal or command prompt and navigate into that folder.
- Start the server using the appropriate file or method for your platform:
- Windows (Executable):
snappier_server.exe --host 0.0.0.0 --port 8000
- macOS (Tarball):
chmod +x snappier_server && ./snappier_server --host 0.0.0.0 --port 8000
- Linux/NAS:
chmod +x snappier_server && ./snappier_server --host 0.0.0.0 --port 8000
On NAS devices (Synology, QNAP), SSH into the NAS and run the file inside a shared folder such as
/volume1/snappier
. - Python Script:
python snappier_server.py --host 0.0.0.0 --port 8000
- Windows (Executable):
The server requires Python 3.13.x only. Other Python versions will not work. Most operating systems include Python, but if it’s missing, see the manual installation instructions for your OS below.
curl
is also required for downloading video-on-demand (VOD) content.
To see a list of all available command-line options, you can run the server with the -h
flag:
python snappier_server.py -h
Find Your Server’s IP Address
After starting the server, you need the host machine’s IP address to connect clients:
- Windows: Open Command Prompt and run
ipconfig
. Look for the IPv4 Address under your active network adapter. - macOS: Open Terminal and run
ipconfig getifaddr en0
(oren1
for Wi‑Fi). - Linux/NAS/Raspberry Pi: Open a shell (or SSH) and run
hostname -I
orip addr show
, and note the address for your network interface.
Connect the App: In the Snappier IPTV app, go to Settings → Database/System and enter the IP address and port number of the machine running Snappier Server (e.g., 192.168.1.100
and 8000
). Do not include http://
or https://
.
Manual Scripts Installation
Prefer the easy way? We recommend using the All-in-One version above for the simplest setup. However, if you're comfortable using the command line, you can follow the manual installation steps below.
Prerequisites
The server requires Python 3.13.x only, pip
, and curl
is required for downloading video-on-demand (VOD) content. Other Python versions will not work. Most operating systems include Python, but if it’s missing, see the installation instructions for your OS below.
Download Script Version
Choose your platform:
macOS
Windows
Linux
Note: These are source code packages. You will need to install Python, pip, and the necessary dependencies manually. The source code is protected with pyArmor (which is why there are seprate download links) and requires Python 3.13.x only; other Python versions will not work. Please refer to the Windows, macOS, or Linux manual installation sections below to learn how to set up and run the server.
Manual Windows Installation
Note: Replace snappier_server
, snappier_server.py
, or snappier_server.exe
with the actual filename you downloaded for your system and version.
- Install Python 3.13.x. Other versions will not work. Windows may include a different version of Python or none at all. If you do not have Python 3.13.x installed, download it from the official website:
- Official website: Download from python.org.
- Open PowerShell or Command Prompt and run the Python command to create and activate a virtual environment:
python -m venv venv .\venv\Scripts\activate
- Install dependencies:
pip install fastapi uvicorn apscheduler requests python-dateutil
- Run the server using the correct filename:
python snappier_server.py --host 0.0.0.0 --port 8000
After completing these steps, find your server’s IP address (see the “Find Your Server’s IP Address” section above) and enter it in the Snappier IPTV app under Settings → Database/System.
Note: You will need to run .\venv\Scripts\activate
each time you open a new Command Prompt or restart your computer, before running the server again. This ensures the correct environment is active.
Manual macOS Installation
Note: Replace snappier_server
, snappier_server.py
, or snappier_server.exe
with the actual filename you downloaded for your system and version.
- First, check if Python 3.13.x is already installed by running:
python3 --version
If it returns
Python 3.13.x
, you can skip the next step. - Install Python via
brew
or the official installer:brew install python
- Install dependencies in a virtual environment:
python3 -m venv venv source venv/bin/activate pip install fastapi uvicorn apscheduler requests python-dateutil
-
Run the server:
python snappier_server.py --host 0.0.0.0 --port 8000
Note: Replace snappier_server
, snappier_server.py
, or snappier_server.exe
with the actual filename you downloaded for your version.
After completing these steps, find your server’s IP address (see the “Find Your Server’s IP Address” section above) and enter it in the Snappier IPTV app under Settings → Database/System.
Note: Each time you open a new terminal window or restart your system, remember to run source venv/bin/activate
before starting the server. This activates the virtual environment so the correct Python setup is used.
Manual Linux/NAS Installation
- This guide assumes you're using a Debian-based distribution such as Ubuntu.
- Install Python 3 and pip via your distribution’s package manager, e.g. Ubuntu or Debian:
sudo apt update sudo apt install python3 python3-venv python3-pip
- Create a virtual environment and install dependencies:
python3 -m venv venv source venv/bin/activate pip install fastapi uvicorn apscheduler requests python-dateutil
- Run the server using the correct filename:
python snappier_server.py --host 0.0.0.0 --port 8000
After completing these steps, find your server’s IP address (see the “Find Your Server’s IP Address” section above) and enter it in the Snappier IPTV app under Settings → Database/System.
Note: Each time you open a new terminal session or reboot your system, make sure to run source venv/bin/activate
before launching the server. This ensures the environment is correctly configured.
Manual Docker Installation
If you prefer to use Docker, we recommend following the Docker setup created by RyDizz214. You can find the full instructions and Dockerfile on GitHub:
Snappier Server Docker – View on GitHub
This option provides a containerized environment to run the Snappier Server using Docker, with examples on how to build and run the container.
Manual Raspberry Pi Installation & Linux Versions with no premade 3.13.x packages
- The default Raspberry Pi OS doesn't include the correct version of Python. You need to install Python 3.13.x, and there are no packages available for this.
- Download, unpack, compile, and install Python 3.13.3 from source:
- Install build dependencies:
sudo apt update sudo apt install -y build-essential \ zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev \ libssl-dev libreadline-dev libffi-dev libsqlite3-dev \ wget
- Download the source archive:
wget https://www.python.org/ftp/python/3.13.3/Python-3.13.3.tgz
- Extract and enter the directory:
tar -xzvf Python-3.13.3.tgz cd Python-3.13.3/
- Configure the build:
./configure --enable-optimizations --with-ensurepip=install --enable-shared
- Compile using all cores:
make -j "$(nproc)"
- Install alongside system Python:
sudo make altinstall
- Verify the installation:
/usr/local/bin/python3.13 --version
- (Optional) Create a symlink:
sudo ln -s /usr/local/bin/python3.13 /usr/bin/python3.13
- Clean up source files:
cd .. rm -rf Python-3.13.3/ Python-3.13.3.tgz
- Install build dependencies:
- Create a virtual environment and install dependencies:
python3.13 -m venv venv source venv/bin/activate pip install fastapi uvicorn apscheduler requests python-dateutil
- Execute the server with Python 3.13.x:
python3.13 snappier_server.py --host 0.0.0.0 --port 8000
- If you see this error:
/usr/local/bin/python3.13: error while loading shared libraries: libpython3.13.so.1.0: cannot open shared object file: No such file or directory
It means your system cannot find the Python shared library.
First, locate where thelibpython3.13.so.1.0
file was installed. This is usually in/usr/local/lib
, but you can confirm with:sudo find /usr/local -name "libpython3.13.so.1.0"
If it exists, make note of the directory it’s found in — typically this will be/usr/local/lib
.
To fix this, run:echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/python3.13.conf sudo ldconfig
Alternatively, you can set the environment variable:export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
This should allow Python to locate the missing shared object file.
After completing these steps, find your server’s IP address (see the “Find Your Server’s IP Address” section above) and enter it in the Snappier IPTV app under Settings → Database/System.
Usage
Once Snappier Server is installed or unpacked on your system, you can start the server using the following command, depending on your setup:
./snappier_server --host 0.0.0.0 --port 8000
This command starts the server, listening on all network interfaces at port 8000. You can replace 0.0.0.0
with a specific IP address if needed, and change the port to a different number if 8000 is in use.
--recordingsFolder
: Directory to store all Live TV and CatchupTV recordings--moviesFolder
: Directory to store movie downloads--tvSeriesFolder
: Directory to store TV series downloads
For example, to bind only to your local machine:
./snappier_server --host 127.0.0.1 --port 9000
Example with custom folders:
./snappier_server --host 0.0.0.0 --port 8000 --recordingsFolder /recordings/live --moviesFolder /recordings/movies --tvSeriesFolder /recordings/series
Remux Live TV after recording:
./snappier_server --host 127.0.0.1 --port 9000 --enable-remux
Server will automatically remux (convert) Live TV .ts
files into .mkv
format after recording. This produces smaller files that are more compatible with a wider range of media players.
To see a list of all available command-line options, you can run the server with the -h
flag:
python snappier_server.py -h
Note: Replace snappier_server
, snappier_server.py
, or snappier_server.exe
with the actual filename you downloaded for your system and version.
Note: Make sure any firewalls or routers allow traffic on the selected port if you want to access the server from another device.
Tip: If you're running the server over SSH and want it to continue running after you disconnect, consider using a tool like screen
. screen
allows you to start a terminal session that stays alive even if your SSH connection drops or you log out. To use it:
- Install it if needed (e.g.,
sudo apt install screen
on Ubuntu). Note:screen
is already included on macOS by default. - Start a new screen session with
screen
. - Run your server as normal inside the screen.
- Detach from the screen session anytime with
Ctrl+A
thenD
. - Reattach later with
screen -r
.
This is especially useful for remote server installations where you don’t want your processes to stop if you lose your SSH connection.
Disclaimer
The Snappier Server code is provided as is with no warranty. Use at your own risk. Modification or use with applications other than Snappier IPTV is not permitted.
Running and configuring the server is entirely your responsibility; we take no responsibility for its operation or for ensuring it works in your environment.
For support with Snappier Server, join our Discord server; the invite address is available within the Snappier IPTV app.