Commit Graph

49 Commits (80cf01ef30ccef24264fe932ccea411041a89302)

Author SHA1 Message Date
knotteye 80cf01ef30 Add unique ports per worker so that ffmpeg can reliably record. 2020-10-17 01:53:33 -05:00
knotteye 4ec89d71f8 Bump major version. There were some breaking changes in there somewhere 2020-10-14 07:51:26 -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 acce235812 Increment minor version due to backwards compatible API changes 2020-10-13 16:17:15 -05:00
knotteye 9605ff8c92 Add a way to generate invites from the command line. Add database migration script. 2020-10-13 15:48:39 -05:00
knotteye 987d837ee6 Update some dependency versions. 2020-10-13 15:07:30 -05:00
knotteye 7b25a7bc97 Increment minor version 2020-10-10 16:14:53 -05:00
knotteye ee3527f292 Implement database versioning and migration. It could not possibly be any simpler or easier to break, but it works. And it can be used to automatically migrate to a better system for migration later.
For now, the way it works is by creating a new migration script with the name of the version (increment by one, whole numbers) in the src/db folder
On start up, it will compare version numbers and run new scripts. The user can also manually check for migrations and skip the automatic checking.
Added a bit of additional logging to see what's happening in the startup process as well.
2020-10-10 15:55:32 -05:00
knotteye 027b9e746a Increment minor version 2020-08-09 00:00:29 -05:00
knotteye 4959391034 Increment minor version
Remove debug code
2020-08-08 23:37:10 -05: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 eac5eaa035 Bump version.
Add documentation for webchat.
2020-07-30 04:13:07 -05:00
knotteye abd45c8346 Only join channels not already joined with twitchClient and ircClient
Leave channels we don't need anymore as well.
2020-07-04 09:53:12 -05:00
knotteye ec57e23e9c Increment package version 2020-07-04 03:14:46 -05:00
knotteye 6073781457 Forgot to include twitch chat dependency 2020-06-27 23:45:47 -05:00
knotteye fc924816df Increment version. 2020-06-27 22:46:34 -05:00
knotteye 0b4a7d6321 Increment version 2020-06-27 07:41:38 -05:00
knotteye 19536d8b84 Add working twitch chat relay 2020-06-27 05:25:40 -05:00
knotteye 1ef736ca17 Working discord chat integration 2020-06-27 02:36:45 -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 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 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 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 661d953919 Fix a bug with user pages displaying incorrectly in chrome 2019-12-04 18:48:02 -06:00
knotteye 11eee2ab89 Bump version to 0.5.1 2019-12-04 17:52:49 -06:00
knotteye 74c90114c7 Bump Version
I still don't understand pre-release versioning.
2019-12-03 19:58:40 -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 d4f92c33ff Update version to 0.4.4 2019-11-28 09:33:52 -06:00
knotteye 7db878be8c 0.4.3 2019-11-24 20:26:45 -06:00
knotteye 1f3504f698 Fix a bug where streams would crash upon FFMPEG exceeding maximum child_process buffer
Change scripts to automatically build before serving
Move typescript to dependencies
Check if the stream is ready to transcode to MPEG-DASH programmatically instead of waiting for 5 seconds
Use session.isLocal instead of matching session.ip against some strings
(session.isLocal does that internally but at least this way looks prettier)
2019-11-24 20:25:19 -06:00
knotteye 239cd252a2 Bump version to 0.4.2 2019-11-16 15:37:19 -06:00
knotteye 1895992326 Bump version to 0.4.1 2019-11-16 14:45:09 -06:00
knotteye 93abcb0538 Move from exec to execFile to avoid any potential security issues. 2019-11-16 14:42:26 -06:00
knotteye ae016dd1b4 Bump version to 0.4.0 2019-11-16 11:39:29 -06:00
knotteye f8b197502a 0.3.2 2019-11-10 14:21:01 -06:00
knotteye 61bf54de95 Add cleanup script to fix any problems arising from restarting the server mid-stream.
This may cause further problems if the user manages to reconnect before the cleanup script has finished, but the server *shouldn't* start listening until after the script is done.
Increment version I guess, I don't really know how versioning works.
2019-10-22 18:26:00 -05: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 cd8b9780d7 Bump package version. 2019-10-05 14:40:51 -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
knotteye 085dd02148 Changed init functions to be more consistent.
Added setup script and templates for config and database setup.
Fixed typo in tsconfig.
2019-09-26 14:43:24 -05:00
knotteye 68f9866c16 Added cli for user management, abstracted some database queries into handler functions. 2019-09-24 17:29:37 -05:00
knotteye abcd6787ca Worked out bugs in config and checking if localhost
Added comments to server.ts to improve readability
2019-09-23 15:59:07 -05:00
knotteye 27eafbd71d Added runtime config. 2019-09-23 14:27:01 -05:00
knotteye fcff93c533 Removed executable, added 'npm start' script. 2019-09-22 17:12:49 -05:00
knotteye 935b850bcd Hooked up server.ts to database, it now validates, redirects, and records based on database queries.
Added setup script for database.
Added database.ts to create and manage a pool of connections. Possibly abstracting query logic in the future.
Updated controller to instantiate database.ts.
2019-09-22 16:33:18 -05:00
knotteye 4309da7c39 Added setup script for inspIRCd
Added bot script for registering and unregistering permanent channels
TODO: inspircd config template
2019-09-18 16:46:25 -05:00
knotteye 61d0e0bd0e Add package.json and LICENSE, name the project. 2019-09-15 12:23:09 -05:00