StrangeBox (BT PAN, local server)
aidanbh opened this issue · 4 comments
This issue will be used to track implementation of StrangeBox (though it has separate repo, issue will be here for projects integration).
Requirements:
- Automatically start Bluetooth PAN at startup
- Serve DHCP and DNS over pan
- Use DNS to intercept requests for target domains and route to local server
- Use provided TLS certificates to impersonate the real server (manually copied over for now)
- Expose ability to change system time to end users (can WebYaST be used for this? would be nice to not have our app running as root).
- Have a minimal UI (preferably web accessible) to initiate sync from box to server, or over StrangeNet
@PenguinSnail perhaps we could add the request sync UI to the new server/user management page and then just do regular web requests to the node backend for that?
@PenguinSnail perhaps we could add the request sync UI to the new server/user management page and then just do regular web requests to the node backend for that?
We should be able to schedule replication by adding a document to the _replicator
database
More info here: http://guide.couchdb.org/draft/replication.html
This is definitely doable, the tricky part will be where to specify the location of other database instances/nodes.
Since CouchDB 1.1.0, permanent continuous replications that survive a server restart without you having to do anything can be defined by inserting documents in the replicator database (which by default is named _replicator).
If they will survive restarts, we can just go into fauxton and manually add them on each StrangeBox, since the StrangeNet runs on static IPs and domain names can be used for the server.
I got a basic BT PAN working using the blueman GUI, so we can use that as a worst case fallback. There doesn't seem to be a single cleanly coded script to manage a PAN under bluez 5, so I guess we'll just piece together whats available and we may have to modify some of it. Couldn't get the Windows 10 Surface to work on it though, so that's an issue. Although the surface can just use ethernet.