Commit Graph

69 Commits (b23f952e79b7a2327093eab3738d7f3ca583af30)

Author SHA1 Message Date
Jake McGinty 7bc1033b58 meta: cargo clippy 2021-06-16 20:34:53 +09:00
Jake McGinty d8513d3d54 meta: release v1.4.0-beta.3 2021-06-16 20:28:52 +09:00
Jake McGinty 1aed782683 client: tighten some error types and apply helptext to io::Error 2021-06-16 20:26:01 +09:00
Jake McGinty 93b4b0b43c meta: release v1.4.0-beta.2 2021-06-14 23:53:02 +09:00
Jake McGinty 2fa7524def client: add list-cidrs function
Closes #99
2021-06-14 18:50:21 +09:00
Jake McGinty 647ec7ca3e shared: proactively create invite file to ensure we have permission
This won't clean up an empty file if a later step fails, but this
is still better than the previous solution.

Closes #91
2021-06-14 18:15:31 +09:00
Jake McGinty 3a1f5cab6b meta: release v1.4.0-beta.1 2021-06-14 15:54:50 +09:00
Jake McGinty 449b4b8278
client: support running as non-root (#94)
shared(wg): use netlink instead of execve calls to "ip"
hostsfile: write to hostsfile in-place
2021-06-10 22:57:47 +09:00
Jake McGinty 8017539f82 client, server: fix RPM build issue. 2021-06-01 01:30:40 +09:00
Jake McGinty ba0b062ce9 meta: release v1.3.1 2021-06-01 00:58:09 +09:00
Jake McGinty b7f299c147 meta: cargo update & clippy 2021-06-01 00:22:48 +09:00
Jake McGinty 042881cc7d client, server: don't require root for completions command 2021-06-01 00:18:56 +09:00
Jake McGinty 9524019c55 client, server: make clap's helptext a bit friendlier 2021-05-26 14:23:02 +09:00
Kevin K ec210f9468
client, server: adds ability to rename peers (#92)
This commit adds a subcommand to both the client and server to allow
changing the name of a peer. The peer retains all the same attributes as
before (public keys, IPs, admin/disabled status, etc.).

Closes #87
2021-05-25 19:58:00 +09:00
Kevin K 4226278e5a
client, server: add shell completions (#84)
This subcommand takes a shell as an argument and generates shell
completions for that shell to stdout.

example:

```
$ innernet completions bash
  OR
$ innernet-server completions bash
```
2021-05-25 16:10:16 +09:00
Jake McGinty 2d012c6bd9 meta: release v1.3.0 2021-05-21 14:46:30 +09:00
Jake McGinty fed0c859c8 meta: cargo update & fmt 2021-05-21 13:35:52 +09:00
Jake McGinty 911a2d8f00 shared(prompts): wait for newline on confirmations 2021-05-21 13:02:11 +09:00
Jake McGinty a140786d53 client: fix add-cidr when confirm is 'no' 2021-05-21 13:00:09 +09:00
Kevin K ff0527d836
client, server: adds ability to delete cidrs (#88)
This commit adds a `delete-cidr` to both the client and server. It walks
through the prompts just like adding a CIDR.

Only eligible CIDRs are presented to the user. Eligibilty requires:

- CIDR has no child CIDRs
- CIDR has no assigned peers

Closes #23
2021-05-21 12:39:33 +09:00
Jake McGinty 15595d6f23 client: count handshakes within 3 minutes as 'online' 2021-05-21 03:03:44 +09:00
Jake McGinty e2011b4260 meta: release v1.3.0-beta.7 2021-05-20 13:05:03 +09:00
Jake McGinty d5af2596f7 client: convert printlns to logs 2021-05-20 12:49:13 +09:00
Jake McGinty 25a4a0eb41 meta: release v1.3.0-beta.6 2021-05-20 03:44:45 +09:00
Jake McGinty c512985214 meta: remove unused code and format 2021-05-20 03:18:43 +09:00
Jake McGinty 5b744d1f78 client, wgctrl: fix various linux userspace issues
Fixes #75
2021-05-20 03:16:48 +09:00
Jake McGinty e95d79db66 client: add verbose logging 2021-05-20 03:16:48 +09:00
Jake McGinty 08b975e847 meta: release v1.3.0-beta.5 2021-05-19 16:59:27 +09:00
Jake McGinty 3892a99156
wgctrl: use wireguard backends explicitly (with OS-specific defaults) (#85)
Based on the conversation from #5 (comment) - this changes innernet's behavior on Linux from automatically falling back to the userspace, instead requiring --backend userspace to be specified.

This should help people avoid weird situations in environments like Docker.
2021-05-19 16:54:07 +09:00
Johann150 170c8267bf
client, server: make adding routes optional (#71) 2021-05-12 02:31:47 +09:00
Jake McGinty ac01b8c9aa meta: release v1.3.0-beta.4 2021-05-10 04:18:47 +09:00
Jake McGinty e166619883 client(datastore): fix tests 2021-05-10 00:08:33 +09:00
Jake McGinty 5671e3837d client(show): refactor and add indicator of online-ness 2021-05-10 00:03:00 +09:00
Jake McGinty 88ae2aba17 client(datastore): mark peers not returned by server as disabled 2021-05-10 00:02:03 +09:00
Jake McGinty 9d4eb80177 meta: release v1.3.0-beta.3 2021-05-09 21:37:19 +09:00
Jake McGinty 981f7e8701 shared: add better visibility into IO errors 2021-05-09 21:34:11 +09:00
Jake McGinty d4d0d7301a meta: release v1.3.0-beta.2 2021-05-09 20:07:27 +09:00
Michael Kuryshev d7e9a60ba1
actions: build rpms for releases (#29) 2021-05-09 19:57:37 +09:00
Jake McGinty 78c2bfd6db meta: release v1.3.0-beta.1 2021-05-09 03:37:03 +09:00
Jake McGinty 2ce552cc36
client, server: invite expirations
The server now expects a UNIX timestamp after which the invitation will be expired. If a peer invite hasn't been redeemed after it expires, the server will clean up old entries and allow the IP to be re-allocated for a new invite.

Closes #24
2021-05-09 00:32:51 +09:00
Jake McGinty f27a2426c8 client: make clippy happy 2021-05-06 12:40:00 +09:00
Jake McGinty a7f35ee12b client(list --tree): show CIDRs in numerical order
Closes #47
2021-04-30 19:02:07 +09:00
Jake McGinty 7ef92b354c meta: cargo update, fmt, fix build 2021-04-28 15:16:17 +09:00
Jake McGinty ee475715c3 client: make install step a bit more resilient
change private keys on client earlier to avoid race conditions,
and attempt the fetch call multiple times to avoid spurious issues,
while also not failing the entire command if fetch doesn't succeed.
2021-04-28 15:00:39 +09:00
Jake McGinty c6bb8052fb meta: release v1.2.0 2021-04-24 23:39:28 +09:00
Jake McGinty 378aa8383c meta: release v1.2.0-beta.1 2021-04-21 01:13:44 +09:00
Jake McGinty 0a26bdedce
{client,server}: allow hostnames in endpoints (#56)
use new Endpoint type instead of SocketAddr in appropriate places
2021-04-21 00:35:10 +09:00
Jake McGinty e2ea2ddded
docker-tests: initial integration tests (#55)
Scripts that demonstrate building a network of docker containers, doubling as an integration test for innernet.

Includes a number of improvements to the recent non-interactive CLI changes as well.
2021-04-19 21:56:18 +09:00
Jake McGinty c4e369ee54 server: non-interactive network creation 2021-04-18 01:32:56 +09:00
Jake McGinty b92ad65b17 client: add opts for non-interactive network installs 2021-04-17 12:33:24 +09:00