Commit Graph

338 Commits (f91551a109284501a6759ce944a828cefbbf6151)

Author SHA1 Message Date
Jake McGinty dde58c8f45 wgctrl-rs: create /var/run/wireguard if it's not there
wireguard-go wasn't writing the name file if the directory didn't
already exist.
2021-04-11 13:30:38 +09:00
Jake McGinty c15db6f833 client: don't leave interface behind on failed install 2021-04-10 17:38:59 +09:00
Jake McGinty dcf553c8fd shared: update chmod util to ignore non-perm bits 2021-04-10 17:13:00 +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 5c444cc841 release.sh: generate manpages after version bump 2021-04-09 16:26:56 +09:00
Jake McGinty eedb5758c9 meta: add homebrew package for macOS 2021-04-09 16:22:50 +09:00
Jake McGinty 6b6cb07690 release.sh: store compressed and uncompressed manpages 2021-04-09 16:15:46 +09:00
Jake McGinty badabf1145 meta: release.sh: use annotated tags 2021-04-09 15:06:57 +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 0a0ce0793d meta: release.sh
cargo-release doesn't do everything we want during the release process,
so a separate script ends up being necessary if I don't want to forget
steps.
2021-04-09 14:14:34 +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
Jake McGinty bcd68df772 wgctrl-sys: correct InterfaceName parsing and simplify a bit
It was dropping the last character in the name, and I modified it to
instead just error on any &str that has a '\0' in it. The strictness
feels acceptable and simplifies the code a bit.
2021-04-09 12:27:49 +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
Orhun Parmaksız 67c69ecfa0
readme: update installation instructions for Arch Linux (#40) 2021-04-09 10:03:34 +09:00
Jake McGinty 9b6d27d860 readme: remove linux modprobe section 2021-04-08 12:17:28 +09:00
Jake McGinty 9b55619002 wgctrl-rs: environment variable userspace impl overrides
wgctrl-rs will now look for the WG_USERSPACE_IMPLEMENTATION or
WG_QUICK_USERSPACE_IMPLEMENTATION environment variables to
override the default wireguard-go userspace implementation choice.

Closes #34
2021-04-08 11:54:01 +09:00
Jake McGinty 1e1436bfa5 (cargo-release) version v1.0.1 2021-04-08 11:09:54 +09:00
Jake McGinty 99ee399b6e wgctrl-rs: fix typo in comment 2021-04-08 11:09:54 +09:00
Jake McGinty 41fd9014c0 wgctrl-rs: modprobe wireguard if it's available but not loaded
Fixes #5
2021-04-08 11:04:35 +09:00
Jake McGinty 4ec2f4099b hostsfile: v1.0.1 2021-04-08 10:46:49 +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
Jake McGinty f0018c1052
actions: trigger checks on PRs 2021-04-07 02:49:24 +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 2122748727 server: add comments to get_listener 2021-04-06 13:33:55 +09:00
Jake McGinty 17f56556ea meta: include tickets for git-based cargo dependencies 2021-04-06 13:33:55 +09:00
Jake McGinty 41565e46d7 server: bind specifically to WireGuard interface on Linux
This is one many upcoming changes to address IP spoofing
issues.

See #26 for more details.
2021-04-06 13:33:55 +09:00
Jake McGinty d2bc2b3506
Merge pull request #21 from aeber/fix_macos_ipv6
Fix macos ip/route setup for ipv6 nets
2021-04-02 16:44:40 +09:00
Anselm Eberhardt c3ae74bd34 Fix macos ip/route setup for ipv6 nets 2021-03-31 18:22:13 +02:00
Brian Schwind 03576a5892
Merge pull request #16 from tonarino/build-docs
List out some build dependencies and wireguard module load instructions
2021-03-31 14:41:58 +09:00
Brian Schwind fef9944215 Add a link to the WireGuard installation instructions 2021-03-31 13:46:36 +09:00
Brian Schwind fe4a90998c List out some build dependencies and wireguard module load instructions 2021-03-31 12:34:17 +09:00
Jake McGinty a9e59ba309 arch: remove PKGBUILD and move to AUR repository 2021-03-30 04:39:20 +09:00
Jake McGinty c49f061bb7 kabloomers. public release v1.0.0 2021-03-30 02:47:34 +09:00