# metro.thing: Multi-instance monitoring (maybe managment) app for Windows.

**URL:** https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137
**Category:** User Stories
**Created:** [March 17, 2015, 9:41pm UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137 "2015-03-17T21:41:18Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![kreischweide](https://forum.syncthing.net/user_avatar/forum.syncthing.net/kreischweide/32/1012_2.png) [@kreischweide](https://forum.syncthing.net/u/kreischweide)
#### Post date: [March 17, 2015, 9:41pm UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/1 "2015-03-17T21:41:19Z")

</div>

Hi syncthusiasts,

inspired by the work of @canton7 with SyncTrayzor and the whole Syncthing team, disappointed with btsync, I grabbed my towel and worked for week on a prototype to monitor (and later manage) multiple Syncthing instances in one native windows UI. The REST API is great and offered most of the stuff I needed the complete it. It is based on NET 4.5 for Windows, released open source with MIT on github. Not sure if everything went correct, I’m still pretty inexperienced with the whole release-thing in the open-source domain.

Features that should work so far are:

Monitoring: - CPU / RAM usage - Connectivity (ICMP ping and API ping) - Version check - Transfer speeds - Connected discovery nodes - Total folder and device count (with smaller statistics)

Device ID: - Copy to clipboard - QR code display

Other: - Upgrading the Syncthing version

A screenshot is also available: ![](https://forum.syncthing.net/uploads/default/1046/a8ac76f0f167bded.png)

If you feel like it, I would love some feedback, ideas or general impressions to decide if I should continue with the work. Feel free to visit the thing on [https://github.com/kreischweide/metrothing](https://github.com/kreischweide/metrothing) for details.

Have a nice day!

---

<div class="post-metadata">

### Author: ![AudriusButkevicius](https://forum.syncthing.net/user_avatar/forum.syncthing.net/audriusbutkevicius/32/277_2.png) [@AudriusButkevicius](https://forum.syncthing.net/u/AudriusButkevicius)
#### Post date: [March 17, 2015, 9:59pm UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/2 "2015-03-17T21:59:40Z")

</div>

Make sure to add it to community contributions in the Wiki

Looks damn awesome.

---

<div class="post-metadata">

### Author: ![kreischweide](https://forum.syncthing.net/user_avatar/forum.syncthing.net/kreischweide/32/1012_2.png) [@kreischweide](https://forum.syncthing.net/u/kreischweide)
#### Post date: [March 17, 2015, 10:59pm UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/3 "2015-03-17T22:59:51Z")

</div>

Thanks, will do tomorrow!

---

<div class="post-metadata">

### Author: ![Zillode](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/z/c67d28/32.png) [@Zillode](https://forum.syncthing.net/u/Zillode)
#### Post date: [March 17, 2015, 11:39pm UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/4 "2015-03-17T23:39:45Z")

</div>

I guess these .NET APIs you’re using are not part of the [open sourced .NET code](http://www.asp.net/open-source)?

Edit: Nope, it compiles cleanly but errors with

> System.DllNotFoundException: user32.dll at (wrapper managed-to-native) MetroFramework.Native.WinApi:GetSystemMenu (intptr,bool) at MetroFramework.Forms.MetroForm.RemoveCloseButton () [0x00000] in :0 at MetroFramework.Forms.MetroForm.OnLoad (System.EventArgs e) [0x00000] in :0 at System.Windows.Forms.Form.OnLoadInternal (System.EventArgs e) [0x00029] in /private/tmp/source-mono-mac-3.12.99-branch-32/bockbuild-mono-3.12.0-branch/profiles/mono-mac-xamarin/build-root/mono-3.12.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Form.cs:2902

Not for OSX/Linux ☹ Nice interface!

---

<div class="post-metadata">

### Author: ![kreischweide](https://forum.syncthing.net/user_avatar/forum.syncthing.net/kreischweide/32/1012_2.png) [@kreischweide](https://forum.syncthing.net/u/kreischweide)
#### Post date: [March 18, 2015, 6:52am UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/5 "2015-03-18T06:52:14Z")

</div>

No, I don’t think so. At least the UI lib seems to use alot of native features, the other libs/code as well. Not even sure if the open .NET code even supports any non-web approach yet.

---

<div class="post-metadata">

### Author: ![Rewt0r](https://forum.syncthing.net/user_avatar/forum.syncthing.net/rewt0r/32/2526_2.png) [@Rewt0r](https://forum.syncthing.net/u/Rewt0r)
#### Post date: [March 18, 2015, 9:45am UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/6 "2015-03-18T09:45:46Z")

</div>

Looks great, I’m going to test this out now.

---

<div class="post-metadata">

### Author: ![canton7](https://forum.syncthing.net/user_avatar/forum.syncthing.net/canton7/32/9528_2.png) [@canton7](https://forum.syncthing.net/u/canton7)
#### Post date: [March 18, 2015, 9:50am UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/7 "2015-03-18T09:50:20Z")

</div>

Nice one! I like it 👍

---

<div class="post-metadata">

### Author: ![Rewt0r](https://forum.syncthing.net/user_avatar/forum.syncthing.net/rewt0r/32/2526_2.png) [@Rewt0r](https://forum.syncthing.net/u/Rewt0r)
#### Post date: [March 18, 2015, 1:48pm UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/8 "2015-03-18T13:48:55Z")

</div>

I’m trying to get this working on my local machine using HTTPS but keep getting “Could not establish trust relationship for the SSL/TLS secure channel”

---

<div class="post-metadata">

### Author: ![kreischweide](https://forum.syncthing.net/user_avatar/forum.syncthing.net/kreischweide/32/1012_2.png) [@kreischweide](https://forum.syncthing.net/u/kreischweide)
#### Post date: [March 18, 2015, 3:00pm UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/9 "2015-03-18T15:00:43Z")

</div>

> [@Rewt0r](#):
>
> I’m trying to get this working on my local machine using HTTPS but keep getting “Could not establish trust relationship for the SSL/TLS secure channel”

Ah thats something I did not test again, will check it right now.

---

<div class="post-metadata">

### Author: ![Rewt0r](https://forum.syncthing.net/user_avatar/forum.syncthing.net/rewt0r/32/2526_2.png) [@Rewt0r](https://forum.syncthing.net/u/Rewt0r)
#### Post date: [March 18, 2015, 3:12pm UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/10 "2015-03-18T15:12:58Z")

</div>

Nice one, whilst you’re at it I don’t suppose you could adjust the Device Display bit to show how many devices you’re connected to out of the total? We have 19 devices and it always displays 19 regardless of connection state so 5/19 etc would be perfect 😄

---

<div class="post-metadata">

### Author: ![kreischweide](https://forum.syncthing.net/user_avatar/forum.syncthing.net/kreischweide/32/1012_2.png) [@kreischweide](https://forum.syncthing.net/u/kreischweide)
#### Post date: [March 18, 2015, 3:23pm UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/11 "2015-03-18T15:23:57Z")

</div>

> [@Rewt0r](#):
>
> whilst you’re at

Can do that… later 😃 Just pushed v0.1.1 with the SSL fix out, would be great if you could test it again. Keep in mind that the instances might get lost, still digging through the “manual” for that part. I’ll try to come up with a backup/restore thing until that part is solved.

---

<div class="post-metadata">

### Author: ![Rewt0r](https://forum.syncthing.net/user_avatar/forum.syncthing.net/rewt0r/32/2526_2.png) [@Rewt0r](https://forum.syncthing.net/u/Rewt0r)
#### Post date: [March 18, 2015, 4:01pm UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/12 "2015-03-18T16:01:13Z")

</div>

HTTPS now works fine 😄

---

<div class="post-metadata">

### Author: ![kreischweide](https://forum.syncthing.net/user_avatar/forum.syncthing.net/kreischweide/32/1012_2.png) [@kreischweide](https://forum.syncthing.net/u/kreischweide)
#### Post date: [March 18, 2015, 10:47pm UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/13 "2015-03-18T22:47:28Z")

</div>

> [@Rewt0r](#):
>
> HTTPS now works fine

Pushed an update again. Count with [connected devices / total devices] is in now. You can import and export your configuration as well… though you still might loose the settings again with this release. But the newly generated backup XML should be easy to read and modify. PS: How is the CPU usage of the thing with so many instances?

---

<div class="post-metadata">

### Author: ![Rewt0r](https://forum.syncthing.net/user_avatar/forum.syncthing.net/rewt0r/32/2526_2.png) [@Rewt0r](https://forum.syncthing.net/u/Rewt0r)
#### Post date: [March 20, 2015, 10:19am UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/14 "2015-03-20T10:19:05Z")

</div>

I don’t have all of the instances on there, just my machine and the server. Sorry.

---

<div class="post-metadata">

### Author: ![merlinuwe](https://forum.syncthing.net/user_avatar/forum.syncthing.net/merlinuwe/32/13266_2.png) [@merlinuwe](https://forum.syncthing.net/u/merlinuwe)
#### Post date: [March 20, 2015, 7:45pm UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/15 "2015-03-20T19:45:47Z")

</div>

Here is my feedback:

- Such a cool interface! _Wao!_

- It seems, that is not possible to change the settings, at the moment.

- Translation into german language.

- When I connect to my Galaxy Tab 3, I see a red cross. Hovering with the mouse shows: “Could not check version. Ungültige Daten auf Stammebene. Zeile 1, Position 1.” I guess, this is an issue for @Nutomic

- Aren’t the global announce servers stored in the xml backup file?

- When a connection is lost, it lasts for a relative long time (~1-2 min.), that the “white rotating circle” get a notice of this event and starts to indicate this. On the other side: when the connection is available again, metro.thing notices this much sooner.

One question for my special configuration:

I want to use a connection from my UWE-PC with metro.thing to an other pc (which has syncthing installed) SERVICE-PC over the internet. (On the SERVICE-PC also runs the discosrv.) But I can only connect with metro.thing, when the VPN connection between UWE-PC and SERVICE-PC is activated. Which configuration is necessary? I have [dyndns.org](http://dyndns.org) configured at the router of the other network.

Last but not least: Thank you for this WONDERFUL piece of software!

Greetings,

Uwe

![](https://forum.syncthing.net/uploads/default/1059/26672a0c0b1f030f.png)

---

<div class="post-metadata">

### Author: ![kreischweide](https://forum.syncthing.net/user_avatar/forum.syncthing.net/kreischweide/32/1012_2.png) [@kreischweide](https://forum.syncthing.net/u/kreischweide)
#### Post date: [March 20, 2015, 8:25pm UTC](https://forum.syncthing.net/t/metro-thing-multi-instance-monitoring-maybe-managment-app-for-windows/2137/16 "2015-03-20T20:25:25Z")

</div>

> [@merlinuwe](#):
>
> It seems, that is not possible to change the settings, at the moment.

That is correct. You can, however, edit the XML that you can backup/restore through the settings for slight modifications. Looking into this after some refactoring.

> [@merlinuwe](#):
>
> When I connect to my Galaxy Tab 3, I see a red cross. Hovering with the mouse shows: “Could not check version. Ungültige Daten auf Stammebene. Zeile 1, Position 1.” I guess, this is an issue for @Nutomic

That’s a error message that the response content was to be expected XML, but was not. Most likely a HTTP error, which is not catched/passed correctly. I’ll look into it!

> [@merlinuwe](#):
>
> Aren’t the global announce servers stored in the xml backup file?

No, they are configured on every syncthing instance. Every instance could have a different set of announce-servers. Maybe you are looking for something else? Not sure 😄 Right now its only monitoring, no managment sadly, so I do not write configurations back to the monitored instances.

> [@merlinuwe](#):
>
> When a connection is lost, it lasts for a relative long time (~1-2 min.), that the “white rotating circle” get a notice of this event and starts to indicate this. On the other side: when the connection is available again, metro.thing notices this much sooner.

Yeah, there are alot of timeouts involved and a thread is checking in the background if the machine is available through ICMP and/or an API call. How exactly do you loose the connection? I can look into it if you can give me some details how.

> [@merlinuwe](#):
>
> But I can only connect with metro.thing, when the VPN connection between UWE-PC and SERVICE-PC is activated. Which configuration is necessary? I have [dyndns.org](http://dyndns.org) configured at the router of the other network.

So you want to monitor SERVICE-PC, while not in VPN, on the UWE-PC? You need to open the web GUI port on the SERVICE-PC towards your UWE-PC. Lets say SERVICE-PC:8080 gives you the web GUI for the locally installed Syncthing instance. You need to open this port on to the internet (but first activate SSL and password protect it, by setting admin and password!). Then you connect from UWE-PC to SERVICE-PC on the port you forwarded to the internet side and use the dyndns-IP as host.

I hope that helps and thanks for the feedback!
