5b6d06241adc0073087421766125baf3c9a36025
- feature: add SSID whitelist/blacklist as well as IP based SSID auth - Add user_config_README.md - Update user_config.example.json - Update README.md - update: wtv-1800:/finish-prereg: send tellyscript on relogin if tellyscripts are enabled, and wtv-script-id == 0 (no tellyscript) - Allow definition of custom ServiceVault paths - feature: app.js: add `bind_ip` option to specify an IP to bind to, instead of `0.0.0.0` - feature: custom service logos and better wtv-home:/splash
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
Languages
Logos
75.8%
JavaScript
19.8%
HTML
3.1%
C
0.5%
C++
0.4%
Other
0.2%