ws4kp-linhanced is a Linux-focused fork of https://github.com/netbymatt/ws4kp. Weather Channel WeatherStar 4000 simulator https://mentalnet.xyz/ws4kp-linhanced-alpine/
Find a file
mrkmntal e4b7a335e8
Some checks are pending
build-docker / Build Image (push) Waiting to run
Add more Britain and New England cities for Regional Observations
2026-04-12 13:47:52 -04:00
.github update bug template 2025-11-04 05:49:10 +00:00
.vscode gulp now publishes sourcemaps 2025-11-30 04:16:02 +00:00
datagenerators Add more Britain and New England cities for Regional Observations 2026-04-12 13:47:52 -04:00
dist Updates for default folder 2025-03-24 18:24:49 -05:00
gulp Remove basic-ftp and other Amazon S3 deployment related build dependencies 2026-04-11 18:33:00 -04:00
proxy cache ArcGIS basemap tiles on disk for faster map loads 2026-04-07 22:11:03 -04:00
server Add much more cities to the Regional Observations map view 2026-04-12 13:38:41 -04:00
src Add 6.png image (storm outlook) support for the themes 2026-04-09 22:35:27 -04:00
tests update dependencies 2026-03-26 14:12:38 -05:00
themes Added two new themes: linhanced-retro and twc-linhanced 2026-04-11 20:15:59 -04:00
views Simplify the Travel Forecast screen 2026-04-11 13:18:39 -04:00
.dockerignore Updates for default folder 2025-03-24 18:24:49 -05:00
.gitattributes add mjs to git attributes 2023-09-19 08:21:00 -05:00
.gitignore Add on-disk cache for forecasts 2026-04-07 21:44:58 -04:00
.npmrc update eslint via compatability layer with airbnb-base 2025-06-14 11:35:33 -05:00
DEVLOG.md Add LWN News section 2026-04-06 18:50:03 -04:00
Dockerfile env workaround for static build 2025-06-13 14:51:06 -06:00
Dockerfile.server fix Dockerfile.server build close #142 2025-09-09 20:06:54 -05:00
eslint.config.mjs Add rule to allow devDependencies in dev-related config files 2025-07-07 12:51:09 -04:00
gulpfile.mjs Remove basic-ftp and other Amazon S3 deployment related build dependencies 2026-04-11 18:33:00 -04:00
index.mjs Start of themes development 2026-04-08 12:49:21 -04:00
LICENSE permalink coloring, readme additions close #88 2025-05-31 13:20:35 -05:00
nginx.conf fix: nginx query parameter redirect works like node.js 2025-10-20 11:42:42 -06:00
package-lock.json Remove basic-ftp and other Amazon S3 deployment related build dependencies 2026-04-11 18:33:00 -04:00
package.json Remove basic-ftp and other Amazon S3 deployment related build dependencies 2026-04-11 18:33:00 -04:00
README.md README update + make server observations code a bit more clear in allowed key conditions 2026-04-09 15:59:23 -04:00
static-env-handler.sh fix(static builds): duplicate query params 2025-10-20 13:28:45 -06:00
ws4kp.code-workspace add volume control slider and overhaul settings close #109 2025-11-10 12:54:54 -06:00

Weatherstar 4000+ Current Conditions

ws4kp-linhanced

ws4kp-linhanced is a Linux-focused fork of netbymatt/ws4kp by markmental.

It keeps the stronger, more stable foundation of the original ws4kp project while selectively incorporating international weather support and global map ideas from mwood77/ws4kp-international. The goal is not to become a kitchen-sink weather platform. The goal is a leaner, maintainable, Linux-oriented WeatherStar fork with a clear identity.

This fork also explicitly embraces Slackware Linux / weatherstar4k branding as part of its mission. Broad platform neutrality is not a design goal here.

What This Fork Is

ws4kp-linhanced is a retro weather display project that preserves the classic WeatherStar-style feel while updating the data sources and map stack for modern use.

This fork is built around a few priorities:

  • keep the classic WeatherStar presentation and pacing intact where practical
  • support international locations without dragging in unnecessary feature creep
  • prefer a stable, understandable codebase over maximum feature count
  • lean into Linux-oriented branding and integrations where they add character and usefulness

It is not intended to be a perfect hardware emulation of the original WeatherStar 4000. If you want a project aimed more directly at hardware-faithful behavior, see the WS4000 Simulator.

Why This Fork Exists

This fork exists because the original ws4kp codebase provided the best overall base to keep working from, but it remained too tightly tied to US-only weather sources. At the same time, ws4kp-international proved that Open-Meteo and global map support were viable, but it grew in directions that felt heavier and harder to maintain.

This fork sits in the middle on purpose:

  • more international than upstream ws4kp
  • leaner and narrower in scope than ws4kp-international
  • more explicitly Linux-focused than either

Fork Lineage

This project builds on the work of:

This fork intentionally diverges from ws4kp-international. It selectively adapts the parts that fit this project and leaves behind the parts that would make the codebase harder to keep stable.

Current Features

Major features currently in this fork:

  • Open-Meteo-based international weather for the core forecast screens
  • ArcGIS-powered international location search and reverse geocoding
  • global RainViewer radar on a cached world basemap
  • global Regional Observations on the newer map stack
  • Travel Forecast rebuilt around region buckets with a global fallback
  • live theme switching with auto-discovered theme folders
  • Server Observations powered by fastfetch
  • server-side caching proxy for Open-Meteo, RainViewer metadata, and ArcGIS basemap tiles
  • static-build path fixes for subdirectory deployment

Some NOAA-only products are still retained where they remain useful and there is no replacement yet:

  • Hazards
  • SPC Outlook

Themes

ws4kp-linhanced supports live asset theme swapping from the main page. Themes are discovered automatically from the themes/ directory and can be changed from the Theme selector under the More information link without reloading the page.

Current themes include:

  • Default: the standard WeatherStar 4000+ asset set
  • oceanview: based on the Oceanview Weather Channel presentation from the Eventide Media Center analog horror series
  • slackware: based on the Oceanview theme, but with the Slackware Linux badge/logo treatment

Current themed assets include:

  • logo-corner.png
  • 1.png
  • 1-chart.png
  • 2.png
  • 3.png
  • 4.png
  • 5.png

Additional themes can be added by creating a subdirectory under themes/ with matching override filenames.

Quick Start

Ensure you have Node installed.

git clone <your fork url here>
cd ws4kp-linhanced
npm install
npm start

Then open:

http://localhost:8080/

Running Modes

This fork supports two main runtime styles.

Server Mode

Recommended for normal use.

npm start

This mode includes:

  • Express server entry point
  • proxying and caching for weather/map requests
  • Fastfetch-backed Server Observations
  • better shared performance when multiple clients use the same instance

Static Mode

Useful if you want to serve the built files directly.

npm run build
STATIC=1 DIST=1 npm start

Or upload the generated dist/ directory to your web server after running:

npm run build

The static build has been adjusted so frontend-generated paths no longer assume deployment at /, which makes subdirectory hosting more practical.

International Support

Core forecast functionality works internationally.

That currently includes:

  • Current Conditions
  • Hourly Forecast
  • Hourly Graph
  • Local Forecast
  • Extended Forecast
  • Almanac
  • Travel Forecast
  • Local Radar
  • Regional Observations

Legacy NOAA-only screens still remain US-specific where applicable.

Settings And Customization

Important settings and customization features include:

  • playback speed
  • widescreen mode
  • kiosk mode
  • scan lines
  • US vs metric units
  • theme selection
  • custom bottom scroll text
  • display enable/disable checkboxes

Display selections, location, and major settings can be shared or bookmarked through the built-in permalink feature.

Kiosk Mode

Kiosk mode hides the surrounding controls and maximizes the display area for dedicated setups. It can be triggered from the UI or via permalink parameters.

Custom Scroll Text

The bottom text crawl can be customized using the built-in custom text setting.

Multiple messages can be separated with | to rotate randomly.

Example:

Welcome to Weatherstar|Thanks for watching

Custom Hook

A customization hook is available as:

server/scripts/custom.js

A sample file exists at:

server/scripts/custom.sample.js

Music

The original WeatherStar atmosphere depended heavily on background music. This repo includes a small set of WeatherStar-inspired tracks, while keeping the total size manageable.

If you want to use your own music, place .mp3 files in:

server/music/

The application will build or serve a playlist from those files depending on the runtime mode.

Build And Maintenance Notes

This fork tries to stay practical not only at runtime, but also in how it is maintained.

That includes:

  • keeping the codebase relatively small and understandable
  • avoiding unnecessary build complexity where possible
  • trimming or replacing dependencies when the benefit is low
  • addressing build-step vulnerabilities instead of ignoring them

Recent cleanup includes removing vulnerable build-only sourcemap tooling from the main build pipeline.

Motivation

Part of the motivation is simple nostalgia: old Weather Channel presentation still has a very distinct charm.

The other part is more practical. A Linux-friendly, self-hostable retro weather display is still a fun and useful thing to have around, especially when it stays light enough to keep hacking on without turning into an enormous platform project.

Acknowledgements

This project builds on earlier work from the WeatherStar community and related forks.

Credits and thanks go to:

  • Mike Battaglia for the original project lineage
  • netbymatt/ws4kp for the upstream base this fork was built from
  • mwood77/ws4kp-international for proving out the Open-Meteo international direction
  • TWCClassics for WeatherStar reference material, fonts, and icon resources
  • the broader WeatherStar community for reference material and ongoing experimentation

Disclaimer

This project should not be relied upon in life-threatening weather situations or as a mission-critical public weather information source.

Internet services fail, upstream data can be delayed, and browser-based applications are not a substitute for dedicated alerting systems.

The WeatherSTAR 4000 name and original technology belong to The Weather Channel. This project is a fan-made, non-commercial recreation and reinterpretation.