summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDct Mei2021-02-10 17:48:58 +0800
committerDct Mei2021-02-10 17:48:58 +0800
commitf169c07404873a18dd186fe822e2cf512bcf0e96 (patch)
treefddd957496799d54395cba5a21fcd296ec5ac47e
parent79ba1f48503081244a5ac5f6f70437ae8504e9d8 (diff)
downloadaur-f169c07404873a18dd186fe822e2cf512bcf0e96.tar.gz
feat: v1.3.5.r14.gd48cfec
-rw-r--r--.SRCINFO33
-rw-r--r--LICENSE21
-rw-r--r--PKGBUILD85
-rw-r--r--clash-1.3.5.patch16
-rw-r--r--clash.service12
-rw-r--r--clash.sysusers1
-rw-r--r--clash.tmpfiles1
-rw-r--r--clash@.service10
-rw-r--r--clash_user.service11
-rw-r--r--config.yaml1
10 files changed, 111 insertions, 80 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 6a27d6c8ad48..ff463bd3177b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,24 +1,33 @@
pkgbase = clash-dev-git
- pkgdesc = A rule based proxy in Go.
- pkgver = 20191211.r318.95e9ae2
+ pkgdesc = A rule-based tunnel in Go
+ pkgver = 1.3.5.r14.gd48cfec
pkgrel = 1
url = https://github.com/Dreamacro/clash
arch = x86_64
- license = MIT
- makedepends = go
+ license = GPL3
makedepends = git
+ makedepends = go
+ depends = clash-geoip
depends = glibc
provides = clash
- conflicts = clash-bin
+ provides = clash-dev
conflicts = clash
+ conflicts = clash-dev
+ backup = etc/clash/config.yaml
+ source = git+https://github.com/Dreamacro/clash.git#branch=dev
+ source = clash-1.3.5.patch
+ source = config.yaml
+ source = clash.sysusers
+ source = clash.tmpfiles
+ source = clash.service
source = clash@.service
- source = clash_user.service
- source = git+https://github.com/Dreamacro/clash#branch=dev
- source = https://raw.githubusercontent.com/Dreamacro/clash/master/LICENSE
- sha512sums = e9e215e0a06d0d1072467342dd72e777725b94634714c5bd5fdee31f48897d9b8ab7e83830d836533d6862fa6ebfda56dbf138edd873140de61d8ccdf2a54572
- sha512sums = 338c3a5904623bec48c03b2ef8cf452979c229fc5b89b2e0447664b40cd6e29c83cae47a19145be76d3ee2f0b6a54184a0cff69b834ba6107b444caacc02decf
- sha512sums = SKIP
- sha512sums = 46478b083104014b881ad546b89cfb16f040588f38e8c04ca664078061ba0e0653a394365d128410a9646f9159c9d9c7644a3ea42b22e4a4f240dfd6bea666c5
+ sha256sums = SKIP
+ sha256sums = 511abd285aedc6dda651b1bf3d7fd84f51060fa313a12beb3ce68d916c2fc173
+ sha256sums = 62ed4460cd2ed4b400193ad04b0cccb76d7558f87c377a0033041841a73f7945
+ sha256sums = 149c6448a5630af1065ea230707331ac12663128568d6cf0e9d5480e94d1d104
+ sha256sums = 006bea79c75de78dcd4f3991bb9c4e6f706443131aeeccf8db076f8738f24ccd
+ sha256sums = 090e1598e9e9736c951b1e2488df7e573c4d29d2fd0e0da8cfc0edd998f8c8fb
+ sha256sums = d22cc741edf783c6fc83bb62f67b5381a0421d2ea49959469c1b8da48488a827
pkgname = clash-dev-git
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index ec13360b5402..000000000000
--- a/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2018 Dreamacro
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/PKGBUILD b/PKGBUILD
index 5609097934eb..0fac4fe83bc3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,46 +1,69 @@
-# Maintainer: Luke Yue <lukedyue@gmail.com>
-# Maintainer: asdf12303116 <a675750333@gmail.com>
+# Maintainer: Dct Mei <dctxmei@yandex.com>
+# Contributor: Luke Yue <lukedyue@gmail.com>
+# Contributor: asdf12303116 <a675750333@gmail.com>
pkgname=clash-dev-git
-pkgver=20191211.r318.95e9ae2
+_pkgname=clash
+pkgver=1.3.5.r14.gd48cfec
pkgrel=1
-pkgdesc="A rule based proxy in Go."
+pkgdesc="A rule-based tunnel in Go"
arch=('x86_64')
url="https://github.com/Dreamacro/clash"
-license=('MIT')
-provides=("clash")
-conflicts=("clash-bin" "clash")
-makedepends=('go' 'git')
-depends=('glibc')
+license=('GPL3')
+depends=('clash-geoip' 'glibc')
+makedepends=('git' 'go')
+provides=('clash' 'clash-dev')
+conflicts=('clash' 'clash-dev')
+backup=("etc/clash/config.yaml")
+source=("git+${url}.git#branch=dev"
+ "clash-1.3.5.patch"
+ "config.yaml"
+ "clash.sysusers"
+ "clash.tmpfiles"
+ "clash.service"
+ "clash@.service")
+sha256sums=('SKIP'
+ '511abd285aedc6dda651b1bf3d7fd84f51060fa313a12beb3ce68d916c2fc173'
+ '62ed4460cd2ed4b400193ad04b0cccb76d7558f87c377a0033041841a73f7945'
+ '149c6448a5630af1065ea230707331ac12663128568d6cf0e9d5480e94d1d104'
+ '006bea79c75de78dcd4f3991bb9c4e6f706443131aeeccf8db076f8738f24ccd'
+ '090e1598e9e9736c951b1e2488df7e573c4d29d2fd0e0da8cfc0edd998f8c8fb'
+ 'd22cc741edf783c6fc83bb62f67b5381a0421d2ea49959469c1b8da48488a827')
-source=("clash@.service"
- "clash_user.service"
- "git+https://github.com/Dreamacro/clash#branch=dev"
- "https://raw.githubusercontent.com/Dreamacro/clash/master/LICENSE")
-
-sha512sums=('e9e215e0a06d0d1072467342dd72e777725b94634714c5bd5fdee31f48897d9b8ab7e83830d836533d6862fa6ebfda56dbf138edd873140de61d8ccdf2a54572'
- '338c3a5904623bec48c03b2ef8cf452979c229fc5b89b2e0447664b40cd6e29c83cae47a19145be76d3ee2f0b6a54184a0cff69b834ba6107b444caacc02decf'
-'SKIP'
- '46478b083104014b881ad546b89cfb16f040588f38e8c04ca664078061ba0e0653a394365d128410a9646f9159c9d9c7644a3ea42b22e4a4f240dfd6bea666c5')
+prepare() {
+ cd "${srcdir}"/"${_pkgname}"/
+ patch -p1 -i ../clash-1.3.5.patch
+}
pkgver() {
- cd "${srcdir}/clash"
- local date=$(git log -1 --format="%cd" --date=short | sed s/-//g)
- local count=$(git rev-list --count HEAD)
- local commit=$(git rev-parse --short HEAD)
- echo "$date.r${count}.$commit"
+ cd "${srcdir}"/"${_pkgname}"/
+ git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}
build() {
- cd "${srcdir}/clash"
- go build .
+ export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"
+ export CGO_CPPFLAGS="${CPPFLAGS}"
+ export CGO_CXXFLAGS="${CXXFLAGS}"
+ export CGO_CFLAGS="${CFLAGS}"
+ export CGO_LDFLAGS="${LDFLAGS}"
+ cd "${srcdir}"/"${_pkgname}"/
+ sed "s/unknown version/${pkgver}/" -i constant/version.go
+ sed "s/unknown time/$(LANG=C date -u)/" -i constant/version.go
+ go build -ldflags="-linkmode=external"
}
-package() {
- cd "${srcdir}/clash"
- install -Dm755 "clash" "${pkgdir}/usr/bin/clash"
- install -Dm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/clash/LICENSE"
- install -Dm644 "${srcdir}/clash@.service" "${pkgdir}/usr/lib/systemd/system/clash@.service"
- install -Dm644 "${srcdir}/clash_user.service" "${pkgdir}/usr/lib/systemd/user/clash.service"
+check() {
+ cd "${srcdir}"/"${_pkgname}"/
+ go test github.com/Dreamacro/clash/...
}
+package() {
+ cd "${srcdir}"/"${_pkgname}"/
+ install -Dm 755 clash -t "${pkgdir}"/usr/bin/
+ install -Dm 644 LICENSE -t "${pkgdir}"/usr/share/licenses/clash-dev-git/
+ install -Dm 644 "${srcdir}"/config.yaml -t "${pkgdir}"/etc/clash/
+ install -Dm 644 "${srcdir}"/clash.sysusers "${pkgdir}"/usr/lib/sysusers.d/clash.conf
+ install -Dm 644 "${srcdir}"/clash.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/clash.conf
+ install -Dm 644 "${srcdir}"/clash.service -t "${pkgdir}"/usr/lib/systemd/system/
+ install -Dm 644 "${srcdir}"/clash@.service -t "${pkgdir}"/usr/lib/systemd/system/
+}
diff --git a/clash-1.3.5.patch b/clash-1.3.5.patch
new file mode 100644
index 000000000000..e2d0848f6e5a
--- /dev/null
+++ b/clash-1.3.5.patch
@@ -0,0 +1,16 @@
+diff --git a/constant/adapters.go b/constant/adapters.go
+index 4ba891d..85c8c10 100644
+--- a/constant/adapters.go
++++ b/constant/adapters.go
+@@ -108,9 +108,9 @@ func (at AdapterType) String() string {
+ case Socks5:
+ return "Socks5"
+ case Http:
+- return "Http"
++ return "HTTP"
+ case Vmess:
+- return "Vmess"
++ return "VMess"
+ case Trojan:
+ return "Trojan"
+
diff --git a/clash.service b/clash.service
new file mode 100644
index 000000000000..bc37fe8d7aae
--- /dev/null
+++ b/clash.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Clash Service
+After=network.target nss-lookup.target
+
+[Service]
+User=clash
+ExecStart=/usr/bin/clash -d /etc/clash/
+Restart=on-abort
+StandardOutput=file:/var/log/clash/clash.log
+
+[Install]
+WantedBy=multi-user.target
diff --git a/clash.sysusers b/clash.sysusers
new file mode 100644
index 000000000000..09d5d8232ff5
--- /dev/null
+++ b/clash.sysusers
@@ -0,0 +1 @@
+u clash - "Clash Service" - -
diff --git a/clash.tmpfiles b/clash.tmpfiles
new file mode 100644
index 000000000000..60ff89785d2b
--- /dev/null
+++ b/clash.tmpfiles
@@ -0,0 +1 @@
+d /var/log/clash 0700 clash clash - -
diff --git a/clash@.service b/clash@.service
index c3b867d5ae98..dd7b11b11ce0 100644
--- a/clash@.service
+++ b/clash@.service
@@ -1,12 +1,12 @@
[Unit]
-Description=A rule based proxy in Go for %i.
-After=network.target
+Description=Clash Service
+After=network.target nss-lookup.target
[Service]
-Type=simple
-User=%i
+User=clash
+ExecStart=/usr/bin/clash -d /etc/clash/ -f /etc/clash/%i.yaml
Restart=on-abort
-ExecStart=/usr/bin/clash
+StandardOutput=file:/var/log/clash/%i.log
[Install]
WantedBy=multi-user.target
diff --git a/clash_user.service b/clash_user.service
deleted file mode 100644
index 20e017815ab4..000000000000
--- a/clash_user.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=A rule based proxy in Go.
-After=network.target
-
-[Service]
-Type=simple
-Restart=on-abort
-ExecStart=/usr/bin/clash
-
-[Install]
-WantedBy=default.target
diff --git a/config.yaml b/config.yaml
new file mode 100644
index 000000000000..5ac1cc5c1364
--- /dev/null
+++ b/config.yaml
@@ -0,0 +1 @@
+port: 7890