Inschpektor — The user friendly peer manager for your IOTA node :)

Hi there

Over the past few months, I was digging a lot into nodejs and vuejs and wanted to bring what I learned somewhere into a project. That’s how inschpektor was born.

Inschpektor is inspired by the iota peer manager, but the feature-set is richer and the application architecture is generally better structured out (imho). The code is completely unrelated to iota-pm and not at all based on it.

This app is still in beta state! Please always keep that in mind, if you decide to use it. The features I mention down below already work.


So what are the features?

  • Access to your iri config file. When adding or removing a neighbor, you can choose to do that temporarily or to really write that change into your iri file automatically.
  • Authentication: Keep your app publicly accessible, while being the only one able to execute commands or view specific data on your node.
  • Restart your node: Directly from the web-ui!
  • Track your neighbors: See if their node is still in sync, if they still comminucate with your node, their iri version, etc
  • Instant feedback! You do not need to keep the web ui open for 30 seconds to see, which neighbors are still healthy and which are not. Open the app an directly see what is going on.
  • Add nicknames to your peers
  • It shows you the state of your own node (RAM consumption, java version, iri version, sync state, etc)
  • Indicators: 
    👽 A neighbor not being persisted in your IRI config (probably a peer that NELSON manages)
    👑 Premium neighbor, that allows for fetching additional info (like their milestone, their iri version, etc.)
  • Node status indicator: Compares the latest milestone with other peers and shows if your own node is in sync.

“I’m still here, give me the details!”

Let me help you getting through all of the stuff then.

How do I install & run it?
Stuff like that I you can find on the readme file directly on my github account, since the process could change with code changes.

What do the 👑 & 👽 indicators on the dashboard mean in detail?
👽 This is a neighbor that only temporary appears an will be gone after a node restart
👑 This means a neighbor has the “premium” status. I, for myself, will make sure that my future static neighbors will be “premium” ones before I add them, since it makes the communication between our nodes more transparent. Instead of just the usual info you get about a neighbor, you get his iri version and his synced state on top of it.

What does the information for each neighbor (in the Dashboard) mean anyways?

Protocol: The protocol used for communication (TCP or UDP)
Friendly Node: Yes, if less than 0.5% of all transactions with that node were invalid.
Active: Yes, if the node is sending you transactions.
Synced: (Premium Neighbours only) Is the node of the neighbor still in sync?
Iri-version: (Premium Neighbors only) The iri version your neighbor is running.

I set a stupid password and want to change it, how?
You need to click “Reset Inschpektor” in the “Manage” view to change the password. You can only do that if you are logged in. If you forgot your password, you need to reinstall the whole application (“npm uninstall”, “npm install” again). This protects from unauthorized people being able to harm your node.

Why should I run it as root user?

While I know and understand that this is a huge risk, I advice you to do that only if you run into problems and you don’t really understand, how linux permissions work. I got some error-requests that were related to users not understanding that part.

Still, why could that be necessary? Because a lot of people run the iri with root priviledges, or run the iri as a service or they have inschpektor globally installed (which I recommend in the installation description). If you want to reset “inschpektor” via button, you need at least super user priviledges, because the database of inschpektor is bundled with the app. If inschpektor is installed globally, it lies within a space not manipulable by a user without sudo privileges. To make it easier for me and all of you guys, I will just recommend the option to run it as root user, if you run into any permission problems. If you are experienced enough with the linux permission system, you will not need to use the root user at all.

Donations

If you want to show some love, I always appreciate it.

IZ99FQWJUQJCDLBSUOEDZIVROSARFYLXJWPZNAXQPCCGAHCUWKRE9RNHMGNHZTAIZHPUDV9HMSPNJLYSXPNEPTRHUW

What is the future focus of this project?

  • The mobile view needs some minor tweaking.
  • The colors weren’t that appreciated by some testers. Please tell me your opinion about this, since I agree that it has this kind of “candy” look. :)
  • For more up to date points, I will reference the readme file here, because that one is part of the codebase and regularly updated.

Feedback

You find find me in telegram @codepleb or in the iota discord codepleb.net#9990. I would love to hear from you! Since I am the programmer of this app, I guess there might be “implicit knowledge”. Whenever you read a manual from me and you do not get it or you do not understand some parts of this application, please do not hesitate to write me a message, so we can improve it! :)

Subscribe for Updates!

If you are interested in getting details about future updates, feel free to subscribe to my telegram broadcast channel: http://t.me/inschpektor
I also post updates on my twitter channel: https://twitter.com/codepleb4