[Interop-dev] netjson for meshviewer

Moritz Warning (spam-protected)
Sat Dec 23 15:37:13 CET 2017


Hi Federico,

I have implemented URL loading now and set up a public test:
https://mwarning.de/MeshNetSimulator/

But your link you give me gives this error message:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://openwisp.nnxx.ninux.org/api/topology/b079ba15-0009-4d4d-9d61-73b85c6c91f1/?format=json. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

Can you please set "Access-Control-Allow-Origin: *" in the HTTP header of the server?

thanks,
mwarning

On 12/21/2017 04:35 PM, Nemesis wrote:
> Super cool!
> 
> Would it be possible to feed to it data from external APIs?
> 
> For example:
> https://openwisp.nnxx.ninux.org/api/topology/b079ba15-0009-4d4d-9d61-73b85c6c91f1/
> 
> To disable the HTML browsable API use this:
> https://openwisp.nnxx.ninux.org/api/topology/b079ba15-0009-4d4d-9d61-73b85c6c91f1/?format=json
> 
> This type of backend implementation is open source:
> https://github.com/netjson/django-netjsongraph
> 
> Federico
> 
> 
> On 12/20/2017 12:47 PM, Moritz Warning wrote:
>> Hey Federico,
>>
>> I have implemented NetJSON Network graph support in my project now:
>> https://github.com/mwarning/MeshNetSimulator
>>
>> It is not well tested, but it works for importing and exporting.
>> The current MeshViewer format is also supported.
>>
>> - Moritz
>>
>> On 12/11/2017 11:45 AM, Nemesis wrote:
>>> Hey Moritz,
>>>
>>> here's an example, I added some comments although they are not valid
>>> according to the JSON spec, but I added them anyway for explaination
>>> purposes. Keep in mind the spec allows flexibility in placing custom
>>> properties and attributes:
>>>
>>> {
>>>     "type": "NetworkGraph",
>>>     "protocol": "batman-adv",
>>>     "version": "batman-adv version here",
>>>     "metric": "tq",
>>>     // custom attributes are allowed
>>>     "timestamp": "2017-09-10T21:15:01",
>>>     "directed": false,
>>>     "multigraph": false,
>>>     "nodes": [
>>>         {
>>>             "id": "62:e3:27:ff:8a:64",
>>>             "node_id": "62e327ff8a64",
>>>             "flags": {
>>>                 "gateway": false,
>>>                 "online": false
>>>             },
>>>             "properties": {
>>>                 "firstseen": "2017-09-04T12:40:29",
>>>                 "hardware": {
>>>                     "model": "TP-Link TL-WA901N/ND v4"
>>>                 },
>>>                 "hostname": "FreeHemp1",
>>>                 "location": {
>>>                     "latitude": 48.396396,
>>>                     "longitude": 9.98526335
>>>                 },
>>>                 "network": {
>>>                     "mac": "62:e3:27:ff:8a:64"
>>>                 },
>>>                 "node_id": "62e327ff8a64",
>>>                 "owner": {
>>>                     "contact": "(spam-protected)"
>>>                 },
>>>                 "software": {
>>>                     "firmware": {
>>>                         "release": "ffulm-0.6.5"
>>>                     }
>>>                 },
>>>                 "system": {
>>>                     "role": "node",
>>>                     "site_code": "gotham"
>>>                 },
>>>                 "lastseen": "2017-09-10T05:20:01"
>>>             },
>>>             "statistics": {
>>>                 "clients": 0,
>>>                 "memory_usage": 0.589754,
>>>                 "rootfs_usage": 0.83,
>>>                 "uptime": 10487.19
>>>             }
>>>         },
>>>         {
>>>             "id": "ea:de:27:b7:8d:be",
>>>             "node_id": "eade27b78dbe",
>>>             "flags": {
>>>                 "gateway": false,
>>>                 "online": false
>>>             },
>>>             "properties": {
>>>                 "firstseen": "2017-09-04T12:40:29",
>>>                 "hardware": {
>>>                     "model": "TP-Link TL-WA901N/ND v4"
>>>                 },
>>>                 "hostname": "FreeHemp2",
>>>                 "location": {
>>>                     "latitude": 49.396396,
>>>                     "longitude": 10.00
>>>                 },
>>>                 "network": {
>>>                     "mac": "ea:de:27:b7:8d:be"
>>>                 },
>>>                 "node_id": "eade27b78dbe",
>>>                 "software": {
>>>                     "firmware": {
>>>                         "release": "ffulm-0.6.5"
>>>                     }
>>>                 },
>>>                 "system": {
>>>                     "role": "node",
>>>                     "site_code": "gotham"
>>>                 },
>>>                 "lastseen": "2017-09-10T05:20:01"
>>>             },
>>>             "statistics": {
>>>                 "clients": 0,
>>>                 "memory_usage": 0.589754,
>>>                 "rootfs_usage": 0.83,
>>>                 "uptime": 10487.19
>>>             }
>>>         }
>>>     ],
>>>     "links": [
>>>         {
>>>             "source": "62:e3:27:ff:8a:64",
>>>             "target": "ea:de:27:b7:8d:be",
>>>             "cost": 1.008,
>>>             "properties": {
>>>                 "vpn": true
>>>             }
>>>             // vpn may also be here if preferred
>>>             // it depends on implementation details
>>>             "vpn": true
>>>         }
>>>     ]
>>> }
>>>
>>> I suggest you to read the NetworkGraph section of the spec, is basically
>>> just a page and if you read it you will understand the purpose of the
>>> NetworkGraph object:
>>> http://netjson.org/rfc.html#rfc.section.4
>>>
>>> I would really like to rewrite the frontend library
>>> https://github.com/netjson/netjsongraph.js so it would have some of the
>>> features of meshviwer but we haven't been able to accomplish yet and the
>>> attempt to rewrite it in WebGL did not produce the result we are hoped,
>>> but I will keep insisting in the near future when I get a chance.
>>>
>>> Federico
>>>
>>>
>>> On 12/07/2017 01:06 PM, Moritz Warning wrote:
>>>> Hi,
>>>>
>>>> I like to evaluate netjson for a meshviewer implementation.
>>>> It would be helpful if somebody could tell me how the attached graph.json and nodes.json would look like in netjson.
>>>>
>>>> thanks,
>>>> mwarning
>>>
>>>
>>>
>>> _______________________________________________
>>> Interop-dev mailing list
>>> (spam-protected)
>>> https://lists.funkfeuer.at/mailman/listinfo/interop-dev
>>>
>>
>>
>>
>>
>> _______________________________________________
>> Interop-dev mailing list
>> (spam-protected)
>> https://lists.funkfeuer.at/mailman/listinfo/interop-dev
>>
> 
> 
> 
> 
> _______________________________________________
> Interop-dev mailing list
> (spam-protected)
> https://lists.funkfeuer.at/mailman/listinfo/interop-dev
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.funkfeuer.at/pipermail/interop-dev/attachments/20171223/0b09585e/attachment.sig>


More information about the Interop-dev mailing list