From owner-freebsd-ports@freebsd.org Mon May 21 21:42:29 2018 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4718DEFF2A4 for ; Mon, 21 May 2018 21:42:29 +0000 (UTC) (envelope-from Jason@zx2c4.com) Received: from frisell.zx2c4.com (frisell.zx2c4.com [192.95.5.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "frisell.zx2c4.com", Issuer "frisell.zx2c4.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id E84317290A for ; Mon, 21 May 2018 21:42:28 +0000 (UTC) (envelope-from Jason@zx2c4.com) Received: by frisell.zx2c4.com (ZX2C4 Mail Server) with ESMTP id f568060e for ; Mon, 21 May 2018 21:33:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=zx2c4.com; h=mime-version :from:date:message-id:subject:to:cc:content-type; s=mail; bh=it8 HI4qj2cE43VtM50X+9HEiXD0=; b=QY0T6QlSsStXSjHK5oEw7Lw1ATkK+cfV6LQ XueCLNqmRClRsn7Wr1PW/G1bTpNzxeYcJ5W5qXaBpT/YJV7+xvg3rkU1QqQ8arOz i/FUB9eOkapeOkeyNvUX0QTlNCBzQH5XGNHyPLXLR6GCWeNSYlGPxZ0xfBf2qBrY lGJq6wHM6t4sSMmeKGEXWq+6BsHvTyDHwFiy21fOihwPRU836DHCTYSxK25I4pbY 1b0BjUNhHnX6haKAlwoqQX/iqa1b41E+iEcdcEV6ofusgHmS0EGpw4a+EebJJmb7 zk2HGb9p8UJy2E6qOOh/TdndVImzEDRKMSEnmvdZsJ4LY9fVERw== Received: by frisell.zx2c4.com (ZX2C4 Mail Server) with ESMTPSA id 740eeb97 (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128:NO) for ; Mon, 21 May 2018 21:33:32 +0000 (UTC) Received: by mail-oi0-f52.google.com with SMTP id c203-v6so14336356oib.7 for ; Mon, 21 May 2018 14:35:46 -0700 (PDT) X-Gm-Message-State: ALKqPwc4tMU7HgzLTBOrnNqTKdQuNKgrxlzwFtSp3SY+pxEU5YCNxvmw eR+GQzaxkuFbX0YZLQXDR97FE1gWaFyOfWKUhsg= X-Google-Smtp-Source: AB8JxZrdBKi3PWA3wKekRAegLg+MjW6J1ABZ8Twae7hARxeCQSK8Irn45tekCjxXCphxMWoaEgv2duHA98wk6R+U9VA= X-Received: by 2002:aca:1b16:: with SMTP id b22-v6mr12888470oib.105.1526938546108; Mon, 21 May 2018 14:35:46 -0700 (PDT) MIME-Version: 1.0 Received: by 10.74.198.6 with HTTP; Mon, 21 May 2018 14:35:45 -0700 (PDT) From: "Jason A. Donenfeld" Date: Mon, 21 May 2018 23:35:45 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: WireGuard for FreeBSD To: freebsd-ports@freebsd.org Cc: Brady OBrien , WireGuard mailing list Content-Type: text/plain; charset="UTF-8" X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 May 2018 21:42:29 -0000 [cross-posted to the WireGuard mailing list] Hello FreeBSD Ports List, I'm the author of WireGuard [1], a secure network tunnel protocol [2] and a set of implementations of it. It was originally designed for the Linux kernel, but we're now beginning to have implementations for other platforms. Recently, parts of the Internet got excited [3] when we put a Darwin version in Homebrew. The last few days Brian (CC'd) and I have been working on getting an implementation running on FreeBSD, and things are coming along pretty smoothly. I'm not entirely familiar with the ports/pkg adding process, and so I was hoping to find somebody who is part of the FreeBSD community to adopt WireGuard and help maintain packages for it. We currently have packages for many Linux distros [4], but FreeBSD will be the first open source BSD project. There are two packages to add: 1. wireguard-tools, providing wg(8) and wg-quick(8) Runtime dependencies: bash, wireguard-go Buildtime dependencies: gmake, c compiler, libc Build: gmake -C src/tools WITH_WGQUICK=yes Install: gmake -C src/tools PREFIX=/usr/local install URL template: https://git.zx2c4.com/WireGuard/snapshot/WireGuard-VERSION.tar.xz 2. wireguard-go Runtime dependencies: none Buildtime dependencies: gmake, go Build: export GOPATH=$(pwd)/gopath; go get -d; gmake Install: gmake PREFIX=/usr/local install URL template: https://git.zx2c4.com/wireguard-go/snapshot/wireguard-go-VERSION.tar.xz For reference, these two packages in Homebrew look like this: https://github.com/Homebrew/homebrew-core/blob/master/Formula/wireguard-tools.rb https://github.com/Homebrew/homebrew-core/blob/master/Formula/wireguard-go.rb And for your horror, I've made a please-dont-pipe-like-that copy-and-paste install script: # curl https://xn--4db.cc/0BwTeeYe | sh That script won't work as-is at the moment, since I haven't yet tagged tarballs with FreeBSD support, but in the coming days, I'll tag one that has this latest FreeBSD code in it. (In the meantime, you can run `# curl https://xn--4db.cc/0BwTeeYe | sh /dev/stdin --master` to get it from git master.) I was hoping that in the time between now and then, we might find somebody willing and interested in packaging this properly. Does this sound fun to anyone? Best regards, Jason [1] https://www.wireguard.com/ [2] https://www.wireguard.com/papers/wireguard.pdf [3] http://latacora.singles/2018/05/16/there-will-be.html [4] https://www.wireguard.com/install/