Commit Graph

110 Commits (5b5d471b7f71059d6fb1164c9c4afe5b2545f936)

Author SHA1 Message Date
knotteye 74c90114c7 Bump Version
I still don't understand pre-release versioning.
2019-12-03 19:58:40 -06:00
knotteye f6da919b5e Merge branch 'develop' into 'master'
Develop -> Master

See merge request knotteye/satyr!5
2019-12-04 01:54:12 +00: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 31426a0c41 Fix a bug where we treated local clients the same as foreign ones 2019-11-30 14:15:31 -06:00
knotteye d4f92c33ff Update version to 0.4.4 2019-11-28 09:33:52 -06:00
knotteye daa2ec7a71 Refactor stream key handling
Instead of redirecting with FFMPEG, change client streamPath to the privateEndpoint/StreamKey
Hopefully this is silent, because if it isn't it's leaking the stream key to every client.
2019-11-27 22:18:55 -06:00
knotteye a521583e92 Change systemd service description 2019-11-27 22:07:20 -06:00
knotteye 0dbe84ba4e Merge branch 'develop' into 'master'
Develop

See merge request knotteye/satyr!4
2019-11-25 18:59:49 +00: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 f7d9c78d09 Move transcode config to mkdir callback 2019-11-25 09:36:50 -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 5f2cd91db2 Merge branch 'develop' into 'master'
Develop -> master

See merge request knotteye/satyr!3
2019-11-16 21:39:54 +00:00
knotteye 239cd252a2 Bump version to 0.4.2 2019-11-16 15:37:19 -06:00
knotteye 7db22a974d Fix hardcoding of ffmpeg binary 2019-11-16 15:35:30 -06:00
knotteye efc087c7a3 Fix systemd service to restart properly 2019-11-16 15:23:42 -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 25ea2081eb Merge branch 'develop' into 'master'
Develop -> Master

See merge request knotteye/satyr!2
2019-11-16 17:43:19 +00:00
knotteye ae016dd1b4 Bump version to 0.4.0 2019-11-16 11:39:29 -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 15eb76a30a Merge branch 'develop' into 'master'
develop->master

See merge request knotteye/satyr!1
2019-11-10 20:24:40 +00:00
knotteye f8b197502a 0.3.2 2019-11-10 14:21:01 -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 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 97b1132ef0 Fix typo on new stream key page 2019-11-09 17:22:32 -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 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 8cc8083361 Fix typo in usage instructions. 2019-10-22 17:54:57 -05:00
knotteye 7c0b753723 Add usage guide 2019-10-21 14:18:32 -05:00
knotteye 71c739322b Move readme because gitlab doesn't like it. 2019-10-20 16:40:19 -05:00
knotteye 8771411352 Add more detailed installation instructions
Add example systemd service
2019-10-20 16:30:23 -05:00
knotteye 7ca1e9023c Fix a typo in db setup script. 2019-10-20 16:10:35 -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 fad832fe38 Remove long winded installation guide
Add config guide
Minor changes to default config
2019-10-05 15:11:03 -05:00
knotteye cd8b9780d7 Bump package version. 2019-10-05 14:40:51 -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 eefa7c8dc7 Added videojs files and CSS. 2019-09-28 21:46:58 -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 d1cd2815e4 Fixed headers. Oops. 2019-09-24 18:42:13 -05:00
knotteye 5958f8c0ff Moved readme, started documentation. 2019-09-24 18:35:11 -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 2cd3f281c5 Fix typo in default config. 2019-09-23 14:33:46 -05:00