dh1tw / remoteRotator

remoteRotator lets you expose a local antenna rotator (azimuth / elevation) to the network
MIT License
44 stars 5 forks source link

Add Authentication & preset buttons #2

Open ea4tx opened 6 years ago

ea4tx commented 6 years ago

Hi Tobi,

I'm using the remoteRotator since Dec/2017 and I'm really excited about it. It's running 100% so congrats for a great project! I use it with a Raaspberry Pi (Raspbian Stretch).

It could be very interesting to incluse some features to the remoteRotator proyect. Some of them are:

73's Pablo EA4TX

dh1tw commented 6 years ago

Hi Pablo!

thanks for the suggestions! Always welcome!

Let me try to answer them one by one.

Login menu I think when the web interface is exposed to the public internet, the more adequate way would be to put it behind a web server. My personal favourite one is Caddy, not only because it's written in Go ;-) but mainly due to its easiness of use. But any other webserver like lighttpd, nginx, .. etc can be used as a reverse web proxy. Apart of access control, a web server in front of remoteRotator can also provide TLS encryption, URL rewrites, etc.

I'm currently also adding an additional transport option which will be NATS.

Stop Button and Preset buttons I have mixed feelings about this request. I very much love minimalistic user interfaces and dislike UIs which are cluttered with buttons. I will have some thoughts if there is an elegant way to add presets and a stop, but I can't promise right now that I will add them ;-)

runahue commented 6 years ago

Hello Tobi and thank's for your great Software.

I have been trying to use Caddy like reverse proxy but when using it remoterotator web server doesn't find rotators. Using it directly (without reverse proxy) all is fine.

A lot of thank's

dh1tw commented 6 years ago

Hi @runahue,

I wrote a tutorial in the wiki on how to expose remoteRotator to the Internet using Caddy. I have to update remoteRotator and publish a new version in order to properly distinguish between an unsecure (ws://.....) and a secure websocket (wss://....) so that it works properly with TLS certificates.

While writing this tutorial, I found one caveat: Safari hasn't implemented basicAuth for Websockets - which sucks, big time for macOS / iOS users. This would require additional effort and some larger changes in the application. I have to think about this.