Jump to content

Official NetDuma router API?


3rdEden

Recommended Posts

Hey,

 

I was wondering if there is an official (programable) Router API available for us programmers to use and extract data from the NetDuma. I know the WebUI of the router makes HTTP GET requests to the: 

<router ip>/cgi-bin/<name>.sh

 Endpoints in order to get data. But it feels kinda hacky to reverse engineer these API's and write an API library for those as I'm assuming that the data outputted from these files will or can change per firmware version as these API's are not versioned. 

 

Anything information or points in the right direction is greatly appreciated.

Link to comment
Share on other sites

Hey Fraser

 

I'm indeed a developer and write/contribute to JavaScript libraries, modules and what not on a daily basis. I wrote/maintain over 250+ Open Source libraries which range from real-time/WebSocket based frameworks to JavaScript implementations of the RAFT distributed consensus protocol and HAProxy API clients. So my skills and interests are all over the place.

 

The reason that I'm interested in the NetDuma is because there is a lot of amazing data available in the router which can be used for all sorts of purposes. Having an API client would allow me to easily add IRC bot commands to give viewers information about my latency/ping, the people I'm matched made and the quality/location etc. It can be used overlay for OBS streams by just outputting this data text files or even small spark lines that represent your connection quality (using the webview). It could be used for really anything..

 

But the plan that I currently have is to maintain a record/history of all Destiny matches that I've played and storing this all in a local database. This will be written as a desktop application using Electron (the ui that powers Github's Atom IDE) and use this data to answer some important questions like

 

- How do skill based match making affect the connection quality and if there is an increase of "sweaty" teams the more skill you gain.

- When reviewing footage of previously played games you can look up the connection quality and combining this will game data will also let you know their load outs

- See how many times you're matched against certain people, because we all have the dejavu of thinking you've played people before

 

I already pretty much completed an un-official API client for destiny using their public API documentation so all is left is getting more detailed information about the connections. 

Link to comment
Share on other sites

  • Administrators

Ahh very interesting! 

 

You are able to overlay the ping on your stream using this guide: http://wiki.netduma.com/doku.php?id=embed_ping_to_videos_and_streams but I see you'd like more stats :)

 

That does sound very cool. I've passed it onto the Dev as well as I know he would be interested see what you have in mind.

Link to comment
Share on other sites

  • Administrators

This sounds very interesting indeed. Of course you're free to study the code and write your interface. We can't endorse it in case it causes any problems we can't be held responsible. But I'm sure if it's coold people here would love to use it.

 

Finally, we don't have an official API at the moment. But we're building a new engine which will have a very simple but cool API. If you're interested in helping us out with GUI end (do you know d3js?) let me know :)

Link to comment
Share on other sites

This is a perfect example why the NetDuma team is going to continue to be successful. They're willing to support the huge interest in their product and inspire their own customers into helping the product grow.

Link to comment
Share on other sites

I'm interested in this, but for other reasons. I'm interested in being able to query the router for current connections for presence detection. I could ping devices, but apple/android behave differently, so going to source would be useful :)

Link to comment
Share on other sites

  • 3 weeks later...
  • Administrators

It's really great we have developers here. I've decided to develop the new engine incrementally. Meaning that hopefully there will be something to play with relatively soon. Before you can start playing with API we'll need to make some sort of developers licence with terms and conditions. But I hope it will be quite ground-breaking stuff think Apps for routers :) 

Link to comment
Share on other sites

  • 5 weeks later...
  • 2 weeks later...

so just spitballing - i'd like to be able to call individual APIs to:

GET profiles, and POST the current one;

GET all devices connected; POST devices to block/unblock

 

Sure there's a bunch of other user stories out there

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...