Coder Social home page Coder Social logo

wtvemac / zefie_wtvp_minisrv Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zefie/zefie_wtvp_minisrv

0.0 0.0 0.0 124.43 MB

This node.js project provides a mini WebTV Server, with encrypted WTVP (WebTV Protocol) support.

License: GNU General Public License v3.0

Shell 0.01% JavaScript 92.07% HTML 7.90% Dockerfile 0.02%

zefie_wtvp_minisrv's Introduction

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 beta status. Use at your own risk.

License: GPL v3

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
  • Supports multiple simultaneous users
  • WebTV-compatible HTTP(S) Proxy (via minisrv, or using an external proxy for enhanced features (such as WebOne)
  • WebTV cookie support (wtv-cookie) for HTTP(s)
  • Flashrom flashing support for all known units (including bf0app 'Old Classic')
  • Can flash anything on Ultra Willies 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
  • wtv-lzpf compression support by eMac (99.9%)
  • wtv-favorites support
  • wtv-news support (WIP)
  • wtv-mail (within same server only)
  • "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)
  • wtv-setup and bgm support Done v0.9.23
  • wtv-cookie full support Done v0.9.13
  • Flashrom flashing for bf0app old classic Done v0.9.9
  • SSID/IP black/whitelisting (including tying SSID to an IP or multiple IPs) Done v0.9.4
  • Flashrom flashing functionality (at least for LC2 and higher) Done v0.8.0
  • Implement HTTP proxy (needs to be able to defluff most of the web, think retro WAP converter) Done v0.7.1

How To Use:

  • Install node.js 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
  • 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_minisrv subdirectory
  • 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 and 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)
  • See ServiceVault.md for a brief introduction to how the service files work

How to Support the Project

zefie_wtvp_minisrv's People

Contributors

zefie avatar willbedeleted avatar graspyonox avatar dependabot[bot] avatar jarhead4 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.