tizenportal

๐Ÿ“บ TizenPortal

Tizen License

TizenPortal is a browser shell for Samsung Smart TVs running Tizen OS. It provides a launcher for managing any websites and injects site-specific fixes for TV compatibility (self-hosted apps like Audiobookshelf are a great fit, but not required).


โœจ Features

๐Ÿš€ Portal Launcher

A TV-friendly launcher with customizable themes to manage your sites in one place.

๐Ÿ”ง Site Enhancement

Runs as a TizenBrew module to inject fixes into any site.

๐ŸŽฎ Remote Control Support


๐Ÿ“ฅ Installation

This project is designed to be loaded via TizenBrew on your Samsung TV.

  1. Open TizenBrew on your Samsung TV
  2. Add Module: axelnanol/tizenportal
  3. Launch TizenPortal from your TizenBrew dashboard

TizenBrew will open the portal and inject the runtime into all navigated pages.


๐ŸŽฎ Usage

Adding Sites

  1. Press Enter on the โ€œ+โ€ card
  2. Fill in the site details:
    • Name: Display name for the card
    • URL: Full URL including http:// or https:// - Site-specific Bundle: Select a compatibility bundle
    • Icon: Optional - click โ€œFetch Faviconโ€ or enter a custom URL

Editing Sites

  1. Select a site card and press Enter to open
  2. Use D-pad for navigation or press ๐ŸŸข Green for mouse mode
  3. Press ๐ŸŸก Yellow to return to the portal

Address Bar

Press ๐Ÿ”ด Red to open the address bar overlay with browser controls:

Preferences

Color Button Reference

| Button | Short Press | Long Press | |โ€”โ€”โ€“|โ€”โ€”โ€”โ€”-|โ€”โ€”โ€”โ€”| | ๐Ÿ”ด Red | Address Bar | Reload Page | | ๐ŸŸข Green | Toggle Mouse | Edit Card (portal) / Focus Highlight (sites) | | ๐ŸŸก Yellow | Preferences (portal) / Return to portal (sites) | Add Site (portal) / Return to portal (sites) | | ๐Ÿ”ต Blue | Diagnostics | Safe Mode |


๐Ÿ—๏ธ Architecture

TizenPortal uses a Universal Runtime architecture:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        TizenBrew                            โ”‚
โ”‚  1. Loads module from GitHub tag                            โ”‚
โ”‚  2. Opens websiteURL (portal) in browser                    โ”‚
โ”‚  3. Injects tizenportal.js into ALL pages                   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   Portal Page                               โ”‚
โ”‚  - Runtime detects it's on the portal                       โ”‚
โ”‚  - Renders site card grid                                   โ”‚
โ”‚  - User selects card โ†’ navigates with #tp= payload          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                Target Site                                  โ”‚
โ”‚  - Runtime detects it's NOT on portal                       โ”‚
โ”‚  - Reads #tp= payload for bundle name                       โ”‚
โ”‚  - Applies bundle CSS/JS                                    โ”‚
โ”‚  - Provides overlay UI (address bar, diagnostics)           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Key Points


๐Ÿ†• Recent Updates


๐Ÿ“š Documentation

Additional Resources


๐Ÿ”’ Security

TizenPortal is designed with security as a priority:

Important: Userscripts run with full page access. Only enable scripts you trust and have reviewed. See the Security Guide for details.


๐Ÿค Compatibility

Feature Support Level
Target OS Samsung Tizen 3.0 - 6.5
Browser Engine Chrome 47 - 69 (Tizenโ€™s Chromium)
Tested Apps โœ… Audiobookshelf
Built-in Bundles default, audiobookshelf, adblock

๐Ÿ™ Acknowledgments

This project uses code and inspiration from the following sources:


๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.