summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO36
-rw-r--r--.gitignore1
-rw-r--r--PKGBUILD109
-rw-r--r--aria2-system.service23
-rw-r--r--aria2-system.target5
-rw-r--r--aria2-tracker-update-system.service10
-rw-r--r--aria2-tracker-update-user.service2
-rw-r--r--aria2-user.service11
-rw-r--r--aria2-user.target5
-rw-r--r--aria2.conf49
-rw-r--r--aria2.sysusers1
-rw-r--r--aria2.tmpfiles7
-rw-r--r--aria2@.service6
-rw-r--r--notify-user-and-copy-config39
-rw-r--r--tracker-config.sh2
-rw-r--r--update-aria2-tracker40
16 files changed, 149 insertions, 197 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d90f2e0a20df..acbd0dcf1d80 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,20 +1,15 @@
pkgbase = aria2cd
pkgdesc = A systemd Service to start aria2 automatically.
- pkgver = 1.3
- pkgrel = 12
+ pkgver = 1.4
+ pkgrel = 1
url = https://aur.archlinux.org/packages/aria2cd
arch = any
- license = custom:WTFPL
- depends = aria2
- depends = systemd
+ license = LicenseRef-WTFPL
optdepends = curl: for getting tracker list
source = tracker-config.sh
source = update-aria2-tracker
source = notify-user-and-copy-config
source = aria2cd.hook
- source = aria2.conf
- source = aria2.sysusers
- source = aria2.tmpfiles
source = aria2-tracker-update-user.service
source = aria2-tracker-update-user.timer
source = aria2-user.service
@@ -25,22 +20,21 @@ pkgbase = aria2cd
source = aria2-system.target
source = aria2@.service
source = LICENSE::http://www.wtfpl.net/txt/copying
- sha256sums = 85f465f6f32a1713f65c389b57f81d26cecfb1e7baf06c38f6b9477818fc4f85
- sha256sums = c97d987a51925c4a8b76ca45f97df63c0ea2f9301040c7460294407117b49bc6
- sha256sums = 1046d5807ff575276aad2307560d4281215b3f8fadcc6993864af93dbcde8a2e
+ sha256sums = 70ff5d088f62cebd2168eca1fd528e4928ac162865c8f5253f9dea171c4184c6
+ sha256sums = 5e87e631409387ec14fe12b1e75fcf92d9b46e270b32a2ef2748fcc354b2a335
+ sha256sums = dee544a6cb7fb78aa69b37fbcc9ad9f1f48e3289b99bc054084191e93c969922
sha256sums = bdfecc359414d95396c6d19990e262d82a3240a01645a96e38e351fc8c27846e
- sha256sums = d3dc278eeddbc910c775124bf474aa2c68b7bbba30226f6322ffc2c457785d27
- sha256sums = ada4e985d9023c6e0f79a8bf8bc77af609f56f832dccd287c45bb62a2bb74946
- sha256sums = 6c02f6fd75db7070f152689121a7485514f1b59aa8ec5afa92d4aaaf300ab2b2
- sha256sums = 98f23383ca1a1264fe9c418580c70eaba3fde2811ae57dab7c9bb48f0d924572
+ sha256sums = 6f0171608c2352fe6be43da813fc01d656d9c19a2dab0b393521c7b0d842ec4f
sha256sums = f3a81fd686335d8f45bc3aa3075979da40b93945d9b155c0e00d259de94499c1
- sha256sums = 1ab7c6bc690f82838205aec3ecd7482c3e582017c5462119e6ac57603fd12f3b
- sha256sums = 2ab0b3c87f29f0b37fff593f9379fb6662775c6d3ce11342a0136a267c5fc8a2
- sha256sums = 0ef8368cf4c9aaf4b04268ce71163da4ae3c26bd8b2093516f855ba98b6f3d86
+ sha256sums = 67da4cac7f24a783cb53e3bf6144a9d913782fa5b2e7539aa77440ec2e4a3996
+ sha256sums = 6b4ce82e1678e199aca41f8e7017174a4a7e3f0be4e7ae4977ba716d650b4fbc
+ sha256sums = 478d32f2789e39588384e22eaa57877ae20ca10ce4a75e5189dec9fe9e6658bd
sha256sums = f11e1d678b0fcd14f961b1e3ba7888f7ce76fc27e81fc5d6e8e442527e7a0d0d
- sha256sums = 5797ee69e214f2c59cfd8d20c4287da97e0955264fa25cb43add56d5097981a0
- sha256sums = ce7de392ff23ac33fda6fa0eebe347aa591e9760b8aee140353b8e00cb93c80e
- sha256sums = 1ee51459337fafc9767734d1274cedbc1d5bf5c3092c98040235b7360a9b5925
+ sha256sums = 792ab59a0bb4c6123b0f4537174f125b7ed528a96aaa24a24e84b7ec169da916
+ sha256sums = 0922a3e463c1c936f24af896cf56e2f2fc9852cc7f7ae4a47bd64be917ff7e85
+ sha256sums = 0f4a3901b8b32b0842c5dc6765d808585cb4611561114511867eba65cd3facc1
sha256sums = 0356258391e190dc1d44ea01565cfe627fe44e27dad693a0a54c2483a7b223e5
pkgname = aria2cd
+ depends = aria2
+ depends = systemd
diff --git a/.gitignore b/.gitignore
index 975f93faed14..212a37b664b5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ pkg
src
*.pkg.tar.*
LICENSE
+*.log \ No newline at end of file
diff --git a/PKGBUILD b/PKGBUILD
index 72cd76314101..3ed29920bc3d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,75 +1,62 @@
-# Maintainer: ZhangHua<zhanghua.00@qq.com>
+# Maintainer: ZhangHua<zhanghua.00 at qq dot com>
pkgname=aria2cd
-pkgver=1.3
-pkgrel=12
+pkgver=1.4
+pkgrel=1
pkgdesc="A systemd Service to start aria2 automatically."
arch=("any")
url="https://aur.archlinux.org/packages/aria2cd"
-license=(custom:WTFPL)
-depends=(aria2 systemd)
+license=(LicenseRef-WTFPL)
optdepends=(
- 'curl: for getting tracker list')
+ 'curl: for getting tracker list')
source=(
- tracker-config.sh
- update-aria2-tracker
- notify-user-and-copy-config
- ${pkgname}.hook
- aria2.conf
- aria2.sysusers
- aria2.tmpfiles
- aria2-tracker-update-user.service
- aria2-tracker-update-user.timer
- aria2-user.service
- aria2-user.target
- aria2-tracker-update-system.service
- aria2-tracker-update-system.timer
- aria2-system.service
- aria2-system.target
- aria2@.service
- LICENSE::http://www.wtfpl.net/txt/copying
+ tracker-config.sh
+ update-aria2-tracker
+ notify-user-and-copy-config
+ ${pkgname}.hook
+ aria2-tracker-update-user.service
+ aria2-tracker-update-user.timer
+ aria2-user.service
+ aria2-user.target
+ aria2-tracker-update-system.service
+ aria2-tracker-update-system.timer
+ aria2-system.service
+ aria2-system.target
+ aria2@.service
+ LICENSE::http://www.wtfpl.net/txt/copying
)
-sha256sums=('85f465f6f32a1713f65c389b57f81d26cecfb1e7baf06c38f6b9477818fc4f85'
- 'c97d987a51925c4a8b76ca45f97df63c0ea2f9301040c7460294407117b49bc6'
- '1046d5807ff575276aad2307560d4281215b3f8fadcc6993864af93dbcde8a2e'
+sha256sums=('70ff5d088f62cebd2168eca1fd528e4928ac162865c8f5253f9dea171c4184c6'
+ '5e87e631409387ec14fe12b1e75fcf92d9b46e270b32a2ef2748fcc354b2a335'
+ 'dee544a6cb7fb78aa69b37fbcc9ad9f1f48e3289b99bc054084191e93c969922'
'bdfecc359414d95396c6d19990e262d82a3240a01645a96e38e351fc8c27846e'
- 'd3dc278eeddbc910c775124bf474aa2c68b7bbba30226f6322ffc2c457785d27'
- 'ada4e985d9023c6e0f79a8bf8bc77af609f56f832dccd287c45bb62a2bb74946'
- '6c02f6fd75db7070f152689121a7485514f1b59aa8ec5afa92d4aaaf300ab2b2'
- '98f23383ca1a1264fe9c418580c70eaba3fde2811ae57dab7c9bb48f0d924572'
+ '6f0171608c2352fe6be43da813fc01d656d9c19a2dab0b393521c7b0d842ec4f'
'f3a81fd686335d8f45bc3aa3075979da40b93945d9b155c0e00d259de94499c1'
- '1ab7c6bc690f82838205aec3ecd7482c3e582017c5462119e6ac57603fd12f3b'
- '2ab0b3c87f29f0b37fff593f9379fb6662775c6d3ce11342a0136a267c5fc8a2'
- '0ef8368cf4c9aaf4b04268ce71163da4ae3c26bd8b2093516f855ba98b6f3d86'
+ '67da4cac7f24a783cb53e3bf6144a9d913782fa5b2e7539aa77440ec2e4a3996'
+ '6b4ce82e1678e199aca41f8e7017174a4a7e3f0be4e7ae4977ba716d650b4fbc'
+ '478d32f2789e39588384e22eaa57877ae20ca10ce4a75e5189dec9fe9e6658bd'
'f11e1d678b0fcd14f961b1e3ba7888f7ce76fc27e81fc5d6e8e442527e7a0d0d'
- '5797ee69e214f2c59cfd8d20c4287da97e0955264fa25cb43add56d5097981a0'
- 'ce7de392ff23ac33fda6fa0eebe347aa591e9760b8aee140353b8e00cb93c80e'
- '1ee51459337fafc9767734d1274cedbc1d5bf5c3092c98040235b7360a9b5925'
+ '792ab59a0bb4c6123b0f4537174f125b7ed528a96aaa24a24e84b7ec169da916'
+ '0922a3e463c1c936f24af896cf56e2f2fc9852cc7f7ae4a47bd64be917ff7e85'
+ '0f4a3901b8b32b0842c5dc6765d808585cb4611561114511867eba65cd3facc1'
'0356258391e190dc1d44ea01565cfe627fe44e27dad693a0a54c2483a7b223e5')
package(){
- mkdir -p "${pkgdir}/usr/share/aria2"
- touch "${pkgdir}/usr/share/aria2/dht.dat"
- touch "${pkgdir}/usr/share/aria2/dht6.dat"
- touch "${pkgdir}/usr/share/aria2/aria2.session"
- install -Dm644 "${srcdir}/aria2.conf" "${pkgdir}/usr/share/aria2/aria2.conf"
- install -Dm644 "${srcdir}/tracker-config.sh" "${pkgdir}/usr/share/aria2/tracker-config.sh"
- install -Dm644 "${srcdir}/aria2@.service" "${pkgdir}/usr/lib/systemd/system/aria2@.service"
- install -Dm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
- install -Dm644 "${srcdir}/${pkgname}.hook" "${pkgdir}/usr/share/libalpm/hooks/${pkgname}.hook"
- install -Dm755 "${srcdir}/notify-user-and-copy-config" \
- "${pkgdir}/usr/share/libalpm/scripts/notify-user-and-copy-config"
- install -Dm755 "${srcdir}/update-aria2-tracker" "${pkgdir}/usr/bin/update-aria2-tracker"
- install -Dm644 "${srcdir}/aria2.sysusers" "${pkgdir}/usr/lib/sysusers.d/aria2cd.conf"
- install -Dm644 "${srcdir}/aria2.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/aria2cd.conf"
- for target in user system
- do
- install -Dm644 "${srcdir}/aria2-tracker-update-${target}.service" \
- "${pkgdir}/usr/lib/systemd/${target}/aria2-tracker-update.service"
- install -Dm644 "${srcdir}/aria2-tracker-update-${target}.timer" \
- "${pkgdir}/usr/lib/systemd/${target}/aria2-tracker-update.timer"
- install -Dm644 "${srcdir}/aria2-${target}.service" \
- "${pkgdir}/usr/lib/systemd/${target}/aria2.service"
- install -Dm644 "${srcdir}/aria2-${target}.target" \
- "${pkgdir}/usr/lib/systemd/${target}/aria2.target"
- done
+ depends=(aria2 systemd)
+ install -Dm644 "${srcdir}/tracker-config.sh" "${pkgdir}/usr/share/aria2/tracker-config.sh"
+ install -Dm644 "${srcdir}/aria2@.service" "${pkgdir}/usr/lib/systemd/system/aria2@.service"
+ install -Dm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -Dm644 "${srcdir}/${pkgname}.hook" "${pkgdir}/usr/share/libalpm/hooks/${pkgname}.hook"
+ install -Dm755 "${srcdir}/notify-user-and-copy-config" \
+ "${pkgdir}/usr/share/libalpm/scripts/notify-user-and-copy-config"
+ install -Dm755 "${srcdir}/update-aria2-tracker" "${pkgdir}/usr/bin/update-aria2-tracker"
+ for target in user system
+ do
+ install -Dm644 "${srcdir}/aria2-tracker-update-${target}.service" \
+ "${pkgdir}/usr/lib/systemd/${target}/aria2-tracker-update.service"
+ install -Dm644 "${srcdir}/aria2-tracker-update-${target}.timer" \
+ "${pkgdir}/usr/lib/systemd/${target}/aria2-tracker-update.timer"
+ install -Dm644 "${srcdir}/aria2-${target}.service" \
+ "${pkgdir}/usr/lib/systemd/${target}/aria2.service"
+ install -Dm644 "${srcdir}/aria2-${target}.target" \
+ "${pkgdir}/usr/lib/systemd/${target}/aria2.target"
+ done
}
diff --git a/aria2-system.service b/aria2-system.service
index a6e270e75542..c9f0760d3c32 100644
--- a/aria2-system.service
+++ b/aria2-system.service
@@ -4,31 +4,32 @@ After=network-online.target
Wants=network-online.target
[Service]
-Type=forking
+Type=simple
+DynamicUser=true
User=aria2cd
# Arguments here will override config file.
ExecStart=/usr/bin/aria2c --conf-path=/etc/aria2cd/aria2.conf \
- --dir=/var/lib/aria2cd/Downloads --remote-time=true --daemon=true --enable-rpc=true \
- --bt-enable-lpd=true --bt-save-metadata=true \
- --enable-dht=true --enable-dht6=true \
- --optimize-concurrent-downloads=true \
- --parameterized-uri=true \
+ --daemon=false --enable-rpc=true \
+ --dir=/var/lib/aria2cd/Downloads \
--save-session=/var/lib/aria2cd/aria2.session \
--input-file=/var/lib/aria2cd/aria2.session \
--dht-file-path=/var/lib/aria2cd/aria2.dht \
--dht-file-path6=/var/lib/aria2cd/aria2.dht6 \
--save-cookies=/var/lib/aria2cd/aria2.cookies \
--load-cookies=/var/lib/aria2cd/aria2.cookies \
- --log=/var/log/aria2cd.log
-ExecReload=/usr/bin/kill -HUP ${MAINPID}
+ --log=/var/log/aria2cd/aria2cd.log
# Sandboxing
ProtectSystem=strict
-ReadWritePaths=/var/lib/aria2cd /var/log/aria2cd.log
+StateDirectory=aria2cd
+LogsDirectory=aria2cd
+ConfigurationDirectory=aria2cd
ReadOnlyPaths=/etc/aria2cd
-NoExecPaths=/
-ExecPaths=/usr/bin/aria2c /usr/lib
+
+ProtectKernelTunables=yes
+ProtectKernelModules=yes
ProtectHome=yes
+ProtectControlGroups=yes
NoNewPrivileges=yes
[Install]
diff --git a/aria2-system.target b/aria2-system.target
index 111278fe8573..36362d63326d 100644
--- a/aria2-system.target
+++ b/aria2-system.target
@@ -2,7 +2,10 @@
Description=System Aria2 Daemons with Trackers Updated Automatically
After=network-online.target
Wants=network-online.target
-Wants=aria2.service aria2-tracker-update.timer
+Requires=aria2.service
+After=aria2.service
+Wants=aria2-tracker-update.timer
+After=aria2-tracker-update.timer
[Install]
WantedBy=multi-user.target
diff --git a/aria2-tracker-update-system.service b/aria2-tracker-update-system.service
index da539ff4a865..9ea59e38e3f2 100644
--- a/aria2-tracker-update-system.service
+++ b/aria2-tracker-update-system.service
@@ -5,13 +5,15 @@ Wants=network-online.target
[Service]
Type=oneshot
+DynamicUser=yes
+User=aria2cd
ExecStart=/usr/bin/update-aria2-tracker --systemd
-RestartSec=60s
-Restart=on-failure
# Sandboxing
ProtectSystem=strict
+ReadOnlyPaths=/
ReadWritePaths=/etc/aria2cd
-NoExecPaths=/
-ExecPaths=/usr/bin /usr/lib
+ProtectKernelTunables=yes
+ProtectKernelModules=yes
ProtectHome=yes
+ProtectControlGroups=yes
NoNewPrivileges=yes
diff --git a/aria2-tracker-update-user.service b/aria2-tracker-update-user.service
index f425bba61605..16f640f8e023 100644
--- a/aria2-tracker-update-user.service
+++ b/aria2-tracker-update-user.service
@@ -6,5 +6,3 @@ Wants=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/bin/update-aria2-tracker
-RestartSec=60s
-Restart=on-failure
diff --git a/aria2-user.service b/aria2-user.service
index 8ce7f05c4a0c..a2b20a5e7eca 100644
--- a/aria2-user.service
+++ b/aria2-user.service
@@ -4,16 +4,9 @@ After=network-online.target
Wants=network-online.target
[Service]
-Type=forking
+Type=simple
# Arguments here will override config file.
-ExecStart=/usr/bin/aria2c \
- --remote-time=true --daemon=true --enable-rpc=true \
- --bt-enable-lpd=true --bt-save-metadata=true \
- --enable-dht=true --enable-dht6=true \
- --optimize-concurrent-downloads=true \
- --parameterized-uri=true
-ExecReload=/usr/bin/kill -HUP ${MAINPID}
-
+ExecStart=/usr/bin/aria2c --daemon=false --enable-rpc=true
[Install]
WantedBy=aria2.target
diff --git a/aria2-user.target b/aria2-user.target
index 4201d615ce5e..0c3b2381285e 100644
--- a/aria2-user.target
+++ b/aria2-user.target
@@ -2,7 +2,10 @@
Description=User Aria2 Daemons with Trackers Updated Automatically
After=network-online.target
Wants=network-online.target
-Wants=aria2.service aria2-tracker-update.timer
+Requires=aria2.service
+After=aria2.service
+Wants=aria2-tracker-update.timer
+After=aria2-tracker-update.timer
[Install]
WantedBy=default.target
diff --git a/aria2.conf b/aria2.conf
deleted file mode 100644
index b7e05b02e31c..000000000000
--- a/aria2.conf
+++ /dev/null
@@ -1,49 +0,0 @@
-# Aria2 Config
-## Download Directory
-dir=${HOME}/Downloads
-## Max Download Numbers
-max-concurrent-downloads=8
-## Check Integrity
-check-integrity=true
-## Auto Continue
-continue=true
-## Max Connections Per Server
-max-connection-per-server=16
-## Retry Wait
-retry-wait=5
-## Accept gzip Headers
-http-accept-gzip=true
-## BT Force Encryption
-#bt-force-encryption=true
-## BT Save Torrent
-bt-save-metadata=true
-## Enable RPC
-enable-rpc=true
-## RPC Certificate
-#rpc-certificate=${HOME}/.config/aria2/aria2.crt
-## RPC Private Key
-#rpc-private-key=${HOME}/.config/aria2/aria2.key
-## RPC Listen Port
-#rpc-listen-port=6800
-## RPC Secret
-rpc-secret=SeCRetoFArIa@C
-## RPC Secure
-#rpc-secure=true
-## Daemon
-daemon=true
-## Enable Map Files Into Memory
-enable-mmap=true
-## File Allocation
-file-allocation=falloc
-## Paramiterized URI
-parameterized-uri=true
-## Save Session
-save-session=${HOME}/.config/aria2/aria2.session
-## Input File
-input-file=${HOME}/.config/aria2/aria2.session
-## DHT File
-dht-file-path=${HOME}/.cache/aria2/dht.dat
-## DHT 6 File
-dht-file-path6=${HOME}/.cache/aria2/dht6.dat
-## BT Trackers
-bt-tracker=
diff --git a/aria2.sysusers b/aria2.sysusers
deleted file mode 100644
index 63dffecf8c00..000000000000
--- a/aria2.sysusers
+++ /dev/null
@@ -1 +0,0 @@
-u aria2cd - "Aria2 Daemon User" /var/lib/aria2cd
diff --git a/aria2.tmpfiles b/aria2.tmpfiles
deleted file mode 100644
index 4e4bd3648c59..000000000000
--- a/aria2.tmpfiles
+++ /dev/null
@@ -1,7 +0,0 @@
-v /var/lib/aria2cd 755 aria2cd aria2cd
-d /var/lib/aria2cd/Downloads 755 aria2cd aria2cd 30d
-f /var/lib/aria2cd/aria2.session 640 aria2cd aria2cd
-f /var/lib/aria2cd/aria2.dht 640 aria2cd aria2cd
-f /var/lib/aria2cd/aria2.dht6 640 aria2cd aria2cd
-f /var/lib/aria2cd/aria2.cookies 640 aria2cd aria2cd
-f /var/log/aria2cd.log 644 aria2cd aria2cd
diff --git a/aria2@.service b/aria2@.service
index 100535529416..cbde576d114d 100644
--- a/aria2@.service
+++ b/aria2@.service
@@ -1,13 +1,13 @@
[Unit]
-Description=Aria2c Daemon for %i
+Description=Aria2c Daemon for user %i
After=network-online.target
Wants=network-online.target
[Service]
-Type=forking
+Type=simple
User=%i
ExecStartPre=/usr/bin/update-aria2-tracker
-ExecStart=/usr/bin/aria2c --daemon=true
+ExecStart=/usr/bin/aria2c --daemon=false
ExecReload=/usr/bin/kill -HUP ${MAINPID}
[Install]
diff --git a/notify-user-and-copy-config b/notify-user-and-copy-config
index b891fbb91ed6..f518cd467182 100644
--- a/notify-user-and-copy-config
+++ b/notify-user-and-copy-config
@@ -2,25 +2,34 @@
echo "aria2cd has been installed/updated successfully, but there is something extra to do."
echo ""
-echo "If you are using user service, there are two options:"
+echo "If you are using user service, you need to copy /usr/share/aria2/ to <aria2-config-dir>"
echo ""
-echo "1. You need to copy /usr/share/aria2/ to \${HOME}/.aria2/, \${HOME} is the home directory of the user who runs aria2c."
-echo "2. Copy aria2.conf and tracker-config.sh in /usr/share/aria2 to \${XDG_CONFIG_HOME:-\${HOME}/.config}/aria2/"
-echo " Copy aria2.session, dht.dat and dnt6.dat in /usr/share/aria2 to \${XDG_CACHE_HOME:-\${HOME}/.config}/aria2/"
-echo ""
-echo "The latter(\${XDG_CACHE_HOME}/aria2/ and \${XDG_CONFIG_HOME}/aria2/) is preferered to use because it follows freedesktop's specification."
+echo "<aria2-config-dir> means ~/.aria2 or \${XDG_CONFIG_HOME:-\${HOME}/.config}/aria2"
echo ""
echo "According to systemd document, you also need to enable NetworkManager-wait-online.service or systemd-networkd-wait-online.service if you want to use aria2-update-tracker.timer."
echo ""
-echo "Note: aria2@username.service is deprecated now, it may be removed in the future. You can use system wide aria2.service or user wide aria2.service instead."
-echo " Files downloaded by system service is placed at /var/lib/aria2cd/Downloads and will be cleaned after 30 days, please copy it to a safe place if needed."
+echo "Notes:"
+echo " aria2@username.service is deprecated now, it may be removed in the future. You can use system wide aria2.service or user wide aria2.service instead."
+echo " Files downloaded by system service is placed at /var/lib/aria2cd/Downloads."
echo ""
+# create_config $file
+function create_config() {
+ if [[ ! -f "/etc/aria2cd/${1}" ]]
+ then
+ if [[ -f "/usr/share/aria2/${1}" ]]
+ then
+ echo "Copying ${1}..."
+ cp "/usr/share/aria2/${1}" "/etc/aria2cd/${1}"
+ else
+ echo "Creating empty ${1}..."
+ touch "/etc/aria2cd/${1}"
+ fi
+ else
+ echo "${1} is found so we will skip it."
+ fi
+}
+
mkdir -p /etc/aria2cd
-for file in aria2.conf tracker-config.sh
-do
- echo "Copying ${file}..."
- [[ ! -f /etc/aria2cd/${file} ]] && \
- cp /usr/share/aria2/${file} /etc/aria2cd/${file}
-done
-echo "Finished copying config."
+create_config tracker-config.sh
+create_config aria2.conf
diff --git a/tracker-config.sh b/tracker-config.sh
index e48ad3f55f9d..8aa785f1a345 100644
--- a/tracker-config.sh
+++ b/tracker-config.sh
@@ -1,4 +1,4 @@
# Set $ENABLED to false to disable auto updating tracker
# Please fill $TRACKER with proper content, you can see the sample address for more info.
ENABLED=false
-TRACKER=$(curl -Ls https://cdn.staticaly.com/gh/XIU2/TrackersListCollection/master/best_aria2.txt) \ No newline at end of file
+TRACKER=$(curl -Ls https://cf.trackerslist.com/best_aria2.txt) \ No newline at end of file
diff --git a/update-aria2-tracker b/update-aria2-tracker
index f48505ce05fc..928cb05ced48 100644
--- a/update-aria2-tracker
+++ b/update-aria2-tracker
@@ -3,25 +3,43 @@
set -e
function get_aria2_home(){
- [[ $(id -nu) == "root" && $1 == "--systemd" ]] && echo /etc/aria2cd && return 0
+ if [[ "$1" == "--systemd" ]]
+ then
+ echo /etc/aria2cd
+ return 0
+ fi
for path in ${HOME}/.aria2 ${XDG_CONFIG_HOME:-${HOME}/.config}/aria2
do
- [[ -f ${path}/aria2.conf ]] && echo ${path} && return 0
+ if [[ -f ${path}/aria2.conf ]]
+ then
+ echo "${path}"
+ return 0
+ fi
done
- echo ${HOME}/.aria2 && return 0
+ echo "${HOME}/.aria2"
+ return 0
}
-ARIA2_CONFIG_HOME=$(get_aria2_home $1)
+ARIA2_CONFIG_HOME=$(get_aria2_home "$1")
echo "Aria2 config is placing at ${ARIA2_CONFIG_HOME}"
if [[ -f "${ARIA2_CONFIG_HOME}/tracker-config.sh" ]]
then
echo "Loading config from ${ARIA2_CONFIG_HOME}/tracker-config.sh"
source "${ARIA2_CONFIG_HOME}/tracker-config.sh"
fi
-[[ -z $ENABLED ]] && ENABLED=false
-$ENABLED || exit 0
-[[ -z $TRACKER ]] && \
- TRACKER=$(curl -Ls https://cdn.staticaly.com/gh/XIU2/TrackersListCollection/master/best_aria2.txt)
-grep -q 'bt-tracker=' "${ARIA2_CONFIG_HOME}/aria2.conf" && \
- sed -i "s@bt-tracker=.*@bt-tracker=$TRACKER@" "${ARIA2_CONFIG_HOME}/aria2.conf" || \
- sed -i "\$a bt-tracker=$TRACKER" "${ARIA2_CONFIG_HOME}/aria2.conf"
+ENABLED=${ENABLED:-false}
+if $ENABLED
+then
+ if [[ -z $TRACKER ]]
+ then
+ exit 1
+ fi
+ if grep -q 'bt-tracker=' "${ARIA2_CONFIG_HOME}/aria2.conf"
+ then
+ echo "Replacing tracker line"
+ sed -i "s@bt-tracker=.*@bt-tracker=$TRACKER@" "${ARIA2_CONFIG_HOME}/aria2.conf"
+ else
+ echo "Adding tracker line"
+ sed -i "\$a bt-tracker=$TRACKER" "${ARIA2_CONFIG_HOME}/aria2.conf"
+ fi
+fi