CURIOUS BY NATURE. INDEPENDENT BY DESIGN.SOFTWARE ◆ HARDWARE ◆ 3D
← All software projects

FREE SOFTWARE · MIT SOURCE

JesterMedia Server

A self-hosted media server for your own library

Organize your own movies, TV shows, photos and NES/SNES/Genesis games in a browser-based library, with Photo Reel and per-profile game saves. Looking for an independent Plex alternative? JesterMedia is a growing project with its own setup requirements and feature limits. Choose the Windows release or Linux preview, read the setup notes, or build your own version from source.

TWELVE OFFLINE INTERFACE LANGUAGES

Set up your library in your language.

English, Spanish, Japanese, German, French, Dutch, Polish, Brazilian Portuguese, Simplified Chinese, Traditional Chinese, Malay and Tamil are included in the Windows 0.4.0 and Linux 0.4.0-linux-preview.1 server interfaces.

Go to Server settings → Appearance → Language → Apply language. Applying a language reloads the page, so save other edits first. Your movie titles, paths, profile names and other content stay as entered.

The Windows installer supports nine languages; Chinese and Malay use English setup screens. Linux setup scripts and documentation use English. These installer limits do not restrict the twelve app-interface languages.

Found a bug or a translation that needs work? Send feedback to [email protected].

Your photos. Your games. Your server.

Start with an empty library and select your own movie, TV, photo and ROM folders in Settings. No personal photos, ROMs, saved games, accounts, credentials or household library are bundled.

Optional browser emulation uses EmulatorJS; game cover lookup uses the Libretro thumbnail repository. Photo Reel includes three original procedural music tracks supplied as app assets.

Remote access needs your own configured HTTPS gateway. Existing app update channels are unchanged by these manual downloads.

The Android Media refresh is pending. Roku and Samsung TV clients use an English interface and have separate versions. The twelve interface languages apply to the server; native installer language support varies as described above.

Windows · Version 0.4.0

Windows 10/11, 64-bit · Released 2026-10-10

Windows installer

JesterMedia-Server-Setup-0.4.0.exe

76,517,500 bytes

Download windows installer
SHA-256 verificationd1b1c5f1496cfff15456bd1abbd9452875cb9e91a36cb1a1c8ea8a4d6be3a2b5

Source code

JesterMedia-Source-0.4.0.zip

32,890,706 bytes

Download source code
SHA-256 verification3f61912f9530b4ca61c209a4d46f4bde9e870a04972390f6ac1432e50f41012e

MIT License

JesterMedia-0.4.0-LICENSE.txt

1,072 bytes

Download mit license
SHA-256 verificatione8b2b6500a407264cbaa572a4bdd4329d3a21ba5bfdea3eaaab80db2c439ad40

SAMSUNG & ROKU · SEASONAL EDITIONS

Seasonal TV clients

Bring your own JesterMedia library to Roku or Samsung Tizen 3, 6/6.5, 7, 8 and 9, with Classic, Fall, Spooky and Christmas themes. Choose the package for your TV below.

Released 2026-10-10. Each TV app has its own version number and works alongside your server.

All six TV clients have English-only interfaces. The twelve-language server and setup assistant do not change the language of the TV apps.

This refresh replaces two inherited seasonal images with an original people-free holiday illustration and generic spooky artwork. The optional brief, silent Spooky surprise now uses seasonal artwork. App identities and settings keys are retained; Samsung users should keep their original author certificate for updates.

These public packages contain no household server address, selected profile, account credentials, device certificates, personal library or menu soundtrack. Choose your own server and profile after installation.

First time installing? Read the Roku and Samsung step-by-step guides →

Start with your server

  • Run your own JesterMedia Server on Windows or Linux and keep the server PC awake. Add your media and enable home-network devices in server settings.
  • Keep the TV and server on the same trusted home network, with the server port (normally 8096) reachable. Enter the address displayed by your own server in the TV app.
  • Current server packages are Windows 0.4.0 and Linux 0.4.0-linux-preview.1. Samsung needs the TV endpoints introduced in server 0.3.22; Roku uses the server library, profile, progress and compatible-playback APIs. See the server release notes for platform-specific limits.

Windows server release · Linux server release and setup

Roku · LAN beta

JesterMedia for Roku

Version 0.1.4 · Developer sideload ZIP

Movies, shows, seasons and episodes, with resume, per-profile progress and static seasonal artwork. Settings includes theme selection and an Off/On choice for the brief, silent seasonal surprise in eligible Spooky movie menus.

JesterMedia-Roku-0.1.4-public.zip

9.9 MiB · 10,427,729 bytes

Download Roku ZIP

Step-by-step Roku installation guide →

Requirements and installation

What you need

  • A Roku TV or player with developer mode enabled, plus a browser on your home network to upload the package.
  • Your own JesterMedia Server and its private IPv4 address. Node.js and Python are not needed on the Roku.

Set it up

  1. Follow Roku's developer setup instructions and create a private installer password on your own device.
  2. Open your Roku's developer installer in a local browser and sign in as rokudev with the password you created. Review the existing development app before replacing it.
  3. Upload the ZIP without extracting it. In JesterMedia, enter your server's private IPv4 address and port, then choose your profile.
  4. Start with conservative playback quality and check navigation, artwork and a short playback session on your own device.

Roku developer setup

Feature limits
  • Developer sideload beta, not a Roku Channel Store release. Intended for a trusted private LAN, not Internet or shared-network access.
  • Uses server-converted H.264/AAC HLS. Remote-account login, subtitle/audio selection, shuffle channels, playlists, Photo Reel and server administration are not included yet.
  • Seasonal artwork is static, and the surprise is disabled during playback. No menu music or guaranteed 4K playback.
SHA-256 verification99178f5c2f6851b4c29ff7c01c4888ad080863c22d099e89fc5d74c3a5cee6f9

Samsung · Tizen 9 target

JesterMedia for Samsung Tizen 9

Version 0.3.25 · Source ZIP · sign for your own TV

The modern Samsung client with seasonal themes, local visual effects and the optional silent seasonal surprise. Effects stop for playback, and reduced-motion preferences are respected.

JesterMedia-Samsung-Modern-Source-0.3.25-public.zip

10.0 MiB · 10,492,474 bytes

Download Tizen 9 source

Step-by-step Samsung installation guide →

Requirements and installation

What you need

  • A compatible Samsung Tizen 9 TV. Compatibility with other platform versions and models has not been established.
  • A Windows development PC with Tizen Studio, the applicable Samsung TV extension and Samsung Certificate Extension.
  • Your own Samsung developer certificate profile, including your TV's DUID in the distributor certificate. No certificate or signed WGT is included.

Set it up

  1. Extract the source ZIP into a new writable folder and read its README. This is source code, not a directly installable WGT.
  2. Use Samsung Certificate Manager to create your own TV certificate profile and include your own television. Keep certificates and passwords private.
  3. Run Build-Public-Samsung.ps1 with -CertificateProfile YOUR_PROFILE_NAME. The script builds and signs locally; it does not contact or install on a TV.
  4. Follow Samsung's TV setup guide to enable developer mode, pair your own TV and install your signed package. An existing installation may require its original author certificate; uninstalling can remove local settings.
  5. Open Connection, enter the address displayed by your JesterMedia Server, and select your profile.

Samsung certificate guide · Samsung TV developer setup

Feature limits
  • Unsigned source distribution. You must build and sign for your own TV; this is not a Samsung app-store release.
  • Original/direct playback and server-approved video copy depend on the source and device. Encoded compatibility playback remains capped at 1080p.
  • No menu soundtrack, household settings or owner-signed device package is included.
SHA-256 verification60feb5375d2423a7a6fee7f24577896e4b2e9c78dc56f573938982cb41e08f9b

Samsung · Tizen 3 target

JesterMedia for Samsung Tizen 3

Version 0.2.11 · Source ZIP · sign for your own TV

A lighter seasonal client for the older Tizen 3 engine, with static banners, saved theme choices and the optional silent seasonal surprise in eligible Spooky movie menus.

JesterMedia-Samsung-Tizen3-Source-0.2.11-public.zip

6.2 MiB · 6,494,315 bytes

Download Tizen 3 source

Step-by-step Samsung installation guide →

Requirements and installation

What you need

  • A compatible Samsung Tizen 3 TV. The included JavaScript is already transformed for the older M47 engine; physical model compatibility still needs checking.
  • A Windows development PC with Tizen Studio, the applicable Samsung TV extension and Samsung Certificate Extension.
  • Your own Samsung certificate profile for your own TV. No household certificate or signed WGT is included.

Set it up

  1. Extract the source ZIP and read its README. Create your own Samsung TV certificate profile with your television's DUID.
  2. Run Build-Public-Samsung.ps1 with -CertificateProfile YOUR_PROFILE_NAME. It builds and signs locally without contacting a TV.
  3. Use Samsung's developer setup guide to pair your TV and install your signed package. Review any existing installation before replacing it.
  4. Enter your own JesterMedia Server address in Connection, choose your profile, and check playback on the actual TV.

Samsung certificate guide · Samsung TV developer setup

Feature limits
  • Unsigned source distribution requiring your own developer signing; not an installable public WGT or Samsung app-store release.
  • Static themed artwork with no particles, animated theme transitions or menu music. Photo Reel uses still-image changes.
  • Compatible transcoding remains capped at 1080p. No household-specific startup profile or Photo Reel override is bundled.
SHA-256 verificationc74d5ec112ef45f7f232603baa8950e48f09b5618a630c6cfb30ce900078fdf2

Samsung · Tizen 6/6.5 compatibility preview

JesterMedia for Samsung Tizen 6/6.5

Version 0.2.12 · Preview source ZIP · sign for your own TV

A compatibility preview for Tizen 6/6.5, using the conservative older client with static seasonal artwork, saved theme choices and an optional brief, silent seasonal surprise. This target has not been tested on physical TVs.

JesterMedia-Samsung-Tizen6-Source-0.2.12-preview.zip

6.2 MiB · 6,494,462 bytes

Download Tizen 6/6.5 source

Step-by-step Samsung installation guide →

Requirements and installation

What you need

  • A Samsung Tizen 6/6.5 TV. The included JavaScript retains the older M47-compatible implementation; physical model compatibility still needs checking.
  • A Windows or Linux development PC with Tizen Studio, the applicable Samsung TV extension and Samsung Certificate Extension.
  • Your own Samsung certificate profile for your own TV. No household certificate or signed WGT is included.

Set it up

  1. Extract the source ZIP and read its README. Create your own Samsung TV certificate profile with your television's DUID.
  2. On Windows, run Build-Public-Samsung.ps1 with -CertificateProfile YOUR_PROFILE_NAME to build and sign locally. On Linux, use the Unified Setup assistant with your own local SDK and certificate profile.
  3. Use Samsung's developer setup guide to pair your TV and install your signed package. Review any existing installation before replacing it.
  4. Enter your own JesterMedia Server address in Connection, choose your profile, and check playback on the actual TV.

Samsung certificate guide · Samsung TV developer setup

Feature limits
  • Unsigned source distribution requiring your own developer signing; not an installable public WGT or Samsung app-store release.
  • Static themed artwork with no particles, animated theme transitions or menu music. Photo Reel uses still-image changes.
  • Compatible transcoding remains capped at 1080p. No household-specific startup profile or Photo Reel override is bundled.
  • Retains the older client feature limits. A newer Tizen target does not add modern-client effects or guarantee device compatibility.
SHA-256 verification2e858550fbfea05cad5a174e7f51abf4db3c20fab7ee104e233eb380ade4c930

Samsung · Tizen 7 compatibility preview

JesterMedia for Samsung Tizen 7

Version 0.2.12 · Preview source ZIP · sign for your own TV

A compatibility preview for Tizen 7, using the conservative older client with static seasonal artwork, saved theme choices and an optional brief, silent seasonal surprise. This target has not been tested on physical TVs.

JesterMedia-Samsung-Tizen7-Source-0.2.12-preview.zip

6.2 MiB · 6,494,462 bytes

Download Tizen 7 source

Step-by-step Samsung installation guide →

Requirements and installation

What you need

  • A Samsung Tizen 7 TV. The included JavaScript retains the older M47-compatible implementation; physical model compatibility still needs checking.
  • A Windows or Linux development PC with Tizen Studio, the applicable Samsung TV extension and Samsung Certificate Extension.
  • Your own Samsung certificate profile for your own TV. No household certificate or signed WGT is included.

Set it up

  1. Extract the source ZIP and read its README. Create your own Samsung TV certificate profile with your television's DUID.
  2. On Windows, run Build-Public-Samsung.ps1 with -CertificateProfile YOUR_PROFILE_NAME to build and sign locally. On Linux, use the Unified Setup assistant with your own local SDK and certificate profile.
  3. Use Samsung's developer setup guide to pair your TV and install your signed package. Review any existing installation before replacing it.
  4. Enter your own JesterMedia Server address in Connection, choose your profile, and check playback on the actual TV.

Samsung certificate guide · Samsung TV developer setup

Feature limits
  • Unsigned source distribution requiring your own developer signing; not an installable public WGT or Samsung app-store release.
  • Static themed artwork with no particles, animated theme transitions or menu music. Photo Reel uses still-image changes.
  • Compatible transcoding remains capped at 1080p. No household-specific startup profile or Photo Reel override is bundled.
  • Retains the older client feature limits. A newer Tizen target does not add modern-client effects or guarantee device compatibility.
SHA-256 verificatione3c6be5bbfa3c6387b3baaa4b988d60a1c9e9923ea4838f117cf4f27aaa30c1a

Samsung · Tizen 8 compatibility preview

JesterMedia for Samsung Tizen 8

Version 0.2.12 · Preview source ZIP · sign for your own TV

A compatibility preview for Tizen 8, using the conservative older client with static seasonal artwork, saved theme choices and an optional brief, silent seasonal surprise. This target has not been tested on physical TVs.

JesterMedia-Samsung-Tizen8-Source-0.2.12-preview.zip

6.2 MiB · 6,494,462 bytes

Download Tizen 8 source

Step-by-step Samsung installation guide →

Requirements and installation

What you need

  • A Samsung Tizen 8 TV. The included JavaScript retains the older M47-compatible implementation; physical model compatibility still needs checking.
  • A Windows or Linux development PC with Tizen Studio, the applicable Samsung TV extension and Samsung Certificate Extension.
  • Your own Samsung certificate profile for your own TV. No household certificate or signed WGT is included.

Set it up

  1. Extract the source ZIP and read its README. Create your own Samsung TV certificate profile with your television's DUID.
  2. On Windows, run Build-Public-Samsung.ps1 with -CertificateProfile YOUR_PROFILE_NAME to build and sign locally. On Linux, use the Unified Setup assistant with your own local SDK and certificate profile.
  3. Use Samsung's developer setup guide to pair your TV and install your signed package. Review any existing installation before replacing it.
  4. Enter your own JesterMedia Server address in Connection, choose your profile, and check playback on the actual TV.

Samsung certificate guide · Samsung TV developer setup

Feature limits
  • Unsigned source distribution requiring your own developer signing; not an installable public WGT or Samsung app-store release.
  • Static themed artwork with no particles, animated theme transitions or menu music. Photo Reel uses still-image changes.
  • Compatible transcoding remains capped at 1080p. No household-specific startup profile or Photo Reel override is bundled.
  • Retains the older client feature limits. A newer Tizen target does not add modern-client effects or guarantee device compatibility.
SHA-256 verification665329a5684d37369dad7df515106c8e24bdf5c88921f469384f436c46a1cac3

Package metadata, checksums and source were checked. These releases have not been playback-tested or upgrade-tested on physical TVs. A matching platform target is not a guarantee for every model; check navigation and a short video on your own device.

FROM DOWNLOAD TO MOVIE NIGHT

Install JesterMedia on your TV

These are developer-installed companion apps, not TV app-store downloads. Roku uses a ZIP upload; Samsung needs a package you build and sign for your own television.

Before either installation

  • Set up JesterMedia Server, choose your movie/TV folders, and let the library scan. In Settings → Network & access, complete the fixed-IP check and enable home-network access.
  • Keep the server, installation computer, and TV on the same trusted home network. Avoid guest Wi-Fi or access-point isolation. Leave the server PC on and awake while watching.
  • Write down the server address shown in its settings, including the port (normally 8096). The TV app connects to your server, not this website. Do not use localhost or 127.0.0.1 on a TV.
  • Keep the firewall enabled; allow JesterMedia on your trusted private network. You do not need router port forwarding for these local TV apps. Never expose a TV’s developer installer to the internet.

ROKU TV OR STREAMING PLAYER

Roku: upload the ZIP

Get the Roku download. You will also need its remote and a computer with a web browser.

  1. Keep the download zipped

    Save the Roku ZIP from this page. Do not extract it or upload a Samsung archive.

  2. Enable developer mode on the Roku

    Follow Roku’s developer setup guide, including developer enrollment. Starting from the Roku Home screen, press this sequence on the remote:

    Home × 3 → Up × 2 → Right → Left → Right → Left → Right

    Write down the Roku IP address shown. Choose Enable installer and restart (wording can vary), read and accept the developer agreement, and create your own installer password. Let the Roku restart.

  3. Open the Roku installer on your computer

    In your browser’s address bar, enter http://YOUR_ROKU_IP, replacing the placeholder with the address from step 2. Sign in with username rokudev and the password you just created—not your Roku account password.

  4. Upload and install

    Choose Upload, select the unextracted JesterMedia Roku ZIP, then choose Install. The app should launch when installation succeeds.

    One developer app at a time: installing this replaces any existing sideloaded development app. Check what is installed before proceeding.

  5. Connect your library

    In JesterMedia’s Home server address dialog, enter your server PC’s private IPv4 address and port, then choose Connect. Use YOUR_SERVER_IP:8096, replacing the placeholder and adjusting the port if necessary. This is the server address, not the Roku address you used for uploading.

    This Roku version supports a private IPv4 address, not a website/domain name, HTTPS address, or remote-account login.

  6. Choose a profile and theme

    Select a profile from your own server. Open Settings to choose Classic, Fall, Spooky, or Christmas. Try a short video to check picture, sound, and remote navigation.

For a later Roku update, repeat the upload/install step with the new Roku ZIP. It remains a developer-installed app, not a Streaming Store release.

SAMSUNG TIZEN TV · WINDOWS DEVELOPMENT PC

Samsung: build, sign, and install

Choose the source matching your TV: Tizen 3, Tizen 6/6.5, Tizen 7, Tizen 8, or Tizen 9. These are source ZIPs, not ready-to-install WGT files. Matching a target does not establish physical-TV compatibility. The manual steps below use Windows; for guided Windows or Linux setup, use the Unified Setup walkthrough.

  1. Install Samsung’s development tools

    On your Windows computer, install Tizen Studio and the Samsung TV extension. In its Package Manager, also install the Samsung Certificate Extension. You will need your own Samsung developer account for certificate creation.

  2. Turn on the TV’s developer mode

    On the TV, open Apps → App Settings and enter 12345. On models with a different Apps layout, follow Samsung’s TV setup guide. If your remote has no number buttons, use its 123 on-screen number pad.

    Set Developer Mode to On. In Host PC IP, enter the local IPv4 address of the computer running Tizen Studio, then restart the TV as instructed.

    Which address? Host PC IP is the installation computer—not the TV. If you use a separate media-server PC, that server’s address is entered later inside JesterMedia.

  3. Connect Tizen Studio to the TV

    Find the TV’s own IP address in its network settings. In Tizen Studio, open Tools → Device Manager → Remote Device Manager, add that TV address, and connect. Keep the TV on; it should appear as a connected device.

  4. Create your own signing certificate

    Open Certificate Manager, create a profile, and choose Samsung → TV. Follow the Samsung certificate guide to create your author and distributor certificates. Include your TV’s DUID (device identifier) in the distributor certificate.

    Keep the profile name handy and back up the author certificate and password privately. You need the same author certificate for future updates. No household certificate is supplied with these downloads.

  5. Extract, build, and sign JesterMedia

    Extract your chosen Samsung source ZIP into a new writable folder. Open PowerShell in the folder containing Build-Public-Samsung.ps1, read the included README/script, and run this after replacing the profile name:

    & '.\Build-Public-Samsung.ps1' -CertificateProfile 'YOUR_PROFILE_NAME'

    The script assumes Tizen Studio is at C:\tizen-studio. If yours is elsewhere, add -TizenStudio 'YOUR_TIZEN_STUDIO_FOLDER'. If Windows blocks the downloaded script, verify its source and contents before allowing that file; do not disable script protection globally.

    A successful build creates a signed .wgt under build-YYYYMMDD-HHMMSS\source\.buildResult and prints its path/hash. The build script does not install anything on the TV.

  6. Install the signed WGT and launch it

    With your TV connected in Device Manager, run the following in PowerShell. Replace all capitalized placeholders. YOUR_TV_SERIAL is the exact device identifier printed by the first command; use the actual WGT filename and full output-folder path from step 5. Adjust the tools paths if Tizen Studio is installed elsewhere.

    & 'C:\tizen-studio\tools\sdb.exe' devices
    
    & 'C:\tizen-studio\tools\ide\bin\tizen.bat' install -s 'YOUR_TV_SERIAL' -n 'YOUR_BUILT_FILE.wgt' -- 'FULL_PATH_TO_BUILDRESULT'
    
    & 'C:\tizen-studio\tools\ide\bin\tizen.bat' run -s 'YOUR_TV_SERIAL' -p 'JMediaTV25.JesterMedia'

    See Samsung’s installation command reference. Wait for a successful installation before running the launch command. Do not upload the source ZIP to the TV or expect USB/app-store installation.

  7. Connect your server and choose a theme

    In JesterMedia, open its connection/settings screen and choose Change server address. Enter the address shown by your own JesterMedia Server, including its port, then choose Connect and a profile. Choose Classic, Fall, Spooky, or Christmas in Settings. Check a short video for picture and sound.

For future Samsung updates, build the new source with your original author certificate and a distributor certificate covering this TV, then install the new WGT. An app signed by a different author may not update the existing installation. Do not uninstall blindly: removing the app can remove TV-local settings.

Stuck? Start here

The Roku installer or Samsung TV cannot be reached
Check that the TV is on, developer mode is enabled, and you have its current IP address. Keep both devices on the same trusted network; guest networks and isolated access points can block local connections. For Samsung, recheck Host PC IP after changing computers or network addresses.
Samsung says certificate error or installation failed
Confirm you selected a Samsung TV certificate profile, included this TV’s DUID, and used the correct source variant. If Device Manager offers Permit to install applications, follow Samsung’s certificate/device guide for that step. When updating, check that the author certificate matches the installed app. Do not erase apps or certificates just to make space without checking the error.
JesterMedia stays on “Finding” or cannot load the library
Check the server PC is awake and JesterMedia is running with home-network access enabled. On another device on the same LAN, try opening the server’s displayed address in a browser. Recheck the private IPv4 address, port, and private-network firewall permission. The public download site is not your library address.
The library opens but playback fails
On the server, run Settings → Server health → Check my setup. Confirm FFmpeg/FFprobe are detected. Try a small, ordinary 1080p file first; installation success does not guarantee every codec or 4K file will work on every TV. Read the feature limits beside your download.

These steps use the public packages above and the linked Roku/Samsung documentation. Menu wording varies by model and software version. Keep developer passwords and signing certificates private.

LINUX x64 · EARLY PREVIEW

Linux · 0.4.0-linux-preview.1

A server you run from the terminal and manage in your browser. This preview needs separate FFmpeg and FFprobe packages. Read the Linux setup guide and limitations before installing.

Linux x86_64 (glibc) — preview · Released 2026-10-10

Linux server archive

JesterMedia-Server-Linux-x64-0.4.0-linux-preview.1.tar.gz

77,652,409 bytes

Download linux server archive
SHA-256 verification94a9e1a1e07655bfcbbbba810024082ff40ed27a35a137f30d1fbc5eee6013f8

Source code

JesterMedia-Source-0.4.0.zip

32,890,706 bytes

Download source code
SHA-256 verification3f61912f9530b4ca61c209a4d46f4bde9e870a04972390f6ac1432e50f41012e

MIT License

JesterMedia-0.4.0-LICENSE.txt

1,072 bytes

Download mit license
SHA-256 verificatione8b2b6500a407264cbaa572a4bdd4329d3a21ba5bfdea3eaaab80db2c439ad40

Linux setup guide

What you need

  • Linux x86_64 using glibc; not ARM, 32-bit, Alpine/musl, macOS or Wine. The .NET 10 runtime is bundled; native ICU, OpenSSL, zlib and C/C++ runtime dependencies remain required.
  • FFmpeg and FFprobe are separate prerequisites on the server user's PATH. CPU/NVIDIA preferences do not guarantee GPU availability or 4K performance.
  • Use a normal Linux account and your own readable, non-symlink media folders. State uses a dedicated private 0700 directory; do not import a Windows database.
  • LAN verification requires NetworkManager/nmcli managing a physical Ethernet/Wi-Fi adapter with an applied manual private IPv4 address.
  • Optional artwork credentials require libsecret/secret-tool and an unlocked Secret Service keyring for the server user. No plaintext credential fallback.

Install and start

  1. Verify the SHA-256 checksum, extract into a new user-owned directory, and run ./start.sh without sudo. Open http://127.0.0.1:8096 on the server computer.
  2. Twelve offline interface languages: English, Spanish, Japanese, German, French, Dutch, Polish, Brazilian Portuguese, Simplified Chinese, Traditional Chinese, Malay and Tamil. Go to Server settings → Appearance → Language → Apply language. Applying a language reloads the page, so save other edits first. User media titles, folder paths and profile names keep their original text.
  3. The Linux launcher, copy-only installer and setup documentation use English.
  4. Fresh installs start with empty media/game folder lists, no photo folder, no saved gateway or accounts, and one generic Household profile. Choose your own folders; no household data, photos, ROMs, game saves or credentials are included.
  5. To set up photos and games, select and save your own photo folder and NES, SNES or Genesis ROM folders in their Settings controls. Game emulation optionally downloads EmulatorJS from its public CDN; optional cover lookup contacts the Libretro thumbnail repository. No ROMs are supplied.
  6. Run only one instance. The library port defaults to 8096; a separate protected loopback listener uses 18097.
  7. For LAN playback, apply a manual private IPv4 address in NetworkManager, verify it in Settings, enable LAN and restart. The app does not change router, firewall, IP or DNS configuration.
  8. Optionally run ./install-user.sh for a new versioned user-only copy. --with-user-service only stages a unit; enabling and starting it remain explicit choices. Existing version directories and service files are not overwritten.
  9. For an upgrade, stop the server, back up its private data, verify the new package and use a new versioned application directory with the same Linux data directory. This portable installer does not create the managed updater layout.

Uninstalling

  • If you enabled the optional user service, stop/disable jestermedia-linux-preview.service with systemctl --user and remove only its unit and the exact versioned application directory.
  • Keep ~/.local/share/JesterMedia-Linux-Preview to retain settings, profiles and history. Media, photos and any keyring credential are separate and are not deleted by the package.

What changed in 0.4.0-linux-preview.1

  • Current server features include NES/SNES/Genesis game libraries with browser emulation and per-profile saves, Photo Reel with three original procedural music tracks, remote account administration, seasonal channels, resource scheduling, diagnostics and backups.
  • Twelve offline interface languages: English, Spanish, Japanese, German, French, Dutch, Polish, Brazilian Portuguese, Simplified Chinese, Traditional Chinese, Malay and Tamil. Go to Server settings → Appearance → Language → Apply language. Applying a language reloads the page, so save other edits first. User media titles, folder paths and profile names keep their original text.
  • Both platforms use the current .NET 10 server source. Linux includes guarded media deletion and optimized-copy preparation with explicit user actions and path checks.
  • Fresh installs start with empty media/game folder lists, no photo folder, no saved gateway or accounts, and one generic Household profile. Choose your own folders; no household data, photos, ROMs, game saves or credentials are included.
  • Existing explicit movie/photo folders and a synthetic Unicode profile survived the tested old-public-to-new Linux upgrade. Remote account settings preservation is covered by backend checks.

Linux preview limitations

  • Headless Linux x86_64/glibc preview: no native desktop window or tray. ARM, musl/Alpine, macOS and Windows are not targets of this archive.
  • The package was tested with isolated Linux/synthetic data. Distribution certification, physical LAN/TV playback, GPU/4K quality and real systemd login/boot behavior remain unverified.
  • NetworkManager/nmcli and a physical Ethernet/Wi-Fi adapter with manual private IPv4 are required for LAN verification. Loopback operation remains available.
  • FFmpeg and FFprobe must be installed separately. Optional credentials need the user’s supported unlocked keyring; no plaintext fallback is provided.
  • Guarded library deletion and optimized-copy preparation are explicit actions. Deleting originals is irreversible; back up your library. TV deletion starts off.
  • The signed Linux updater requires a separate managed layout and unchanged service. This copy-only portable installer does not provision it; use manual verified upgrades. Existing update feeds are unchanged.
  • No gateway, public DNS, tunnel, router forwarding or TLS proxy is provisioned. Configure your own secure gateway before remote access; never expose the HTTP listeners directly.
  • Native Linux scripts and setup documentation use English. App UI has twelve offline languages; user media names and raw diagnostics are not automatically translated.
  • Existing installations outside this public release line need a deliberate manual portable migration; no automatic in-place upgrade is claimed. Android Media refresh is pending.

Build and modify it

This release includes MIT-licensed source code. Download its source and license above.

  1. Install the .NET 10 SDK and extract the source ZIP. Initial NuGet restore needs internet access.
  2. Run: dotnet publish JesterMedia.csproj -c Release -p:JesterMediaLinux=true -r linux-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:EnableCompressionInSingleFile=true -p:DebugType=None -p:DebugSymbols=false -o output/app
  3. Keep the Linux executable and wwwroot together. Read README.md and linux/README.md before testing, choosing a data directory, packaging launchers or distributing a fork.
  4. Do not run another server beside an existing household instance. Use a separate VM or isolated network namespace with synthetic data.

Windows setup guide

What you need

  • 64-bit Windows PC that stays on and awake; optional automatic startup begins after Windows sign-in.
  • The .NET 10 runtime is included. Obtain FFmpeg and FFprobe separately and make both available on PATH.
  • A manually configured fixed private IPv4 address is required before enabling LAN hosting on a fresh installation.
  • Use your own media folders and, optionally, your own TMDB credential for online artwork.

Install and start

  1. Fresh installs start with empty media/game folder lists, no photo folder, no saved gateway or accounts, and one generic Household profile. Choose your own folders; no household data, photos, ROMs, game saves or credentials are included.
  2. Twelve offline interface languages: English, Spanish, Japanese, German, French, Dutch, Polish, Brazilian Portuguese, Simplified Chinese, Traditional Chinese, Malay and Tamil. Go to Server settings → Appearance → Language → Apply language. Applying a language reloads the page, so save other edits first. User media titles, folder paths and profile names keep their original text.
  3. The Windows installer offers English, Spanish, Japanese, German, French, Dutch, Polish, Brazilian Portuguese and Tamil. Simplified Chinese, Traditional Chinese and Malay use English during native setup; all twelve languages are available in the app.
  4. To set up photos and games, select and save your own photo folder and NES, SNES or Genesis ROM folders in their Settings controls. Game emulation optionally downloads EmulatorJS from its public CDN; optional cover lookup contacts the Libretro thumbnail repository. No ROMs are supplied.
  5. Configure playback, profiles and artwork in Settings. LAN access, remote streaming, TV deletion and automatic updates start off.
  6. For home-network streaming, configure an unused static private IPv4 address using verified router/network values. JesterMedia checks it without changing networking. Enable LAN and restart when prompted.
  7. Remote access is optional and requires your own explicitly configured HTTPS gateway and account permissions. Legacy accounts without a saved gateway stay intact; the owner must supply their domain before remote access opens.
  8. Back up existing library data and stop playback before updating. This manual download does not promote or replace any installed-client update feed.

Uninstalling

  • Use Windows Installed apps to uninstall JesterMedia Server; its startup task is removed.
  • Personal media and per-user library settings are retained. Back them up and remove them separately only if you intend to.

What changed in 0.4.0

  • Current server features include NES/SNES/Genesis game libraries with browser emulation and per-profile saves, Photo Reel with three original procedural music tracks, remote account administration, seasonal channels, resource scheduling, diagnostics and backups.
  • Twelve offline interface languages: English, Spanish, Japanese, German, French, Dutch, Polish, Brazilian Portuguese, Simplified Chinese, Traditional Chinese, Malay and Tamil. Go to Server settings → Appearance → Language → Apply language. Applying a language reloads the page, so save other edits first. User media titles, folder paths and profile names keep their original text.
  • Japanese, Chinese and Tamil fonts are bundled with their open-font licenses; no translation service is needed.
  • Fresh installs start with empty media/game folder lists, no photo folder, no saved gateway or accounts, and one generic Household profile. Choose your own folders; no household data, photos, ROMs, game saves or credentials are included.
  • Existing explicit folders, gateway and account settings are retained. Linux now includes guarded media deletion and optimized-copy preparation; its separate preview limitations still apply.

Windows known limitations

  • The Windows installer is unsigned; Windows may show an unknown-publisher warning.
  • Installer extraction and a fresh EXE were tested in an isolated Wine environment. Native Windows installation/upgrade, tray, firewall and autostart behavior are not verified by Wine tests.
  • FFmpeg and FFprobe are separate prerequisites. GPU encoding, 4K/HDR performance and physical-TV playback depend on your files, network and hardware and remain unverified.
  • Native installer language and browser/app language are separate. Setup documentation and raw technical diagnostics may remain English.
  • Games require your own ROM folders. Optional emulation and cover artwork contact third-party services; no ROMs or BIOS files are provided.
  • Android Media refresh is pending; no new Android APK or twelve-language Android Media release is offered here. Roku and Samsung packages have separate versions and validation.
  • This manual server release leaves installed Windows/Linux/Android update channels unchanged. Existing private data must stay out of redistributed packages.

Build and modify it

This release includes MIT-licensed source code. Download its source and license above.

  1. Install the .NET 10 SDK selected by global.json (10.0.400 or a compatible stable feature band) on a Windows development PC and extract the source ZIP.
  2. Run: dotnet build JesterMedia.csproj -c Release
  3. Run: dotnet publish JesterMedia.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:DebugType=None -p:DebugSymbols=false -o release/my-server
  4. Keep the EXE and wwwroot together. Read README.md, GETTING-STARTED.md and RELEASE-NOTES.md before running a second copy or distributing a fork.
  5. To build the Windows installer, read README.md and installer/JesterMediaServer.iss. Use Inno Setup 6.7.3 with the nine listed native language files and the exact public payload allowlist. Private signing keys and deployment tools are not included.