diff options
author | DDoSolitary | 2019-10-25 03:11:27 +0800 |
---|---|---|
committer | DDoSolitary | 2019-10-25 03:11:27 +0800 |
commit | 0e42bf08d1d073fb195e30aebc64e2d60ab201ac (patch) | |
tree | 1df46348dbe0870783bcecb0e6b1cb362e547d9b | |
download | aur-0e42bf08d1d073fb195e30aebc64e2d60ab201ac.tar.gz |
Initial commit.
-rw-r--r-- | .SRCINFO | 21 | ||||
-rw-r--r-- | PKGBUILD | 44 | ||||
-rw-r--r-- | build-flags.patch | 20 | ||||
-rwxr-xr-x | go-tun2socks-setup | 9 | ||||
-rw-r--r-- | go-tun2socks.conf | 4 | ||||
-rw-r--r-- | go-tun2socks.service | 11 |
6 files changed, 109 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..531a0da23ac4 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = go-tun2socks + pkgdesc = A tun2socks implementation written in Go. + pkgver = 1.16.7 + pkgrel = 1 + url = https://github.com/eycorsican/go-tun2socks + arch = x86_64 + license = MIT + makedepends = go + source = go-tun2socks-1.16.7.tar.gz::https://github.com/eycorsican/go-tun2socks/archive/v1.16.7.tar.gz + source = build-flags.patch + source = go-tun2socks.service + source = go-tun2socks.conf + source = go-tun2socks-setup + sha512sums = 3bf6f1b76b90d8fa8c75547d8659435054d2798dd97669b4cdccde72f75253baa1fb40442d82d480636a468c5b2234e5eddb4892e2e3c35069d3349f3991af16 + sha512sums = 72a04943aa4e0cb8241c63a26d30c88cdbedf12b49f5f1c93dc97b1cb4f621c8e59736107d729f7244ab2a2c0fc926874bd19bed20e2afafabd7db8ac767e21b + sha512sums = e886723a3fe098e514c22a942cef6f2eae060713b40c4c95fbd26147bf87b11ca75c15e6da44ec19ebabd4f2f39abd1f2aeb1494c235d62ee17dac63ca466adb + sha512sums = 3c878b5004f4aed59635d832b22199c2550abb46b4ede49221d904a37f0e1088cb976d4d73966c7d2826b5b86b352937d37824f1e76ce461eed1ca8ce9ca6521 + sha512sums = b600ba920d72187f63a3202ea50006fdb7058b1063f128664a947d32af5736ca5450d6bd63c87e9518fbe2f99f3fbbe4b5650fb7cf8202a4ceb5e5cbf5c61446 + +pkgname = go-tun2socks + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..4e26dca1cd9b --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: DDoSolitary <DDoSolitary@gmail.com> +pkgname=go-tun2socks +pkgver=1.16.7 +pkgrel=1 +pkgdesc="A tun2socks implementation written in Go." +arch=(x86_64) +url=https://github.com/eycorsican/go-tun2socks +license=(MIT) +makedepends=(go) +source=( + $pkgname-$pkgver.tar.gz::https://github.com/eycorsican/go-tun2socks/archive/v1.16.7.tar.gz + build-flags.patch + go-tun2socks.service + go-tun2socks.conf + go-tun2socks-setup +) +sha512sums=( + 3bf6f1b76b90d8fa8c75547d8659435054d2798dd97669b4cdccde72f75253baa1fb40442d82d480636a468c5b2234e5eddb4892e2e3c35069d3349f3991af16 + 72a04943aa4e0cb8241c63a26d30c88cdbedf12b49f5f1c93dc97b1cb4f621c8e59736107d729f7244ab2a2c0fc926874bd19bed20e2afafabd7db8ac767e21b + e886723a3fe098e514c22a942cef6f2eae060713b40c4c95fbd26147bf87b11ca75c15e6da44ec19ebabd4f2f39abd1f2aeb1494c235d62ee17dac63ca466adb + 3c878b5004f4aed59635d832b22199c2550abb46b4ede49221d904a37f0e1088cb976d4d73966c7d2826b5b86b352937d37824f1e76ce461eed1ca8ce9ca6521 + b600ba920d72187f63a3202ea50006fdb7058b1063f128664a947d32af5736ca5450d6bd63c87e9518fbe2f99f3fbbe4b5650fb7cf8202a4ceb5e5cbf5c61446 +) +gosrcdir=gopath/src/github.com/eycorsican +prepare() { + cd "$srcdir" + mkdir -p $gosrcdir + ln -rTsf $pkgname-$pkgver $gosrcdir/$pkgname + export GOPATH="$PWD/gopath" + cd $gosrcdir/$pkgname + patch -Np1 -i "$srcdir/build-flags.patch" + go get -d -v ./... +} +build() { + cd "$srcdir/$gosrcdir/$pkgname" + make +} +package() { + cd "$srcdir" + install -Dm755 $gosrcdir/$pkgname/build/tun2socks "$pkgdir/usr/bin/go-tun2socks" + install -Dm644 go-tun2socks.service "$pkgdir/usr/lib/systemd/system/go-tun2socks.service" + install -Dm644 go-tun2socks.conf "$pkgdir/etc/systemd/system/go-tun2socks.service.d/go-tun2socks.conf" + install -Dm755 go-tun2socks-setup "$pkgdir/usr/lib/systemd/scripts/go-tun2socks-setup" +} diff --git a/build-flags.patch b/build-flags.patch new file mode 100644 index 000000000000..52ab8680dfb0 --- /dev/null +++ b/build-flags.patch @@ -0,0 +1,20 @@ +diff --git a/Makefile b/Makefile +index bcb8312..38960f9 100644 +--- a/Makefile ++++ b/Makefile +@@ -4,13 +4,13 @@ GOBUILD=$(GOCMD) build + GOCLEAN=$(GOCMD) clean + VERSION=$(shell git describe --tags) + DEBUG_LDFLAGS='' +-RELEASE_LDFLAGS='-s -w -X main.version=$(VERSION)' ++RELEASE_LDFLAGS='-s -w -X main.version=$(VERSION) -extldflags ${LDFLAGS}' + BUILD_TAGS?=socks + BUILDDIR=$(shell pwd)/build + CMDDIR=$(shell pwd)/cmd/tun2socks + PROGRAM=tun2socks + +-BUILD_CMD="cd $(CMDDIR) && $(GOBUILD) -ldflags $(RELEASE_LDFLAGS) -o $(BUILDDIR)/$(PROGRAM) -v -tags '$(BUILD_TAGS)'" ++BUILD_CMD="cd $(CMDDIR) && $(GOBUILD) -trimpath -ldflags $(RELEASE_LDFLAGS) -o $(BUILDDIR)/$(PROGRAM) -v -tags '$(BUILD_TAGS)'" + XBUILD_CMD="cd $(BUILDDIR) && $(XGOCMD) -ldflags $(RELEASE_LDFLAGS) -tags '$(BUILD_TAGS)' --targets=*/* $(CMDDIR)" + + all: build diff --git a/go-tun2socks-setup b/go-tun2socks-setup new file mode 100755 index 000000000000..e2e9fc603c30 --- /dev/null +++ b/go-tun2socks-setup @@ -0,0 +1,9 @@ +#!/bin/bash +while true; do + if [ -d /sys/class/net/$TUN_DEVICE_NAME ]; then + ip addr add $TUN_ADDRESS dev $TUN_DEVICE_NAME + ip link set $TUN_DEVICE_NAME up + break + fi + sleep 1 +done diff --git a/go-tun2socks.conf b/go-tun2socks.conf new file mode 100644 index 000000000000..8732cdd6491f --- /dev/null +++ b/go-tun2socks.conf @@ -0,0 +1,4 @@ +[Service] +Environment=PROXY_SERVER=127.0.0.1:1080 +Environment=TUN_DEVICE_NAME=tun0 +Environment=TUN_ADDRESS=10.255.0.1/24 diff --git a/go-tun2socks.service b/go-tun2socks.service new file mode 100644 index 000000000000..61bedcd17e25 --- /dev/null +++ b/go-tun2socks.service @@ -0,0 +1,11 @@ +[Unit] +Description=A tun2socks implementation written in Go. +After=network.target + +[Service] +ExecStart=/usr/bin/go-tun2socks -proxyServer $PROXY_SERVER -tunName $TUN_DEVICE_NAME +# It's a bit ugly here. Maybe I have to find a better way to wait for the tun device. +ExecStartPost=/usr/lib/systemd/scripts/go-tun2socks-setup + +[Install] +WantedBy=multi-user.target |