Layer2 version of wireguard with Floyd Warshall implement in go.
Go to file
Jason A. Donenfeld 099219be2a Align 64-bit atomics
64-bit varibles that are accessed using the Go atomic functions must be
8-byte aligned on 32-bit platforms. Otherwise there are crashes.
2018-04-18 06:54:21 +02:00
ratelimiter Use relative imports 2018-02-12 23:49:41 +01:00
tai64n Use relative imports 2018-02-12 23:49:41 +01:00
tests Moved test-processes to background 2018-02-11 23:31:53 +01:00
xchacha20poly1305 Use relative imports 2018-02-12 23:49:41 +01:00
.gitignore Added binary to .gitignore 2018-01-31 10:11:36 +01:00
bind_test.go Begin work on full device<->device unit-test 2018-03-08 16:44:46 +01:00
build.cmd Align with go library layout 2018-02-04 16:08:26 +01:00
conn_default.go Align with go library layout 2018-02-04 16:08:26 +01:00
conn_linux.go Align with go library layout 2018-02-04 16:08:26 +01:00
conn.go Seperated fwmark update code into function 2018-02-18 20:49:03 +01:00
constants.go Fix timer typo 2018-02-18 20:58:43 +01:00
cookie_test.go Align with go library layout 2018-02-04 16:08:26 +01:00
cookie.go Use relative imports 2018-02-12 23:49:41 +01:00
COPYING Initial scaffolding 2017-05-30 00:13:20 +02:00
daemon_darwin.go Align with go library layout 2018-02-04 16:08:26 +01:00
daemon_linux.go Align with go library layout 2018-02-04 16:08:26 +01:00
daemon_windows.go Fixed tabs 2018-02-11 19:02:50 +01:00
device_test.go Begin work on full device<->device unit-test 2018-03-08 16:44:46 +01:00
device.go Use relative imports 2018-02-12 23:49:41 +01:00
endpoint_test.go Begin work on full device<->device unit-test 2018-03-08 16:44:46 +01:00
helper_test.go Align with go library layout 2018-02-04 16:08:26 +01:00
index.go Align with go library layout 2018-02-04 16:08:26 +01:00
ip.go Align with go library layout 2018-02-04 16:08:26 +01:00
kdf_test.go Align with go library layout 2018-02-04 16:08:26 +01:00
keypair.go Align 64-bit atomics 2018-04-18 06:54:21 +02:00
logger.go Align with go library layout 2018-02-04 16:08:26 +01:00
main.go Align with go library layout 2018-02-04 16:08:26 +01:00
Makefile Align with go library layout 2018-02-04 16:08:26 +01:00
misc.go Align with go library layout 2018-02-04 16:08:26 +01:00
noise_test.go Align with go library layout 2018-02-04 16:08:26 +01:00
noise-helpers.go Go treats underscores specially 2018-02-07 18:59:41 +01:00
noise-protocol.go Use relative imports 2018-02-12 23:49:41 +01:00
noise-types.go Go treats underscores specially 2018-02-07 18:59:41 +01:00
peer.go Align 64-bit atomics 2018-04-18 06:54:21 +02:00
README.md MPLv2 for App Store 2018-02-13 19:43:47 +01:00
receive.go Begin work on full device<->device unit-test 2018-03-08 16:44:46 +01:00
replay_test.go Moved tai64n into sub-package 2018-02-11 19:25:33 +01:00
replay.go Align with go library layout 2018-02-04 16:08:26 +01:00
routing.go Align with go library layout 2018-02-04 16:08:26 +01:00
send.go Work on logging format 2018-02-04 19:18:44 +01:00
signal.go Work on logging format 2018-02-04 19:18:44 +01:00
timer.go TUN status hack was causing spam during shutdown 2018-02-11 23:26:54 +01:00
timers.go TUN status hack was causing spam during shutdown 2018-02-11 23:26:54 +01:00
trie_rand_test.go Align with go library layout 2018-02-04 16:08:26 +01:00
trie_test.go Align with go library layout 2018-02-04 16:08:26 +01:00
trie.go Align with go library layout 2018-02-04 16:08:26 +01:00
tun_darwin.go Align with go library layout 2018-02-04 16:08:26 +01:00
tun_linux.go Support nopi mode 2018-02-28 19:58:51 +01:00
tun_windows.go Align with go library layout 2018-02-04 16:08:26 +01:00
tun.go TUN status hack was causing spam during shutdown 2018-02-11 23:26:54 +01:00
uapi_darwin.go Fixed tabs 2018-02-11 19:02:50 +01:00
uapi_linux.go Align with go library layout 2018-02-04 16:08:26 +01:00
uapi_windows.go Fixed tabs 2018-02-11 19:02:50 +01:00
uapi.go Seperated fwmark update code into function 2018-02-18 20:49:03 +01:00

Do not use this Go code.

This is not a complete implementation of WireGuard. If you're interested in using WireGuard, use the implementation for Linux found here and described on the main wireguard website. There is no group of users that should be using the code in this repository here under any circumstances at the moment, not even beta testers or dare devils. It simply isn't complete. However, if you're interested in assisting with the Go development of WireGuard and contributing to this repository, by all means dig in and help out. But users: stay far away, at least for now.


Go Implementation of WireGuard

This is a work in progress for implementing WireGuard in Go.

License

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.

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.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

---------------------------------------------------------------------------
Additional Permissions For Submission to Apple App Store: Provided that you
are otherwise in compliance with the GPLv2 for each covered work you convey
(including without limitation making the Corresponding Source available in
compliance with Section 3 of the GPLv2), you are granted the additional
the additional permission to convey through the Apple App Store
non-source executable versions of the Program as incorporated into each
applicable covered work as Executable Versions only under the Mozilla
Public License version 2.0 (https://www.mozilla.org/en-US/MPL/2.0/).