Jonnyan的原创笔记
alpine
alpine里python安装mssql笔记
Alpine linux如何配置和管理自定义服务
windows
window server2012远程授权重置
window获取本机所有IP
window远程桌面RDP加速方案
远程监控 Win10 资源占用
windows 下 mysql 区分大小写敏感问题
window下navicat无限试用脚本
win11恢复win10右键菜单样式
永久禁止windows更新
强制本地账户安装win10/11
sqlserver(2012)在线清理tempdb
Linux
解决openvpn的CRL has expired笔记
centos7.x配置时间服务器(chrony)
centos7.x下安装wireguard
解决influxdb的log日志输出位置
保存 iptable 规则并开机自动加载 | SA-Logs
kafka笔记
kafka的server.properties 配置文件参数说明
CentOS 和 RedHat 下 8 个最常用的 YUM 库
外网IP查询网站
VirtualBox Ubuntu20/centos7 命令行如何扩容分区磁盘
如何备份sqlite数据库
yum 安装 redis5/mq/consul
centos7.x 安装 docker-ce
zabbix4.2 的 yum+mariadb 方式部署安装
如何在 Linux 中查找最大的 10 个文件
mongodb 备份与还原操作
Linux 高频工具快速教程
yum 安装 influxdb/telegraf
ubuntu 14.04/16.04/18.04 yum 安装 zabbix-agent 教程
逃不掉的 mysql 数据库安装方式大全 yum rpm 源码
VIM 配置入门
find 命令结合 cp bash mv 命令使用的 4 种方式
Tomcat nginx log 日志按天分割切割
linux 和 pycharm 下终端彩色打印输出
centos5/6/7 下 yum 安装 zabbix-agent(被控端)
shell 脚本头,#!/bin/sh 与 #!/bin/bash 的区别.
electerm/tabby在执行screen命令后不显示滚动条
aws ec2 安装caddy2
No usable version of libssl was found
python
python virtualenv笔记
python配置文件INI/TOML/YAML/ENV的区别
python限制函数的执行时间
python里and和or的理解
SQLite is not a toy database | Anton Zhiyanov
四行代码实现 Python 管道 - Aber's blog
systemd管理虚拟环境Django+uwsgi+nginx配置教程
Linux shell命令创建python django用户
nginx子路径下反代运行多个django
django web 应用 runserver 模式下 cpu 占用高解决办法
解决 pip 安装模块报错 Cannot fetch index base URL http://pypi.python.org/simple/
docker
仅在首次启动时在Docker容器中运行命令
Docker多平台架构镜像构建
解决cadvisor监控内存值与docker stats命令值不一致问题
docker 清理指定日期之前的镜像
docker 部署 graylog 使用教程
docker 一键搭建 zerotier-moon 节点
alpine的docker镜像安装mysql/mariadb/redis
dockerfile 多阶段构建参考
Warning: Stopping docker.service, but it can still be activated by: docker.socket
jsonargsrecommended: json arguments recommended for entrypoint to prevent unintended behavior related to os signals (line 30)
nginx
Nginx限制并发连接数与下载速度
nginx仅允许域名访问禁止IP访问
Nginx 强制跳转 Https
nginx强制跳转https无限301循环问题
万字总结,带你全面系统的认识 Nginx
linux 下编译安装 nginx 完整版
解决 nginx 同端口强制跳转 https 配置 ssl 证书问题
nginx 关闭日志功能 access_log 关闭
基于 nginx 的 token 认证
杂记
小米手机MIUI12安装Google服务
使用sphinx+markdown+readthedocs+github来编写文档
N1由armbian直刷openwrt
N1安装docker版本的openwrt做旁路由
NUC10 i3/i5/i7系列开启局域网wol唤醒
威联通qnap安装nginx
威联通qnap配置开机自启动项
telegram bot python使用示例教程
四款paste临时文本分享平台
docker部署微力同步(verysync)
Android和IOS自部署通知程序
苹果M1如何科学上网
M1 mac iterm2配置lrzsz命令
漫威轮播
网件XR500/R7800刷机
DIY 编译 openwrt 固件
苹果 mac 版微软官方远程连接工具下载 Microsoft Remote Desktop For Mac
wireguard 实现 peer 互联, NAT to NAT
学习本来的样子
解决 aws ec2 的 centos7 设置时区无效
redis 问题优化
N1 如何完美刷入 armbian 系统教程
v2rayN 的 pac 简单规则
博客园 markdown 使用折叠语法和颜色标签
十年感悟之 python 之路
在浏览器输入 URL 回车后发生了什么?
grafana 里 prometheus 查询语法
国内开源镜像站点汇总
解决阿里云部署 office web apps ApplicationFailedException 报错问题
解决 mac 休眠睡眠异常耗电方法
jira 集成 fisheye 代码深度查看工具安装绿色版
阿里云 ecs 开启 x11 图形化桌面
markdown 完整语法规范 3.0 + 编辑工具介绍
pycharm 重置设置,恢复默认设置
[已解决]window 下 Can't connect to MySQL server on'localhost' (10061) 与无法启动 MYSQL 服务”1067 进程意外终止”
解决 xshell6 评估过期, 需采购问题
[已解决]pycharm 报错: AttributeError: module 'pip' has no attribute 'main'
[已解决]windows 下 python3.x 与 python2.7 共存版本 pip 使用报错问题
局域网共享工具总结
云策文档think配置https教程
MIUI12-14百度输入法小米版使用森林集皮肤办法
Jenkins 构建后通知到飞书
简易的openvpn安装
keychron V1键盘改键教程
caddy2配置SSE单向websock(How to proxy Server Sent Events caddy2)
cleanmymacx 一直要求输入密码问题解决
Mac配置鼠须管输入法(Rime)
sorry this adobe app is not available(mac版本的Photoshop)
caddy2配置websocks
解决 all DNS requests failed, first error: dns: bad rdata
小米hyperos系统关闭5G信号开关
简单的路由器系统
机器监控告警
zabbix
yum / 编译安装 Zabbix 5.0 LTS
zabbix 监控 AWS-SQS 队列
Zabbix-agent 端配置文件说明
Prometheus+grafana
prometheus+grafana安装和配置
node_exporter主机监控
cadvisor容器监控
redis_exporter监控
rabbitmq_exporter监控
consul_exporter监控
windows_exporter
Open-Falcon
falcon 数据丢失处理方法参考
日志监控告警
graylog
graylog 通过 python 实现钉钉 / 微信 / webhook 告警
loki+grafana
Loki简介
Loki安装
Loki查询语法
grafana面板pannel语法
内网穿透
frp(推荐一)
zerotier(推荐二)
zerotier充当网关实现内网互联,访问其它节点内网
一分钟自建zerotier-plant
tailscale(推荐三)
N2N
nps
anylink
OmniEdge
quickvlan(昆浪智能)
tg每日自动签到
本文档发布于https://mrdoc.fun
-
+
首页
N1 如何完美刷入 armbian 系统教程
> 本文由 [简悦 SimpRead](http://ksria.com/simpread/) 转码, 原文地址 [www.cnblogs.com](https://www.cnblogs.com/jonnyan/p/12660037.html) 本文转载于 [https://yuerblog.cc/2019/10/23 / 斐讯 n1 - 完美刷机 armbian 教程 /](https://yuerblog.cc/2019/10/23/%E6%96%90%E8%AE%AFn1-%E5%AE%8C%E7%BE%8E%E5%88%B7%E6%9C%BAarmbian%E6%95%99%E7%A8%8B/) 介绍的比较详细了, 我略微修改一下细节, 增加一下相关文件下载渠道. 2020-12-15 日补充,[N1 由 armbian 直刷 openwrt](https://www.cnblogs.com/jonnyan/p/14137363.html), 个人觉得 openwrt 带的功能更好的解决了瞎折腾, 同样也可以使用 docker, 所以个人推荐直刷 openwrt 系统. ----------------------------------------------------------------------------------------------------------------------------------------------------------- ### 2020-12-13 日补充内核升级, 解决 docker stop 命令执行会引起系统重启. * 首先下载所需内核 `https://pan.baidu.com/s/1BIjHHfi90Oa7Le91Q8gkOg 密码:02im`, 下载`/N1_Openwrt/Armbian_buster_内核5.3.x(N1、贝壳云)/纯内核/amlogic`目录下的`boot-*`和`modules-*`的任意版本都行, 然后上传到 N1 的 `/opt` 目录下. ``` cd /opt tar -xzvf boot-5.4.28-amlogic-flippy-32+.tar.gz tar -xzvf modules-5.4.28-amlogic-flippy-32+.tar.gz cp vmlinuz-5.4.28-amlogic-flippy-32+ /boot cp uInitrd-5.4.28-amlogic-flippy-32+ /boot cp initrd.img-5.4.28-amlogic-flippy-32+ /boot # 可选 cp System.map-5.4.28-amlogic-flippy-32+ /boot # 可选 cp config-5.4.28-amlogic-flippy-32+ /boot # 可选 cp -a 5.3.6-amlogic-flippy-9+ /lib/modules cd /boot cp vmlinuz-5.4.28-amlogic-flippy-32+ zImage cp uInitrd-5.4.28-amlogic-flippy-32+ uInitrd sync #下面关闭看门狗 cat >> /etc/modprobe.d/99-local.conf <<EOF blacklist meson_gxbb_wdt EOF #最后重启即可 reboot #验证 uname -r ``` 出处:[https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=958173&page=30#pid4980801](https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=958173&page=30#pid4980801) 楼层: 440 2020-04-29 补充:历经半个月的使用,bug 有卸载软件或者长时间下载会造成 readonly file system,这个重启就好。但软件无法卸载。其它基本正常。 ### 一、教程 怎么说呢?我被斐讯 N1 刷机 Armbian 活生生折腾了 4 个晚上,终于还是搞定了。 首先得恭喜你,运气好搜到了我的博客,否则你可能需要 8 个晚上,16 个晚上,甚至绝望。 我先说一下网上教程都坑在哪里: * 搞不清楚到底哪个 Armbian 内核版本好用(好用是指:稳定、低负载、各硬件驱动正常)。 * 搞不清楚所选内核应该配套哪个 dtb 文件(或者不知道 dtb 是啥)。 * 刷到 emmc 遇到各种诡异现象(例如:偶然上不去网、readonly、拔掉 U 盘后无法启动)。 * 刷到 emmc 不正常,不知道如何正确重刷。 没错,我把所有坑都踩了一遍,累的我死去活来。 所以,你搜到我的博客算是真的走运了: 我会告诉你每一步怎么做,用什么版本,为什么会被坑。 主要是因为它比树莓派好。 网上实测 N1 性能超过树莓派 3B+,我觉得没必要实测了,因为计算性能本身就不是板子的强项,够用即可。 N1 的优势在于: * ARM64 主流架构,真 64 位 linux 系统,docker 随便玩。(Armbian 输出:Linux aml 5.0.2-aml-s905 #5.77 SMP PREEMPT Mon Apr 1 17:41:33 MSK 2019 aarch64 GNU/Linux) * 真千兆有线网口,2.4/5G 双频 wifi,可以作热点。 * 自带 8G 的 emmc 存储,linux 系统直接刷到盒子里,不用额外插 SD 卡,I/O 性能好。 * CPU 4 核,2G 内存。 唯一缺点: * USB2.0,显然是不配套千兆网口带宽的,磁盘将成为了下载电影的瓶颈。 * 需要精力折腾,因为是小众社区来支持 N1 硬件适配到 Armbian 系统,安装过程缺乏标准化的方案。 全网只有拼多多售卖。 截止 2019 年 11 月份,全新未开封未刮 K 码的全新 N1,售价在 130 元左右,我建议大家还是买新的省心。 N1 目前处于炒作阶段,价格持续攀升,建议趁早购买。 **注意:不需要买 USB 双公头刷机线,无论刷机还是重刷都是用不到的!** 连接 HDMI、网线、电源,你会进入斐讯自带的安卓系统。 安卓系统的标准启动过程如下: * bootloader:斐讯针对该盒子硬件实现的类似 BIOS 的东西,它负责硬件的初始化,最终引导操作系统。 * boot 分区:放着安卓操作系统的内核文件,由 bootloader 唤起,也就实现了进入操作系统的效果。 * recovery 分区:类似于 WinPE 的东西,如果 boot 分区挂了,则可以通过 Recovery 方式进入一个临时的操作系统,然后恢复 boot 分区(类似于 ghost 做系统)。 问题就在于,bootloader 是斐讯针对盒子定制的,它设置了一些限制,比如: * 只能使用他家的安卓系统 * 不支持 U 盘引导操作系统 所以呢,恩山论坛有一位叫做 webpad 的大神,修改了斐讯的 bootloader。 我们要做的,就是把 bootloader 覆盖到盒子里面去。 webpad 提供了工具,大家按照教程与工具:[https://www.right.com.cn/forum/thread-340279-1-1.html](https://www.right.com.cn/forum/thread-340279-1-1.html),通过 adb 网络连接的方式刷入即可。 一台 N1 这辈子只需要做一次降级操作,后续不需要再研究这个问题了。 连接 USB 线刷的方式,除非你想玩电视系统,否则刷 Armbian 是不需要强制使用的。 刷 armbian 的整体逻辑如下: * 为了把 armbian 刷入 emmc 存储,我们首先得把 armbian 刷到 U 盘上,然后通过 U 盘引导进入 armbian 系统。 * U 盘进入系统后,我们执行一个命令就可以把 armbian 系统的 boot 分区以及 rootfs 等等都 copy 到 emmc 上。 * 一旦完成 emmc 刷写,此后 bootloader 就会直接读 emmc 中的 boot 分区,直接引导进入 armbian。 首先是选什么版本的 Armbian,以及替换哪一个 dtb 文件,我直接告诉大家结论: Armbian 5.77 版本,使用 xiangsm 的 dtb 文件,这是恩山论坛的帖子:[https://www.right.com.cn/forum/thread-510423-1-1.html](https://www.right.com.cn/forum/thread-510423-1-1.html) 这是目前恩山论坛最新也是最广泛肯定的版本,大家就不要自己再折腾研究了。 至于 armbian 和 dtb 分别是什么来头,我简单说明一下: * armbian:直接来源于 armbian 的官方,armbian 其实就是 debian 发行版为 arm 架构适配后的版本。也就是说,恩山论坛是没有人去改动 armbian 系统代码的,是非常可靠的。 * dtb:各种品牌的盒子千千万,每个盒子使用的网卡啊、cpu 芯片啊的型号千千万,armbian 内核为了能够和这些外设正常工作,就要求提供一种叫做 dtb 的描述文件,我理解就是针对各个硬件的驱动程序。 * 为了让斐讯 N1 的各个硬件可以被 armbian 正常调度,所以需要给斐讯 N1 适配一套 dtb 文件。 * dtb 文件需要随着内核编译,所以不同 armbian 内核版本必须使用配套的 dtb 文件。 * 目前斐讯 N1 的 dtb 文件已经被 armbian 收录到官方源码库里,但是使用的时候 linux 负载会显示的很高,所以热心网友为 armbian5.77 编译了一个 fix 过的 dtb 文件。 armbian5.77 大家直接走我的网盘下载即可,因为从 armbian 官方下载非常慢: 链接: [https://pan.baidu.com/s/1-7AmPhRkP1LKtqb6X7s9IA](https://pan.baidu.com/s/1-7AmPhRkP1LKtqb6X7s9IA) 提取码: sjp9 复制这段内容后打开百度网盘手机 App,操作更方便哦 现在将系统烧录到 U 盘。 armbian5.77 修改过的 dtb 文件从上面的帖子里下载,然后打开我的电脑 U 盘: 将 meson-gxl-s905d-phicomm-n1-xiangsm.dtb 文件放到 dtb / 文件夹 下面,修改一下 uEnv.ini 文件指向它: dtb_name=/dtb/meson-gxl-s905d-phicomm-n1-xiangsm.dtb ethaddr=fc:7c:02:ea:75:4d #固定 mac 地址用 千万不要在安卓系统开机的情况下插入 U 盘,否则 U 盘中的文件权限会被安卓系统篡改!这不是一句废话! 千万不要在安卓系统开机的情况下插入 U 盘,否则 U 盘中的文件权限会被安卓系统篡改!这不是一句废话! 千万不要在安卓系统开机的情况下插入 U 盘,否则 U 盘中的文件权限会被安卓系统篡改!这不是一句废话! 补充:如果没有 USB 双公头线,那么将无法通过 webpad 降级工具的功能 3)触发 U 盘启动。 替代方法是下载 adb 工具,然后执行如下 2 个命令,即可确保支持 U 盘启动: adb connect 斐讯 IP adb shell reboot update 先让 N1 断电,然后插上 U 盘到靠近 HDMI 的 USB 口,然后通电即可进入 armbian 系统,启动过程中有一些看似报错的东西不需要理睬,属于正常。 默认`root 1234`登录即可。 ls -l / 确认一下目录权限没有被安卓篡改,都是 root 用户即可: ``` root@aml:~# ls -l / total 84 drwxr-xr-x 2 root root 4096 Apr 1 2019 bin drwxr-xr-x 6 root root 16384 Jan 1 1970 boot drwxr-xr-x 17 root root 4100 Oct 22 21:46 dev drwxr-xr-x 87 root root 4096 Oct 23 02:01 etc drwxr-xr-x 2 root root 4096 Feb 3 2019 home drwxr-xr-x 17 root root 4096 Apr 1 2019 lib drwx------ 2 root root 16384 Oct 22 20:17 lost+found drwxr-xr-x 2 root root 4096 Oct 22 20:18 media drwxr-xr-x 2 root root 4096 Oct 22 20:18 mnt drwxr-xr-x 2 root root 4096 Apr 1 2019 opt dr-xr-xr-x 137 root root 0 Jan 1 1970 proc drwx------ 5 root root 4096 Oct 23 10:12 root drwxr-xr-x 20 root root 700 Oct 23 11:04 run drwxr-xr-x 2 root root 4096 Apr 1 2019 sbin drwxrwxr-x 2 root root 4096 Apr 1 2019 selinux drwxr-xr-x 2 root root 4096 Apr 1 2019 srv dr-xr-xr-x 12 root root 0 Jan 1 1970 sys drwxrwxrwt 7 root root 160 Oct 23 12:00 tmp drwxr-xr-x 10 root root 4096 Apr 1 2019 usr drwxr-xr-x 12 root root 4096 Apr 1 2019 var ``` 这一步非常坑! 网上都说执行 / root/install.sh 刷写 U 盘中的 armbian 到 emmc,但实际上这个脚本存在严重问题: 拔掉 U 盘后,首次 emmc 启动可以成功,再重启一次就无法进入系统了,应该是 boot 分区的处理存在 bug。 如果你此前已经 install.sh 被坑了,你必须再次插入 U 盘来引导系统,然后继续往下读。 真正有效的刷写方式是执行如下命令: `nand–sata-install` 它可以完成所有刷写 emmc 所需的事情,完成后 `halt` 关机拔掉 U 盘,所有刷机工作就结束了。 **如果你想重刷 armbian 系统,那么还是 U 盘启动 armbian,重新执行 nand-sata-install 即可完整覆盖掉 emmc 中的数据,网上的教程一般是教你 ddbr 或者线刷先恢复到安卓系统再重来,这都是胡扯。** 我遇到的第一个问题就是开机后,偶尔无法联通外网。 后来我发现,只需要开机后多等一会,外网就会联通了,所以这个问题就不纠结了。 另外,armbian 启动的时候没有等待网卡分配到 IP,会导致一些监听网络的程序无法正常工作,需要大家修改一下网卡的模式为 auto,即可强制开机等待网络分配(当然太久分配不到也会超时进入系统): 修改 / etc/network/interfaces,注释 hotplug 热插拔模式,换成 auto 即可: ``` root@aml:~# cat /etc/network/interfaces source /etc/network/interfaces.d/* # Wired adapter #1 auto eth0 #allow-hotplug eth0 ``` 我在路由器上给 N1 分配静态 IP 的时候发现,armbian 的有线网卡每次重启后 MAC 地址都会变,解决方法也不复杂。 打开 / etc/network/interfaces 文件,在 eth0 网卡上写死一个 mac 地址即可: root@aml:~# cat /etc/network/interfaces ``` source /etc/network/interfaces.d/* # Wired adapter #1 allow-hotplug eth0 no-auto-down eth0 iface eth0 inet dhcp hwaddress 4e:03:88:54:39:93 ``` 发现 ssh 终端无法显示中文,也无法输入中文。 输入 armbian-config 命令,选择 personal,locales,确认 locale 配置了 en_US.utf-8,但仍旧无法使用中文。 执行 locale 命令显示如下,的确诡异: ``` root@aml:~# locale -a C C.UTF-8 en_US.utf8 POSIX root@aml:~# locale LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE="en_US.utf-8" LC_NUMERIC="en_US.utf-8" LC_TIME="en_US.utf-8" LC_COLLATE="en_US.utf-8" LC_MONETARY="en_US.utf-8" LC_MESSAGES="en_US.utf-8" LC_PAPER="en_US.utf-8" LC_ LC_ADDRESS="en_US.utf-8" LC_TELEPHONE="en_US.utf-8" LC_MEASUREMENT="en_US.utf-8" LC_IDENTIFICATION="en_US.utf-8" LC_ALL=en_US.utf-8 ``` 经过查实,armbian 官方也有人反馈,只需要改一下 / etc/environment 中的 LC_ALL: root@aml:~# cat /etc/environment ARCH=arm64 LC_ALL=”en_US.utf-8″ 执行 armbian-config,选择 personal,然后配置 Timezone 为 chongqing 即可。 执行 armbian-config,选择 personal,选择 Mirror 中清华大学的那个即可。 当你完成了上述所有步骤,如果你对网速没有太高要求,那么就可以让 N1 联无线网。 这样的话,N1 就可以放在任何有电源的地方,当一个小型 linux 服务器了。 执行 armbian-config,选择 network -> wlan0,选择 wifi 信号输入账号密码即可。 默认 debian 的 vim 右键没法粘贴内容,需要改一下模式: ``` vim /usr/share/vim/vim80/defaults.vim 查找 set mouse if has('mouse') set mouse=a endif 将值从 "a" 改成 "r" if has('mouse') set mouse=r endif ``` 至此,斐讯 N1 刷 armbian 就完成了,一个可靠稳定的盒子,祝大家玩的愉快。 ### 二、[N1 安装 docker 以及扩展 U 盘](https://leeyr.com/324.html) 点击标题访问 ### 三、安装 aria2 以及 web 访问页面 1. 可选择 apt 安装 or 编译安装 or 一键脚本 apt install aria2 #apt 源版本是 1.30 --- 手动安装 --- ``` > wget https://github.com/aria2/aria2/releases/download/release-1.35.0/aria2-1.35.0.tar.bz2 > tar -jxv -f aria2-1.35.0.tar.bz2 > cd aria2-1.35.0/ > ./configure > make > cd src/ && cp aria2c /usr/bin/ ``` --- 一键脚本 --- 参考以下链接, 如果你无法访问 github 会安装失败, 建议你选择手动安装. [https://p3terx.com/archives/aria2-oneclick-installation-management-script.html](https://p3terx.com/archives/aria2-oneclick-installation-management-script.html) 2. 配置 aria2 服务端 mkdir /opt/aria2 cd /opt/aria2 touch aria2.session vi aria2.conf 点击查看详细内容 ``` #需要修改的基本在这开始 #文件保存路径, 默认为当前启动位置 dir=/data/media # 在Aria2退出时保存`错误/未完成`的下载任务到会话文件 input-file=/opt/aria2/aria2.session save-session=/opt/aria2/aria2.session # RPC监听端口, 端口被占用时可以修改, 默认:6800 rpc-listen-port=6800 # 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项 rpc-secret=改为你的密码 #基本需要修改的结束 ### # 断点续传 continue=true # 最大同时下载任务数, 运行时可修改, 默认:5 max-concurrent-downloads=5 # 单个任务最大线程数, 添加时可指定, 默认:5 split=30 # 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M min-split-size=10M # 同一服务器连接数, 添加时可指定, 默认:1 max-connection-per-server=16 # 断开速度过慢的连接 lowest-speed-limit=0 # 整体下载速度限制, 运行时可修改, 默认:0 #max-overall-download-limit=0 # 单个任务下载速度限制, 默认:0 #max-download-limit=0 # 整体上传速度限制, 运行时可修改, 默认:0 #max-overall-upload-limit=0 # 单个任务上传速度限制, 默认:0 #max-upload-limit=0 # 禁用IPv6, 默认:false #disable-ipv6=true # 当服务器返回503错误时, aria2会尝试重连 # 尝试重连次数, 0代表无限, 默认:5 max-tries=0 # 重连冷却, 默认:0 #retry-wait=0 ### ## 进度保存相关 ## # 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0 save-session-interval=30 # 强制保存会话, 即使任务已经完成, 默认:false # 较新的版本开启后会在任务完成后依然保留.aria2文件 #force-save=false ### ## RPC相关设置 ## # 启用RPC, 默认:false enable-rpc=true # 允许所有来源, 默认:false rpc-allow-origin-all=true # 允许非外部访问, 默认:false rpc-listen-all=true # 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同 #event-poll=kqueue # 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项 #rpc-user= # 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项 #rpc-passwd= ### ## BT/PT下载相关 ## # 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true,可选:false|mem follow-torrent=true # BT监听端口(TCP), 默认:6881-6999 listen-port=51413 # DHT网络监听端口(UDP), 默认:6881-6999 dht-listen-port=6881-6999 # DHT(IPv4)文件 dht-file-path=/opt/aria2/dht.dat # DHT(IPv6)文件 dht-file-path6=/opt/aria2/dht6.dat # 打开DHT功能, PT需要禁用, 默认:true enable-dht=true # 打开IPv6 DHT功能, PT需要禁用 # 在没有 IPv6 的环境中不建议开启,否则会导致 DHT 功能异常。 enable-dht6=false # 本地节点查找, PT需要禁用, 默认:false bt-enable-lpd=true # 种子交换, PT需要禁用, 默认:true enable-peer-exchange=true # 单个种子最大连接数,0为不限制,默认:55 bt-max-peers=0 # 期望下载速度,Aria2会临时提高连接数以提高下载速度,单位K或M。默认:50K bt-request-peer-speed-limit=10M # 全局最大上传速度限制, 运行时可修改, 默认:0 max-overall-upload-limit=5M # 单个任务上传速度限制, 默认:0 max-upload-limit=0 # 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0 seed-ratio=1.0 # 最小做种时间(分钟)。此选项设置为0时,将在BT任务下载完成后不进行做种。 seed-time=0 # 做种前检查文件哈希, 默认:true bt-hash-check-seed=true # 继续之前的BT任务时, 无需再次校验, 默认:false bt-seed-unverified=false # 保存磁力链接元数据为种子文件(.torrent文件), 默认:false bt-save-metadata=true # 加载已保存的元数据文件,默认:false bt-load-saved-metadata=true # 删除未选择文件,默认:false bt-remove-unselected-file=true # 保存上传的种子,默认:true rpc-save-upload-metadata=true # BT强制加密, 默认: false # 启用后将拒绝旧的 BT 握手协议并仅使用混淆握手及加密,理论上可以防版权投诉与迅雷吸血。 # 此选项相当于后面两个选项(bt-require-crypto=true, bt-min-crypto-level=arc4)的快捷开启方式,但不会修改这两个选项的值。 bt-force-encryption=true # BT加密需求,默认:false # 启用后拒绝与旧的 BitTorrent 握手协议(\19BitTorrent protocol)建立连接,始终使用混淆处理握手。 bt-require-crypto=true # BT最低加密等级,可选:plain(明文),arc4(加密),默认:plain bt-min-crypto-level=arc4 # 客户端伪装 user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36 # PT需要保持 user-agent 和 peer-agent 两个参数一致。即注释上面这行,然后取消注释下面的相关选项。 #user-agent=qBittorrent/4.2.2 peer-agent=qBittorrent/4.2.2 peer-id-prefix=-qB4220- #---------------------------------- #user-agent=Transmission 2.94 #peer-agent=Transmission 2.94 #peer-id-prefix=-TR2940- #---------------------------------- #user-agent=Deluge 2.0.3 #peer-agent=Deluge 2.0.3 #peer-id-prefix=-DE2030- #---------------------------------- #user-agent=μTorrent 3.5.5 #peer-agent=μTorrent 3.5.5 #peer-id-prefix=-UT355W- #---------------------------------- #user-agent=μTorrent Mac 1.8.7 #peer-agent=μTorrent Mac 1.8.7 #peer-id-prefix=-UM1870- #bt-tracker 下载不能输在起跑线上 bt-tracker=udp://tracker.coppersurfer.tk:6969/announce,udp://tracker.open-internet.nl:6969/announce,udp://exodus.desync.com:6969/announce,udp://tracker.internetwarriors.net:1337/announce,udp://tracker.opentrackr.org:1337/announce,udp://9.rarbg.to:2710/announce,udp://public.popcorn-tracker.org:6969/announce,udp://tracker.vanitycore.co:6969/announce,udp://tracker.mg64.net:6969/announce,udp://mgtracker.org:6969/announce,udp://tracker.tiny-vps.com:6969/announce,udp://bt.xxx-tracker.com:2710/announce,udp://thetracker.org:80/announce,udp://open.demonii.si:1337/announce,udp://tracker.torrent.eu.org:451/announce,udp://tracker.qt.is:6969/announce,udp://tracker.port443.xyz:6969/announce,udp://tracker.ds.is:6969/announce,udp://tracker.cypherpunks.ru:6969/announce,udp://tracker-2.msm8916.com:6969/announce,udp://retracker.lanta-net.ru:2710/announce,udp://open.stealth.si:80/announce,udp://tracker1.itzmx.com:8080/announce,udp://tracker.uw0.xyz:6969/announce,udp://tracker.sandrotracker.biz:6969/announce,udp://tracker.iamhansen.xyz:2000/announce,udp://torr.ws:2710/announce,http://t.nyaatracker.com:80/announce,http://retracker.telecom.by:80/announce,http://open.acgnxtracker.com:80/announce,udp://zephir.monocul.us:6969/announce,udp://tracker4.itzmx.com:2710/announce,udp://tracker.kamigami.org:2710/announce,udp://tracker.cyberia.is:6969/announce,https://evening-badlands-6215.herokuapp.com:443/announce,http://tracker.city9x.com:2710/announce,http://retracker.mgts.by:80/announce,http://open.acgtracker.com:1096/announce,http://nbz.f3322.net:36006/announce,http://0d.kebhana.mx:443/announce,wss://tracker.openwebtorrent.com:443/announce,wss://tracker.iamhansen.xyz:443/announce,wss://tracker.fastcast.nz:443/announce,wss://tracker.btorrent.xyz:443/announce,ws://tracker.btsync.cf:2710/announce,udp://z.crazyhd.com:2710/announce,udp://wambo.club:1337/announce,udp://trackerxyz.tk:1337/announce,udp://tracker1.wasabii.com.tw:6969/announce,udp://tracker.xku.tv:6969/announce,udp://tracker.tvunderground.org.ru:3218/announce,udp://tracker.swateam.org.uk:2710/announce,udp://tracker.skyts.net:6969/announce,udp://tracker.piratepublic.com:1337/announce,udp://tracker.justseed.it:1337/announce,udp://tracker.halfchub.club:6969/announce,udp://tracker.files.fm:6969/announce,udp://tracker.dutchtracking.com:6969/announce,udp://tracker.dler.org:6969/announce,udp://tracker.desu.sh:6969/announce,udp://tracker.bluefrog.pw:2710/announce,udp://t.agx.co:61655/announce,udp://sd-95.allfon.net:2710/announce,udp://santost12.xyz:6969/announce,udp://retracker.nts.su:2710/announce,udp://retracker.coltel.ru:2710/announce,udp://pubt.in:2710/announce,udp://peerfect.org:6969/announce,udp://packages.crunchbangplusplus.org:6969/announce,udp://p4p.arenabg.com:1337/announce,udp://oscar.reyesleon.xyz:6969/announce,udp://open.facedatabg.net:6969/announce,udp://ipv4.tracker.harry.lu:80/announce,udp://inferno.demonoid.pw:3418/announce,udp://explodie.org:6969/announce,https://tracker.torrentsnows.com:443/announce,http://tracker1.itzmx.com:8080/announce,http://tracker.vanitycore.co:6969/announce,http://tracker.torrentyorg.pl:80/announce,http://tracker.tfile.me:80/announce,http://tracker.mg64.net:6881/announce,http://tracker.internetwarriors.net:1337/announce,http://tracker.electro-torrent.pl:80/announce,http://therightsize.net:1337/announce,http://share.camoe.cn:8080/announce,http://retracker.spb.ru:80/announce,http://omg.wtftrackr.pw:1337/announce,http://mgtracker.org:6969/announce,http://agusiq-torrents.pl:6969/announce ### ## 磁盘相关 ## #另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?) enable-mmap=true # 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc # 预分配所需时间: 快none < trunc < falloc < prealloc慢 #file-allocation=trunc # 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M disk-cache=64M ``` 获取 dht.dat 文件 (如果没有 BT 种子文件下载需求, 可不下载.) wget [https://raw.githubusercontent.com/P3TERX/aria2.conf/master/dht.dat](https://raw.githubusercontent.com/P3TERX/aria2.conf/master/dht.dat) touch dht6.dat 3. 安装 nginx 或者 apache2 做 web 端 (此处 nginx) apt install nginx vi /etc/nginx/conf.d/aria2.conf #配置 nginx ``` server { listen 80; listen [::]:80; root /var/www/ariahtml; index index.html index.htm index.nginx-debian.html; server_name 192.168.1.x; #此处更改为你的机器ip或者域名 location / { try_files $uri $uri/ =404; } } ``` 下载 webui mkdir /var/www/ariahtml cd /var/www/ariahtml wget [https://github.com/mayswind/AriaNg/releases/download/1.1.4/AriaNg-1.1.4-AllInOne.zip](https://github.com/mayswind/AriaNg/releases/download/1.1.4/AriaNg-1.1.4-AllInOne.zip) unzip AriaNg-1.1.4-AllInOne.zip 4. 配置 systemctl 启动 vim /lib/systemd/system/aria2.service ``` [Unit] Description=aria2 project After=network.service [Service] Type=simple User=root Group=root KillMode=control-group PIDFile=/opt/aria2/aria.pid ExecStart=/usr/bin/aria2c --conf-path=/opt/aria2/aria2.conf ExecReload= ExecStop= PrivateTmp=true [Install] WantedBy=multi-user.target ``` 5. 配置自动更新 tracker.sh vi /opt/aria2/tracker.sh 点击查看详细内容 ``` #!/bin/bash #================================================= # https://github.com/P3TERX/aria2.conf # File name:tracker.sh # Description: Get trackers and add to aria2.conf # Lisence: MIT # Version: 1.4 # Author: P3TERX # Blog: https://p3terx.com #================================================= ### INFO="[\033[32mINFO\033[0m]" ERROR="[\033[31mERROR\033[0m]" ARIA2_CONF=${1:-aria2.conf} ### echo && echo -e "$INFO Check downloader ..." if [ $(command -v curl) ]; then DOWNLOADER='curl -fsSL' elif [ $(command -v wget) ]; then DOWNLOADER='wget -qO-' else echo -e "$ERROR curl or wget is not installed." fi ### # BT tracker is provided by the following project. # https://github.com/XIU2/TrackersListCollection # https://github.com/ngosang/trackerslist # Fallback URLs provided by jsDelivr and Cloudflare Workers # https://www.jsdelivr.com # https://workers.cloudflare.com/ echo && echo -e "$INFO Get trackers ..." TRACKER=$( ${DOWNLOADER} https://trackerslist.com/all_aria2.txt || ${DOWNLOADER} https://cdn.jsdelivr.net/gh/XIU2/TrackersListCollection/all_aria2.txt || ${DOWNLOADER} https://trackerslist.p3terx.workers.dev/all_aria2.txt || { ${DOWNLOADER} https://ngosang.github.io/trackerslist/trackers_all.txt || ${DOWNLOADER} https://cdn.jsdelivr.net/gh/ngosang/trackerslist/trackers_all.txt || ${DOWNLOADER} https://ngosang-trackerslist.p3terx.workers.dev/trackers_all.txt } | awk NF | sed ":a;N;s/\n/,/g;ta" ) ### [ -z $TRACKER ] && echo -e " $ERROR Unable to get trackers, network failure or invalid links." && exit 1 echo -e " --------------------[TRACKERS]-------------------- ${TRACKER} --------------------[TRACKERS]-------------------- " [ ${ARIA2_CONF} == "cat" ] && exit 0 ### echo -e "$INFO Adding trackers to '${ARIA2_CONF}' ..." && echo if [ ! -f ${ARIA2_CONF} ]; then echo -e "$ERROR '${ARIA2_CONF}' does not exist." exit 1 else [ -z $(grep "bt-tracker=" ${ARIA2_CONF}) ] && echo "bt-tracker=" >>${ARIA2_CONF} sed -i "s@^\(bt-tracker=\).*@\1${TRACKER}@" ${ARIA2_CONF} && echo -e "$INFO Trackers added successfully!" fi ### ``` 执行更新 chmod +x tracker.sh ./tracker.sh "/opt/aria2/aria2.conf" 6. 启动 aria2 和 nginx systemctl restart nginx systemctl start aria2 访问 [http://your](http://your) ip ### 致谢 * [https://p3terx.com/archives/solved-aria2-cant-download-magnetic-link-bt-seed-and-slow-speed.html](https://p3terx.com/archives/solved-aria2-cant-download-magnetic-link-bt-seed-and-slow-speed.html) * [https://yuerblog.cc/2019/10/23 / 斐讯 n1 - 完美刷机 armbian 教程 /](https://yuerblog.cc/2019/10/23/%E6%96%90%E8%AE%AFn1-%E5%AE%8C%E7%BE%8E%E5%88%B7%E6%9C%BAarmbian%E6%95%99%E7%A8%8B/)
Jonny
Feb. 22, 2022, 10:30 p.m.
3927
0 条评论
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
如遇文档失效,可评论告知,便后续更新!
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
【阿里云】2核2G云服务器新老同享 99元/年,续费同价(不要✓自动续费)
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
【阿里云】2核2G云服务器新老同享 99元/年,续费同价(不要✓自动续费)
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期