惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LINUX DO - 热门话题
U
Unit 42
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Hugging Face - Blog
Hugging Face - Blog
aimingoo的专栏
aimingoo的专栏
GbyAI
GbyAI
P
Privacy International News Feed
T
Threatpost
Microsoft Azure Blog
Microsoft Azure Blog
NISL@THU
NISL@THU
T
Tenable Blog
P
Privacy & Cybersecurity Law Blog
L
Lohrmann on Cybersecurity
The Last Watchdog
The Last Watchdog
AWS News Blog
AWS News Blog
C
Cisco Blogs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Cisco Talos Blog
Cisco Talos Blog
Microsoft Security Blog
Microsoft Security Blog
雷峰网
雷峰网
C
CERT Recently Published Vulnerability Notes
Y
Y Combinator Blog
人人都是产品经理
人人都是产品经理
C
Cybersecurity and Infrastructure Security Agency CISA
D
Darknet – Hacking Tools, Hacker News & Cyber Security
G
GRAHAM CLULEY
Google DeepMind News
Google DeepMind News
H
Help Net Security
A
Arctic Wolf
Stack Overflow Blog
Stack Overflow Blog
S
Security Affairs
S
Securelist
Application and Cybersecurity Blog
Application and Cybersecurity Blog
云风的 BLOG
云风的 BLOG
Last Week in AI
Last Week in AI
L
LangChain Blog
博客园 - 【当耐特】
L
LINUX DO - 最新话题
Security Archives - TechRepublic
Security Archives - TechRepublic
Blog — PlanetScale
Blog — PlanetScale
N
News | PayPal Newsroom
B
Blog RSS Feed
Apple Machine Learning Research
Apple Machine Learning Research
S
Security @ Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Troy Hunt's Blog

atpX

自建 S3 兼容对象存储服务 Garage 听风的歌 偶尔是深夜就好了 新玩具 AirPods Pro 3 公交车上的时间 从 WHOIS 到 RDAP 通过 WireGuard 访问 NFS 共享文件 自建音乐串流服务探索 我停止了探索 Fediverse 互联网背景噪音 我的数字生活降级 小城与确定性的墙 一只特立独行的猪 Fediverse 与社交 承认的勇气 mediaX - 轻量书影音记录管理工具 我的博客写作流程 网站新增 Misc 页面 擅长对线的鲍勃 在 Chroot 环境下使用 Rsync 同步 再见 JavaScript 当我玩博客时我在玩什么 为什么我的博客没有友链页面 小熊猫与大熊猫 (HDR 照片测试) 是时候为网站开启 HTTP/3 支持了吗 使用 AdGuard Home 搭建自用 DoH 服务 谈谈读书与消遣 2023 年终总结 西安两日游 从 AirPods「升级」到 EarPods Docker 搭建去中心化的微博客平台 Mastodon 聊聊 iPhone 15 Pro 使用感受 能否将 TOTP 二次验证存放在密码管理器里 认识史蒂夫·乔布斯 与“锤哥”克里斯·海姆斯沃斯一起养生 逃离爆炸的信息 你想活出怎样的人生 重温《龙珠》动画 为什么关闭评论 从域名注册商到 DNS 服务,找到自己的组合 如何提高用户网页阅读体验 从 Typecho 迁移到 Hugo 个人博客的最终归宿是静态网站吗 我选择了放弃 jQuery 关于我的小破站折腾速度优化这件事 记一次家庭网络折腾 贴一些 SmokePing 记录 我的域名邮箱选择 不存在的语录 Typecho 评论验证插件 CaptchaPlus 谈谈写字这件事 新的网站 Logo 探索 曲线解决 Typecho 图片占位抖动问题 自建 vaultwarden / bitwarden_rs 密码管理器 使用 Plausible 自建网站流量统计分析工具 如何优雅地徒手剥开火腿肠 简单的集中隔离生活记录 新玩具 M2 MacBook Air 使用 acme.sh 申请 Google 公共证书 Docker 搭建去中心化的微博客平台 Misskey 搭建 Lsky Pro 兰空图床 折腾树莓派系统的一天 我的吉卜力之旅 使用 Uptime Kuma 自建服务器/网站在线率监控 Spartan Host Review - Best Hosting & Service Support Debian 下 Nginx 配合 Fail2Ban 减少恶意扫描和攻击 升级 Typecho 到最新开发版本 v1.2.0 Linux rm 命令详解 Debian 系统安装 Docker 教程 BandwagonHost - Reliable Blog and Business VPS Hosting 使用 Isso 为 Hugo/Hexo 等静态网站添加评论功能 推荐 5 款免费开源的网站流量分析统计工具 搭建 Shynet 网站流量统计分析工具 聊聊 DDoS 攻击那些事 Hugo 使用 Fancybox 实现图片灯箱/放大功能 从 Debian 10 升级到 Debian 11 教程 使用 Umami 自建网站流量统计分析工具 Linux 一次执行多个命令的 3 种方式 Typecho 修改永久链接后旧链接 301 跳转到新链接 从不同需求推荐几家稳定可靠的 VPS 服务商 Build EchoIP service with Docker 浅谈一下这些年折腾过的 VPS 单线复用解决一根网线同时 IPTV 和宽带问题 不完全吃灰的树莓派 开发一个自己的 Telegram Bot 使用 Nginx 实现 TCP 四层反向代理 画画真难 我读村上春树 使用 acme.sh 自动签发和更新证书 卡拉马佐夫式悲剧 安装 File Browser 轻量网盘工具 新玩具树莓派到手 Linux 定时自动备份数据到 OneDrive/Google Drive 记一次服务器崩溃 使用 rsync 同步文件 短信的消失 幻灭的艺术家 新玩具戴尔 S2721DGF 开箱 蝴蝶 用 Docker 整合 SeafilePro 搭建私人云盘
使用 aria2 下载文件
ATP · 2020-06-22 · via atpX

安装 aria2

通过包管理安装

  1. CentOS7 下安装

安装 EPEL 源及源管理工具:

yum install epel-release yum-utils

安装 REMI 源:

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install aria2
  1. Debian10 下安装
apt install aria2

安装后使用命令 aria2c -v 查看 aria2 的版本号

编译安装

很多时候下载 BT 会收到服务商的版权警告,如果只是单纯的下载文件,可以编译安装,通过 --disable-bittorrent--disable-metalink 参数禁用 aria2 的 BT/PT 下载功能,详见官方文档

以 Debian 为例,安装编译所需工具:

apt install -y libcurl4-openssl-dev libevent-dev ca-certificates libssl-dev pkg-config build-essential intltool autoconf automake libtool autopoint libxml2-dev liblzma-dev zlib1g-dev

下载源码解压后,进入解压目录配置编译:

autoreconf -i
./configure --disable-bittorrent --disable-metalink
make
cp src/aria2c /usr/local/bin

守护进程

安装完成之后,为了管理方便,需要创建一个守护进程,这里通过 systemd 的方式管理:

vim /etc/systemd/system/aria2.service

输入以下内容,注意修改运行的用户和你的 aria2 执行文件以及配置文件路径:

[Unit]
Description=Aria2c download manager (atpx.com)
After=network.target

[Service]
Type=simple
User=aria2
ExecStart=/usr/bin/aria2c --conf-path=/home/aria2/aria2.conf

[Install]
WantedBy=multi-user.target

之后通过下面的命令管理:

# 启动 aria2
systemctl start aria2
# 停止 aria2
systemctl stop aria2
# 开机启动 aria2
systemctl enable aria2

配置 aria2

为了方便,可以编写一个配置文件,在合适的路径下创建文件:

touch ~/home/aria2/aria2.session
vim ~/home/aria2/aria2.conf,

编辑 aria2.conf 配置文件,这里就不再赘述具体的配置内容。

使用以下命令运行aria2:

aria2c --conf-path=/.aria2/aria2.conf -D

安装 AriaNg

AriaNg 是一个让 aria2 更容易使用的 Web 前端,AriaNg 使用纯 html&javascript 开发。

下载后解压到对应位置,配置好相应参数即可访问操作,例如这里将 AriaNg 解压到 /home/aria2/ariang 目录下:

location / {
    root /home/aria2/ariang/;
    index index.html;
}

使用 https 访问

如果你是部署到公网上,推荐使用 https 访问,配置文件中加入:

# 启用 RPC 服务的 SSL/TLS 加密
rpc-secure=true
# SSL 证书路径
rpc-certificate=
# SSL 证书私钥路径
rpc-private-key=

然后可以通过 https://yourdomain.com 进行访问,默认端口为 6800,但这里我不想防火墙开放 6800 端口,因此这里选择使用 Nginx 反代 jsonrpc:

location ^~ /jsonrpc {
    proxy_http_version 1.1;
    add_header Front-End-Https on;
    proxy_set_header Connection "";
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:6800/jsonrpc;
    proxy_pass_header X-Transmission-Session-Id;
}

使用 Nginx 反代后,在浏览器上访问你的 AriaNg 页面,同时将后台 AriaNg 设置 - RPC - Aria RPC 地址 中的端口修改为 443。

Nginx 设置密码访问

这里为了进一步的安全,可以用 Nginx 给页面加密,通过密码才能 AriaNG 页面。

安装工具:

# CentOS:
yum install -y httpd-tools
# Debian:
apt install apache2-utils

生成密码文件:

htpasswd -bcm /usr/local/nginx/htpasswd usr 123123

使用说明:

  • -c:创建一个加密文件
  • -n:不更新加密文件,只将加密后的用户名密码显示在屏幕上
  • -m:默认采用MD5算法对密码进行加密
  • -d:采用CRYPT算法对密码进行加密
  • -p:不对密码进行进行加密,即明文密码
  • -s:采用SHA算法对密码进行加密
  • -b:在命令行中一并输入用户名和密码而不是根据提示输入密码
  • -D:删除指定的用户

在 Nginx 配置文件 server 中添加:

auth_basic 'Restricted';
auth_basic_user_file /usr/local/nginx/htpasswd;

为了防止暴力破解,可以添加访问限制,并发数量不超过 5 个,每秒处理不超过 1 个请求,突发请求不超过 5 个,否则返回错误信息。

http {
    # 限制单 ip 并发连接数
    limit_conn_zone $binary_remote_addr zone=connection:10m;
    # 限制单 ip 访问的漏桶算法限制平均每秒的请求为 5 个
    limit_req_zone $binary_remote_addr zone=request:10m rate=1r/s;
    ...
    server {
        limit_conn connection 5;
        limit_req zone=one burst=5;
        ...
    }
}

最后重载 Nginx 即可。当然,此处还可以更近一步,配合 Fail2ban 禁止掉尝试失败的 IP,具体可以参考 Debian 下 Nginx 配合 Fail2Ban 减少恶意扫描和攻击 这篇文章。