I'm just writting down what features I think we need to have in a nodedb software.
Requirements
Must have
- A web application that anyone can add, edit, and remove their listings. Fields:
NodeName (eg: Node124, NodeBallardBridge)
- Admin name
- Admin email
- admin password
- Address
Zone (eg: BallardZone, CapitalHillZone)
- Lat
- Long
DateTime Updated
- Description (text)
- Services (text description)
- URL (for more info)
- Status (Active, proposed, down)
- IP addresses
- Looking Glass traceroute
Nice to have
- Automatic interface with DNS Servers
- Automatic interface with Whois Servers
- Maps
- Photo Upload
Someday
Provide 'links' to other nodes. These could be tunnels over the internet, or wireless links. The NodeDb should be able to show them. (This node has a wireless link to NodeY, and tunnels to NodeX and NodeC)
- Provide pages for adding 'services' on your node. Could interface with Wahoo.
Software packages
Whois
Currently, there are very few options for whois servers.
RipeDB is huge and nasty, but it may work for us.
Swhoisd is not maintainable, it's based on flat text files.
Rwhois looks like it might work, needs to be researched more
- Others?
DNS
bind9 is the the most commonly used, but it can be somewhat of a pain to update. webmin does a good job of 'manually' allowing other users update their entries, but it's not going to tie directly into whois & the NodeDB with ease. There are specs for dns zone updates (in fact, I think it's part of the RFC), but the nodedb would have to call them when it needs to.
Are there any other dns servers out there? Maybe one that's driven by mysql?
djbdns: source available but is not FreeSoftware.
Mara DNS: Looks like a good DNS server.
PowerDNS: No source, but free for non-commercial use. SQL capable.
Posadis: Seems oriented to Win32 but runs on *nix.
Yaku-NS: Nee ENS, oriented to embedded systems.
Dents: Project looks abandoned.
DNSJava: DNS client and server in Java.
CustomDNS: Based on DNSJava, SQL capable. (EJ: Looks like this has the features we want, but it has not been touched in 2 years. Maybe we should take a closer look.)
TinyDNS Seems like a basic dns server, but....
sql2tinydns .. there is this tool for getting data from mysql to tinydns in near realtime.
Interfaces
- Web
- XMLRPC
Dev Tools
- Apache
- PHP
- mysql
License
GPL version 2.


