Tim Beatham
2c406718df
29-only-ping-clients-who-have-updated-their-config
...
Only consider clients who have updated their config when synchronising
with peers. Consider a dead time where we don't have a handshake and
a prune time when we remove them from the WireGuard configuration.
2023-11-24 12:37:54 +00:00
Tim Beatham
7be11dbaa3
27-remove-client-grpc-endpoint
...
Removed a client's grpc endpoint value. Client's aren't publicly
available so there is no need for a client's gRPC endpoint.
Also changed a node ID's to their public key. A node id's public
address is an issue for mobility of clients as their endpoint
is subject to change
2023-11-24 12:07:03 +00:00
Tim Beatham
e7ac8c5542
Only updating WireGuard config if node exists
2023-11-22 13:08:02 +00:00
Tim Beatham
4c54022f63
25-modify-code-to-use-public-api
...
Modify the code to use a public IP address by default if none is
specified
2023-11-22 10:41:54 +00:00
Tim Beatham
624bd6e921
24-keepalive
...
Persistent keep alive working
2023-11-21 21:26:31 +00:00
Tim Beatham
7b939e0468
24-keepalive-holepunch
...
Added the ability to hole punch NAT
2023-11-21 20:42:43 +00:00
Tim Beatham
6e201ebaf5
24-keepalive-holepunch
...
Nodes acting as peers and nodes acting as clients
2023-11-21 16:42:49 +00:00
Tim Beatham
06542da03c
main
...
Fixed problems with timestamp not updating
2023-11-21 13:31:34 +00:00
Tim Beatham
b179cd3cf4
Hashing the WireGuard interface
...
Hashing the interface and using ephmeral ports so that the admin doesn't
choose an interface and port combination. An administrator can alteranatively
decide to provide port but this isn't critical.
2023-11-20 13:03:42 +00:00
Tim Beatham
388153e706
Stubbing out WireGuard components
...
Stubbing our WireGuard components so that I can use docker/podman
network_mode=host. This is much more efficient than the docker/podman
userspace network.
2023-11-20 11:28:12 +00:00
Tim Beatham
36c264b38e
25-ability-aliases
...
Fixed unit tests failing
2023-11-17 22:18:53 +00:00
Tim Beatham
68db795f47
Ability to specify aliases
...
Ability to specify aliases that automatically append to /etc/hosts
2023-11-17 22:13:51 +00:00
Tim Beatham
f6160fe138
Adding aliases that automatically gets added
2023-11-17 19:13:20 +00:00
Tim Beatham
1a864b7c80
Removed interface manipulation via os.Exec into
...
rtnetlink calls
2023-11-07 19:48:53 +00:00
Tim Beatham
acbeb689b5
Prune nodes if they exceed their timeout time
2023-11-06 13:37:28 +00:00
Tim Beatham
c88012cf71
Added health system to count how many times a node
...
fails to conenct.
2023-11-06 09:54:06 +00:00
Tim Beatham
9454d62417
Adding stubs and writing tests
2023-11-05 18:03:58 +00:00
Tim Beatham
d462d95d6d
Ability for each node to set their description describing what
...
service they provide.
2023-11-01 11:58:10 +00:00
Tim Beatham
e63edea763
Fixing an issue where packets are dropped each time
...
we change wg configuration
2023-11-01 10:39:46 +00:00
Tim Beatham
579426e32d
Tidied up code, made changes for benchmarking.
2023-10-30 16:49:02 +00:00
Tim Beatham
472718c9a3
Standardising filenames, interfacing out
...
for tests and modifying network device
manipulation
2023-10-28 16:38:25 +01:00
Tim Beatham
5757d81a81
Advertising routes into the mesh
2023-10-27 17:49:18 +01:00
Tim Beatham
4c6bbcffcd
Interfacing out components for unit testing
2023-10-26 16:53:12 +01:00
Tim Beatham
c205be6748
Implemented the forwarding of packets between meshes
2023-10-25 18:34:38 +01:00
Tim Beatham
180f5e226c
Ability to be in multiple meshes and refactored consensus
2023-10-24 16:00:46 +01:00
Tim Beatham
360f9d3c54
Few refactorings of managing the mesh and a graph
...
visualisation tool for seeing the state of a mesh.
2023-10-22 13:34:49 +01:00