- BREAKING CHANGE from v0.9.35 and eariler: Move accounts into subfolder of SessionStore
- viewergen and viewer updates from @GraspYonOx
- new homepage theme inspired by @GraspYonOx
- connect setup also mostly by @GraspYonOx
- numerous bug fixes
- nntp-server-zefie is now on npmjs
- implement proper nodejs debugging
- will start to phase out using console.log for actual debugging
- existing "debug" (verbose) messages will stay as is
- future code debugging will use debug() to debug WIP, therefore not showing to most users if it is accidently left in
- numerous bug fixes
- wtv-mail system
- user account updates
- viewergen alpha (experimental webtv viewer patcher on pc_service)
- implement wtv-favorites with huge help from @JarHead4
- add wtv-ticket store api
- Bump vm2 from 3.9.5 to 3.9.7 in /zefie_wtvp_minisrv
- fix bf0app default rom
- Add wtv-1800 service to wtv-1800:/noflash
- handle webtvism:
- allow get/post variables to be the same name multiple times
- rather than overwrite, the server will now change the variable from a string to an array.
- Rewrite script processing a bit
- Instead of using eval() we now use a proper VM Context
- As a result, any scripting errors will now give a more useful filename and line number.
- However, some things may break, if they are dependant on variables we are not allowing in the context.
- BREAKING CHANGES:
- `ssid_sessions[socket.ssid]` is now `session_data`
- `require` is no longer allowed in user scripts
- add star service
- change how we handle modules for services in the VM
- fixed wtv-disk:/sync always failed the first time
- implement production-like wtv-star handling (when a service port becomes unavailable, it requests the url over the wtv-star port to show an error page)
- renamed WTVDownloadList.js to WTVDisk.js
- a bit more work on WTVNews (created class)
- probably more stuff I can't remember
- numerous bug fixes
- wtv-setup + bgmusic
- wtv-setup pages thanks to https://github.com/JarHead4
- wtv-backgroundmusic support
- keyboard and text size settings support
- removed small midi music demo in favor of backgroundmusic system
- numerous bug fixes
- add UTV tellyscripts
- BREAKING CHANGE: doErrorPage moved to wtvshared.doErrorPage
- but I fixed flashrom error handling..
- added a passthrough for old scripts
- added eMac's lzpf compression
- Bump vm2 from 3.9.3 to 3.9.5 in /zefie_wtvp_minisrv
- numerous bug fixes
- improve session retention
- use wtv-head-waiter:/relogin for boot url
- viewer seems to retain only wtv-* and wtv-head-waiter, so lets try to be closer to protocol and boot with a wtv-head-waiter address instead of wtv-1800
- we still handle via wtv-1800 but we accept wtv-head-waiter:/relogin and send the client on its way to the relogin path
- update wtv-home:/home
- remove spacing in favor of right alignment
- add compression status
- guest mode session store update
- allow calls to saveSessionData() but do not actually write if user is guest
- saveSessionData() returns true even if guest, because false is meant to define an error
- You can also use SaveIfRegistered(), this will return false on both saveSessionData() errors AND guest mode;
- if you want to block guests, check for isRegistered() and block the request if it is false
- otherwise this update will allow all tools (including any logins) to work with guest mode, but the stored SessionData will not be persistently saved, and lost when the cleanup timeout hits (default 3 min), or the server is restarted.
- more accurately mimic WTVP by accepting URLs without /
- use service-style cookie links on tricks
- add catchall system & http pc server
- define a catchall name to run globally or per service
- catchall must be javascript, but not necessarily a .js file
- catchall can request async mode
- catchall will catch any non-existing requests under its directory
- see wtv-flashrom:/content/content-serve.js as an example, which will catch wtv-flashrom:/content/ URLs.
- http pc: sends HTTP/1.0 to PC clients
- can be disabled with `pc_server_hidden_service_enabled`: false
- can change servicevault path by changing string of pc_server_hidden_service
- get.js in default PC service vault to get any WTV Url on the service
- flashrom system updates
- fix bugs
- more WNI-like flow path
- make scripts use `service_name` variable so that they should work in a renamed service (eg not wtv-flashrom, untested)
- rewrite wtv-disk system
- move wtv-update to wtv-disk
- allow accessing wtv-disk:/sync?group=&diskmap=
- rewrite Download List generation to be more proper
- only send files if diskmap has changed
- allow force redownload with &force=true
- wtv-cookie support
- further development will be in dev branch (may rebase alot)
- compression not yet ready, leave it disabled
- update: do not delete WTVSec on last socket, instead recreate on prereg
- update: clean up SSID session data only if client is not seen for 3 minutes
- update: add shouldWeCompress() function
- update: tweak lzpf (still corrupted)
- update: rename wtv-setup:/get to wtv-setup:/get-settings
- update: add additional headers to wtv-setup:/get-settings
- update: add initial blank wtv-music:/get-playlist
- update wtv-tricks system
- Info now shows Guest Mode or Subscriber Info
- Implemented wtv-tricks:/unregister
- Implemented wtv-tricks:/register
- Show correct link in wtv-tricks:/tricks based on Guest Mode status
- config.json: enable compression by default
- WTVP does not use \r, so swapping the internal header's usage for now. May remove internal header in future update
- lzpf: this doesn't fix anything but doesn't break it more either :)
- renamed some functions
- fixed some param documentation
- added ConvertToBuffer function
- WTVSec Updates
- optimize WordArray to Buffer functions
- update documentation in WTVSec
- update WTVSec barrowed function in WTVLzpf
- removed NewRC4Session, was a pointless alias to SecureOn
- update: config.json: add DoNotEncrypt flags to http and https
- update: app.js: add ability to override service flags when using getServiceString
- update: app.js: add ability to disable 'wtv-star' while keeping 'wtv-*'
- update: app.js: add internal header 'minisrv-use-carriage-return', set to 'false' to disable `\r` in headers
- implement bf0app flashrom functionality
- update: actually fix wtv-1800:/preregister and include tellyscripts
- update: app.js: add really long timeout for closing missed sockets
- update: app.js: fix for minibrowser connectivity
- update: app.js: enhance security
- update: wtv-home:/home: fix wtv-needs-upgrade -> wtv-need-upgrade
- update: wtv-head-waiter:/login-stage-two: do not send wtv-settings:/get to minibrowser
- update: wtv-1800:/preregister: Disconnect and clean up all previous sockets for the connecting SSID when hitting preregister. Also re-create wtvsec_login.
- update: add initial wtv-capability-flags decoding, as well as wtv-tricks:/info demonstration
- update: rename classes
- minor update: quirky 'Special Thanks' in each custom class.
- minor update: notice about Initial Shared Key and multiple minisrvs
- update: wtv-music:/demo/index: update wtv-star image paths
- update: app.js: fix unencrypted post
- update: app.js: improve buffering and cleanup in attempt to fix occasional 'double-up' bug
- update: info.js: remove debug dump of capabilities
- Update: add test.js, syntax-testing script for `npm test`
- Update: wtv-chat:/home experimental nick change page thanks to MattMan (chat still giving issues on real boxes, works in Viewer)
- Update: README.md: Add ways to support the project
- 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
- fix: throw proper error if wtv-update:/sync called without arguments
- feature: Support to route all HTTP proxied requests over a SOCKS proxy (eg Tor or VPN)
- feature: Psuedo-HTTPS (WebTV can now visit HTTPS URLs via proxy, but
we do not use SSL encryption when sending back to the WebTV)
- fix: header issue with login-stage-two.js
- fix: encrypted request headers were shown despite verbosity level
- update: wtv-update/sync: allow multiple groups in sync diskmap, fix md5 comparsion
- update: wtv-home:/home: added connection speed
- Renamed processSSID to filterSSID
- Documented and rewrote some functions
- fix: reported verbosity levels
- fix: In some cases SSID was not filtered
- fix: could not read service folders/files that had urlescape'd characters in them
- update: change config variable name, allow user override (user_config.json)
- update user-config example
- Clean up session info into a class
- FlashROM Support for LC2 and newer.
- FlashROM system can handle local files, or proxy from server (default). No need to have a local FlashROM collection!
- Added 'verbosity' configuration option
- Update HTML Mode to async fileRead
- Config option for sending tellyscripts or not
- Config option to mask SSIDs in console log
- Update wtv-home:/home and wtv-home:/zefie
- Update .gitignore
- Add wtv-music:/demo/index courtesy of MattMan69
- Update HTML Mode to async fileRead
- Update Raw TXT Mode to async fileRead
- Replaced .async.js feature with defining `request_is_async` in standard .js script
- Cleaned up code a bit
- Moved global var 'query' to 'request_headers.query'
- Tidied ServiceDeps
- Upgraded wtv-log:/log to async, now also logs query arguments, saves to .txt for easier reading.
- Rename project
- Add GPL3 License (RETROACTIVE)
- Fill out package.json
- Switch crc16 module to hopefully improve Windows end-user experience
- Update README
- http proxy support (with support for external proxies such as WebOne)
- fix: properly handle proxy dns error
- fix: proxy binary data
- begin initial work on wtv-flashrom (not yet ready)
- fix: typo in zefie.html
- add config.service_name variable for future use
- Sync servicevault files into vs project (nsjproj) file
- Async support
- Added RMF content-type
- Better file extension detection
- Clarify installation instructions
- Update README.md
- Remove encryption keys from wtv-home:/home
- Decode URI for support for files with urlencoded elements
- Fixed MSTV Sim compatiblity
- Fix a typo
- Add nobind feature to configure external services
- Add url accessor to wtv-home:/home for non-internal builds
- Add wtv-tricks:/access?url=
- Very initial HTTP Proxy work (won't work yet)
- fix challenge exchange and tickets
- full encrypted convo to splash
- proper encryption sessions to maintain working RC4 stream
- proper nodejs versioning, encryption working
- minor changes, included mini tutorial, version inc
- fix file loading issues
- update: config.json: add DoNotEncrypt flags to http and https
- update: app.js: add ability to override service flags when using getServiceString
- update: app.js: add ability to disable 'wtv-star' while keeping 'wtv-*'
- update: app.js: add internal header 'minisrv-use-carriage-return', set to 'false' to disable `\r` in headers
- implement bf0app flashrom functionality
- update: add initial wtv-capability-flags decoding, as well as wtv-tricks:/info demonstration
- update: rename classes
- minor update: quirky 'Special Thanks' in each custom class.
- minor update: notice about Initial Shared Key and multiple minisrvs
- update: wtv-music:/demo/index: update wtv-star image paths
- update: app.js: fix unencrypted post
- update: app.js: improve buffering and cleanup in attempt to fix occasional 'double-up' bug
- update: info.js: remove debug dump of capabilities
- Update: add test.js, syntax-testing script for `npm test`
- Update: wtv-chat:/home experimental nick change page thanks to MattMan (chat still giving issues on real boxes, works in Viewer)
- Update: README.md: Add ways to support the project
- 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
- fix: throw proper error if wtv-update:/sync called without arguments
- feature: Support to route all HTTP proxied requests over a SOCKS proxy (eg Tor or VPN)
- feature: Psuedo-HTTPS (WebTV can now visit HTTPS URLs via proxy, but
we do not use SSL encryption when sending back to the WebTV)
- fix: header issue with login-stage-two.js
- update: wtv-update/sync: allow multiple groups in sync diskmap, fix md5 comparsion
- update: wtv-home:/home: added connection speed
- Renamed processSSID to filterSSID
- Documented and rewrote some functions
- FlashROM Support for LC2 and newer.
- FlashROM system can handle local files, or proxy from server (default). No need to have a local FlashROM collection!
- Added 'verbosity' configuration option
- Update HTML Mode to async fileRead
- Config option for sending tellyscripts or not
- Config option to mask SSIDs in console log
- Update wtv-home:/home and wtv-home:/zefie
- Update .gitignore
- Add wtv-music:/demo/index courtesy of MattMan69
- Update HTML Mode to async fileRead
- Update Raw TXT Mode to async fileRead
- Replaced .async.js feature with defining `request_is_async` in standard .js script
- Cleaned up code a bit
- Moved global var 'query' to 'request_headers.query'
- Tidied ServiceDeps
- Upgraded wtv-log:/log to async, now also logs query arguments, saves to .txt for easier reading.
- Async support
- Added RMF content-type
- Better file extension detection
- Clarify installation instructions
- Update README.md
- Remove encryption keys from wtv-home:/home
- Decode URI for support for files with urlencoded elements
- Fixed MSTV Sim compatiblity
- Fix a typo
- Add nobind feature to configure external services
- Add url accessor to wtv-home:/home for non-internal builds
- Add wtv-tricks:/access?url=
- Very initial HTTP Proxy work (won't work yet)