ArkTV is a lightweight, terminal-based IPTV player for Linux devices, built with bash and powered by mpv. It offers an intuitive menu for browsing and streaming internet TV channels, with joystick support for retro handhelds and embedded devices.
- Channel selection via
dialog
menu - Fullscreen streaming with
mpv
- Joystick/gamepad support via
gptokeyb
- Auto-installs dependencies (
mpv
,dialog
,jq
,curl
) - Fetches channel lists from a JSON file hosted on GitHub
- Download or copy the
ArkTV.sh
script. - Place it in your device's tools or ports folder.
- Run the script to install dependencies and start ArkTV.
ArkTV uses a JSON file hosted on GitHub to define channels. To customize it:
-
Fork the Repository:
- Visit the ArkTV GitHub repository.
- Click "Fork" to create your own copy.
- Clone your forked repository or edit directly on GitHub.
-
Edit the JSON File:
- Locate
channels.json
in your forked repository. - Open in a text editor (e.g., VS Code) or GitHub’s online editor.
- Add a Channel:
[ ..., {"name": "New Channel", "url": "https://example.com/stream.m3u8"} ]
- Remove a Channel: Delete the object (e.g.,
{"name": "A2Z SD", "url": "..."}
) and adjust commas. - Update a Channel: Modify
name
orurl
(e.g.,{"name": "HBO HD", "url": "new-url"}
).
- Locate
-
Update ArkTV Configuration:
- Open
ArkTV.sh
in your forked repository. - Edit line 18 to point to your JSON file URL (e.g.,
https://raw.githubusercontent.com/YourUsername/ArkTV/main/channels.json
).
- Open
-
Validate and Save:
- Validate JSON using JSONLint.
- Ensure no trailing commas or missing brackets.
- Commit and push changes to your forked repository.
-
Test:
- Run ArkTV to verify the updated channel list.
- Backup the original JSON file before editing.
Note: Ensure URLs are valid to avoid streaming issues. Use a JSON editor or script for bulk changes.
ArkTV is licensed under the MIT License.
This project uses mpv, licensed under GPLv2 or later (or LGPLv2.1 or later if built with -Dgpl=false
). See mpv's license details for more information.