From b1b8cddbdaef08d33b3f833970a5bac272bf7fe3 Mon Sep 17 00:00:00 2001 From: zefie Date: Tue, 15 Jul 2025 13:52:50 -0400 Subject: [PATCH] update README --- README.md | 46 +++++++++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 6264f778..af67cf28 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,25 @@ # wtv minisrv node.js -The ***wtv minisrv***, or "***zefie_wtvp_minisrv***" project is a node.js project that provides a mini WebTV Server, aiming for full WTVP (WebTV Protocol) support. +The ***wtv minisrv***, or "***zefie_wtvp_minisrv***" project is a WebTV Server written in node.js. +The project aims to provides an easy-to-use WebTV Server, with full WTVP (WebTV Protocol) support. This open source server is in beta status. Use at your own risk. [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) ### Current status: -- Supports most known WebTV service encryption scenarios, for full trusted box access -- Can handle client "relogin" and "reconnect" events -- Suports `.js` service files with synchronous or asynchronous requests +- DB-less flat file client session store and registration system - Supports multiple simultaneous users +- Supports all known WebTV service encryption scenarios, for full trusted box access +- Supports nearly all WebTV clients (still some issues with early alpha builds) +- Suports `.js` service files with synchronous or asynchronous requests +- Supports `.cgi` and/or `.php` scripts via CGI system - WebTV-compatible HTTP(S) Proxy (via minisrv, or using an external proxy for enhanced features (such as [WebOne](https://github.com/atauenis/webone)) - WebTV cookie support (wtv-cookie) for HTTP(s) +- [ProtoWeb](https://protoweb.org/) Support via `proto://` - Flashrom flashing support for all known units (including bf0app 'Old Classic') - Can flash anything on [Ultra Willies](https://wtv.zefie.com/willie.php) with optional `use_zefie_server` flag set on `wtv-flashrom` service. - `wtv-disk:/sync` for Download-o-Rama style file downloading -- Custom Tellyscripts *(not yet customizable though)* -- Flat file client session store and registration system +- Custom Tellyscript Generation - wtv-lzpf compression support by eMac (99.9%) - wtv-favorites support - wtv-news support (WIP) @@ -24,14 +27,14 @@ This open source server is in beta status. Use at your own risk. - "PC Services" (node express with minisrv custom script processing) - "ViewerGen" Generate "WebTV Viewer" (Windows WebTV Sim) with unique SSIDs -### Current issues: -- Mis-configuring wtv-disk:/sync DiskMaps may cause units to delete contents of partitions (need more info) - ### Feature Todo: -- TellyScript generation and/or manipulation without external dependancies - Finish wtv-news, complete with upstream integration support (cross-minisrv usenet) - Finish wtv-guide -- Add wtv-author (Pagebuilder) +- Finish Scrapbook +- Polish account transfer system (#16) +- MAYBE: Create proper web-slimming proxy (WTVProxy.js?) +- ~~TellyScript generation and/or manipulation without external dependancies~~ ***Done [v0.9.60](https://github.com/zefie/zefie_wtvp_minisrv/releases/tag/v0.9.60)*** +- ~~Add wtv-author (Pagebuilder)~~ ***Done [v0.9.59](https://github.com/zefie/zefie_wtvp_minisrv/releases/tag/v0.9.59)*** - ~~wtv-setup and bgm support~~ ***Done [v0.9.23](https://github.com/zefie/zefie_wtvp_minisrv/releases/tag/v0.9.23)*** - ~~wtv-cookie full support~~ ***Done [v0.9.13](https://github.com/zefie/zefie_wtvp_minisrv/releases/tag/v0.9.13)*** - ~~Flashrom flashing for bf0app old classic~~ ***Done [v0.9.9](https://github.com/zefie/zefie_wtvp_minisrv/releases/tag/v0.9.9)*** @@ -42,18 +45,24 @@ This open source server is in beta status. Use at your own risk. ### How To Use: - Install [node.js](https://nodejs.org/en/download/) v16 or newer. If on Windows, be sure to say `Yes` when asked about `Chocolatey`. - Install git (if on Windows, install from [Git for Windows](https://gitforwindows.org/) -- Download a snapshot (either of master, or of any commit/branch/relase/tag etc) -- Extract zip somewhere and enter that directory with a command prompt +- Clone the repository - Enter `zefie_wtvp_minisrv` subdirectory +- Enter `zefie_wtvp_minisrv` subdirectory again (there are 2 after a git clone) - Verify you are in the same directory as `app.js`, then run `npm install` - Check any configuration. Create your override `user_config.json`. Especally `service_ip`. See [user_config_README.md](user_config_README.md) and [user_config.example.json](zefie_wtvp_minisrv/user_config.example.json) for more information. - **Note:** The intended use is for all custom config to be in `user_config.json` and any custom service files to go in `UserServiceVault`. If you do not care about potential issues with future `git pull`, and will manually add new upstream `config.json` entries, you could use the standard `ServiceVault` and `config.json` -- Run `npm start` (**note**: if you are using node version 17 or newer, and are getting errors, try `npm start17`) -- If you have trouble running it on Windows, try a Linux machine, Windows may need a full development enviroment or extra steps. -- Test with a WebTV Viewer or connect with a real box -- To connect with a real box, you will need to open ports in your firewall and have a way to connect your WebTV (and preferably reroute 10.0.0.1 to the server) +- Run `npm start` +- Test with a WebTV Viewer, MAME, or connect with a real box + +### Customization: - See [ServiceVault.md](ServiceVault.md) for a brief introduction to how the service files work +### Connection notes: +- To connect with a real box, you will need to open ports in your firewall and have a way to connect your WebTV (and preferably reroute 10.0.0.1 and 10.0.128.1 to the server) +- To connect with MAME you will need to set up [touchppp](https://github.com/wtvemac/touchppp) (I recommend an Alpine Linux VM). +- Most WebTV connection scenarios can handle a PPP session that doesn't require authentication. However flashing ROMs on the bf0app Old Classic REQUIRES the server accept PPP auth, and the auth must be valid. +- Configuring firewalls and real boxes is outside the scope of this guide, but there are plenty of enthusiasts on the [WebTV Discord](https://zef.pw/wtvdiscord) that will likely help you. + ### How to Support the Project - [Report Bugs](https://github.com/zefie/zefie_wtvp_minisrv/issues) - [Add a Feature and send a Pull Request](https://github.com/zefie/zefie_wtvp_minisrv/pulls) @@ -65,5 +74,4 @@ This open source server is in beta status. Use at your own risk. - One-Time Support: - [CashApp $altimit](https://cash.app/$altimit) - Chime: $zefie - - [Credit Card or PayPal (powered by StreamElements)](https://zef.pw/ttv-tip) - - [Sign up for a service via a referal link](https://zefie.tv/#ad) + - [Credit Card or PayPal (powered by StreamElements)](https://zef.pw/ttv-tip) \ No newline at end of file