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
Jake McGinty
6d28e7f4ab
{client,server}: allow peer/cidr creation with CLI arguments ( #48 )
...
Fixes #20
2021-04-15 00:25:31 +09:00
Jake McGinty
142553a9cc
client: use StructOpt's conflicts_with
2021-04-12 00:34:56 +09:00
Jake McGinty
cb0e76c39b
meta: release v1.1.0
2021-04-11 16:42:24 +09:00
Jake McGinty
e8790f3178
meta: release v1.1.0-rc.2
2021-04-11 13:34:09 +09:00
Jake McGinty
c15db6f833
client: don't leave interface behind on failed install
2021-04-10 17:38:59 +09:00
Jake McGinty
0feb34690e
client: small cleanups
2021-04-10 16:03:39 +09:00
Jake McGinty
6c55dafce6
meta: release v1.1.0-rc.1
2021-04-09 22:47:33 +09:00
Jake McGinty
c370c25924
server: add uninstall command
2021-04-09 22:42:29 +09:00
Jake McGinty
a44fe0d3ad
client: add uninstall command
2021-04-09 22:37:33 +09:00
Jake McGinty
bd7987f82f
meta: release v1.0.2-rc.2
2021-04-09 15:02:44 +09:00
Jake McGinty
72dc14c49c
{client,server}: enforce permissions on directories and files
...
This may become a warning rather than an action later, but for now
let's make sure older installations that had incorrect permissions
are taken care of.
2021-04-09 15:00:53 +09:00
Jake McGinty
ee890ccaa7
meta: release v1.0.2-rc.1
2021-04-09 14:14:43 +09:00
Jake McGinty
a87d56cfc9
{client,server}: send and require a header that contains the server public key
...
This is a stop-gap CSRF protection mechanism from unsophisticated attacks. It's to be considered a temporary solution until a more complete one can be implemented, but it should be sufficient in most cases for the time being.
See https://github.com/tonarino/innernet/issues/38 for further discussion.
2021-04-09 13:48:00 +09:00
BlackHoleFox
b1e1ff8f4f
wgctrl-sys: Remove some unsafe in the kernel backend
...
Validates WireGuard interfaces against the linux specification for interface names.
Refactor userspace and other OSes to use InterfaceName
2021-04-09 10:28:37 +09:00
Jake McGinty
1e1436bfa5
(cargo-release) version v1.0.1
2021-04-08 11:09:54 +09:00
Jake McGinty
296cd7b496
client: changeable hosts file settings
...
Introduces `--hosts-path [PATH]` and `--no-write-hosts` options in `innernet`.
This could be further improved to have a persistent setting in a config file i.e. /etc/innernet.conf (which doesn't currently exist).
Fixes #6
2021-04-07 17:00:52 +09:00
Martin Hauke
77a7c36cce
systemd: Add file innernet.target
...
Add file innernet.target, which allows you to stop or restart all client
instances.
2021-04-06 23:22:28 +09:00
Jake McGinty
17f56556ea
meta: include tickets for git-based cargo dependencies
2021-04-06 13:33:55 +09:00
Jake McGinty
c49f061bb7
kabloomers. public release v1.0.0
2021-03-30 02:47:34 +09:00