Commit Graph

49 Commits

Author SHA1 Message Date
zefie
37f1ab67ad BREAKING CHANGES: (for SeCuRiTy):
By default:
- `ssid_sessions[socket.ssid]` is now `session_data`
- `require` is no longer allowed in user scripts

To access global `socket_sessions` and `ssid_sessions`, as well as `require` additional modules, you must set `privileged: true` for the specific service. See `config.json`.
2022-10-09 13:26:14 -04:00
zefie
7bf2d2e6fa implement wtv-favorites with huge help from @JarHead4 2022-10-08 17:37:36 -04:00
zefie
d529e50ad4 change mail notification on choose user screen 2022-10-08 12:43:15 -04:00
zefie
14d25e15a6 initial messenger support 2022-10-07 23:33:18 -04:00
zefie
2e399e4439 fix guest login mode 2022-10-04 16:17:07 -04:00
zefie
08c47586a7 generate subscriber_smtp_password on login-stage-two (for future use) 2022-09-24 23:32:05 -04:00
zefie
811faa270a Fix login password page was locked to 10 characters instead of max_length config value 2022-04-20 14:13:00 -04:00
zefie
d70cb5bf36 mostly fix bad-disk detection
- may still get bad-disk screen once after fixing disk
- may only be an issue if the user reconnects before the cleanup
2022-03-17 19:24:06 -04:00
zefie
8acb801ef0 add wtv-mail-url header to login 2022-03-09 17:38:16 -05:00
zefie
aa2fbfbbb3 tweat adding users 2022-03-09 17:38:14 -05:00
zefie
0a00e34537 fix login, probably break 5 other things 2022-03-09 17:38:14 -05:00
zefie
2a526c0702 initial attempt to fix security issue
- likely adds new bug where users will be kicked to relogin after the
  server restarts
- TODO: figure out a way to safely check the user login when session
  data is unknown (eg restart) (hint: ticket?)
2022-03-09 17:38:14 -05:00
zefie
c295f81ccc fix hangup button on user select page 2022-03-09 17:38:14 -05:00
zefie
f32c4b1926 fix DealerDemo and other stuff 2022-03-09 17:38:13 -05:00
zefie
445e28c91a implement internal shared ROMCache
- make most ROMCache URLS relative
- create wtvshared.htmlEntitize function
- update wtv-mail:/readmail to use wtvshared.htmlEntitize
2022-03-09 17:38:12 -05:00
zefie
955f21039c even more fixes 2022-03-09 17:38:08 -05:00
zefie
4d8bc314b4 more fixes 2022-03-09 17:38:07 -05:00
zefie
bf7369431e add wtv-ticket store api
- fix broken session bust crap from before
- properly resume session as user when server restarted
- api available to store other things in the wtv-ticket
2022-03-09 17:38:07 -05:00
zefie
433fc3db19 more patches to previous updates
- fixed getUnreadMailCount
- added unread mail count to login screen
- added session busted detection (new bug that when you restart minisrv it loses the user_id, so we send the client to relog) (todo: maybe add api to add key/value to ticket so we can retain data over server restarts)
2022-03-09 17:38:06 -05:00
zefie
2b345b7349 cosmetic fix to choose-user screen 2022-03-09 17:38:05 -05:00
zefie
0d991d5eac user account updates
- move user accounts to subdir
- add password support
- implemented basics of multi-user support
- Can add users, edit them, and log in with them (password or not)
- Cannot delete users (with service) yet
2022-03-09 17:37:57 -05:00
zefie
622698ee66 attempt to fix: bad disk units are perpetually banned 2022-02-06 11:34:55 -05:00
zefie
3da57455eb re-write security system to be more like WNI
- can get telly and reach stage-two
- narrow whitelist of allowed URLS in WTVClientSessionData constructor
- enough to show wtv-1800:/unauthorized with trust priv
- Times out lockeddown users really fast ;)
- untested disk error page
2021-11-12 15:35:40 -05:00
zefie
fdd2f16f3b breaking change: doErrorPage moved to wtvshared.doErrorPage
- but I fixed flashrom error handling..
- added a passthrough for old scripts
2021-08-16 08:12:27 -04:00
zefie
1967c076a9 add protection against requesting direct service files 2021-08-15 18:51:48 -04:00
zefie
e6f4ce76ca fix reconnecting to server (after client:hangup) 2021-08-12 01:23:59 -04:00
zefie
3d693e176f fix typo 2021-08-11 22:09:57 -04:00
zefie
265a96689a re-add wtv-name-server 2021-08-11 11:03:08 -04:00
zefie
95442a12af lots more stuff
- proper gzip download for disk system (aka WNI reinventing the Content-Encoding: gzip wheel)
- send Last-Modified for static files
- send wtv-checksum for all disk system downloads
- other fixes
2021-08-11 01:11:09 -04:00
zefie
e9c883d85a too much to remember
- rewrote sync system yet again
- more classes
    - WTVShared class for shared functions
    - clientShowAlert class for easy client:showalert urls
- User File Store
    - Can upload with PUT commands in wtv-disk
    - Programmically access files with new functions in WTVClientSessionData
    - TODO: file browser
- other stuff I can't remember
2021-08-10 18:30:59 -04:00
zefie
7a09c5f3b1 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
2021-08-08 20:06:03 -04:00
zefie
04b5b7f578 fix possible loss of trust chain 2021-08-08 18:47:50 -04:00
zefie
be28f6a2be guest mode: only skip splash on first transistion 2021-08-08 13:16:37 -04:00
zefie
c539d408c9 implement config option to disable guest mode 2021-08-07 21:10:44 -04:00
zefie
d5fa489b9c some more fixes to the registration/login system 2021-08-07 19:41:33 -04:00
zefie
95d069582b fix guest login feature 2021-08-07 19:03:07 -04:00
zefie
f15f377f8e v0.9.12 - WILL REBASE - BE WARNED
- convert post_data to query if valid query data
- wtv-register system
- Store Session data as JSON flat file
- wtv-cookie support
- spent way too much time on a page no one will read
- move filterSSID to WTVClientSessionData
- disable compression until fixed
- do not delete WTVSec on last socket, instead recreate on prereg
- set 'wtv-bypass-proxy' to false
- rework header whitelist system for HTTP(s) proxy
- clean up SSID session data only if client is not seen for 3 minutes
- add shouldWeCompress() function
- add additional headers to wtv-setup:/get
- add initial blank wtv-music:/get-playlist
2021-08-07 17:00:26 -04:00
zefie
a82f00265c update: login system: do not send tellyscript nor login headers to reconnecting (eg client:redial) client 2021-08-04 21:33:32 -04:00
zefie
012c0114e1 update: add 'setIRCNick()' function to WTVClientSessionData for ease of use
update: add primative getMaxUsernameLength() to overcome username limitation in older builds
update: wtv-chat:/home template
2021-07-26 07:15:21 -04:00
zefie
89f1b896e1 - 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.
2021-07-24 12:34:56 -04:00
zefie
d2a6ea0097 fix: wtv-log:/log
add: wtv-chat
add: wtv-setup
2021-07-23 09:38:47 -04:00
zefie
88784e253c fix: wtv-head-waiter:/login-stage-two: usernames longerfix: build 3833 crashes when wtv-user-name is too long 2021-07-23 07:31:33 -04:00
zefie
fd9b08fec4 Revert "update: wtv-head-waiter:/login-stage-two: offer prompt to minibrowser to go to home or willie"
This reverts commit ba280335c6.
2021-07-22 06:34:26 -04:00
zefie
ba280335c6 update: wtv-head-waiter:/login-stage-two: offer prompt to minibrowser to go to home or willie 2021-07-22 04:50:33 -04:00
zefie
cf00851798 v0.9.4
- 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
2021-07-22 04:25:48 -04:00
zefie
8bc4d29815 v0.9.1
- 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
2021-07-20 20:57:41 -04:00
zefie
248354e5a1 Clean up session info into a class 2021-07-19 05:57:34 -04:00
zefie
a6f8674a0a v0.8.0
- 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.
2021-07-18 08:05:26 -04:00
zefie
bd1ef1415c v0.7.2
- Rename project
- Add GPL3 License (RETROACTIVE)
- Fill out package.json
- Switch crc16 module to hopefully improve Windows end-user experience
- Update README
2021-07-17 18:50:20 -04:00