-
Notifications
You must be signed in to change notification settings - Fork 77
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 57a49ac
Showing
159 changed files
with
31,671 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
vtrunkd (c) 2015-2016 Vrayo Systems Ltd. team (http://vrayo.com) | ||
|
||
Author of vtrunkd core algorithm is Andrew Gryaznov <[email protected]> | ||
with help of Andrey Kuznetsov <[email protected]> | ||
|
||
Author of the original vtun package is Maxim Krasnyansky <[email protected]>. | ||
|
||
A lot of thanks to the following people for their suggestions and | ||
contributions (original vtun): | ||
|
||
Gayaneh Krasnyanskaya(Max's Wife) <[email protected]> | ||
Initial Web site creation. And a lot of other help :))) | ||
|
||
Alex Korenkov <[email protected]> | ||
Testing, bug reports. | ||
|
||
Shukhrat Zakhidov <[email protected]> | ||
Testing, bug reports, suggestions. | ||
|
||
Dag Wieers <[email protected]> | ||
Initial RPM packager specification file. | ||
RedHat startup script. | ||
Several bug reports. | ||
SOCKS support suggestions. | ||
|
||
Ted Rolle <[email protected]> | ||
Spelling fixes. | ||
|
||
Craig Sanders <[email protected]> | ||
Debian startup script. | ||
|
||
Catalin Ciocoiu <[email protected]> | ||
Reported compilation problems. | ||
|
||
Timur Danyarhojaev <[email protected]> | ||
Added client source address option. | ||
|
||
Andreas Kainz <[email protected]> | ||
RPM package improvements. | ||
|
||
Chris Todd <[email protected]> | ||
Idea of challenge based authentication. | ||
Initial BlowFish encryption code. | ||
Suggestions. | ||
|
||
Garet Krampe <[email protected]> | ||
A lot of great ideas. Mailing list. | ||
Web site mirror. | ||
|
||
Denis Zapolsky <[email protected]> | ||
Testing. | ||
|
||
Vadim Zaliva <[email protected]> | ||
Solaris patches. Suggestions. | ||
|
||
Hurricane Floyd <[email protected]> | ||
Max had several vacations. | ||
Bishop had no power or water, and was able | ||
to experience the Third World. | ||
:))))))))))))))))))) | ||
|
||
James B. MacLean <[email protected]> | ||
Client persist mode fix. Suggestions. | ||
|
||
Paul <[email protected]> | ||
Stress tests, bug reports, suggestions. | ||
|
||
Maksim Yevenkin <[email protected]> | ||
TAP driver for FreeBSD. | ||
|
||
Anthon Walters <[email protected]> | ||
Web site mirror. Testing. Initial FAQ. | ||
|
||
Ryan Defelice <[email protected]> | ||
OpenBSD package maintainer. Provided OpenBSD server for | ||
development and testing | ||
|
||
Alexander Bergolth <[email protected]> | ||
Initial multiple connection handling and host lock functionalities. | ||
Improvements and fixes of source address option. Incorrect error | ||
handling fix. Ideas. Suggestions. | ||
|
||
Hubert Feyrer <[email protected]> | ||
NetBSD package. | ||
|
||
Hiroharu Tamaru <[email protected]> | ||
Updated FreeBSD 4.0 TUN driver support. | ||
|
||
Terry Donaldson <[email protected]> | ||
Provided Solaris 8.0 server for development and testing. | ||
|
||
Daniel Podlejski <[email protected]> | ||
TUN/TAP driver modifications for 2.3.99-pre5 kernel. | ||
|
||
Michael Tokarev <[email protected]> | ||
File descriptors and memory leaks fix. | ||
Tons of other bug fixes and patches. Suggestions. Ideas. | ||
|
||
Xavier <[email protected]> | ||
European web site mirror. | ||
|
||
Chris Snell <[email protected]> | ||
Mailing list archives. | ||
|
||
Robert Stone <[email protected]> | ||
Security enhancements. Suggestions. Ideas. | ||
Encryption and other subsystems rework for 3.X. | ||
|
||
Steinar H. Gunderson <[email protected]> | ||
Tons of stability fixes and problem reports. | ||
Ideas and suggestions. | ||
|
||
Yan Seiner <[email protected]> | ||
Testing. Bug reports. Suggestions. | ||
|
||
James Yonan <[email protected]> | ||
Encryption and other fixes. Suggestions. | ||
|
||
Greg Olszewski <[email protected]> | ||
Config parser and other fixes. Suggestions. | ||
|
||
Kevin P. Fleming <[email protected]> | ||
Makefile and config parser enhancement. | ||
Other minor fixes and suggestions. | ||
|
||
Robert R. Wal <[email protected]> | ||
Added support for iproute command. | ||
|
||
Willems Luc <[email protected]> | ||
Initial SuSE packaging. Testing. | ||
|
||
Nickolai Zeldovich <[email protected]> | ||
mlockall() support to prevent VM collapse. | ||
|
||
Dale Fountain <[email protected]> | ||
Added multiple cipher support. | ||
Added multiple cipher modes support. | ||
Added support for different sized keys. | ||
Re-sync ciphers when using non-ECB modes over a UDP connection. | ||
Fixed Bug#908824 (persist=keep not re-applying routes) | ||
|
||
Alan Grow <agrow-at-thegotonerd.com> | ||
Added a Listening Address/Interface (rfe936523) | ||
Cleaned up the code around that portion of the config. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
System requirements: | ||
|
||
- Linux. Kernel 2.6.25+ recommended | ||
- Additional software: | ||
bison | ||
flex | ||
zlib-dev | ||
liblzo-dev | ||
libssl-dev | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
# | ||
# vtrunkd - Virtual Tunnel Trunking over TCP/IP network. | ||
# | ||
# Copyright (C) 2011-2016 Vrayo Systems Ltd. team | ||
# | ||
# Vtrunkd has been derived from VTUN package by Maxim Krasnyansky. | ||
# vtun Copyright (C) 1998-2000 Maxim Krasnyansky <[email protected]> | ||
# | ||
# This program is free software; you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation; either version 2 of the License, or | ||
# (at your option) any later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU General Public License for more details. | ||
# | ||
# Makefile.in,v 1.6.2.4.2.1 2006/11/16 04:03:44 mtbishop Exp | ||
# | ||
|
||
VERSION=\"$(shell git describe --abbrev=4 --dirty --always)\" | ||
CC = @CC@ | ||
CFLAGS = @CFLAGS@ @CPPFLAGS@ -W | ||
LDFLAGS = @LIBS@ -lm | ||
|
||
YACC = @YACC@ | ||
YACCFLAGS = -d | ||
|
||
LEX = @LEX@ | ||
LEXFLAGS = -t | ||
|
||
INSTALL = @INSTALL@ | ||
INSTALL_OWNER = -o root -g 0 | ||
|
||
prefix = @prefix@ | ||
exec_prefix = @exec_prefix@ | ||
|
||
SBIN_DIR = @sbindir@ | ||
MAN_DIR = @mandir@ | ||
ETC_DIR = @sysconfdir@ | ||
VAR_DIR = @localstatedir@ | ||
|
||
PID_FILE = ${VAR_DIR}/run/vtrunkd.pid | ||
CFG_FILE = ${ETC_DIR}/vtrunkd.conf | ||
STAT_DIR = ${VAR_DIR}/log/vtrunkd | ||
LOCK_DIR = ${VAR_DIR}/lock/vtrunkd | ||
|
||
DEFS = -DVTUN_CONFIG_FILE=\"$(CFG_FILE)\" -DVTUN_PID_FILE=\"$(PID_FILE)\" \ | ||
-DVTUN_STAT_DIR=\"$(STAT_DIR)\" -DVTUN_LOCK_DIR=\"$(LOCK_DIR)\" \ | ||
-DVERSION_NUMBER=$(VERSION) | ||
|
||
OBJS = main.o cfg_file.tab.o cfg_file.lex.o server.o client.o lib.o \ | ||
frame_llist.o llist.o auth.o tunnel.o lock.o netlib.o \ | ||
tun_dev.o tap_dev.o pty_dev.o pipe_dev.o \ | ||
tcp_proto.o udp_proto.o log.o \ | ||
linkfd.o lfd_shaper.o lfd_zlib.o lfd_lzo.o lfd_encrypt.o speed_algo.o timer.o packet_code.o udp_states.o pid.o | ||
|
||
CONFIGURE_FILES = Makefile config.status config.cache config.h config.log | ||
|
||
%.o: %.c vtun.h lib.h log.h | ||
$(CC) $(CFLAGS) $(DEFS) -c $< | ||
|
||
all: vtrunkd vshm_start_debug get_cong_status | ||
|
||
vtrunkd: $(OBJS) | ||
$(CC) $(CFLAGS) -o vtrunkd $(OBJS) $(FSSOBJS) $(LFD_OBJS) $(LDFLAGS) | ||
|
||
vshm_start_debug: $(OBJS) | ||
$(CC) $(CFLAGS) -o vshm_debug_enable vshm_start_debug.c $(LDFLAGS) | ||
|
||
get_cong_status: $(OBJS) | ||
$(CC) $(CFLAGS) -o get_cong_status get_cong_status.c $(LDFLAGS) | ||
|
||
cfg_file.tab.c: cfg_file.y cfg_kwords.h config.h | ||
$(YACC) $(YACCFLAGS) -b cfg_file cfg_file.y | ||
|
||
cfg_file.lex.c: cfg_file.l cfg_kwords.h config.h | ||
$(LEX) $(LEXFLAGS) cfg_file.l > cfg_file.lex.c | ||
|
||
depend: | ||
makedepend -- $(CFLAGS) -- *.c | ||
|
||
clean: | ||
rm -f core cfg_file.tab.* cfg_file.lex.* *.o *~ *.bak vtrunkd vshm_debug_enable get_cong_status | ||
|
||
distclean: clean | ||
rm -f $(CONFIGURE_FILES) | ||
rm -f `cat vtun.drivers` | ||
|
||
install_man: | ||
$(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(MAN_DIR)/man8 | ||
$(INSTALL) -m 644 $(INSTALL_OWNER) vtrunkd.8 $(DESTDIR)$(MAN_DIR)/man8 | ||
$(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(MAN_DIR)/man5 | ||
$(INSTALL) -m 644 $(INSTALL_OWNER) vtrunkd.conf.5 $(DESTDIR)$(MAN_DIR)/man5 | ||
rm -f $(DESTDIR)$(MAN_DIR)/man8/vtrunkd.8 | ||
ln -s vtrunkd.8 $(DESTDIR)$(MAN_DIR)/man8/vtrunkd.8 | ||
|
||
install_config: | ||
$(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(ETC_DIR) | ||
if [ ! -f $(ETC_DIR)/vtrunkd.conf ]; then \ | ||
$(INSTALL) -m 600 $(INSTALL_OWNER) vtrunkd.conf $(DESTDIR)$(ETC_DIR)/; \ | ||
fi | ||
#if [ ! -f $(ETC_DIR)/vtrunkd-srv.test.conf ]; then \ | ||
# $(INSTALL) -m 600 $(INSTALL_OWNER) test/vtrunkd-srv.test.conf $(DESTDIR)$(ETC_DIR)/; \ | ||
#fi | ||
#if [ ! -f $(ETC_DIR)/vtrunkd-cli.test.conf ]; then \ | ||
# $(INSTALL) -m 600 $(INSTALL_OWNER) test/vtrunkd-cli.test.conf $(DESTDIR)$(ETC_DIR)/; \ | ||
#fi | ||
install_scripts: | ||
#if [ ! -f $(prefix)/cli.sh ]; then \ | ||
# $(INSTALL) -m 755 $(INSTALL_OWNER) test/cli.sh $(DESTDIR)$(prefix)/; \ | ||
#fi | ||
#if [ ! -f $(prefix)/srv.sh ]; then \ | ||
# $(INSTALL) -m 755 $(INSTALL_OWNER) test/srv.sh $(DESTDIR)$(prefix)/; \ | ||
#fi | ||
|
||
|
||
install: vtrunkd install_config install_man install_scripts | ||
$(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(VAR_DIR)/run | ||
$(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(STAT_DIR) | ||
$(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(LOCK_DIR) | ||
$(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(SBIN_DIR) | ||
$(INSTALL) -m 755 $(INSTALL_OWNER) vtrunkd $(DESTDIR)$(SBIN_DIR)/ | ||
|
||
# DO NOT DELETE THIS LINE -- make depend depends on it. | ||
remove: remove_config remove_start_bin remove_docs | ||
|
||
remove_config: | ||
rm -f $(DESTDIR)$(ETC_DIR)/vtrunkd* | ||
remove_start_bin: | ||
rm -f $(DESTDIR)$(prefix)/srv.sh | ||
rm -f $(DESTDIR)$(prefix)/cli.sh | ||
rm -f $(DESTDIR)$(prefix)/sbin/vtrunkd | ||
remove_docs: | ||
rm -f $(DESTDIR)$(MAN_DIR)/man5/vtrunkd.conf.5 | ||
rm -f $(DESTDIR)$(MAN_DIR)/man8/vtrunkd.8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
vtrunkd - universal network link bonding and multichannel VPN. | ||
Copyright (C) 2011-2016 Vrayo Systems Ltd. team | ||
|
||
Vtrunkd is a Linux VPN daemon used to combine several connection paths | ||
into one aggregated channel. Features latency, reordering and jitter | ||
management, behaviour analysis optimizations for encapsulated protocols, | ||
bufferbloat control, packet redundancy, and multiple cpu cores utilization. | ||
Up to 30 heterogenous links bonding supported. Used for live streaming, | ||
LTE/3G/Wi-Fi link bonding. 32/64-bit, x86, MIPS and ARM supported. | ||
Supports python plug-ins for new algorithms implementation. | ||
|
||
Based on original package vtun - Copyright (C) 1998-2004 | ||
Maxim Krasnyansky <[email protected]> | ||
|
||
This product includes software developed by the OpenSSL Project | ||
for use in the OpenSSL Toolkit. (http://www.openssl.org/). | ||
Copyright (c) 1998-2004 The OpenSSL Project. All rights reserved. | ||
|
||
Compilation and Installation: | ||
|
||
In order to compile VTun you need several software packages. | ||
Required packages: | ||
- Good C compiler (gcc, egcs, etc) | ||
- GNU Make (make) | ||
- GNU libtool (libtool) | ||
- Lexical Analyzer (flex, lex) | ||
- YACC (yacc, bison, byacc) | ||
- Universal TUN/TAP driver http://vtun.sourceforge.net/tun | ||
|
||
On ubuntu, run: | ||
$ sudo apt-get install build-essential flex bison | ||
|
||
To configure run: | ||
./configure | ||
|
||
To compile and install run: | ||
make install | ||
|
||
If you have any suggestions, ideas, wishes send them to | ||
Andrew Gryaznov | ||
[email protected], | ||
https://www.linkedin.com/in/grandrew | ||
|
||
vtrunkd and vtrunkd algorithm (C) Andrew Gryaznov | ||
Vtun (c) Maxim Krasnyansky |
Oops, something went wrong.