Add patch to fix a lintian warning
[anytun.git] / README
diff --git a/README b/README
index b7168e2..8eb9c3b 100644 (file)
--- a/README
+++ b/README
 Dependencies
 ============
 
-Anytun can be built by using either libgcrypt or the openssl-crypto library. 
-The latter is more performant in most cases but there are some license 
+Anytun can be built by using either libgcrypt, libnettle or the openssl-crypto
+library. The latter is more performant in most cases but there are some license
 issues when using this library.
 
 Linux
 -----
+(this includes Debian with FreeBSD Kernel)
 
 using libgcrypt:
   libgcrypt11-dev
 
-using ssl crypto lib:
+using ssl crypto library:
   libssl-dev
 
+using nettle crypto library:
+  nettle-dev
+
 common:
   build-essential
-  libboost-serialization1.35-dev
-  libboost-thread1.35-dev
-  libboost-system1.35-dev
-  libboost-regex1.35-dev
-  asciidoc (only for manpage)
+  libboost-serialization-dev
+  libboost-thread-dev
+  libboost-system-dev
+  libboost-regex-dev
+
+if you want clang as compiler
+  clang
+
+if you want to rebuild the manpage:
+  asciidoc
+
+
+Freebsd
+-------
+
+using libgcrypt:
+   security/libgcrypt
+
+using ssl crypto lib:
+   <nothing here>
+
+common:
+   devel/boost (boost-libs on newer versions of the ports tree)
+   devel/gmake
+
+if you want to rebuild the manpage:
+ textproc/asciidoc
+ textproc/libxslt
+ textproc/docbook-xsl
+ sysutils/readlink
+ misc/getopt
+
 
 
 Windows
 -------
-OpenSSL
- Developer: 
-       http://www.slproweb.com/download/Win32OpenSSL-0_9_8j.exe
 
- Runtime Only: 
-       http://www.slproweb.com/download/Win32OpenSSL_Light-0_9_8j.exe
-  
-Boost 1.35: 
-       http://www.boostpro.com/download/boost_1_35_0_setup.exe
+ Crosscompiling with MinGW under Debian/Ubuntu:
+ ----------------------------------------------
+
+  # sudo apt-get install mingw-w64
+  # cd contrib/
+  # ./build-boost-mingw-cross.sh
+  # ./build-openssl-mingw-cross.sh
+  # ./build-anytun-mingw-cross.sh
+
+  The compiled binaries can be found in anytun-w32 and anytun-w64 (32 and 64Bit).
+  You can create a ZIP archive containing all needed files by calling:
+
+  # ./make-mingw-release.sh
+
+
+ Using MS Visual C++:
+ --------------------
+  OpenSSL
+   Developer:
+    http://www.slproweb.com/download/Win32OpenSSL-1_0_1h.exe
+
+   Runtime Only:
+    http://www.slproweb.com/download/Win32OpenSSL_Light-1_0_1h.exe
+
+  Boost
+    http://sourceforge.net/projects/boost/files/boost-binaries/
+
+    As it can take some time to install everything from boost here is a
+    complete list of libraries which have to be installed in order to build anytun:
 
-  As it can take some time to install everything from boost here is a 
-  complete list of libraries which have to be installed in order to build anytun:
-   
-   * Serialization
-   * Thread 
-   * date_time
-   * System
-   * regex
+     * Serialization
+     * Thread
+     * date_time
+     * System
+     * regex
+
+  Microsoft Visual C++ 2008 Redistributable Package (x86):
+    http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF
 
-Microsoft Visual C++ 2008 Redistributable Package (x86):
-       http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF
 
 
 
 Installation
 ============
 
-Getting the source via subversion:
-----------------------------------
-svn co http://anytun.org/svn/anytun/
+Getting the source via GIT:
+---------------------------
+
+git clone https://git.spreadspace.org/anytun/anytun.git
+cd anytun
 
 Building from source
 --------------------
@@ -72,11 +124,75 @@ using ssl crypto library:
  # make
 
 
-Notes: 
+Notes:
   - try './configure --help' for further information
   - if using openssl pre 0.9.8 you have to disable passphrase
     because openssl had no SHA256 implementation prior to this
     version
+  - on FreeBSD you have to use gmake instead of make
+  - the FreeBSD port has some issues concering daemonizing and signal handling
+
+Installing
+----------
+
+# sudo make install
+
+This will install anytun under the --prefix defined with configure.
+
+
+Uninstalling
+------------
+
+# sudo make remove
+
+This removes everything except for the config files
+
+# sudo make purge
+
+This also removes the config files
+
+
+
+Usage:
+======
+
+init.d script
+-------------
+
+The init.d script can be used to start anytun at boot time. It searches for
+configuration files which reside at $CONFIG_DIR. For each instance of anytun
+which should be started there must be a directory containing at least a file
+named config. This file must contain all command line parameter which should
+be used when starting the daemon. One line for each parameter. Empty lines and
+lines starting with # are ignored. Besides the config file there may be a script
+named post-up.sh which will be called when the tun/tap device comes up.
+Furthermore there may be a directory called conf.d containing config files for
+anytun-config. The syntax of this files is quite the same as those for anytun.
+These files are used to configure a multi connection setup using anytun-config
+and anytun-controld
+This is an example of how the script can be used to start anytun:
+
+# /etc/init.d/anytun start client1 p2p-a
+
+In this case the script will start 2 instances of anytun using the config files
+$CONFIG_DIR/client1/config and $CONFIG_DIR/p2p-a/config.
+If no instance name is specified the script will use the file $CONFIG_DIR/autostart
+to determine which instances to start or stop. This file must contain a list
+of instance names which should be used when no names are specified at the command
+line. One line for each name. Empty lines and lines starting with # are ignored.
+
+
+systemd usage
+-------------
+
+Using the provided service units, anytun can now be started and managed via Systemd.
+As with the init.d script, each VPN or anytun instance, identified by it's $vpnname,
+ needs it's own configuration subdirectory. E.g.:  ${PREFIX}/etc/anytun/${vpnname}/.
+For each such CLIENT instance, use the following command to enable it:
+
+# systemctl enable anytun@${vpnname}.service
+
+Manually start and stop instances by replacing enable with start or stop.
 
 
 Errors: