Tim Beatham
f855f53fbf
50-give-client-ability-to-bridge-meshes
...
Client can act as a route bridging meshes. Cient send keepalives
to all of it's peers in the different meshes act as a bridge between
the meshes
2023-12-08 23:56:07 +00:00
Tim Beatham
52feb5767b
Merge pull request #48 from tim-beatham/47-default-routing
...
47 default routing
2023-12-08 20:03:45 +00:00
Tim Beatham
815c4484ee
47-default-routing
...
Implemented default routing and improved size of gossip. Using 64 bit
hash funciton to identify vector.
2023-12-08 20:02:57 +00:00
Tim Beatham
0058c9f4c9
47-default-routing
...
Implementing default routing so that all traffic goes out of an
exit point.
2023-12-08 11:49:24 +00:00
Tim Beatham
92c0805275
Merge pull request #46 from tim-beatham/45-use-statistical-testing
...
45 use statistical testing
2023-12-07 18:20:25 +00:00
Tim Beatham
661fb0d54c
45-use-statistical-testing
...
Keepalive is based on per mesh and not per node.
Using total ordering mechanism similar to paxos to elect a leader
if leader doesn't update it's timestamp within 3 * keepAlive then
give the leader a gravestone and elect the next leader.
Leader is bassed on lexicographically ordered public key.
2023-12-07 18:18:13 +00:00
Tim Beatham
64885f1055
45-use-statistical-testing
...
Using statistical testing to test whether the node has failed.
2023-12-07 01:44:54 +00:00
Tim Beatham
2169f7796f
Merge pull request #44 from tim-beatham/43-gravestones
...
43-use-gravestones
2023-12-06 22:46:05 +00:00
Tim Beatham
a3ceff019d
43-use-gravestones
...
Change of approach from keepalive to a noiseless protocol
2023-12-06 22:45:04 +00:00
Tim Beatham
b78d96986c
Merge pull request #42 from tim-beatham/41-bugfix-fluctuating-ips
...
41 bugfix fluctuating ips
2023-12-06 14:37:14 +00:00
Tim Beatham
1b18d89c9f
41-bugfix-fluctuating-ips
...
Fluctuating ips creating hub and spoke.
2023-12-05 02:00:16 +00:00
Tim Beatham
245a2c5f58
41-bugfix-fluctuating-ips
...
If the node is a peer then add the client in the WG
configuration.
2023-12-04 17:40:24 +00:00
Tim Beatham
c40f7510b8
41-bugfix-fluctuating-ips
...
IPs of clients fluctuating because there isn't a strict order on
clients. Client's need to be processed before the peers.
2023-12-04 17:32:50 +00:00
Tim Beatham
78d748770c
BUGIX Hash client by public key
2023-12-04 17:13:51 +00:00
Tim Beatham
0ff2a8eef9
BUGFIX: Allowed IPs fluctuating
2023-12-04 17:11:37 +00:00
Tim Beatham
fd7bd80485
BUGFIX
...
Don't get device each time it is an expensive operation.
2023-12-04 16:40:15 +00:00
Tim Beatham
3ef1b68ba5
BUGFIX: Hashing datastore to work out changes
...
Changed hashing implementation to work out if there are changes
in the data store
2023-11-30 15:58:26 +00:00
Tim Beatham
b9ba836ae3
Merge pull request #40 from tim-beatham/39-implement-two-phase-map
...
39-implement-two-phase-map
2023-11-30 02:03:36 +00:00
Tim Beatham
650901aba1
39-implement-two-phase-map
...
Implemented my own two phase map based on vector clocks
2023-11-30 02:02:38 +00:00
Tim Beatham
a82eab0686
Bugfix
...
Added replace peers so that deleted nodes are automatically removed
2023-11-28 14:43:55 +00:00
Tim Beatham
32e7e4c7df
main
...
Bugfix. Fixed issue where consistent hashing was not working.
2023-11-28 14:42:09 +00:00
Tim Beatham
1fae0a6c2c
Merge pull request #37 from tim-beatham/36-add-route-path-into-route-object
...
36-add-route-path-into-route-object
2023-11-27 21:03:56 +00:00
Tim Beatham
d8e156f13f
36-add-route-path-into-route-object
...
Added the route path into the route object so that we can
see what meshes packets are routed across.
2023-11-27 18:55:41 +00:00
Tim Beatham
3fca49a1c9
Merge pull request #35 from tim-beatham/34-fix-routing
...
34 fix routing
2023-11-27 16:05:06 +00:00
Tim Beatham
a2517a1e72
34-fix-routing
...
- Added mesh-to-mesh routing of hop count > 1
- If there is a tie-breaker with respect to the hop-count use consistent
hashing to determine the route to take based on the public key.
2023-11-27 15:56:30 +00:00
Tim Beatham
aef8b59f22
32-fix-routing
...
Flooding routes into other meshes a bit like BGP.
2023-11-25 03:15:58 +00:00
Tim Beatham
4030d17b41
Fixed routing issue
2023-11-24 17:49:06 +00:00
Tim Beatham
73db65660b
Merge pull request #33 from tim-beatham/32-incorporate-dns
...
32-incorporate-dns
2023-11-24 15:05:40 +00:00
Tim Beatham
d1a74a7b95
32-incorporate-dns
...
Incorporated a DNS server. A DNS server can be run to resolve host
names.
2023-11-24 15:04:07 +00:00
Tim Beatham
f28ed8260d
Merge pull request #30 from tim-beatham/29-only-ping-clients-who-have-updated-their-config
...
29-only-ping-clients-who-have-updated-their-config
2023-11-24 12:39:14 +00:00
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
11b003b549
Merge pull request #28 from tim-beatham/27-remove-client-grpc-endpoint
...
27-remove-client-grpc-endpoint
2023-11-24 12:08:42 +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
Ubuntu
09c64c4628
Fixed container file
2023-11-22 12:45:01 +00:00
Tim Beatham
2c4f18f52b
Merge pull request #26 from tim-beatham/25-modify-code-to-use-public-api
...
25-modify-code-to-use-public-api
2023-11-22 10:42:48 +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
bf0724f6e5
Merge pull request #24 from tim-beatham/24-keepalive-holepunch
...
24 keepalive holepunch
2023-11-21 21:28:16 +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
0d63cd6624
main
...
Adding words.txt for what words
2023-11-20 18:12:58 +00:00
Tim Beatham
f13319cfc1
Merge pull request #22 from tim-beatham/21-phonetic-words-ipv6
...
21 phonetic words ipv6
2023-11-20 18:08:49 +00:00
Tim Beatham
95f4495b0b
21-phonetic-words-ipv6
...
Simple what 8 words implementation
2023-11-20 18:07:52 +00:00
Tim Beatham
330fa74ef4
IPv6 What 8 Words
...
what 8 words for ipv6 started
2023-11-20 15:22:32 +00:00
Tim Beatham
3e5b57e41f
Merge pull request #20 from tim-beatham/19-hash-wg-interface
...
Hashing the WireGuard interface
2023-11-20 13:04:19 +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
8f211aa116
Merge pull request #18 from tim-beatham/26-performance-testing
...
Stubbing out WireGuard components
2023-11-20 11:29:37 +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