pub/scm/linux/kernel/git/zx2c4/wireguard-tools.git  about / heads / tags
Required tools for WireGuard, such as wg and wg-quick
$ git log --pretty=format:'%h %s (%cs)%d'
13f4ac4 ipc: linux: enforce IFNAMSIZ limit (2023-08-04)
	(HEAD -> master)
729242a man: set private key in PreUp rather than PostUp (2023-05-18)
e6888dd wg-quick: run PreUp hook after creating interface (2023-05-18)
b4f6b4f show: fix show all endpoints output (2023-02-08)
139aac5 ipc: freebsd: NULL out some freed memory in kernel_set_device() (2022-11-03)
dbf49a7 ipc: freebsd: avoid leaking memory in kernel_get_device() (2022-11-03)
ca2e89f show: apply const to right part of pointer (2022-10-31)
7b2ae7a ipc: freebsd: move if_wg path to reflect new in-tree location (2022-10-29)
71799a8 wg-quick: linux: prevent traffic from momentarily leaking into tunnel (2022-06-17)
5b9c1d6 global: dual license core files as MIT for FreeBSD (2022-06-10)
...

$ git cat-file blob HEAD:README.md
# [wireguard-tools](https://git.zx2c4.com/wireguard-tools/about/) — tools for configuring [WireGuard](https://www.wireguard.com/)

This supplies the main userspace tooling for using and configuring WireGuard
tunnels, including the
[`wg(8)`](https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8) and
[`wg-quick(8)`](https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8)
utilities. This project supports Linux, OpenBSD, FreeBSD, macOS, Windows, and
Android.

**More information may be found at [WireGuard.com](https://www.wireguard.com/).**

## Building

    $ cd src
    $ make

There are no dependencies other than a good C compiler and a sane libc.

## Installing

    # make install

This command takes into account several environment variables:

  * `PREFIX`               default: `/usr`
  * `DESTDIR`              default:
  * `BINDIR`               default: `$(PREFIX)/bin`
  * `LIBDIR`               default: `$(PREFIX)/lib`
  * `MANDIR`               default: `$(PREFIX)/share/man`
  * `BASHCOMPDIR`          default: `$(PREFIX)/share/bash-completion/completions`
  * `RUNSTATEDIR`          default: `/var/run`
  * `PKG_CONFIG`           default: `pkg-config`

  * `WITH_BASHCOMPLETION`  default: [auto-detect]
  * `WITH_WGQUICK`         default: [auto-detect]
  * `WITH_SYSTEMDUNITS`    default: [auto-detect]
  * `DEBUG`                default:

The first section is rather standard. The second section is not:

  * `WITH_BASHCOMPLETION` decides whether or not bash completion files for the
    tools are installed. This is just a nice thing for people who have bash.
    If you don't have bash, or don't want this, set the environment variable
    to `no`. If you'd like to force its use, even if bash-completion isn't
    detected in `DESTDIR`, then set it to `yes`.

  * `WITH_WGQUICK` decides whether or not the wg-quick(8) script is installed.
    This is a very quick and dirty bash script for reading a few extra
    variables from wg(8)-style configuration files, and automatically
    configures the interface. If you don't have bash, you probably don't want
    this at all. Likewise, if you already have a working network management
    tool or configuration, you probably want to integrate wg(8) or the direct
    WireGuard API into your network manager, rather than using wg-quick(8).
    But for folks who like simple quick and dirty scripts, this is nice. If you'd
    like to force its use, even if bash isn't detected in DESTDIR, then set it
    to `yes`.

  * `WITH_SYSTEMDUNITS` decides whether or not systemd units are installed for
    wg-quick(8). If you don't use systemd, you certainly don't want this, and
    should set it to `no`. If systemd isn't auto-detected, but you still would
    like to install it, set this to `yes`.

  * `DEBUG` decides whether to build with `-g`, when set to `yes`.

If you're a simple `make && make install` kind of user, you can get away with
not setting these variables and relying on the auto-detection. However, if
you're writing a package for a distro, you'll want to explicitly set these,
depending on what you want.

## `contrib/`

The `contrib/` subdirectory contains various scripts and examples. Most of these
are not immediately useful for production use, but should provide inspiration for
creating fully-featured tools. See the `README` in each directory.

## License

This project is released under the [GPLv2](COPYING).

# heads (aka `branches'):
$ git for-each-ref --sort=-creatordate refs/heads \
	--format='%(HEAD) %(refname:short) %(subject) (%(creatordate:short))'
* master       ipc: linux: enforce IFNAMSIZ limit (2023-08-04)
  jd/capability-check wg-quick: linux: check for CAP_NET_ADMIN and config file access before auto_su (2020-08-28)

# tags:
$ git for-each-ref --sort=-creatordate refs/tags \
	--format='%(refname:short) %(subject) (%(creatordate:short))'
v1.0.20210914 wireguard-tools v1.0.20210914 (2021-09-14) tar.gz
v1.0.20210424 wireguard-tools v1.0.20210424 (2021-04-24) tar.gz
v1.0.20210315 wireguard-tools v1.0.20210315 (2021-03-15) tar.gz
v1.0.20210223 wireguard-tools v1.0.20210223 (2021-02-23) tar.gz
v1.0.20200827 wireguard-tools v1.0.20200827 (2020-08-27) tar.gz
v1.0.20200820 wireguard-tools v1.0.20200820 (2020-08-20) tar.gz
v1.0.20200513 wireguard-tools v1.0.20200513 (2020-05-13) tar.gz
v1.0.20200510 wireguard-tools v1.0.20200510 (2020-05-10) tar.gz
v1.0.20200319 wireguard-tools v1.0.20200319 (2020-03-19) tar.gz
v1.0.20200206 wireguard-tools v1.0.20200206 (2020-02-06) tar.gz
...

# associated public inboxes:
# (number on the left is used for dev purposes)
         33 wireguard
         21 lkml
         10 netdev
          8 linux-devicetree
          7 u-boot
          6 git
          5 qemu-devel
          5 linux-crypto
          4 linux-arm-kernel
          4 dpdk-dev
          4 linuxppc-dev
          4 linux-doc
          4 dri-devel
          4 linux-spi
          4 buildroot
          4 openembedded-core
          3 linux-riscv
          3 bpf
          3 linux-nfs
          3 netfilter-devel
          3 linux-fsdevel
          3 linux-mm
          3 linux-iommu
          3 linux-media
          3 xen-devel
          3 kernel-hardening
          3 linux-clk
          3 linux-iio
          3 linux-gpio
          3 linux-rdma
          3 kvm
          3 linux-modules
          3 util-linux
          3 intel-gfx
          3 linux-omap
          3 linux-i2c
          3 linux-tegra
          3 linux-arch
          3 linux-s390
          3 intel-wired-lan
          3 poky
          2 linux-samsung-soc
          2 linux-wireless
          2 linux-mtd
          2 linux-nvme
          2 linux-xfs
          2 linux-mediatek
          2 linux-acpi
          2 linux-cifs
          2 linux-amlogic
          2 linux-erofs
          2 stable
          2 linux-mips
          2 fstests
          2 linux-pm
          2 linux-rtc
          2 linux-input
          2 alsa-devel
          2 linux-scsi
          2 linux-btrfs
          2 kvmarm
          2 driverdev-devel
          2 linux-usb
          2 linux-kselftest
          2 selinux
          2 linux-ext4
          2 linux-leds
          2 linux-security-module
          2 linux-pci
          2 linux-f2fs-devel
          2 linux-rt-users
          2 linux-bluetooth
          2 linux-ide
          2 linux-serial
          2 linux-watchdog
          2 linux-trace-devel
          2 backports
          2 linux-man
          2 linux-mmc
          2 amd-gfx
          2 linux-api
          2 linux-sparse
          2 lttng-dev
          2 virtualization
          2 linux-kbuild
          2 linux-can
          2 containers
          2 linux-rockchip
          2 linux-raid
          2 openbmc
          2 dm-devel
          2 linux-fbdev
          2 linux-cxl
          2 linux-perf-users
          2 linux-sh
          2 ocfs2-devel
          2 nouveau
          2 linux-coco
          2 fio
          2 iwd
          2 ltp
          2 yocto
          2 yocto-meta-freescale
          2 yocto-toaster
          2 yocto-meta-arm
          2 openembedded-devel
          2 bitbake-devel
          2 yocto-meta-virtualization
          2 yocto-meta-ti
          2 yocto-meta-arago
          2 outreachy
          2 openrisc
          2 kexec
          2 intel-xe
          2 linux-um
          2 virtio-comment
          2 qemu-riscv
          2 cluster-devel
          2 grub-devel
          2 cgroups
          2 kvm-ppc
          2 linux-hams
          2 linux-hexagon
          2 reiserfs-devel
          2 lvm-devel
          2 virtio-fs
          2 ../../../../../../../fuego
          2 ../../../../../../../igt-dev
          1 linux-fscrypt
          1 cocci
          1 linux-block
          1 live-patching
          1 linux-efi
          1 linux-integrity
          1 linux-edac
          1 linux-arm-msm
          1 linux-nvdimm
          1 linux-snps-arc
          1 linux-hwmon
          1 linux-renesas-soc
          1 dmaengine
          1 linux-next
          1 linux-parisc
          1 kernelnewbies
          1 linux-sgx
          1 linux-hyperv
          1 workflows
          1 rcu
          1 selinux-refpolicy
          1 linux-m68k
          1 linux-i3c
          1 linux-spdx
          1 linux-wpan
          1 ksummit-discuss
          1 io-uring
          1 linux-kernel-mentees
          1 linux-csky
          1 tpmdd-devel
          1 linux-unionfs
          1 linux-firmware
          1 cip-dev
          1 linux-audit
          1 linux-remoteproc
          1 linux-dash
          1 linux-bcache
          1 mm-commits
          1 linux-pwm
          1 linux-fpga
          1 ceph-devel
          1 xdp-newbies
          1 platform-driver-x86
          1 phone-devel
          1 linux-hardening
          1 dash
          1 keyrings
          1 linux-sctp
          1 target-devel
          1 lustre-devel
          1 soc
          1 rust-for-linux
          1 ath10k
          1 ath11k
          1 linux-phy
          1 kernel-janitors
          1 sparclinux
          1 linux-staging
          1 linux-sunxi
          1 mptcp
          1 regressions
          1 ksummit
          1 b43-dev
          1 nvdimm
          1 linux-nfc
          1 linux-bcachefs
          1 ath9k-devel
          1 ntfs3
          1 llvm
          1 ell
          1 ofono
          1 yocto-docs
          1 linux-patches
          1 chrome-platform
          1 ntb
          1 xenomai
          1 damon
          1 asahi
          1 loongarch
          1 imx
          1 ath12k
          1 b4-sent
          1 linux-trace-kernel
          1 oe-linux-nfc
          1 oe-kbuild-all
          1 oe-chipsec
          1 batman
          1 virtio-dev
          1 v9fs
          1 ecryptfs
          1 linux-ia64
          1 kbd
          1 autofs
          1 cpufreq
          1 dccp
          1 devicetree-spec
          1 devicetree-compiler
          1 initramfs
          1 hail-devel
          1 kvm-ia64
          1 linux-8086
          1 kernel-testers
          1 linux-alpha
          1 linux-btrace
          1 linux-embedded
          1 linux-hotplug
          1 linux-laptop
          1 linux-sound
          1 trinity
          1 linux-metag
          1 linux-x25
          1 linux-nilfs
          1 lvs-devel
          1 netfilter
          1 linux-oxnas
          1 u-boot-amlogic
          1 lm-sensors
          1 acpica-devel
          1 perfbook
          1 smatch
          1 ../../../../../../../wireless-regdb
          1 ../../../../../../../powertop

git clone https://yhbt.net/lore/pub/scm/linux/kernel/git/zx2c4/wireguard-tools.git