Jonnyan的原创笔记
alpine
alpine里python安装mssql笔记
Alpine linux如何配置和管理自定义服务
windows
window server2012远程授权重置
window获取本机所有IP
window远程桌面RDP加速方案
远程监控 Win10 资源占用
windows 下 mysql 区分大小写敏感问题
window下navicat无限试用脚本
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命令后不显示滚动条
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
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教程
机器监控告警
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
nps
anylink
N2N
本文档发布于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
2022年2月22日 22:30
739
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
【腾讯云】爆款2核2G4M云服务器一年45元,企业首购最高获赠300元京东卡
【腾讯云】爆款2核2G4M云服务器一年45元,企业首购最高获赠300元京东卡
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期