Tim Beatham
f647c1b806
81-seperate-processes
...
Prep for submission
2024-01-05 16:59:02 +00:00
Tim Beatham
a55dadf088
81-seperate-synchronisation-into-independent-procs
...
- Neaten code
2024-01-05 12:59:13 +00:00
Tim Beatham
59d8ae4334
81-seperate-synchronisation
...
- More code comments
2024-01-04 13:12:07 +00:00
Tim Beatham
dbc18bddc6
74-perform-dad
...
- Performing DAD to check if IPv6 address present before adding
outselves to mesh
- Changing name from wgmesh to smegmesh
2024-01-01 23:55:50 +00:00
Tim Beatham
36e82dba47
72-pull-rate-in-configuration
...
- Refactored pull rate into the configuration
- code freeze so no more code changes
2023-12-31 14:25:06 +00:00
Tim Beatham
fd29af73e3
72-pull-rate-in-configuration
...
- Added pull rate to configuration (finally) so this can
be modified by an administrator.
2023-12-31 12:47:45 +00:00
Tim Beatham
41899c5831
66-improve-graph-dot-tool
...
Improving the graph dot tool so that it shows all
meshes
2023-12-25 01:10:11 +00:00
Tim Beatham
0cc3141b58
61-improve-unit-testing-coverage
...
- Added missing files to commit
2023-12-22 21:49:47 +00:00
Tim Beatham
2dc89d171b
55-cli-optionifor-peer-type
...
- Ability to specify WireGuard keepalive in the CLI formatter
- Ability to specify publicly routeable endpoint
- Ability to specify whether to advetise routes into the mesh,
and whether to advertise default routes.
2023-12-12 11:58:47 +00:00
Tim Beatham
3222d7e388
main - adding WireGuard stats to JSON objects
...
- Adding WireGuard stats through to IPC calls so that they can be used
by the API
2023-12-11 09:55:25 +00:00
Tim Beatham
a5074a536e
main - BUGFIX
...
- segfault BUGFIX
2023-12-10 22:31:24 +00:00
Tim Beatham
fe14f63217
53-run-commands-pre-up-and-post-down
...
- Ability to run a command pre up and post down
- Ability to be a client in one mesh and a peer in the other
- Added dev card to specify different sync rate, keepalive rate per
mesh.
2023-12-10 19:21:54 +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
aef8b59f22
32-fix-routing
...
Flooding routes into other meshes a bit like BGP.
2023-11-25 03:15:58 +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
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
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
5f176e731f
Developed a rest API
2023-11-13 10:44:14 +00:00
Tim Beatham
1a864b7c80
Removed interface manipulation via os.Exec into
...
rtnetlink calls
2023-11-07 19:48:53 +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
e56780fdd4
Added ability to query the JSON data store
2023-10-30 19:02:28 +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
8e89281484
Tested with large number of nodes
2023-10-24 00:12:38 +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
Tim Beatham
c4dc984fc7
Added ability to detect if a node should be removed from the mesh.
2023-10-21 18:08:45 +01:00
Tim Beatham
976dbf2613
Automatically remove nodes from the mesh after a
...
certain threshold.
2023-10-20 17:35:02 +01:00
Tim Beatham
c200544cee
Timer in go that syncs with random nodes in the mesh every
...
given time interval.
2023-10-20 12:41:06 +01:00
Tim Beatham
ec87afc235
Added sync
2023-10-10 20:14:40 +01:00
Tim Beatham
e729c5b181
CRDTs fully incorporated
2023-10-06 18:25:38 +01:00
Tim Beatham
47e260e310
Incorporated automerge
2023-10-06 11:52:51 +01:00
Tim Beatham
81e2d16316
Implementing CRDTs
2023-10-06 10:12:46 +01:00
Tim Beatham
923ca716ec
Automerge changes
2023-10-05 17:48:54 +01:00
Tim Beatham
a069b89a9a
Refactored client and server and interfaced out dependencies
2023-10-02 16:03:41 +01:00
Tim Beatham
52e5e3d33c
JWT Authentication endpoint
2023-10-01 20:14:09 +01:00
Tim Beatham
94afd68460
Implemented JWT authentication
2023-10-01 19:01:35 +01:00
Tim Beatham
c819bec63d
Interfaced problem out
2023-09-29 15:00:20 +01:00