2a4997e84685d7ac1e7347180b9ef0515f1c25b1
- fix: app.js: Use \r\n, fix connections= service setting - update: config.json: fix some service flags that were misset - Add ServiceFlags.txt: brief description of wtv-service flags - update: Moved tellyscripts to wtv-1800:/preregister - update: fixed bug where "send_tellyscript was undefined" - update: initial work on bf0app flashrom support (incomplete) - add wtv-1800:/offer-open-isp-suggest for dreamcast clients - fix: wtv-tricks:/info was not updated to use new ClientSessionData structure - update: app.js: add special filtering for Dreamcast clients - update: change default service logos
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. This open source server is in alpha status. Use at your own risk.
Current status:
- Supports most known WebTV service encryption scenarios, for full trusted box access
- Can handle client "relogin" and "reconnect" events
- Suports
.jsservice files with synchronous or asynchronous requests - Supports multiple simultaneous users
- WebTV-compatible HTTP(S) Proxy (via minisrv, or using an external proxy for enhanced features (such as WebOne)
- wtv-flashrom for LC2 and newer boxes (bf0app unsupported, need test unit)
- Can flash anything on Ultra Willies with optional
use_zefie_serverflag set onwtv-flashromservice. - wtv-update:/sync for Download-o-Rama style file downloading
Current issues:
Occasionally, in certain circumstances, a specific SSID may be unable to reconnect to the server until the server is restartedHopefully fixed in v0.9.3- Mis-configuring wtv-update:/sync DiskMaps may cause units to delete contents of partitions (need more info)
Won't fix:
- wtv-encryption stream breaks when two different sessions have the same SSID (eg spoofing, won't fix (production did it too))
- No intentions to support user accounts, registration, or any form of database system
Feature Todo:
Implement HTTP proxy (needs to be able to defluff most of the web, think retro WAP converter)Done v0.7.1Flashrom flashing functionality (at least for LC2 and higher)Done v0.8.0SSID/IP black/whitelisting (including tying SSID to an IP or multiple IPs)Done v0.9.4- Flashrom flashing for bf0app old classic (need donor unit)
- wtv-lzpf support
- (maybe) wtvchat stuff
How To Use:
- Install node.js. Be sure to say
Yeswhen asked aboutChocolatey. - 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
- Enter
zefie_wtvp_minisrvsubdirectory - Verify you are in the same directory as
app.js, then runnpm install - Check any configuration. Create your override
user_config.json. Especallyservice_ip. See user_config_README.md and user_config.example.json for more information.- Note: The intended use is for all custom config to be in
user_config.jsonand any custom service files to go inUserServiceVault. If you do not care about potential issues with futuregit pull, and will manually add new upstreamconfig.jsonentries, you could use the standardServiceVaultandconfig.json
- Note: The intended use is for all custom config to be in
- Run
node app.js - 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)
- See ServiceVault.md for a brief introduction to how the service files work
How to Support the Project
- Report Bugs
- Add a Feature and send a Pull Request
- Write and submit better documentation than I created (see Pull Request above)
- Support financially on Patreon
Languages
Logos
75.8%
JavaScript
19.8%
HTML
3.1%
C
0.5%
C++
0.4%
Other
0.2%