Lightweight way to play internet videos on your TV or PC from your phone
git clone
Log | Files | Refs | README | LICENSE

DateCommit messageAuthorFiles+-
2021-07-04 19:17Update URL referenceRian Hunter1+1-1
2021-07-04 19:13Ignore failure if crontab doesn't exist for userRian Hunter1+1-1
2021-07-04 19:11Add nodejs to the installRian Hunter1+1-1
2021-06-29 01:51Cleanup direct calls we missed in 9a5e5830c31adea5c3411d6278f5ae79a2453e2eRian Hunter1+2-6
2021-06-28 21:12Fix quoting in crontabRian Hunter1+1-1
2021-06-28 21:10Fix installationRian Hunter1+1-1
2021-06-27 23:27Add more rate optionsRian Hunter1+1-1
2021-06-27 23:27Extend number of fractional digits in rate displayRian Hunter1+1-1
2021-06-27 23:22Add some parallelism to startup to speed things up over high latencyRian Hunter1+19-9
2021-06-27 22:59Reset player interface during failure when loading new URLRian Hunter1+11-3
2021-06-27 22:58Move error messageRian Hunter1+4-3
2021-06-27 22:50Handle concurrently seek dragging and receiving new position state similarly to volume draggingRian Hunter1+38-17
2021-06-27 22:49This workaround is not needed and it causes incorrect behavior with non-omxplayer playersRian Hunter1+0-8
2021-06-27 22:49Move handling of connection loss during method to method call, not connection creationRian Hunter1+22-21
2021-06-27 00:34Handle degenerate eventRian Hunter1+6-0
2021-06-27 00:02Restore previous volume slider functionality, use different method to handle changin volume via keyboardRian Hunter1+27-7
2021-06-27 00:01Fail all pending callbacksRian Hunter1+6-0
2021-06-26 23:28Add placeholder to video URL input boxRian Hunter1+1-1
2021-06-26 22:53Make sure current directory is the scriptpathRian Hunter1+2-0
2021-06-26 22:53Upgrade youtube-dl dailyRian Hunter1+3-0
2021-06-26 01:50Update dark mode colorsRian Hunter1+6-3
2021-06-26 01:45Add README and update information it referencesRian Hunter5+71-9
2021-06-26 01:43Add copyright noticesRian Hunter4+725-0
2021-06-26 01:43Add use strict to client side javascriptRian Hunter1+2-0
2021-06-26 01:38Fail if no 'player_command' was specifiedRian Hunter1+3-1
2021-06-25 03:48Improve installation scriptsRian Hunter4+16-3
2021-06-25 03:44Enable strict modeRian Hunter1+2-0
2021-06-25 03:44Fix bad referenceRian Hunter1+1-1
2021-06-25 03:41Remove server precompiling, it's not necessary at allRian Hunter2+3-11
2021-06-25 03:38Remove ES6 module syntaxRian Hunter1+5-5
2021-06-25 03:04Allow configuration of listen port/hostRian Hunter1+14-2
2021-06-25 03:04Remove stale methodRian Hunter1+0-9
2021-06-25 02:56The name is Light Media RemoteRian Hunter1+1-0
2021-06-25 02:48Add keyboard shortcutsRian Hunter1+51-0
2021-06-25 01:42We can return immediately after detecting pong failureRian Hunter1+1-0
2021-06-25 01:41No need to call cleanup_connection manually, it's done in close handlerRian Hunter1+0-1
2021-06-25 01:40Assert that bus object actually exists in global bus listRian Hunter1+6-2
2021-06-25 01:39Old versions of node do not have the 'spawn' event, rework code to deal without itRian Hunter1+64-60
2021-06-24 22:01Allow changing seek position from keyboardRian Hunter1+14-2
2021-06-24 22:00Reposition the speed displayRian Hunter1+3-5
2021-06-24 22:00Support dark modeRian Hunter1+23-0
2021-06-24 22:58Allow changing volume with keyboardRian Hunter1+2-2
2021-06-24 20:40Use same button for both play and pause buttons to keep focus when selectedRian Hunter2+13-7
2021-06-24 20:28Turn buttons into actual html buttons so they are tabbableRian Hunter1+20-19
2021-06-24 17:48Reset play button title after clearing valueRian Hunter1+1-0
2021-06-24 17:45Remove useless commentRian Hunter1+0-1
2021-06-24 17:45Show errors when player dies unexpectedlyRian Hunter2+140-14
2021-06-24 17:42Implement configurationRian Hunter2+61-3
2021-06-24 00:46Correctly ignore set_displaying() errorRian Hunter1+8-6
2021-06-24 00:46Gracefully handle cec-client not being availableRian Hunter1+70-65
2021-06-24 00:22Cleanup bus watcher bus object from _client_bus_list when it diesRian Hunter1+9-15
2021-06-24 00:18End bus connections in bus watcher when initialization or callbacks failRian Hunter1+37-22
2021-06-23 23:59Be more specific when matching 'AddMatch' methodRian Hunter1+2-2
2021-06-23 23:55Make each client connection responsible for tracking bus name used by clientsRian Hunter2+143-68
2021-06-23 23:52Remove unused variablesRian Hunter1+0-4
2021-06-23 23:44Wait for internal service to come up on start upRian Hunter2+107-38
2021-06-23 19:25Cleanup bus-name-related state even if directly receiving a new bus-nameRian Hunter1+22-13
2021-06-23 19:23Cleanup connection initiation error handlingRian Hunter1+80-106
2021-06-23 18:37Remove redundant error handlerRian Hunter1+1-19
2021-06-23 18:37delete stale commentRian Hunter1+0-3
2021-06-23 18:14Make sure internal interface is exporting before acquiring nameRian Hunter1+3-2
2021-06-23 18:12Factor out media player bus name management from internal serviceRian Hunter1+178-162
2021-06-23 03:07Update CEC and is_playing watcher to use independent buses.Rian Hunter1+156-171
2021-06-23 01:07No need to print this error since it is displayed to the userRian Hunter1+0-1
2021-06-23 01:07Reset displayed error after submitting new URLRian Hunter1+3-0
2021-06-23 01:07More information errorsRian Hunter1+2-2
2021-06-23 01:06Some media players return negative position when getting Position property immediately after seeking backward from originRian Hunter1+5-0
2021-06-23 01:03Fix a bunch of race conditions when starting new playerRian Hunter1+55-31
2021-06-23 01:00Remove matches from bus.matchlist on player disconnect to avoid memleakRian Hunter1+7-1
2021-06-23 00:57Use Seeked signal to detect seeks instead of PropertiesChangedRian Hunter2+36-2
2021-06-23 00:56Repeat certain operations on error when setting up websocketRian Hunter1+15-7
2021-06-23 00:55Internally emit generated signals to all clients (This was old behavior before c1130623a3bbd5e57865758e31cc2047633914bf)Rian Hunter1+14-12
2021-06-23 00:51Fix dbus_method error propagationRian Hunter2+16-2
2021-06-22 17:46Ignore errors getting processIDRian Hunter1+8-3
2021-06-22 17:43Use DBus to start media playerRian Hunter2+3-45
2021-06-22 03:49TypoRian Hunter1+1-1
2021-06-22 03:49Process changes to metadata from properties signalRian Hunter1+23-38
2021-06-22 03:48Better condition for updating timeRian Hunter1+3-1
2021-06-22 03:47Disable text-selecting UI formsRian Hunter1+6-0
2021-06-22 03:45Auto-detect bus name of media playerRian Hunter2+145-81
2021-06-21 23:57Implement internal service for starting video playerRian Hunter1+189-67
2021-06-21 20:54Factor client-side AddMatch functionality into normal methodRian Hunter2+83-146
2021-06-21 20:01Use websocket channel for dbus methodsRian Hunter2+92-112
2021-06-21 04:07Remove spammy log messageRian Hunter1+0-2
2021-06-21 04:07Remove stale commentRian Hunter1+0-2
2021-06-21 04:06Ignore failures to set volume, avoids infinite loopsRian Hunter1+1-1
2021-06-21 04:06Clear form after successful submitRian Hunter1+1-0
2021-06-21 04:05Signal to UI layer that player is stopped on disconnectRian Hunter1+1-0
2021-06-21 04:04Use correct trackid in SetPositionRian Hunter1+8-1
2021-06-21 04:03Duration is a non-standard property. Use mpris:trackid from the Metadata propertyRian Hunter1+23-1
2021-06-21 04:02Use variant values as arguments to org.freedesktop.DBus.Properties.SetRian Hunter2+12-3
2021-06-21 03:57Devariant values from serverRian Hunter2+62-25
2021-06-21 03:51Change interface of dbus_methodRian Hunter2+52-24
2021-03-09 05:39Parse out http/https links from freeform textRian Hunter1+21-0
2021-03-09 05:39readText() doesn't work with text/uri-listRian Hunter1+7-1
2021-03-09 05:39Typo: missing .valueRian Hunter1+1-1
2021-03-09 05:17format=best works for both casesRian Hunter1+1-7
2021-03-09 05:17Update youtube-dl daily using a cron instead of doing in the serverRian Hunter2+10-20
2021-03-09 05:11Do youtube-dl + start video in one API callRian Hunter2+31-16
2021-01-20 03:11Try youtube-dl without format option if format option failsRian Hunter1+15-7
2020-11-25 20:17Always start tv when playing starts, always pause player if not displayingRian Hunter1+20-7
2020-11-25 18:57Pause player if active source changesRian Hunter1+6-0
2020-11-25 18:53Turn off tv after 5 minutes if idleRian Hunter1+195-14
2020-11-25 05:20Remove pointless internal_signals objectRian Hunter1+1-9
2020-11-25 05:19Allow add/remove match to be called before hello has completedRian Hunter1+62-15
2020-11-25 01:19Unset implied width from input[type='text'] size attributeRian Hunter1+1-1
2020-11-24 21:07Make all path references relativeRian Hunter3+10-10
2020-11-24 20:57use same bus throughout /api/startRian Hunter1+5-5
2020-11-24 20:57Throw error on cancelRian Hunter1+1-1
2020-11-24 20:56Add 'paste & play' functionality to frontendRian Hunter1+29-3
2020-11-24 02:53Last parameter argument is supposed to be a callback, but we don't need oneRian Hunter1+1-1
2020-11-24 02:39Add hours to time displayRian Hunter1+5-0
2020-11-24 02:35Try updating youtube-dl on errorRian Hunter1+8-1
2020-11-24 02:18Add install scriptRian Hunter1+35-0
2020-11-24 02:18Remove usage of separate server retrieving video link from youtube-dlRian Hunter1+2-12
2020-11-24 02:15Another workaround for buggy omxplayer property retrieval on startupRian Hunter1+8-0
2020-11-24 02:15Make sure to cancel position_poll as wellRian Hunter1+6-0
2020-11-24 02:12Work around buggy property retrieval code in omxplayerRian Hunter1+9-3
2020-11-24 02:10Wait for previous omxplayer instance to give up omx service nameRian Hunter1+47-0
2020-11-24 02:05Update babel compilation commandRian Hunter1+1-1
2018-01-15 05:19Cancel last video load whenever play button is pressedRian Hunter1+8-0
2018-01-15 04:57Use pointer for UI buttonsRian Hunter1+3-0
2018-01-15 04:33Correct remove_match() call on unexpected disconnectRian Hunter1+2-2
2018-01-15 04:33Add CEC support for tighter integration with TVRian Hunter1+126-46
2018-01-04 03:51Avoid zooming on text input in iOSRian Hunter1+1-1
2018-01-04 03:11Set loading screen, and leave submit button alone on URL submitRian Hunter1+2-3
2018-01-04 03:10Use input instead of textarea for embedded submitRian Hunter1+1-1
2017-12-05 05:17Don't show loading screen if omxplayer is deadRian Hunter1+16-9
2017-11-26 19:14Increase wait timeRian Hunter1+1-1
2017-11-26 19:07Split up functionality of /api/start, using 3rd party youtube-dl resolverRian Hunter2+35-14
2017-11-26 03:20Rate limit setting volume in clientRian Hunter1+33-5
2017-11-26 03:19Round volumeRian Hunter1+1-1
2017-11-26 04:38Run commandRian Hunter1+8-0
2017-11-26 01:03Trim URL before sending to omxplayer.binRian Hunter1+7-1
2017-11-25 03:20forgot fontsRian Hunter5+42-0
2017-11-25 00:55Remove chatty logRian Hunter1+0-1
2017-11-25 00:40Remove anonymous authRian Hunter1+1-1
2017-11-25 00:34Clear error when UI is reloadedRian Hunter1+2-1
2017-11-25 00:31Cancel requery when omx service goes offlineRian Hunter1+1-0
2017-11-25 00:31Factor out cancel_requery()Rian Hunter1+8-3
2017-11-25 00:31Check if the OMX_SERVICE name has an owner before requeryingRian Hunter1+11-3
2017-11-25 00:30Factor code out into higher-order repeat_on_error() functionRian Hunter1+35-28
2017-11-25 00:28Change CSSRian Hunter1+1-1
2017-11-25 00:28Implement play buttonRian Hunter2+42-2
2017-11-25 00:26Add restrictions to watching signalsRian Hunter1+11-0
2017-11-25 00:26Handle case when bag.arg is not an arrayRian Hunter1+7-1
2017-11-25 00:26Send proper error message when failing to spawn youtube-dlRian Hunter1+8-1
2017-11-25 00:25Improve promise_spawn errorsRian Hunter1+6-1
2017-11-25 00:25Work around dbus-native bugsRian Hunter1+22-1
2017-11-25 00:24Change dbus_method APIRian Hunter2+47-15
2017-11-22 04:58Sleep for 1 second on errorsRian Hunter1+7-4
2017-11-22 04:55Wait 2 seconds before requery when mpris server comes upRian Hunter1+24-16
2017-11-22 04:35Remove stale TODORian Hunter1+0-2
2017-11-22 04:35Implement loading UIRian Hunter3+53-18
2017-11-22 03:57Remove useless parameterRian Hunter1+3-3
2017-11-22 03:57Do requery when mpris server changesRian Hunter1+18-0
2017-11-22 03:56Hardcode requerying logic into wait_for_change()Rian Hunter1+26-29
2017-11-22 03:55Change how matches are added on websocket connectionRian Hunter1+37-22
2017-11-22 03:46Give client ability to listen to any signalRian Hunter2+19-7
2017-11-22 03:42Fix external signal handlingRian Hunter1+2-3
2017-11-22 02:09initial commitRian Hunter3+1027-0