Categorygithub.com/wstrm/elvisp
repositorypackage
2.0.0-beta+incompatible
Repository: https://github.com/wstrm/elvisp.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

Elvisp

Elvisp (Work in Progress) Build Status

Elvisp distributes a public IPv6 address in a cjdns-based IP tunnel using the public key that each user provides. It will add the user's assigned address with cjdns' admin API. Elvisp then returns the public key for the cjdns instance that acts like the tunnel.

Flags

Usage of ./elvisp:
  -cidr value
    	CIDR to use for IP leasing, use flag repeatedly for multiple CIDR's.
  -cjdns-ip string
    	IP address for cjdns admin. (default "127.0.0.1")
  -cjdns-password string
    	Password for cjdns admin.
  -cjdns-port int
    	Port for cjdns admin. (default 11234)
  -db string
    	Directory to use for the database. (default "/tmp/elvisp-db")
  -listen string
    	Listen address for TCP. (default ":4132")
  -password string
    	Password for administrating Elvisp.
  -v	Print current version and exit.

Example:

./elvisp -cidr 192.168.1.0/24 -cidr 1234::0/16 -cidr 172.16.0.0/12 -cjdns-password 6c12zbnNoThisIsntMyRealPasswordn7x1

Which will add the users / nodes to subnets:

  • 192.168.1.0/24
  • 1234::0/16
  • 172.16.0.0/12

So the first user will get:

  • 192.168.1.1
  • 1234::1
  • 172.16.0.1

Supported cjdns versions

Elvisp requires the follwing cjdns admin methods:

  • IpTunnel_allowConnection
  • IpTunnel_listConnections
  • IpTunnel_showConnection
  • IpTunnel_removeConnection
  • NodeStore_nodeForAddr

Note: IpTunnel_removeConnection was first implemented with commit acbb6a8 into the crashey branch. As of 2016-06-16 it has not been merged into the master branch.

Elvisp works with (kinda):

Cjdns version: cjdns-v17.3-129-g116fa2a
Cjdns protocol version: 17

Documentation