Commit Graph

49 Commits (a3341d8b7dd3d58aa553df90fa1c011a154bf6ea)

Author SHA1 Message Date
knotteye 69d81ec836 Switch to using MySQL instead of bans.db 2021-01-10 12:31:11 -06:00
knotteye 7156accbee Fix a bug where we weren't setting X-Auth-As on /api/register
Also fix new users appearing to not exist until they update their bio/profile
2021-01-10 11:26:52 -06:00
knotteye 2de486da46 Switch to shaka-player and initialize it on pageload.
Maybe todo: more testing and re-check if the stream has started after the page has already loaded
2020-10-18 09:23:28 -05:00
knotteye ab9a9b4585 Expose whether cluster mode is enabled over /api/instance/config 2020-10-17 22:08:56 -05:00
knotteye 95837beaf7 Make server side rendering fully configurable 2020-10-16 21:57:24 -05:00
knotteye 988e3473a7 Big commit. Implement handlers for everything that's currently rendered server side in the client-side frontend.
Add compiled templates file to .gitignore, will work out a system for making sure templates are compiled later.
Fix a couple bugs in the API and templates.

TODO for client-side rendering:
Make sure templates get compiled before running the server.
Add a config option to switch between server-side and client-side rendering
Fancy SPA stuff like intercepting links to render changes without a page-reload
2020-10-14 07:44:19 -05:00
knotteye 57d0b0f856 initial work on client-side templating 2020-10-14 00:03:45 -05:00
knotteye 1a410a597a Fix a bug checking the validity of invite codes 2020-10-13 16:29:13 -05:00
knotteye eba53c3732 Rework invitation UI a bit, document API changes 2020-10-13 16:16:37 -05:00
knotteye 67de11e66b Add API handling of invite codes, add web page for inviting users. 2020-10-13 16:12:07 -05:00
knotteye 93738d27bc Add sections in profile.njk for adjusting settings.
Everything tested and working apart from the actual streaming functionality.
2020-10-12 13:34:24 -05:00
knotteye 98927bd7b8 Add API functionality for twitch mirror. 2020-10-12 12:11:04 -05:00
Karen Konou 15824d25c0 Add live field to /api/users/all 2020-08-24 18:14:26 +02:00
knotteye 108d7ad0b7 Fix /api/instance/config 2020-08-23 14:41:48 +00:00
knotteye 654b65640f Change API to set content-type headers.
Rework some responses to make all responses in JSON.
Increment version because of major API changes.
2020-08-03 05:01:20 -05:00
knotteye c55ccb75aa Fix incorrect reporting of domain in the api 2020-08-01 01:46:56 +00:00
knotteye 09bf2a8ac1 Add paging and sorting to /api/users/live and /api/users/all calls 2020-07-30 02:49:02 -05:00
knotteye f7c7f05786 Implement an API call for getting the current stream key. 2020-07-30 01:34:22 -05:00
knotteye df51432a8f Fix /api/:user/config not returning all info for an authorized user. 2020-07-30 01:14:33 -05:00
knotteye db8d9dfe72 Add API function for getting a user's configuration. 2020-07-30 00:45:08 -05:00
knotteye bd40c30114 Add default value for a contact email
Add an api function to list a users vods
Document the existing REST API
2020-07-29 03:24:19 -05:00
knotteye b57e1d48e6 Fix bug where the profile page wouldn't set record flag. 2020-06-27 10:21:00 -05:00
knotteye 4628deec1c Add VOD management page and the ability to delete the user's own vods 2020-06-27 08:34:09 -05:00
knotteye 1ef736ca17 Working discord chat integration 2020-06-27 02:36:45 -05:00
knotteye 2beffa46fb Add updateChat function in api 2020-06-26 06:07:33 -05:00
knotteye 190e61557e Add templates for chat integration UI 2020-06-26 05:32:05 -05:00
knotteye a9f1875234 Add config template for chat integration and db schema
No other meaningfull changes (I think)
It's been 7 months since last commit god I hope I didn't break anything.
2020-06-26 04:07:37 -05:00
knotteye df8c803e25 Fix a bug with socket ids not being recorded or looped through properly 2019-12-21 16:58:40 -06:00
knotteye a0e89e9b60 Add proper kicking and banning for users with multiple accounts. 2019-12-21 16:16:50 -06:00
knotteye f7733b9507 Big Refactor
Stop using config and toml as dependencies
Stop passing around config variables through function calls
Add config.ts and pull the values you need directly in the files
Remove irc.js for incoming new IRC solution
Rename controller to index because that was stupid
Minor git bullshit with the config folder
Change to yaml as a config format
2019-12-21 08:59:35 -06:00
knotteye 681802dbaf Bugfix for room bans 2019-12-08 17:18:31 -06:00
knotteye 61deb1afa7 Minor improvements to socket.io chat, including banning and unbanning per room, and spam detection and server bans 2019-12-07 21:23:50 -06:00
knotteye 3f26790878 Remove extra FS import. 2019-12-05 16:19:07 -06:00
knotteye 76c63d3a94 Set sameSite on Authorization cookie
Enable toggleable HSTS
2019-12-05 16:08:50 -06:00
knotteye be38b873eb Add full support for multiple connections with one account in Socket.IO
Add LIST command
2019-12-05 14:16:07 -06:00
knotteye 5a52308503 Stop using dash.js, videojs supports it natively.
Modal messages also work again
Turn off watch in nunjucks config (oops)
Change some redirects based on logged in status.
2019-12-04 17:52:11 -06:00
knotteye 25cf8a37a2 Big Commit!
Seriously, this one is pretty massive. Satyr now has proper sessions in the browser (like a real website), and a lot of changes were made.

API Endpoints were changed from requiring a username and password to requiring a valid JsonWebToken, obtained from /api/login
Satyr will generate a PEM format key for JWT signing and verification on startup if it can't find one at config/jwt.pem
This file was added to .gitignore
Two new depencies: cookie-parser and jose, for reading and signing JWTs.

Refactored http.ts into mutiple functions, with a couple helper functions related to cookies and JWT decoding and verification. Socket.IO chat will also automatically log in users with a valid JWT.

Refactor api.ts to reflect new requirements from endpoints.

Minor bugfix in server.ts so we don't throw an uncaught exception when rejecting a stream with an invalid key.

Transcode options readded to default.toml. They do nothing and they are not sane defaults. Both of those things are in the todo list.
2019-12-03 19:51:14 -06:00
knotteye d9b3333f21 Clean up commented out code
Discard messages with only whitespace in socket.io
2019-11-25 12:55:55 -06:00
knotteye cf71e663de Handle temporary data from database better instead of modifying njkconf in place. 2019-11-25 11:38:12 -06:00
knotteye 4e19bdc2f5 Ignore empty messages in socket.io 2019-11-10 09:07:23 -06:00
knotteye 73e91783e3 Fix handling of usernames with capital letters in the web page.
Add updating and backup/restore instructions.
2019-11-10 08:27:00 -06:00
knotteye 297aeb3d4a Move SIGINT listener to connect function to avoid socket does not exist errors
Add conditional to disconnect peering
2019-11-05 17:48:12 -06:00
knotteye 9076b1817b Add contributors file
Add irc.js for peering with IRC
Change default to reflect that

Add basic peering.
Implemented:
register/unregister a user
messages
join/part

Not implemented/TODO:
Kill, kick, change nick

It is likely that the web chat will not have full feature parity with clients connecting directly to IRC.
2019-11-05 17:22:52 -06:00
knotteye 182b7e2f5f Add help page, change base links. Turn off watch in nunjucks config.
I do not know if that made it master, hopefully not.
2019-11-05 16:30:15 -06:00
knotteye eba441b624 Add working Socket.IO based chat
Bump version I guess.
2019-10-20 16:09:28 -05:00
knotteye 1afe462c0b Removed old IRC implementation
User accounts are now only for streamers, update CLI, API, and config to reflect that.
Fixed a bug with registration in api.ts
Made http port configurable
Added beginnings of socket.io chat server

Possibly more, I took a break in the middle of this commit.
2019-10-18 18:43:01 -05:00
knotteye fad832fe38 Remove long winded installation guide
Add config guide
Minor changes to default config
2019-10-05 15:11:03 -05:00
knotteye f9e4a7a5c6 I don't even know.
Filled out API for user management
Proper escaping of user input for SQL queries (stream keys aren't user input)
Filled out frontend with profile management, vods, etc.
I don't remember there's probably more, fuck.
2019-10-05 14:34:57 -05:00
knotteye b0533f973b Added some api functions, an express server for the API and nunjucks
Added nunjucks templates for frontend pages.
2019-09-28 21:44:55 -05:00