Commit Graph

212 Commits (cf04cc0c2377feca9be11352e2915933473e1eef)

Author SHA1 Message Date
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 414e9c83fb docker-tests: support userspace and kernel backends 2021-05-21 14:22:43 +09:00
Jake McGinty fed0c859c8 meta: cargo update & fmt 2021-05-21 13:35:52 +09:00
Jake McGinty b4fb9f9250 client, server: new CIDRs must be hostname-compatible
towards the goal of supporting #82
2021-05-21 13:35:07 +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 2bc8a0d438
readme: add animated gif showing CLI interactions 2021-05-20 12:59:37 +09:00
Jake McGinty d5af2596f7 client: convert printlns to logs 2021-05-20 12:49:13 +09:00
Jake McGinty 05161fccc3
actions: run docker tests (#74) 2021-05-20 11:43:52 +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 3fcacc2ad8 docker-tests: use userspace wireguard 2021-05-20 03:16:48 +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
Johann150 7d3529f600
hostsfile: support Windows (#79)
Windows has some peculiarities for example it only allows one hostname per line
and the file's location depends on an environment variable. Although in most
cases just using C:\Windows\ for %WinDir% would probably work.

Note that editing the hosts file on Windows will require running with elevated
privileges ("Run as Administrator") and in some cases also antivirus may block
access to the file.
2021-05-20 00:23:56 +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 46f2a1e24c wgctrl-rs: fix ipv6 endpoint encoding (thanks @mk-fg)
Previously, it remained the `Default::default()` value.
Added test to validate correctness
2021-05-11 13:52:06 +09:00
Jake McGinty 3542c6c9e0 Revert "actions: add docker-tests.yml"
This reverts commit d79c4524dc.
2021-05-10 14:00:04 +09:00
Jake McGinty d79c4524dc
actions: add docker-tests.yml 2021-05-10 04:51:31 +09:00
Jake McGinty 3cb766f795 shared(prompts): add consent prompt for public IP query
Closes #73
2021-05-10 04:39:46 +09:00
Jake McGinty 8a021a3674 meta: cargo update 2021-05-10 04:38:46 +09:00
Jake McGinty ac01b8c9aa meta: release v1.3.0-beta.4 2021-05-10 04:18:47 +09:00
Jake McGinty 46d9783109 publicip: don't explode, just leave as None 2021-05-10 04:17:02 +09:00
Jake McGinty 426916fadd meta: make clippy happy 2021-05-10 00:09:50 +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 558cd7eaca release.sh: fix version find-and-replace 2021-05-09 21:37:11 +09:00
Jake McGinty 981f7e8701 shared: add better visibility into IO errors 2021-05-09 21:34:11 +09:00
Jake McGinty 9d69515d19 release.sh: keep tags updated 2021-05-09 21:17:23 +09:00
Jake McGinty b4076261a4 readme: update cargo install commands 2021-05-09 21:11:15 +09:00
Jake McGinty 54e7c1b183 server(new): add more explanation text at beginning 2021-05-09 21:04:49 +09:00
Jake McGinty d4d0d7301a meta: release v1.3.0-beta.2 2021-05-09 20:07:27 +09:00
Jake McGinty 99650eb1b4 meta(release): fix excluded crates 2021-05-09 20:07:16 +09:00
Jake McGinty 0000488910
client, server: create own crate for public ip resolution (#72) 2021-05-09 19:57:52 +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 8f12583c8c docker-tests: add test for server expiration cleanup 2021-05-09 03:07:32 +09:00
Jake McGinty fb1de8e210 shared(wg): don't fail silently on bringing the interface up 2021-05-09 02:17:23 +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 76500b3778 shared(prompts): simplify cidr selection code 2021-05-07 15:45:32 +09:00
Jake McGinty f27a2426c8 client: make clippy happy 2021-05-06 12:40:00 +09:00