ToDo:
- [x] Finish the arguments.
- [x] rename pass_data, pass_keys and peer_data, peer_keys to same name
- [x] Make a function to add fields programmatically
- [x] Loader
- [x] Installer
- [x] add --force option
- [x] Finish install.js
- [x] Finish cjdmaid-start
- [x] Pick out addingData to separate class (refactoring)
- [x] Make install.js not fall if you can't write
- [x] Verify cjdmaid-start
- [x] Publish module
- [x] Add gif image to readme
- [x] Implement JSON with comments
- [x] Port bencode
- [x] Add code to communicate with cjdns admin
- [x] Apply changes without restart using cjdns admin
- [x] Admin commands
- [x] Do a backup before saving cjdroute.conf
- [x] Check for the existence of cjdmaid.conf before installing
- [x] Support subscriptions to channels (streams) in cjdns admin
- [ ] Port features from cjdcmd and contrib/python
- [x] Port dumptable
- [x] Port findnodes
- [ ] Port dynamicEndpoints.py
- [ ] Port pingAll.py
- [x] Port "cjdcmd ping"
- [ ] Port "cjdcmd route"
- [ ] Port "cjdcmd traceroute"
- [ ] Port "cjdcmd ip"
- [ ] Port "cjdcmd peers"
- [ ] Port "cjdcmd host"
- [ ] Port "cjdcmd hostname"
- [ ] Rename to cjdns-maid or cjd-maid or something.
- [x] Add option --index to cjdmaid-addpass
- [ ] More advanced auto backup.
- [ ] fix empty keys is json-comments-js
- [ ] config should be in ~/.config/cjdmaid.conf
- [ ] write tests for lib/config.js
- [x] config option for password length
