diff --git a/CHANGELOG.md b/CHANGELOG.md index c2208f7..26dc0f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,10 @@ This project follows [semantic versioning](http://semver.org). ### UNRELEASED +- [added] Added documentation for daemon config files - [added] Script for performance measurements - [added] Added more tests +- [changed] Daemon now detects network config files on its own - [changed] Using display format for addresses - [changed] Updated dependencies - [changed] New measurements diff --git a/deb/vpncloud/debian/vpncloud.init b/deb/vpncloud/debian/vpncloud.init index 46afbbd..7e1375a 100755 --- a/deb/vpncloud/debian/vpncloud.init +++ b/deb/vpncloud/debian/vpncloud.init @@ -23,7 +23,7 @@ USER=root GROUP=root UMASK=022 -NETWORKS="default" +NETWORKS=$(for net in $(ls $NETCONFIGS); do basename $net .net; done); DAEMON=$(which $NAME) diff --git a/deb/vpncloud/default.net b/deb/vpncloud/default.net index 01bbf04..d26c4a0 100644 --- a/deb/vpncloud/default.net +++ b/deb/vpncloud/default.net @@ -1,20 +1,70 @@ +# Whether this VPN should be started with the daemon. ENABLED=0 +# The address to listen for data. [default: `0.0.0.0:3210`] +# Note: Every VPN needs a different listen address. LISTEN='' + +# Address of a peer to connect to. The address should be in the form +# `addr:port`. If the node is not started, the connection will be retried +# periodically. This parameter can be repeated to connect to multiple peers. +# Note: Several entries can be separated by spaces. PEERS='' +# Peer timeout in seconds. The peers will exchange information periodically +# and drop peers that are silent for this period of time. [default: `1800`] PEER_TIMEOUT='' + +# Switch table entry timeout in seconds. This parameter is only used in switch +# mode. Addresses that have not been seen for the given period of time will +# be forgot. [default: `300`] DST_TIMEOUT='' +# An optional token that identifies the network and helps to distinguish it +# from other networks. NETWORK_ID='' + +# An optional shared key to encrypt the VPN data. If this option is not set, +# the traffic will be sent unencrypted. SHARED_KEY='' + +# The encryption method to use ("aes256", or "chacha20"). Most current CPUs +# have special support for AES256 so this should be faster. For older +# computers lacking this support, only CHACHA20 is supported. +# [default: `chacha20`] CRYPTO='' +# Name of the virtual device. Any `%d` will be filled with a free number. +# [default: `vpncloud%d`] DEVICE='' + +# Set the type of network. There are two options: **tap** devices process +# Ethernet frames **tun** devices process IP packets. [default: `tap`] TYPE='' +# The mode of the VPN. The VPN can like a router, a switch or a hub. A **hub** +# will send all data always to all peers. A **switch** will learn addresses +# from incoming data and only send data to all peers when the address is +# unknown. A **router** will send data according to known subnets of the +# peers and ignore them otherwise. The **normal** mode is switch for tap +# devices and router for tun devices. [default: `normal`] MODE='' + +# The local subnets to use. This parameter should be in the form +# `address/prefixlen` where address is an IPv4 address, an IPv6 address, or a +# MAC address. The prefix length is the number of significant front bits that +# distinguish the subnet from other subnets. Example: `10.1.1.0/24`. +# Note: Several entries can be separated by spaces. SUBNETS='' +# A command to setup the network interface. The command will be run (as +# parameter to `sh -c`) when the device has been created to configure it. +# The name of the allocated device will be available via the environment +# variable `IFNAME`. IFUP='' + +# A command to bring down the network interface. The command will be run (as +# parameter to `sh -c`) to remove any configuration from the device. +# The name of the allocated device will be available via the environment +# variable `IFNAME`. IFDOWN=''