Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Plugin] controlrd

Featured Replies

  • Author
On 6/27/2017 at 10:28 PM, ljm42 said:

I'd still prefer it if it just used unRAID's certs

 

I'd like to integrate the plugin UI as reverse proxy in the nginx conf.

 

But still need to look into unRAID's nginx implementation to find out if that's feasible.

  • Replies 859
  • Views 152.3k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Every plugin,  no exceptions, are checked for security issues.  This doesn't mean that there isn't going to be security flaws caused by libraries utilized, but you do know that any random plugin is no

  • jbrodriguez
    jbrodriguez

    IMPORTANT NOTICE   if you're receiving the following error for the controlr plugin please uninstall the plugin / then reinstall i had to change the location of the plg file a

  • XMGProjects
    XMGProjects

    I've managed to get the mobile app working by manual adding the server. Protocol: https Port: 443 Hostname: IP.HASH.myunraid.net Username: Your username Password: Your passwor

Posted Images

Output

Quote

root@Tower:~# cd /usr/local/emhttp/plugins/controlr
root@Tower:/usr/local/emhttp/plugins/controlr# killall controlr
root@Tower:/usr/local/emhttp/plugins/controlr# ./controlr
I: 2017/07/05 19:56:31 app.go:57: controlr v2.1.0-210.4973aa6 starting ...
I: 2017/07/05 19:56:31 app.go:65: No config file specified. Using app defaults ...
I: 2017/07/05 19:56:31 app.go:74: Connections to emhttp via https:443 ...
I: 2017/07/05 19:56:31 unraid.go:63: starting service Unraid ...
I: 2017/07/05 19:56:31 server.go:69: Starting service Server ...
I: 2017/07/05 19:56:31 server.go:89: Serving files from /usr/local/emhttp/plugins/controlr
I: 2017/07/05 19:56:31 server.go:131: Server started listening https on :2379
I: 2017/07/05 19:56:31 proxy.go:48: Starting service Proxy ...
I: 2017/07/05 19:56:31 proxy.go:91: Proxy started listening http on :2382
I: 2017/07/05 19:56:31 proxy.go:92: Proxy started listening https on :2383
I: 2017/07/05 19:56:31 app.go:104: Press Ctrl+C to stop ...
⇛ http server started on [::]:2382
⇛ https server started on [::]:2379
⇛ https server started on [::]:2383

 

 

  • Author

Your emhttp is running on port 443 right ?

 

What's logged after you try to login with your root/password combination ?

Just now, jbrodriguez said:

Your emhttp is running on port 443 right ?

 

What's logged after you try to login with your root/password combination ?

Yes

When try to logon from the app  I get "No servers available" on the iOS app when using IP port 443 root password

 

Nothing in the syslog

  • Author
2 minutes ago, peter_sm said:

When try to logon from the app  I get "No servers available" on the iOS app when using IP port 443 root password

 

Yes, that's fine. v2.7.0 of the app doesn't support https servers.

 

I meant when you try to login to the plugin's UI (https://yourip:2379) ?

 

What does it show in the command line output (from ./controlr) ?

Now I can reach this page :-) Dont know why ?

 

Log below from command window

 

echo: http: TLS handshake error from 192.168.0.124:3044: tls: first record does not look like a TLS handshake
echo: http: TLS handshake error from 192.168.0.124:3045: tls: first record does not look like a TLS handshake
echo: http: TLS handshake error from 192.168.0.124:3051: tls: first record does not look like a TLS handshake
{"time":"2017-07-05T20:15:40.299571191+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/","status":200, "latency":15773                                                    7,"latency_human":"157.737µs","bytes_in":0,"bytes_out":611}
{"time":"2017-07-05T20:15:40.309907315+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/app/main-4f8c8f5.min.css","stat                                                    us":200, "latency":2101549,"latency_human":"2.101549ms","bytes_in":0,"bytes_out":211930}
{"time":"2017-07-05T20:15:40.316068978+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/app/main-4f8c8f5.min.js","statu                                                    s":200, "latency":7971984,"latency_human":"7.971984ms","bytes_in":0,"bytes_out":1412589}
{"time":"2017-07-05T20:15:40.622946234+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/img/controlr-deb9c67.png","stat                                                    us":200, "latency":106080,"latency_human":"106.08µs","bytes_in":0,"bytes_out":895}
{"time":"2017-07-05T20:15:40.624318823+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/img/v-f2204e3.png","status":200                                                    , "latency":59988,"latency_human":"59.988µs","bytes_in":0,"bytes_out":83}
{"time":"2017-07-05T20:15:40.624488852+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/img/gbadge-488b433.png","status                                                    ":200, "latency":34864,"latency_human":"34.864µs","bytes_in":0,"bytes_out":1816}
{"time":"2017-07-05T20:15:40.624527417+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/img/appstore-4ccd23e.png","stat                                                    us":200, "latency":60766,"latency_human":"60.766µs","bytes_in":0,"bytes_out":1804}
{"time":"2017-07-05T20:15:40.625604148+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/img/iphone-hand-7ba5afc.png","s                                                    tatus":200, "latency":1232136,"latency_human":"1.232136ms","bytes_in":0,"bytes_out":197241}
{"time":"2017-07-05T20:15:40.636783878+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/img/unraid-32ac546.png","status                                                    ":200, "latency":64860,"latency_human":"64.86µs","bytes_in":0,"bytes_out":1571}
{"time":"2017-07-05T20:15:40.636798531+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/img/jbrio-a96fbbd.png","status"                                                    :200, "latency":49807,"latency_human":"49.807µs","bytes_in":0,"bytes_out":449}
{"time":"2017-07-05T20:15:40.637453264+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/img/fontawesome-webfont-af7ae50                                                    .woff2","status":200, "latency":738053,"latency_human":"738.053µs","bytes_in":0,"bytes_out":77160}
{"time":"2017-07-05T20:15:40.640843515+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/version","status":200, "latency                                                    ":29136,"latency_human":"29.136µs","bytes_in":0,"bytes_out":31}
{"time":"2017-07-05T20:15:40.877795465+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/favicon.ico","status":404, "lat                                                    ency":84616,"latency_human":"84.616µs","bytes_in":0,"bytes_out":23}
{"time":"2017-07-05T20:16:09.412276212+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"POST","uri":"/login","status":200, "latency":22354054,"latency_human":"22.354054ms","bytes_in":33,"bytes_out":175}
I: 2017/07/05 20:16:10 unraid.go:106: Getting users ...
I: 2017/07/05 20:16:10 unraid.go:108: Got 3 users
I: 2017/07/05 20:16:10 unraid.go:109: Getting apps ...
I: 2017/07/05 20:16:10 unraid.go:111: Got 19 apps
{"time":"2017-07-05T20:16:10.673355964+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/state/plugins/dynamix.docker.manager/images/binhex-arch-sabnzbdvpn-latest-icon.png","status":200, "latency":12637836,"latency_human":"12.637836ms","bytes_in":0,"bytes_out":16417}
{"time":"2017-07-05T20:16:10.673424677+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/state/plugins/dynamix.docker.manager/images/binhex-arch-rtorrentvpn-latest-icon.png","status":200, "latency":13033491,"latency_human":"13.033491ms","bytes_in":0,"bytes_out":13934}
{"time":"2017-07-05T20:16:10.674996648+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/state/plugins/dynamix.docker.manager/images/linuxserver-mariadb-latest-icon.png","status":200, "latency":14091959,"latency_human":"14.091959ms","bytes_in":0,"bytes_out":11277}
{"time":"2017-07-05T20:16:10.675035307+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/state/plugins/dynamix.docker.manager/images/tobbenb-makemkv-rdp-latest-icon.png","status":200, "latency":14149037,"latency_human":"14.149037ms","bytes_in":0,"bytes_out":5879}
{"time":"2017-07-05T20:16:10.67529864+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/state/plugins/dynamix.docker.manager/images/linuxserver-letsencrypt-latest-icon.png","status":200, "latency":14465996,"latency_human":"14.465996ms","bytes_in":0,"bytes_out":86406}
{"time":"2017-07-05T20:16:10.67683093+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/state/plugins/dynamix.docker.manager/images/sparklyballs-krusader-latest-icon.png","status":200, "latency":16047486,"latency_human":"16.047486ms","bytes_in":0,"bytes_out":377341}
{"time":"2017-07-05T20:16:10.678989005+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/state/plugins/dynamix.docker.manager/images/linuxserver-nextcloud-latest-icon.png","status":200, "latency":495584,"latency_human":"495.584µs","bytes_in":0,"bytes_out":9156}
{"time":"2017-07-05T20:16:10.679143732+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/state/plugins/dynamix.docker.manager/images/jshridha-docker-nzbgetvpn-latest-icon.png","status":200, "latency":608741,"latency_human":"608.741µs","bytes_in":0,"bytes_out":11226}
{"time":"2017-07-05T20:16:10.682106734+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/state/plugins/dynamix.docker.manager/images/linuxserver-openvpn-as-latest-icon.png","status":200, "latency":415778,"latency_human":"415.778µs","bytes_in":0,"bytes_out":7081}
{"time":"2017-07-05T20:16:10.682680937+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/state/plugins/dynamix.docker.manager/images/linuxserver-plex-latest-icon.png","status":200, "latency":604821,"latency_human":"604.821µs","bytes_in":0,"bytes_out":20258}
{"time":"2017-07-05T20:16:10.685573645+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/plugins/dynamix.vm.manager/templates/images/fedora.png","status":200, "latency":265870,"latency_human":"265.87µs","bytes_in":0,"bytes_out":3193}
{"time":"2017-07-05T20:16:10.688488605+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/plugins/dynamix.vm.manager/templates/images/slackware.png","status":200, "latency":425614,"latency_human":"425.614µs","bytes_in":0,"bytes_out":4430}
{"time":"2017-07-05T20:16:10.689342719+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/plugins/dynamix.vm.manager/templates/images/ubuntu.png","status":200, "latency":596838,"latency_human":"596.838µs","bytes_in":0,"bytes_out":2080}
{"time":"2017-07-05T20:16:10.689913892+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/plugins/dynamix.vm.manager/templates/images/lime.png","status":200, "latency":1332189,"latency_human":"1.332189ms","bytes_in":0,"bytes_out":100489}
{"time":"2017-07-05T20:16:10.691864542+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/plugins/dynamix.vm.manager/templates/images/windows.png","status":200, "latency":3105354,"latency_human":"3.105354ms","bytes_in":0,"bytes_out":1634}
{"time":"2017-07-05T20:16:10.69520972+02:00","id":"","remote_ip":"192.168.0.124","host":"192.168.0.190:2379","method":"GET","uri":"/plugins/dynamix.vm.manager/templates/images/macos-Sierra.png","status":200, "latency":4666478,"latency_human":"4.666478ms","bytes_in":0,"bytes_out":442089}

 

  • Author
33 minutes ago, peter_sm said:

Now I can reach this page :-) Dont know why ?

 

Those first 3 handshake errors are strange. Only thing I can think of is you were accessing via http rather than https (maybe in another browser tab?)

 

The good news is that it works :)

  • 3 weeks later...

Heads up. I just updated the app on iPhone. Major features work as expected and alignment of tab scrolling is much improved.

However it seems that the logs no longer display. I did a quick check for a plugin update on the server side. It appears I'm on the latest.

Is there any diagnostic info I can send that would be helpful?


Sent from my iPhone using Tapatalk

43 minutes ago, MacDaddy said:

Heads up. I just updated the app on iPhone. Major features work as expected and alignment of tab scrolling is much improved.

However it seems that the logs no longer display. I did a quick check for a plugin update on the server side. It appears I'm on the latest.

Is there any diagnostic info I can send that would be helpful?


Sent from my iPhone using Tapatalk

Seeing the same issue here.

ControlR plugin vs 2.1.0

unRAID vs 6.3.5

Edited by wgstarks

  • Author

MacDaddy/wgstarks, thanks for bringing this up !

 

It's a minor bug in the app itself.

 

I'll publish either an ota or full store release later

Logs are back. Many thanks.


Sent from my iPhone using Tapatalk

  • 2 weeks later...
  • Author

v2.2.0 has been published !

 

2017-08-02 - 2.2.0

- Enable ControlR app to get temperature unit from server's GUI preferences
 

This will become available in an upcoming ControlR app release

I just updated the app.  I think I remember the "operations" selection being scrollable.  Here's a screenshot capture with the items circled.

 

IMG_3449.JPG

  • Author
32 minutes ago, MacDaddy said:

I think I remember the "operations" selection being scrollable

 

No, that section has never been scrollable.

 

But also note that ERRORS text is split in two 'rows'.

 

Is it possible that you increased the text size in the display & brightness settings of your iphone ?

 

If that's the case, you can decrease the text size in the app (to small) so that it 'fits' the screen.

 

Or reset the iphone's text size (restart the app if you do that) and set the app's text size to normal.

That's probably it. My 57 year old eyes need a little extra size in fonts these days:-)

I'll experiment with another size.


Sent from my iPhone using Tapatalk

  • Author

Ok, in any case, I'll check why the operations section doesn't 'wrap' (the way ERRORS did).

  • 1 month later...

Hey jbrodriguez,

I'm using the latest version of the ControlR app (2.10.2) with the current latest stable unraid (6.3.5) and I was not able to power down unraid using the "Power Off" feature.

  • Author

Hi remati,

 

That's strange.

 

I frequently power off 6.3.5 server via the app.

 

The plugin is needed to power it on, but powering it off shouldn't be a problem.

 

Is Power off disabled ?

 

If not, when you press it. does it display the 'Waiting for the operation to complete ' message ?

3 hours ago, jbrodriguez said:

Hi remati,

 

That's strange.

 

I frequently power off 6.3.5 server via the app.

 

The plugin is needed to power it on, but powering it off shouldn't be a problem.

 

Is Power off disabled ?

 

If not, when you press it. does it display the 'Waiting for the operation to complete ' message ?

 

It's not disabled. I stopped the array, tried to do a Power Off, and the waiting for the operation to complete message stayed on the screen. I had to login to the unraid webui and power it off from there.

Edited by remati

  • Author

Oh ok.

 

On 6.3.x, the app's Power Off sends a shutdown command to the server, which internally stops the array first and then powers it down.

 

I didn't test your scenario, where you stopped the array first.

 

I'll look into it.

  • 3 weeks later...
  • Author

v2.3.0 has been released

 

2017-10-04 - 2.3.0

 

- Add support for unRAID 6.4.x (rc9f), using Letsencrypt generated certificate by default (an alternate can be specified in settings)

- Add endpoint for future ControlR app releases
 

If you use unRAID's https, the plugin will now reuse the letsencrypt certificate (instead of generating a self-signed one).

 

This means you will no longer have the ugly warning when accessing the plugin's webpage.

 

If you want to use your own certificates (self-signed or LE generated by yourself), just specify the folder where the cert resides in the plugin settings page.

 

The cert name must be certificate_bundle.pem (the same as unRAID's).

 

This release supports 6.4.0-rc9f (and rc8q most likely), as well as stable (6.3.5).

 

It should work on other unRAID versions, but they're not actively supported.

Have only just started testing, but looks like powerdown isn't working. I just get this-

 

IMG_1081.thumb.PNG.55ecc504f8bedf54ada0669927c8b203.PNG

 

After about 5 minute wait I connected to the server via browser and realized nothing had happened.

Reboot also seems to not be working. Have to quit the app on my iPhone or else it just sits with the spinning wheel. Tried deleting the server and re-adding with same results. Diagnostics are attached. If there's a separate log just let me know.

 

As far as I can tell all the other ops are working properly.

 

brunnhilde-diagnostics-20171004-0851.zip

 

 

Edit: @jbrodriguez I know this thread is for the plugin rather than the app. Just want to be sure you're aware that not all issues are fixed with this update.

Edited by wgstarks

  • Author

Thanks for the report @wgstarks !

 

Yes, the powerdown/reboot issues are app related, I've fixed them in my dev environment.

 

A new app release should be out soon™ :D

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.