Commit Graph

13 Commits (8a71680971132c09b6d9968e20c88d14254be17f)

Author SHA1 Message Date
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 76c63d3a94 Set sameSite on Authorization cookie
Enable toggleable HSTS
2019-12-05 16:08:50 -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 7983b60f8d Switch from transcode server in node-media-server to spawning ffmpeg processes
Change config to reflect that
ffmpeg processes cleanup after themselves even on SIGINT now, cleanup.ts only cleans the database now
Adaptive livestreaming!
2019-11-16 11:38:28 -06:00
knotteye f5f9d1f8e6 Play MPEG-DASH by default.
Add dash.js and videojs-dash files
2019-11-10 10:29:15 -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 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 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 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 2cd3f281c5 Fix typo in default config. 2019-09-23 14:33:46 -05:00
knotteye 27eafbd71d Added runtime config. 2019-09-23 14:27:01 -05:00