Commit Graph
100 Commits
Author SHA1 Message Date
Gabe Kangas 30c9bbe966 Size logo properly with the user image 2020-10-16 13:53:43 -07:00
Gabe Kangas f9039acadb Use SVG for default logos. Closes #261 2020-10-16 13:38:30 -07:00
Gabe Kangas 90ddf4f1b6 Remove yp section from config since we are not ready for it yet 2020-10-16 13:23:05 -07:00
Gabe Kangas 627f6ebbe3 Remove rogue file 2020-10-16 11:51:29 -07:00
Gabe Kangas 73ca2c2464 We use npx to run snowpack so it is not needed to install 2020-10-16 11:49:41 -07:00
Gabe Kangas 3ff993c2bc Stop logging every file that is uploaded 2020-10-16 10:08:23 -07:00
Gabe Kangas b9a80709ab Decrease the amount of time before the stream is made available to the player 2020-10-16 10:08:23 -07:00
Gabe Kangas eb0ee4dd8a Catch db error and show frienlier message. Closes #252 2020-10-15 17:57:32 -07:00
Gabe Kangas 8f740c4cb6 Cleanup private and optinally public segments on a timer instead of after every save. Closes #254 2020-10-15 17:50:17 -07:00
Gabe Kangas 2d71337146 Rename functions to be clearer that it is for offline cleanup 2020-10-15 16:17:33 -07:00
Gabe Kangas d403fd20f1 Do not auto-delete file on storage save. Add firing cleanup method 2020-10-14 17:32:02 -07:00
Gabe Kangas 2647b3fac8 Remove unused value 2020-10-14 17:00:35 -07:00
Gabe Kangas 5e45c53b87 Fix YP not being fired post-merges 2020-10-14 16:46:04 -07:00
Gabe Kangas 97fa8d70a7 Configure dependabot 2020-10-14 14:40:44 -07:00
Gabe Kangas fc988e1846 Setup dependabot for 3rd party go and javascript code 2020-10-14 14:10:38 -07:00
Gabe KangasandGitHub 6ea9affce0 HLS video handling/storage/state refactor (#151)
* WIP with new transcoder progress monitor

* A whole different WIP in progress monitoring via local PUTs

* Use an actual hls playlist parser to rewrite master playlist

* Cleanup

* Private vs public path for thumbnail generation

* Allow each storage provider to make decisions of how to store different types of files

* Simplify inbound file writes

* Revert

* Split out set stream as connected/disconnected state methods

* Update videojs

* Add comment about the hls handler

* Rework of the offline stream state.  For #85

* Delete old unreferenced video segment files from disk

* Cleanup all segments and revert to a completely offline state after 5min

* Stop thumbnail generation on stream stop. Copy logo to thumbnail on cleanup.

* Update transcoder test

* Add comment

* Return http 200 on success to transcoder. Tweak how files are written to disk

* Force pixel color format in transcoder

* Add debugging info for S3 transfers. Add default ACL.

* Fix cleanup timer

* Reset session stats when we cleanup the session.

* Put log file back

* Update test

* File should not be a part of this commit

* Add centralized shared performance timer for use anywhere

* Post-rebase cleanup

* Support returning nil from storage provider save

* Updates to reflect package changes + other updates in master

* Fix storage providers being overwritten

* Do not return pointer in save. Support cache headers with S3 providers

* Split out videojs + vhs and point to specific working versions of them

* Bump vjs and vhs versions

* Fix test

* Remove unused

* Update upload warning message

* No longer valid comment

* Pin videojs and vhs versions
2020-10-14 14:07:38 -07:00
Gabe KangasandGitHub 64a85e68aa Update extra page content API (#240)
* Mark change stream key api as pre-release

* Add API for changing extra page content. Renanme usercontent -> pagecontent. closes #236
2020-10-14 09:38:48 -07:00
Gabe KangasandGitHub d7c3991b59 Render and sanitize chat messages server-side. (#237)
* Render and sanitize chat messages server-side. Closes #235

* Render content.md server-side and return it in the client config

* Remove showdown from web project

* Update api spec

* Move example user content file
2020-10-13 16:45:52 -07:00
Gabe Kangas 9eab6d7553 Specify that these APIs are for v0.0.3 2020-10-12 10:52:12 -07:00
Gabe Kangas 962267106e Update demo links 2020-10-11 16:55:39 -07:00
Gabe Kangas 250dcf1d75 make logo fit size of user image avatar circle. closes #230 2020-10-08 21:15:46 -07:00
Gabe Kangas ce14e0d0a7 Remove additional viewer counts from status bar. Closes #155 2020-10-08 16:39:11 -07:00
Gabe Kangas 2aa9a86e3d Allow non-root paths for index.html when returning server-rendered metadata page. Closes #227 2020-10-08 16:34:40 -07:00
Gabe Kangas dfeba53f08 Reduce the amount of time between start of stream and when we show as online. Can bump this back up if needed. 2020-10-08 14:27:42 -07:00
Gabe Kangas 168ba9277e Do not use loopback as an example ip 2020-10-07 23:27:42 -07:00
Gabe Kangas aac7fa2476 Show YP configuration in the config API 2020-10-07 22:42:14 -07:00
Gabe Kangas 268085e41f I thought I already fixed this. Guess it got lost in a merge. 2020-10-07 20:53:01 -07:00
Gabe Kangas a7d9e2719a Do not try to split ip and port of x-forwarded-for addresses 2020-10-07 20:42:02 -07:00
Gabe Kangas bcf4cb09e7 Break rtmp read loop after disconnect 2020-10-07 19:59:55 -07:00
Gabe Kangas 06f8a01d5e Update our api definitions 2020-10-07 17:24:20 -07:00
Gabe Kangas 003648ed61 Update .gitignore 2020-10-07 00:28:43 -07:00
Gabe Kangas a5e2b4b934 Remove files 2020-10-07 00:27:41 -07:00
Gabe KangasandGitHub d7e355bce1 Connected clients admin API (#217)
* Add support for ending the inbound stream. Closes #191

* Add a simple success response to API requests

* Connected clients API with geo details

* Post-rebase cleanup

* Make setting and reading geo details separate operations to unblock and speed up

* Rename file

* Fire geoip api call behind goroutine

* Add comment

* Post-rebase fixes

* Add support for the MaxMind GeoLite2 GeoIP database
2020-10-06 23:14:33 -07:00
Gabe Kangas 0445274fbd Do not cache hls playlist files at all. Closes #229 2020-10-06 18:26:11 -07:00
Gabe KangasandGitHub 70c5a8b910 . -> · 2020-10-06 12:12:49 -07:00
Gabe Kangas d39003b88a Add 3rd party web dependency instructions 2020-10-06 10:51:37 -07:00
Gabe Kangas 06e5fe09f4 Fix leftover value when we would deal with cache duration in minutes instead of seconds 2020-10-06 09:17:41 -07:00
Gabe Kangas eb404fba34 Add attributes file 2020-10-05 23:16:11 -07:00
Gabe Kangas a3221aee19 Removing docs as submodule because that was an odd idea 2020-10-05 13:52:58 -07:00
Gabe Kangas dfc03bc027 Web modules were getting hit by .gitignore. Fixed 2020-10-05 08:43:38 -07:00
Gabe Kangas 5d530ca5a6 Missing showdown module import in app 2020-10-05 00:05:35 -07:00
Gabe KangasandGitHub 27a4c8c895 Move all remote dependencies to be local (#220)
* Experiment with javascript bundling

* Experiment with snowpack. Making progress

* Success!  Uses local js modules and assets and no cdns

* Missing local css
2020-10-04 18:43:31 -07:00
Gabe Kangas bb9c788306 Support CORS+Basic auth together 2020-10-03 23:06:48 -07:00
Gabe KangasandGitHub 922dfec77a Remove custom paths and add constants (#216) 2020-10-03 14:35:03 -07:00
Gabe KangasandGitHub e042c85f88 Hardware status admin api (#218)
* Add metrics for disk usage

* Add admin API for hardware metrics

* Fix error message alert
2020-10-02 12:18:08 -07:00
Gabe KangasandGitHub f4fdc6c951 Current broadcaster details admin api (#206)
* Add support for ending the inbound stream. Closes #191

* Add a simple success response to API requests

* Store inbound broadcast details for admin purposes

* Add /api/admin/broadcaster endpoint

* Reset broadcaster on disconnect

* Move controller to admin directory
2020-10-02 00:12:47 -07:00
Gabe KangasandGitHub 236f25b772 Viewer metrics api (#208)
* Add support for ending the inbound stream. Closes #191

* Add a simple success response to API requests

* Add viewers over time API

* Move controllers to admin directory
2020-10-02 00:06:14 -07:00
Gabe KangasandGitHub d8c43d2c56 Add server config admin endpoint (#207)
* Add support for ending the inbound stream. Closes #191

* Add a simple success response to API requests

* Add server config admin endpoint
2020-10-02 00:02:42 -07:00
Gabe KangasandGitHub 9b7784634b First pass at YP registration/configuration (#209)
* Spike: Ping YP service with instance details

* WIP: Add to the config to support YP

* Add YP response endpoint

* Handle YP errors. Use config. Off by default

* Show message about YP support on launch

* Add animated gif preview when generating thumb

* Increase quality of preview gif and only create it if YP is enabled

* Do not allow re-registration by clearing the key

* Make large and small logos actually structured

* Change log level

* Fix default YP service URL

* Point to default hostname

* Set default value for YP to false
2020-10-01 23:55:38 -07:00
Gabe Kangas 48c8cf5ed2 Admin API to change in-memory streaming key. Closes #212 2020-10-01 23:17:27 -07:00
Gabe KangasandGitHub 7b64fc7c30 Disconnect stream Admin API + HTTP Basic Auth (#204)
* Create http auth middleware

* Add support for ending the inbound stream. Closes #191

* Add a simple success response to API requests
2020-10-01 18:16:58 -07:00
Gabe Kangas f8068826ab Add script to build and bundle admin 2020-09-30 17:26:07 -07:00
Gabe KangasandGitHub 8aa5c33999 Update caching logic/headers (#184)
* Improve caching by adding etags and reducing the max-age

* Move caching into middleware. Set cache headers on segments
2020-09-30 14:14:39 -07:00
Gabe Kangas 6a0e8deae3 Use ISO date strings. Make random delays longer. 2020-09-28 21:39:56 -07:00
Gabe Kangas ef3796a033 Use default video variants if none supplied. Fixes #199 2020-09-27 20:12:45 -07:00
Gabe Kangas 1c74b8aeca Use config-example instead of config in Docker build 2020-09-27 16:36:52 -07:00
c9d6366b3b Create release docker image without shipping source and go toolchain. (#188)
* Create release docker image without shipping source and go toolchain.
Closes #185

* Explicitly add ca-certificates to image

* Combine apk run commands

* Update scripts/Dockerfile-build

Co-authored-by: Aaron Ogle <geekgonecrazy@users.noreply.github.com>

Co-authored-by: Aaron Ogle <geekgonecrazy@users.noreply.github.com>
2020-09-26 00:44:43 -07:00
Gabe Kangas ec9f8ba004 Stop using skypack CDN for emoji button and bump version. Address #141 2020-09-25 19:36:11 -07:00
Gabe Kangas 903a250526 Use the defaults to make the config file look simpler 2020-09-25 11:28:41 -07:00
Gabe Kangas 1a767fc2e8 Remove verbose logging from docker build 2020-09-25 11:08:53 -07:00
Gabe Kangas 63bb647990 Created a fake chat message generator script for testing 2020-09-24 23:52:54 -07:00
Gabe Kangas 519be9d3b4 Don't update viewer counts if a live stream session is not active. 2020-09-24 20:27:47 -07:00
Gabe Kangas fc45645280 Reset session stats when we cleanup the session. Closes #180 2020-09-24 19:38:24 -07:00
Gabe Kangas cb2794f68c Fix cleanup. ticker -> timer and stop reinstantiation 2020-09-23 21:35:27 -07:00
Gabe Kangas 0cb31644f4 Quiet, log. 2020-09-23 18:18:15 -07:00
Gabe Kangas 9b272d8d3c Make test script destination optional 2020-09-23 18:14:37 -07:00
Gabe Kangas 0ac9ea7f57 Add a test utility for timing the duration of things easily 2020-09-22 14:10:01 -07:00
Gabe Kangas 17ef8eed0d Use built-in aac codec for test script 2020-09-22 11:08:35 -07:00
Gabe Kangas 5af0afa2a0 Disable chat input when websocket disconnects. Closes #174 2020-09-22 01:22:49 -07:00
Gabe Kangas da120fd426 Update default config file 2020-09-22 01:12:56 -07:00
Gabe Kangas f2f5993e22 A shell script to point at a dir of video files to stream as test content on a loop 2020-09-21 18:31:06 -07:00
Gabe Kangas 7e2963ab1c Remove player progress bar. Closes #159 2020-09-21 14:28:12 -07:00
Gabe Kangas 2e6d61c7c2 Allow user colors to be more red 2020-09-21 14:14:55 -07:00
Gabe Kangas 38d93a549a Tweak user colors and add a little testing script for future experimenting. Closes #170 2020-09-21 13:56:07 -07:00
Gabe Kangas 257847fdf8 Fix chat visibility toggle 2020-09-20 19:27:26 -07:00
Gabe KangasandGitHub 0c5e788aa2 Preload preact, emoji. Defer some js. (#162) 2020-09-20 10:03:54 -07:00
Gabe Kangas 6903db8579 Re-create offline state after wiping HLS files. For #153 2020-09-17 10:31:41 -07:00
Gabe Kangas 80b2b9e668 Move API endpoints under an API url namespace. Closes #148 2020-09-14 16:15:53 -07:00
6a3f634ef5 Misc web updates (#147)
* Try and clarify max viewer count string

* Shrink title font size on small screens to fit username

* Hide stream info on small screens to buy some space

* Hide emoji button on small screens until we can fix it. For #140

* Make jumping to bottom be a part of the render pass to fix race condition. For #140

* Remove About in info view. We can add it back. Just playing with that since it was missing a space anyway

* address some own mr comments

Co-authored-by: Ginger Wong <omqmail@gmail.com>
2020-09-13 22:02:04 -07:00
Gabe Kangas 0dcd92e9cd Fix chat not coming back after server comes back. Closes #136 2020-09-12 18:46:30 -07:00
Gabe Kangas 4c497454b6 Give highlights a little padding 2020-09-12 18:01:53 -07:00
Gabe Kangas 7b11c65187 Fix missing live duration string. Closes #144 2020-09-10 20:57:51 -07:00
Gabe Kangas ce8fc019ec Fix websocket not reconnecting. For #136 2020-09-06 14:28:21 -07:00
Gabe Kangas 2019d4a647 Remove error logged when extra info does not exist 2020-09-01 19:15:20 -07:00
Gabe Kangas 2c1caa1238 Show chat by default. Closes #137 2020-09-01 19:10:46 -07:00
Gabe Kangas c9451cf13a Update video.js and vhs http-streaming. Closes #133 2020-09-01 11:42:27 -07:00
Gabe Kangas c741797472 Force Applebot to be seen as a scraping bot. Closes #134 2020-08-31 20:36:52 -07:00
Gabe Kangas 99521e6741 Redirect /embed/chat and /embed/video to the embedable pages. Closes #110 2020-08-30 16:32:09 -07:00
Gabe Kangas 351fbe8834 Set a short 1 day cache duration until we do something more complex. Closes #131 2020-08-30 16:07:20 -07:00
Gabe Kangas bb25207cd9 Fix doc submodule 2020-08-30 12:06:38 -07:00
Gabe Kangas b2ba9a2fcb Add the argument release to build script to actually release 2020-08-30 12:03:28 -07:00
Gabe Kangas aaeea2bb1d Pin emoji picker to a specific min'ed version 2020-08-30 11:57:27 -07:00
Gabe Kangas e232d2e3f3 Fix blocking 2020-08-27 08:50:27 -07:00
Gabe Kangas 3444724fdd Update url 2020-08-27 00:49:01 -07:00
Gabe KangasandGitHub 4c3da2704f Simple hardware metrics collection + alerting (#115)
* Add CPU and RAM usage alerting

* Create basic troubleshooting document to point alerts at

* Limit max number of hardware values collected

* Save metric value with the point in time it was taken
2020-08-27 00:37:32 -07:00
Gabe Kangas e791a3c1dc Fix security alert with test script 2020-08-26 23:20:38 -07:00
Gabe Kangas 903c475f9c Three -> Two. Never updated after IPFS removal 2020-08-23 13:16:13 -07:00
Gabe Kangas 2f9bcd0a11 Add owncast.online as a submodule for convenient browsing of documentation from repo 2020-08-23 12:43:48 -07:00
Gabe Kangas f864057df3 Update README to point to owncast.online documentation 2020-08-23 12:23:26 -07:00
Gabe Kangas 4632ba4247 Reorganize the favicons 2020-08-20 17:57:22 -07:00