summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorgogogoghost2021-04-25 17:13:05 +0800
committergogogoghost2021-04-25 17:13:05 +0800
commit275dbfe6cdabd2d8bd3d2f207d9a054a139b6de3 (patch)
tree0a79b24cbd991ff6032b030dd4c600c6eaa646be
parenta233d8eb67685a0bf7a0d8fc6d55c0ea91b02c50 (diff)
downloadaur-275dbfe6cdabd2d8bd3d2f207d9a054a139b6de3.tar.gz
Add a start-daemon.sh for better experience
-rw-r--r--PKGBUILD16
-rw-r--r--aria2.conf.example106
-rw-r--r--aria2.service2
-rwxr-xr-xstart-daemon.sh27
4 files changed, 145 insertions, 6 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 131a8e4145fd..00cf158ac8c9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,15 +1,21 @@
-# Maintainer: Dct Mei <dctxmei@gmail.com>
+# Maintainer: gogogoghost <491511934@qq.com>
pkgname=aria2-systemd
pkgver=1.0
pkgrel=1
pkgdesc="Systemd unit setting a Aria2 Service"
arch=('any')
depends=('aria2')
-source=("aria2.service")
-sha512sums=('e21bfeb353a8ab8b1879bbe8e6015ba9517c0c570f5c90f81b78e40365a8341ec1156321ee760af3d906ece26608da2601e2638e6e62848948f4e8e7c525f0d5')
-
+source=(
+ "aria2.service"
+ "aria2.conf.example"
+ "start-daemon.sh"
+)
package() {
install -Dm644 "$srcdir"/aria2.service "$pkgdir"/usr/lib/systemd/system/aria2.service
- sed 's/\/etc/%h\/.config/g' aria2.service -i
install -Dm644 "$srcdir"/aria2.service "$pkgdir"/usr/lib/systemd/user/aria2.service
+ install -Dm644 "$srcdir"/aria2.conf.example "$pkgdir"/etc/aria2/aria2.conf.example
+ install -Dm755 "$srcdir"/start-daemon.sh "$pkgdir"/etc/aria2/start-daemon.sh
}
+md5sums=('29dbe4a84d98cdb3824ceb1587236f1b'
+ 'ad931e8a6e4989cff16f7196eccca99a'
+ '20842350316227bbd90fa3925dc7c4e5')
diff --git a/aria2.conf.example b/aria2.conf.example
new file mode 100644
index 000000000000..5a8efc79000e
--- /dev/null
+++ b/aria2.conf.example
@@ -0,0 +1,106 @@
+
+# 下载位置
+dir=Downloads/aria2
+# RPC端口
+rpc-listen-port=6800
+
+
+## 下载设置 ##
+
+# 断点续传
+continue=true
+# 最大同时下载任务数
+max-concurrent-downloads=5
+# 单个任务最大线程数
+split=16
+# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
+min-split-size=1M
+# 同一服务器连接数
+max-connection-per-server=16
+# 断开速度过慢的连接
+lowest-speed-limit=0
+# 整体下载速度限制
+max-overall-download-limit=0
+# 单个任务下载速度限制
+max-download-limit=0
+# 整体上传速度限制
+max-overall-upload-limit=0
+# 单个任务上传速度限制
+max-upload-limit=0
+# 禁用IPv6
+disable-ipv6=false
+# 当服务器返回503错误时, aria2会尝试重连
+# 尝试重连次数, 0代表无限, 默认:5
+max-tries=5
+# 重连冷却, 默认:0
+retry-wait=0
+
+## 进度保存相关 ##
+
+# 读取会话
+#input-file=.config/arai2/session.lock
+# 保存会话
+#save-session=.config/arai2/session.lock
+# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
+save-session-interval=30
+# 强制保存会话, 即使任务已经完成, 默认:false
+# 较新的版本开启后会在任务完成后依然保留.aria2文件
+force-save=true
+
+## RPC相关设置 ##
+
+# 启用RPC, 默认:false
+enable-rpc=true
+# 允许所有来源, 默认:false
+rpc-allow-origin-all=true
+# 允许非外部访问, 默认:false
+rpc-listen-all=true
+# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
+event-poll=epoll
+# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
+#rpc-secret=<TOKEN>
+
+## BT/PT下载相关 ##
+
+# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
+follow-torrent=true
+# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
+#listen-port=51413
+# 单个种子最大连接数, 默认:55
+bt-max-peers=55
+# 打开DHT功能, PT需要禁用, 默认:true
+enable-dht=false
+# 打开IPv6 DHT功能, PT需要禁用, 默认:true
+#enable-dht6=false
+# DHT网络监听端口, 默认:6881-6999
+#dht-listen-port=6881-6999
+# 本地节点查找, PT需要禁用, 默认:false
+bt-enable-lpd=false
+# 种子交换, PT需要禁用, 默认:true
+enable-peer-exchange=false
+# 每个种子限速, 对少种的PT很有用, 默认:50K
+#bt-request-peer-speed-limit=50K
+# 客户端伪装, PT需要
+peer-id-prefix=-TR2770-
+user-agent=Transmission/2.77
+# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
+seed-ratio=0
+# BT校验相关, 默认:true
+bt-hash-check-seed=true
+# 继续之前的BT任务时, 无需再次校验, 默认:false
+bt-seed-unverified=true
+# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
+bt-save-metadata=true
+# 强制加密, 防迅雷必备
+bt-require-crypto=true
+
+## 磁盘相关 ##
+
+#文件保存路径, 默认为当前启动位置
+
+#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)
+enable-mmap=true
+# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
+file-allocation=trunc
+# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
+disk-cache=64M
diff --git a/aria2.service b/aria2.service
index 181a31bfe2ee..3b8f3211d361 100644
--- a/aria2.service
+++ b/aria2.service
@@ -3,7 +3,7 @@ Description=Aria2 Service
After=network.target
[Service]
-ExecStart=/usr/bin/aria2c --enable-rpc --rpc-listen-all --rpc-allow-origin-all --save-session /etc/aria2/session.lock --input-file /etc/aria2/session.lock --conf-path=/etc/aria2/aria2.conf
+ExecStart=/etc/aria2/start-daemon.sh
[Install]
WantedBy=default.target
diff --git a/start-daemon.sh b/start-daemon.sh
new file mode 100755
index 000000000000..fc09116bc455
--- /dev/null
+++ b/start-daemon.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+home=$HOME
+
+if [ $UID -eq 0 ];then
+ home=/root;
+fi
+
+dir=$home/.config/aria2;
+
+session=$dir/session.lock;
+config=$dir/aria2.conf;
+
+#create dir
+if [ ! -d $dir ];then
+ mkdir -p $dir;
+fi
+#create session
+if [ ! -f $session ];then
+ touch $session;
+fi
+#create config
+if [ ! -f $config ];then
+ cp /etc/aria2/aria2.conf.example $config;
+fi
+
+exec /usr/bin/aria2c --conf-path=$config;