1
0
Fork 0
mirror of https://github.com/sileht/bird-lg.git synced 2024-12-22 20:44:43 +01:00
bird looking glass
Go to file
Fabien VINCENT 9df351a4fb Allo to show route as JSON value
Example : https://[[LG_MASTER]]/api/[[LG_NODES_LIST]]/ipv4?q=8.8.8.8

Return :

{

    "[[LG_NODES_LIST]]": {
        "result": [
            {
                "origin": "IGP",
                "med": 0,
                "via": "1.1.1.2",
                "last": "2018-07-10",
                "network": "8.8.8.0",
                "localPref": 350,
                "asPath": "15169",
                "originatorId": {
                    "addr": "4.4.4.4",
                    "reverse": "router.fr.eu"
                },
                "community": [
                    "65000:65000"
                ],
                "clusterList": [
                    "9.89.6.6",
                    "9.89.8.8"
                ],
                "netmask": "24",
                "fromPeer": "bird",
                "from": "4.4.4.4",
                "nextHop": {
                    "addr": "1.1.1.2",
                    "reverse": "google.fr.eu"
                },
                "ipType": "IPv4"
            }
        ]
    }

}
2018-07-16 14:37:17 +02:00
init Add example systemd unit files, courtesy of ARN 2018-05-26 11:28:53 +02:00
static Rewrite the way that user input is handled 2012-10-17 16:17:52 +02:00
templates Allow get svg 2017-08-16 22:40:07 +02:00
.gitignore Remove inused import and ignore bytecode 2012-05-07 11:17:43 +02:00
bird.py Add restrict command 2012-05-27 14:32:50 +02:00
COPYING Update COPYING 2017-08-04 15:28:01 +02:00
gpl-3.0.txt Add licence and readme 2011-12-16 11:06:15 +01:00
lg.cfg Allow to configure the bind address of bird-lg 2014-02-12 22:09:09 +01:00
lg.py Allo to show route as JSON value 2018-07-16 14:37:17 +02:00
lg.wsgi use current file name 2012-08-21 11:55:16 +02:00
lgproxy.cfg bind lgproxy.py optionally to an IP 2018-04-07 12:18:09 +02:00
lgproxy.py bind lgproxy.py optionally to an IP 2018-04-07 12:18:09 +02:00
lgproxy.wsgi Change lg-proxy to lgproxy to easly import it in wsgi 2014-02-18 11:52:43 +01:00
README.mkd Add more happy users 2018-06-26 11:01:40 +02:00
toolbox.py Add resolv timeout, store asn in memcache 2014-04-20 17:02:22 +02:00

BIRD-LG

This is a looking glass for the Internet Routing Daemon "Bird".

Software is split in two parts:

  • lgproxy.py:

    It must be installed and started on all bird nodes. It act as a proxy to make traceroute and bird query on the node. Access restriction to this web service can be done in file "lgproxy.cfg" (only IP address based restriction for now).

  • lg.py:

    This is the frontend, a web based UI that request informations to all lgproxy.py nodes. The domain and the list of all bird nodes can be done.



                                         ***************
                                    +--> * lgproxy.py *
                                    |    ***************
                                    |  
********       *******************  |    ***************
* USER * ----> * webserver/lg.py *--+--> * lgproxy.py *
********       *******************  |    ***************
                                    |  
                                    |    ***************
                                    +--> * lgproxy.py *
                                         ***************

bird-lg depends on :

  • python-flask >= 0.8
  • python-dnspython
  • python-pydot
  • python-memcache
  • graphviz
  • whois
  • traceroute

Each services can be embedded in any webserver by following regular python-flask configuration.

Source code is under GPL 3.0, powered by Flask, jQuery and Bootstrap.

Copyright © 2012 Mehdi Abaakouk sileht@sileht.net

Happy users