Skip to content

wolfgangasdf/WebRemoteControl

Repository files navigation

WebRemoteControl

Remote control the mouse and keyboard of a Mac/Windows/Linux computer from a html page, e.g. from a smartphone or a tablet. Adapted from https://github.com/simquat/LocalTrackpad.

The views (dropdown menu or swipe top part left/right):

  • Mouse/trackpad control, cursor, generic keys (e.g. for youtube, netflix), send text.
  • VLC control buttons.
  • A filebrowser to open movies/files.
  • If a jpg file is opened, all jpg's in the current folder are shown in VLC as image viewer
  • A history of recently opened movies/files.

How to run

Note that there is no access control, everybody on the (local) network has access to webremotecontrol!

  • On the server:
    • Install VLC and make sure movies are automatically opened with it.
    • Download a zip, extract it somewhere and run (in screen/tmux) bin/webremotecontrol.bat (Windows) or bin/webremotecontrol (Mac/Linux). It is not signed, google for "open unsigned mac/win".
    • Click on one of the buttons to show a QR code that contains the server URL and scan this with the client.
  • Client: Adding an icon to your homescreen should make a web app.

Config file

The config file webremotecontrol.txt is automatically generated in the current folder. Example content:

httpserverport=9000
urls=npo,https\://www.npo.nl/mijn_npo\#history;netflix,http\://netflix.com;youtube,http\://youtube.com;southpark,http\://southpark.cc.com/full-episodes/random
vlc=/Applications/VLC.app or vlc=C\:\\Program Files\\VideoLAN\\VLC\\vlc.exe
keyclickdelay=10
  • The vlc setting pointing to the VLC program is only needed to open VIDEO_TS DVD folders.
  • The keyclickdelay setting is the delay between key press and its release in milliseconds. Warning long delays can make your computer input more than one character per key press.

How to develop, compile & package

  • Get Java from https://jdk.java.net
  • Clone the repository
  • I use the free community version of IntelliJ IDEA, just open the project to get started.
  • Compile and run manually: ./gradlew run.
  • Package: ./gradlew clean dist. The builds are in build/libs.

Used technologies