4 releases (1 stable)
1.0.0 | Apr 8, 2024 |
---|---|
0.2.2 | Feb 19, 2024 |
0.2.0 | Dec 4, 2023 |
0.1.0 | Dec 4, 2023 |
#439 in Database interfaces
239 downloads per month
28KB
401 lines
iptvrs
Playlist parser and search support for m3u4u playlists locally!
What does this do?
- Gets your m3u4u playlists.
- Stores the playlists locally in a sqlite database.
- Allows searching for channels (and playlists).
- Supports playing a channel with your choice of local player.
Installation
You can find pre-built release for your system here.
Alternatively you can install using cargo install iptvrs
Requirements
Setup
- Clone this repo:
$ git clone https://github.com/vihu/iptvrs.git
- Create the config directory:
$ mkdir -p $HOME/.config/iptvrs
- Copy settings:
$ cp settings.template.toml $HOME/.config/iptvrs/settings.toml
Edit the settings.toml
as necessary (it is commented for reference).
Build
In the repo root folder:
$ cargo build --release
Optional (but recommended), copy the binary to somewhere in your path:
$ cp ./target/release/iptvrs ~/.bin
Run
The first thing you'd want to do is "hydrate" the database from your configured playlist. Run this once in a while to fetch and rehydrate database as necessary (I recommend once per day). Feel free to set a cron job to do this.
$ iptvrs hydrate
You can now search for channels in your playlist:
$ iptvrs search "<channel name>"
Assuming you've set a local player in your settings.toml
, simply run:
$ iptvrs play <channel_index_integer>
CLI
The iptvrs
CLI is basically as follows:
iptvrs
Usage: iptvrs [OPTIONS] <COMMAND>
Commands:
hydrate Hydrate the database with the contents of playlist
search Search the database for a channel
play Play a channel using the configured player
list List all channels in the database
help Print this message or the help of the given subcommand(s)
Options:
-c <CONFIG>
-h, --help Print help
-V, --version Print version
Dependencies
~39–55MB
~1M SLoC