235 Commits

Author SHA1 Message Date
knotteye
1ef736ca17 Working discord chat integration 2020-06-27 02:36:45 -05:00
knotteye
c1debc9173 Add basic framework for chat integration code 2020-06-26 12:13:00 -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
717d63917c Fix typo in registration registration query 2020-06-26 04:52:48 -05:00
knotteye
4fb1126c9f (Theoretically) check for and refresh login tokens on page reload 2020-06-26 04:40:06 -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
e5dfa446a2 Merge branch 'develop' into 'master'
Develop -> Master

See merge request knotteye/satyr!7
2019-12-21 23:34:59 +00:00
knotteye
97d4678a0a Update documentation to match recent changes with config and chat 2019-12-21 17:23:00 -06: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
a0be256a64 Hopefully resolves issues with videojs occasionally not initializing the player 2019-12-07 10:51:26 -06:00
knotteye
8da1310e24 Add adaptive livestreaming config docs. 2019-12-05 18:37:26 -06:00
knotteye
4b1fc5c1fc Make adapative streaming full configurable 2019-12-05 18:27:29 -06:00
knotteye
24a7d3dfbf Merge branch 'develop' into 'master'
Develop -> Master

See merge request knotteye/satyr!6
0.5.3
2019-12-05 22:40:15 +00: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
8c17149f39 Fix throwing unhandled promise rejection if user doesn't exist in validatePasswordRedirect user to /profile on successful login 2019-12-05 15:03:27 -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
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
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
v0.4.0
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
v0.3.2
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