Compare commits

..

2 Commits

Author SHA1 Message Date
dichgrem
7671d3d48e update:yt-dlp 2025-08-27 12:18:02 +08:00
dichgrem
d26638ece4 update:aria2 2025-08-27 10:51:04 +08:00
26 changed files with 311 additions and 117 deletions

View File

@@ -11,7 +11,9 @@ tags = ["网络艺术"]
<!-- more --> <!-- more -->
## 介绍 ## 介绍
[Aria2](https://github.com/aria2/aria2)是一款开源、跨平台的命令行界面下载管理器,支持的下载协议有:``HTTP、HTTPS、FTP、Bittorrent 和 Metalink``。​它以高效、轻量和灵活著称,适用于需要批量下载、自动化任务或远程控制的用户 在上网的时候我们可能需要下载一些东西而浏览器自带的下载比较缓慢。为此许多人安装了类似IDM或者Motrix等等软件用多线程来加速下载。其实许多开源的下载器就是Aria2的前端我们可以直接使用Aria2进行下载
[Aria2](https://github.com/aria2/aria2)是一款开源、跨平台的命令行界面下载管理器,支持的下载协议有:``HTTP、HTTPS、FTP、Bittorrent 和 Metalink``。它以高效、轻量和灵活著称,适用于需要批量下载、自动化任务或远程控制的用户。
Aria2 有以下几个特点: Aria2 有以下几个特点:
@@ -21,24 +23,53 @@ Aria2 有以下几个特点:
- ``支持Metalink``:支持 Metalink 下载描述格式。 在下载中使用 Metalink 数据块的校验和自动验证下载的数据部分; - ``支持Metalink``:支持 Metalink 下载描述格式。 在下载中使用 Metalink 数据块的校验和自动验证下载的数据部分;
- ``远程控制``:支持 RPC 接口来控制 aria2 进程。 支持的接口是 JSON-RPC通过 HTTP 和 WebSocket和 XML-RPC。 - ``远程控制``:支持 RPC 接口来控制 aria2 进程。 支持的接口是 JSON-RPC通过 HTTP 和 WebSocket和 XML-RPC。
Aria2 原生使用命令行工具进行操作,为了更方便控制我们可以使用其他开源的面板配合本体,如[AriaNg](https://github.com/mayswind/AriaNg)或者[webui-aria2](https://github.com/ziahamza/webui-aria2)。 要**使用Aria2来替代浏览器自带的下载**,一般需要三个条件:
## Windows 1. 在系统中安装Aria2,并设置环境变量和开机自启;
2. 让Aria2接管浏览器的下载
3. 需要一个前端面板来更方便的控制Aria2(可选).
首先下载[aria2-1.37.0-win-64bit-build1.zip](https://github.com/aria2/aria2/releases/tag/release-1.37.0),将下载好的文件解压并放到你喜欢的目录下,设置系统环境变量,类似``D:\DATA\Data\AriaNg-1.3.10-AllInOne``,随后即可在 CMD 中使用 Aria2 。 ## 安装
随后可以安装 AriaNg 前端AriaNg 使用纯 html & javascript 开发, 所以其不需要任何编译器或运行环境. ### Windows
![ariang-1](https://raw.githubusercontent.com/mayswind/AriaNg-WebSite/master/screenshots/desktop.png) 首先下载[aria2-1.37.0-win-64bit-build1.zip](https://github.com/aria2/aria2/releases/tag/release-1.37.0),将下载好的文件解压并放到你喜欢的目录下,设置系统环境变量,类似``D:\DATA\Data\AriaNg-1.3.10-AllInOne``,随后即可在 CMD 中使用``aria2c -v``查看Aria2 。
AriaNg 现在提供三种版本, ``标准版、单文件版和 AriaNg Native. ``标准版适合在 Web 服务器中部署, 提供资源缓存和按需加载的功能. 单文件版适合本地使用, 您下载后只要在浏览器中打开唯一的 html 文件即可. AriaNg Native 同样适合本地使用, 并且不需要使用浏览器.这里``建议使用单文件版或者Native版。`` 然后创建一个配置文件``C:\Users\<你>\.aria2\aria2.conf``,内容如下:
```
# 下载目录
dir=C:/Users/<你>/Downloads
[单文件版(AllinOne)](https://github.com/mayswind/AriaNg/releases) # 断点续传
[Native版](https://github.com/mayswind/AriaNg-Native/releases/tag/1.3.10) continue=true
file-allocation=prealloc
# RPC 设置
enable-rpc=true
rpc-listen-all=true
rpc-allow-origin-all=true
rpc-listen-port=6800
rpc-secret=<你的密码>
```
随后在这个项目中[winsw](https://github.com/winsw/winsw)下载 WinSW-x64.exe到一个目录并重命名为 aria2-service.exe并在同目录下创建``aria2-service.xml``,内容如下:
```
<service>
<id>aria2</id>
<name>Aria2 Service</name>
<description>Aria2 Download Manager</description>
<executable>C:\Users\<你>\scoop\apps\aria2\current\aria2c.exe</executable>
<arguments>--conf-path=C:\Users\<你>\.aria2\aria2.conf</arguments>
</service>
```
随后使用``.\aria2-service.exe install``安装服务,并使用``.\aria2-service.exe start``启动服务类似linux上的systemctl.
> 注意修改用户名!
### Arch linux
Arch linux 和大部分常规发行版可以适用此方法。
## Arch linux
首先安装aria2本体: 首先安装aria2本体:
``` ```
paru -S aria2 paru -S aria2
@@ -78,40 +109,129 @@ Restart=on-failure
WantedBy=default.target WantedBy=default.target
``` ```
在更新配置文件和服务文件后,执行以下命令以重启服务: 在更新配置文件和服务文件后,执行以下命令以重启服务:
``` ```
systemctl --user daemon-reload systemctl --user daemon-reload
systemctl --user enable aria2.service systemctl --user enable aria2.service
systemctl --user start aria2.service systemctl --user start aria2.service
``` ```
使用以下命令检查服务状态 使用以下命令检查服务状态:
``` ```
systemctl --user status aria2.service systemctl --user status aria2.service
``` ```
### Nixos
```
{ lib, pkgs, username, ... }:
{
services.aria2.enable = false;
systemd.services.aria2 = {
description = "Aria2 Download Manager (dich)";
after = [ "network.target" ];
wants = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "simple";
User = username;
ExecStartPre = [
"${pkgs.coreutils}/bin/mkdir -p /home/${username}/.config/aria2"
"${pkgs.coreutils}/bin/touch /home/${username}/.config/aria2/aria2.session"
];
ExecStart = "${pkgs.aria2}/bin/aria2c --conf-path=/home/${username}/.config/aria2/aria2.conf";
Restart = "always";
RestartSec = "5s";
NoNewPrivileges = true;
PrivateTmp = true;
};
};
}
```
## 命令行用法
如果你不想用浏览器插件或者面板,也可以直接使用命令行操作:
```bash
aria2c [选项] [URL | 磁力链接 | .torrent文件]
```
### 例子:
1. **下载单个文件**
```bash
aria2c https://example.com/file.iso
```
2. **指定保存路径和文件名**
```bash
aria2c -d ~/Downloads -o ubuntu.iso https://releases.ubuntu.com/24.04/ubuntu.iso
```
3. **同时下载多个文件**
```bash
aria2c https://example.com/file1.zip https://example.com/file2.zip
```
4. **从文件读取 URL 列表**
```bash
aria2c -i urls.txt
```
`urls.txt` 每行一个链接)
7. **下载 torrent 文件**
```bash
aria2c ubuntu.torrent
```
8. **下载磁力链接**
```bash
aria2c "magnet:?xt=urn:btih:xxxxx..."
```
9. **限制 BT 上传**
```bash
aria2c --max-upload-limit=50K ubuntu.torrent
```
## 浏览器插件 ## 浏览器插件
如果你想让其直接接管浏览器下载,可以使用以下几种浏览器插件: 如果你想让其直接接管浏览器下载,可以使用以下几种浏览器插件,它们都自带面板
**Chrome 浏览器** **Chrome 浏览器**
- [Aria2 Explorer](https://github.com/alexhua/Aria2-Explorer)是一款功能强大的扩展,能够自动拦截浏览器下载任务,并通过 JSON-RPC 接口将其导出到 Aria2 进行下载。 - [Aria2 Explorer](https://github.com/alexhua/Aria2-Explorer)是一款功能强大的扩展,能够自动拦截浏览器下载任务并自带Aria2-NG面板。
- [Aria2 for Chrome](https://github.com/alexhua/Aria2-for-chrome)
**Firefox 浏览器** **Firefox 浏览器**
- [Integrated Aria2 Download Manager](https://github.com/Cudiph/IA2DM) 是一款 Firefox 展,能够拦截下载任务,并将其转发到 Aria2 - [Aria2-Integration](https://github.com/RossWang/Aria2-Integration?tab=readme-ov-file)也是一款 Firefox 展,拦截下载任务的同时带有 Aria2-NG面板方便使用
**通用版** > 注意如果你前面配置中设置了rpc的密码需要在面板中也写入才可连接成功。
- [varia](https://github.com/giantpinkrobots/varia) ![aria2-rpc](/images/aria2-rpc.webp)
🔗 ## 面板
**附带 aria2 的服务端应用** 如果你不想使用浏览器插件也可以使用aria2+独立面板的方法,但这样就不能接管浏览器的下载,适合其他环境使用。
- [AriaNg for Openwrt](https://github.com/openwrt/packages/tree/master/net/ariang) 这里推荐使用 AriaNg 前端AriaNg 使用纯 html & javascript 开发, 所以其不需要任何编译器或运行环境.
- [aria2-ariang-docker](https://github.com/wahyd4/aria2-ariang-docker)
![ariang-1](https://raw.githubusercontent.com/mayswind/AriaNg-WebSite/master/screenshots/desktop.png)
AriaNg 现在提供三种版本, ``标准版、单文件版和 AriaNg Native. ``标准版适合在 Web 服务器中部署, 提供资源缓存和按需加载的功能. 单文件版适合本地使用, 您下载后只要在浏览器中打开唯一的 html 文件即可. AriaNg Native 同样适合本地使用, 并且不需要使用浏览器.这里``建议使用单文件版或者Native版``,下之后打开其中的html并设为书签即可。
[单文件版(AllinOne)](https://github.com/mayswind/AriaNg/releases)
[Native版](https://github.com/mayswind/AriaNg-Native/releases/tag/1.3.10)
--- ---
**Done.** **Done.**

View File

@@ -6,12 +6,13 @@ date = 2025-04-12
tags = ["网络艺术"] tags = ["网络艺术"]
+++ +++
前言 有时候我们想要视频保存到本地以便离线回看。yt-dlp是一款功能强大的命令行工具专注于下载视频与音频内容支持数千个平台是开源下载工具爱好者的常用选择。 前言 yt-dlp是一款功能强大的命令行工具专注于下载视频与音频内容支持数千个平台是开源下载工具爱好者的常用选择。
<!-- more --> <!-- more -->
有时候我们想要下载网络上的某些视频比如BilibiliYouTube等等但它们没有提供下载按钮这时候就可以用开源的yt-dlp来进行下载。和Aria2一样很多下载软件的核心就是yt-dlp.
## 历史沿革:从 youtube-dl 到 yt-dlp ## 历史
- **起源与演进** - **起源与演进**
`youtube-dl` 由 Ricardo García González 于 **2006 年**创建,最初仅支持 YouTube随后扩展至其他网站成为 GitHub 上最受欢迎的开源下载项目之一.项目维护者在 2011 年、2021 年等阶段陆续交替,由 phihag、dstftw 等接手.2020 年唱片业协会RIAA发起 DMCA 要求删除该项目,虽一度被移除,但在公众与 EFF 的推动下于当年 11 月恢复,并促使 GitHub 改进相关策略. `youtube-dl` 由 Ricardo García González 于 **2006 年**创建,最初仅支持 YouTube随后扩展至其他网站成为 GitHub 上最受欢迎的开源下载项目之一.项目维护者在 2011 年、2021 年等阶段陆续交替,由 phihag、dstftw 等接手.2020 年唱片业协会RIAA发起 DMCA 要求删除该项目,虽一度被移除,但在公众与 EFF 的推动下于当年 11 月恢复,并促使 GitHub 改进相关策略.
@@ -23,9 +24,9 @@ tags = ["网络艺术"]
`yt-dlp` 从 youtube-dlc 完全重构,新增许多 extractor解析器、改进配置与默认行为还扩展了插件系统和兼容性支持. `yt-dlp` 从 youtube-dlc 完全重构,新增许多 extractor解析器、改进配置与默认行为还扩展了插件系统和兼容性支持.
## 各平台安装指南 ## 安装
- 通用Linux/macOS/Windows - Windows
下载官方最新可执行文件: 下载官方最新可执行文件:
@@ -46,13 +47,19 @@ yt-dlp -U
python3 -m pip install -U yt-dlp python3 -m pip install -U yt-dlp
``` ```
- Linux 发行版仓库 - Linux 发行版
各发行版可能提供略滞后的 yt-dlp
- Debian / Ubuntu`sudo apt install yt-dlp` - Debian / Ubuntu`sudo apt install yt-dlp`
- Arch / Manjaro`sudo pacman -S yt-dlp` - Arch / Manjaro`sudo pacman -S yt-dlp`
- Fedora`sudo dnf install yt-dlp` 等。 - Fedora`sudo dnf install yt-dlp`
- Nixos:
```
{pkgs, ...}: {
home.packages = with pkgs; [
peazip
];
}
```
- AndroidTermux - AndroidTermux
@@ -163,28 +170,6 @@ yt-dlp "https://www.bilibili.com/video/BVxxxxx" --write-subs --embed-subs --sub-
--sub-langs all,-live_chat: 下载所有字幕语言,但排除像“弹幕/实时聊天”之类的非标准字幕流 --sub-langs all,-live_chat: 下载所有字幕语言,但排除像“弹幕/实时聊天”之类的非标准字幕流
``` ```
---
## 进阶技巧
- **FFmpeg 合并支持**:若视频与音频分离,需安装 FFmpeg 才能完成合并。
- **处理地理限制**:结合 `--proxy` 或 `--geo-bypass` 等选项使用 VPN/代理绕过区域限制。
- **应对下载失败(如 403**
```bash
yt-dlp --rm-cache-dir
```
- **设置 UA、Referer、打印请求头调试**
```bash
--add-headers "User-Agent: ..." --print http_headers
```
- **Stability & 更新问题**:建议避免使用发行版中的旧版本,推荐使用官方可执行或 pip 方法。
--- ---
**Done.** **Done.**

View File

@@ -119,7 +119,7 @@
<link rel="alternate" type="text/html" href="https://blog.dich.bid/network-yt-dlp/"/> <link rel="alternate" type="text/html" href="https://blog.dich.bid/network-yt-dlp/"/>
<id>https://blog.dich.bid/network-yt-dlp/</id> <id>https://blog.dich.bid/network-yt-dlp/</id>
<summary type="html">&lt;p&gt;前言 有时候我们想要视频保存到本地以便离线回看。yt-dlp是一款功能强大的命令行工具专注于下载视频与音频内容支持数千个平台是开源下载工具爱好者的常用选择。&lt;&#x2F;p&gt;</summary> <summary type="html">&lt;p&gt;前言 yt-dlp是一款功能强大的命令行工具专注于下载视频与音频内容支持数千个平台是开源下载工具爱好者的常用选择。&lt;&#x2F;p&gt;</summary>
</entry> </entry>
<entry xml:lang="en"> <entry xml:lang="en">

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

View File

@@ -121,7 +121,8 @@
<div class="post-content"> <div class="post-content">
<p>前言 Aria2是一款开源、跨平台的命令行界面下载管理器常常被各种下载器软件使用。</p> <p>前言 Aria2是一款开源、跨平台的命令行界面下载管理器常常被各种下载器软件使用。</p>
<span id="continue-reading"></span><h2 id="jie-shao">介绍</h2> <span id="continue-reading"></span><h2 id="jie-shao">介绍</h2>
<p><a href="https://github.com/aria2/aria2">Aria2</a>是一款开源、跨平台的命令行界面下载管理器,支持的下载协议有:<code>HTTP、HTTPS、FTP、Bittorrent 和 Metalink</code>。​它以高效、轻量和灵活著称,适用于需要批量下载、自动化任务或远程控制的用户</p> <p>在上网的时候我们可能需要下载一些东西而浏览器自带的下载比较缓慢。为此许多人安装了类似IDM或者Motrix等等软件用多线程来加速下载。其实许多开源的下载器就是Aria2的前端我们可以直接使用Aria2进行下载</p>
<p><a href="https://github.com/aria2/aria2">Aria2</a>是一款开源、跨平台的命令行界面下载管理器,支持的下载协议有:<code>HTTP、HTTPS、FTP、Bittorrent 和 Metalink</code>。它以高效、轻量和灵活著称,适用于需要批量下载、自动化任务或远程控制的用户。</p>
<p>Aria2 有以下几个特点:</p> <p>Aria2 有以下几个特点:</p>
<ul> <ul>
<li><code>多连接下载</code>:可以从多个来源/协议下载文件并尝试利用您的最大下载带宽,真正加快您的下载体验;</li> <li><code>多连接下载</code>:可以从多个来源/协议下载文件并尝试利用您的最大下载带宽,真正加快您的下载体验;</li>
@@ -130,15 +131,45 @@
<li><code>支持Metalink</code>:支持 Metalink 下载描述格式。 在下载中使用 Metalink 数据块的校验和自动验证下载的数据部分;</li> <li><code>支持Metalink</code>:支持 Metalink 下载描述格式。 在下载中使用 Metalink 数据块的校验和自动验证下载的数据部分;</li>
<li><code>远程控制</code>:支持 RPC 接口来控制 aria2 进程。 支持的接口是 JSON-RPC通过 HTTP 和 WebSocket和 XML-RPC。</li> <li><code>远程控制</code>:支持 RPC 接口来控制 aria2 进程。 支持的接口是 JSON-RPC通过 HTTP 和 WebSocket和 XML-RPC。</li>
</ul> </ul>
<p>Aria2 原生使用命令行工具进行操作,为了更方便控制我们可以使用其他开源的面板配合本体,如<a href="https://github.com/mayswind/AriaNg">AriaNg</a>或者<a href="https://github.com/ziahamza/webui-aria2">webui-aria2</a></p> <p><strong>使用Aria2来替代浏览器自带的下载</strong>,一般需要三个条件:</p>
<h2 id="windows">Windows</h2> <ol>
<p>首先下载<a href="https://github.com/aria2/aria2/releases/tag/release-1.37.0">aria2-1.37.0-win-64bit-build1.zip</a>,将下载好的文件解压并放到你喜欢的目录下,设置系统环境变量,类似<code>D:\DATA\Data\AriaNg-1.3.10-AllInOne</code>,随后即可在 CMD 中使用 Aria2 。</p> <li>在系统中安装Aria2,并设置环境变量和开机自启;</li>
<p>随后可以安装 AriaNg 前端AriaNg 使用纯 html &amp; javascript 开发, 所以其不需要任何编译器或运行环境.</p> <li>让Aria2接管浏览器的下载</li>
<p><img src="https://raw.githubusercontent.com/mayswind/AriaNg-WebSite/master/screenshots/desktop.png" alt="ariang-1" /></p> <li>需要一个前端面板来更方便的控制Aria2(可选).</li>
<p>AriaNg 现在提供三种版本, <code>标准版、单文件版和 AriaNg Native. </code>标准版适合在 Web 服务器中部署, 提供资源缓存和按需加载的功能. 单文件版适合本地使用, 您下载后只要在浏览器中打开唯一的 html 文件即可. AriaNg Native 同样适合本地使用, 并且不需要使用浏览器.这里<code>建议使用单文件版或者Native版。</code></p> </ol>
<p><a href="https://github.com/mayswind/AriaNg/releases">单文件版(AllinOne)</a> <h2 id="an-zhuang">安装</h2>
<a href="https://github.com/mayswind/AriaNg-Native/releases/tag/1.3.10">Native版</a></p> <h3 id="windows">Windows</h3>
<h2 id="arch-linux">Arch linux</h2> <p>首先下载<a href="https://github.com/aria2/aria2/releases/tag/release-1.37.0">aria2-1.37.0-win-64bit-build1.zip</a>,将下载好的文件解压并放到你喜欢的目录下,设置系统环境变量,类似<code>D:\DATA\Data\AriaNg-1.3.10-AllInOne</code>,随后即可在 CMD 中使用<code>aria2c -v</code>查看Aria2 。</p>
<p>然后创建一个配置文件<code>C:\Users\&lt;&gt;\.aria2\aria2.conf</code>,内容如下:</p>
<pre style="background-color:#151515;color:#e8e8d3;"><code><span># 下载目录
</span><span>dir=C:/Users/&lt;&gt;/Downloads
</span><span>
</span><span># 断点续传
</span><span>continue=true
</span><span>file-allocation=prealloc
</span><span>
</span><span># RPC 设置
</span><span>enable-rpc=true
</span><span>rpc-listen-all=true
</span><span>rpc-allow-origin-all=true
</span><span>rpc-listen-port=6800
</span><span>rpc-secret=&lt;你的密码&gt;
</span></code></pre>
<p>随后在这个项目中<a href="https://github.com/winsw/winsw">winsw</a>下载 WinSW-x64.exe到一个目录并重命名为 aria2-service.exe并在同目录下创建<code>aria2-service.xml</code>,内容如下:</p>
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>&lt;service&gt;
</span><span> &lt;id&gt;aria2&lt;/id&gt;
</span><span> &lt;name&gt;Aria2 Service&lt;/name&gt;
</span><span> &lt;description&gt;Aria2 Download Manager&lt;/description&gt;
</span><span> &lt;executable&gt;C:\Users\&lt;&gt;\scoop\apps\aria2\current\aria2c.exe&lt;/executable&gt;
</span><span> &lt;arguments&gt;--conf-path=C:\Users\&lt;&gt;\.aria2\aria2.conf&lt;/arguments&gt;
</span><span>&lt;/service&gt;
</span></code></pre>
<p>随后使用<code>.\aria2-service.exe install</code>安装服务,并使用<code>.\aria2-service.exe start</code>启动服务类似linux上的systemctl.</p>
<blockquote>
<p>注意修改用户名!</p>
</blockquote>
<h3 id="arch-linux">Arch linux</h3>
<p>Arch linux 和大部分常规发行版可以适用此方法。</p>
<p>首先安装aria2本体:</p> <p>首先安装aria2本体:</p>
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>paru -S aria2 <pre style="background-color:#151515;color:#e8e8d3;"><code><span>paru -S aria2
</span></code></pre> </span></code></pre>
@@ -171,35 +202,106 @@
</span><span>[Install] </span><span>[Install]
</span><span>WantedBy=default.target </span><span>WantedBy=default.target
</span></code></pre> </span></code></pre>
<p>在更新配置文件和服务文件后,执行以下命令以重启服务:</p> <p>在更新配置文件和服务文件后,执行以下命令以重启服务:</p>
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>systemctl --user daemon-reload <pre style="background-color:#151515;color:#e8e8d3;"><code><span>systemctl --user daemon-reload
</span><span>systemctl --user enable aria2.service </span><span>systemctl --user enable aria2.service
</span><span>systemctl --user start aria2.service </span><span>systemctl --user start aria2.service
</span></code></pre> </span></code></pre>
<p>使用以下命令检查服务状态</p> <p>使用以下命令检查服务状态:</p>
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>systemctl --user status aria2.service <pre style="background-color:#151515;color:#e8e8d3;"><code><span>systemctl --user status aria2.service
</span></code></pre> </span></code></pre>
<h3 id="nixos">Nixos</h3>
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>{ lib, pkgs, username, ... }:
</span><span>{
</span><span> services.aria2.enable = false;
</span><span> systemd.services.aria2 = {
</span><span> description = &quot;Aria2 Download Manager (dich)&quot;;
</span><span> after = [ &quot;network.target&quot; ];
</span><span> wants = [ &quot;network.target&quot; ];
</span><span> wantedBy = [ &quot;multi-user.target&quot; ];
</span><span>
</span><span> serviceConfig = {
</span><span> Type = &quot;simple&quot;;
</span><span> User = username;
</span><span>
</span><span> ExecStartPre = [
</span><span> &quot;${pkgs.coreutils}/bin/mkdir -p /home/${username}/.config/aria2&quot;
</span><span> &quot;${pkgs.coreutils}/bin/touch /home/${username}/.config/aria2/aria2.session&quot;
</span><span> ];
</span><span>
</span><span> ExecStart = &quot;${pkgs.aria2}/bin/aria2c --conf-path=/home/${username}/.config/aria2/aria2.conf&quot;;
</span><span>
</span><span> Restart = &quot;always&quot;;
</span><span> RestartSec = &quot;5s&quot;;
</span><span>
</span><span> NoNewPrivileges = true;
</span><span> PrivateTmp = true;
</span><span> };
</span><span> };
</span><span>}
</span></code></pre>
<h2 id="ming-ling-xing-yong-fa">命令行用法</h2>
<p>如果你不想用浏览器插件或者面板,也可以直接使用命令行操作:</p>
<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">aria2c </span><span style="color:#8fbfdc;">[</span><span>选项</span><span style="color:#8fbfdc;">] [</span><span>URL | 磁力链接 | .torrent文件</span><span style="color:#8fbfdc;">]
</span></code></pre>
<h3 id="li-zi">例子:</h3>
<ol>
<li><strong>下载单个文件</strong></li>
</ol>
<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">aria2c</span><span> https://example.com/file.iso
</span></code></pre>
<ol start="2">
<li><strong>指定保存路径和文件名</strong></li>
</ol>
<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">aria2c -d ~</span><span>/Downloads</span><span style="color:#ffb964;"> -o</span><span> ubuntu.iso https://releases.ubuntu.com/24.04/ubuntu.iso
</span></code></pre>
<ol start="3">
<li><strong>同时下载多个文件</strong></li>
</ol>
<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">aria2c</span><span> https://example.com/file1.zip https://example.com/file2.zip
</span></code></pre>
<ol start="4">
<li><strong>从文件读取 URL 列表</strong></li>
</ol>
<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">aria2c -i</span><span> urls.txt
</span></code></pre>
<p><code>urls.txt</code> 每行一个链接)</p>
<ol start="7">
<li><strong>下载 torrent 文件</strong></li>
</ol>
<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">aria2c</span><span> ubuntu.torrent
</span></code></pre>
<ol start="8">
<li><strong>下载磁力链接</strong></li>
</ol>
<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">aria2c </span><span style="color:#556633;">&quot;</span><span style="color:#99ad6a;">magnet:?xt=urn:btih:xxxxx...</span><span style="color:#556633;">&quot;
</span></code></pre>
<ol start="9">
<li><strong>限制 BT 上传</strong></li>
</ol>
<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">aria2c --max-upload-limit</span><span>=50K ubuntu.torrent
</span></code></pre>
<h2 id="liu-lan-qi-cha-jian">浏览器插件</h2> <h2 id="liu-lan-qi-cha-jian">浏览器插件</h2>
<p>如果你想让其直接接管浏览器下载,可以使用以下几种浏览器插件:</p> <p>如果你想让其直接接管浏览器下载,可以使用以下几种浏览器插件,它们都自带面板</p>
<p><strong>Chrome 浏览器</strong></p> <p><strong>Chrome 浏览器</strong></p>
<ul> <ul>
<li><a href="https://github.com/alexhua/Aria2-Explorer">Aria2 Explorer</a>是一款功能强大的扩展,能够自动拦截浏览器下载任务,并通过 JSON-RPC 接口将其导出到 Aria2 进行下载。 </li> <li><a href="https://github.com/alexhua/Aria2-Explorer">Aria2 Explorer</a>是一款功能强大的扩展,能够自动拦截浏览器下载任务并自带Aria2-NG面板。</li>
<li><a href="https://github.com/alexhua/Aria2-for-chrome">Aria2 for Chrome</a></li>
</ul> </ul>
<p><strong>Firefox 浏览器</strong></p> <p><strong>Firefox 浏览器</strong></p>
<ul> <ul>
<li><a href="https://github.com/Cudiph/IA2DM">Integrated Aria2 Download Manager</a> 是一款 Firefox 展,能够拦截下载任务,并将其转发到 Aria2</li> <li><a href="https://github.com/RossWang/Aria2-Integration?tab=readme-ov-file">Aria2-Integration</a>是一款 Firefox 展,拦截下载任务的同时带有 Aria2-NG面板方便使用</li>
</ul>
<p><strong>通用版</strong></p>
<ul>
<li><a href="https://github.com/giantpinkrobots/varia">varia</a></li>
</ul>
<p>🔗</p>
<p><strong>附带 aria2 的服务端应用</strong></p>
<ul>
<li><a href="https://github.com/openwrt/packages/tree/master/net/ariang">AriaNg for Openwrt</a></li>
<li><a href="https://github.com/wahyd4/aria2-ariang-docker">aria2-ariang-docker</a></li>
</ul> </ul>
<blockquote>
<p>注意如果你前面配置中设置了rpc的密码需要在面板中也写入才可连接成功。</p>
</blockquote>
<p><img src="/images/aria2-rpc.webp" alt="aria2-rpc" /></p>
<h2 id="mian-ban">面板</h2>
<p>如果你不想使用浏览器插件也可以使用aria2+独立面板的方法,但这样就不能接管浏览器的下载,适合其他环境使用。</p>
<p>这里推荐使用 AriaNg 前端AriaNg 使用纯 html &amp; javascript 开发, 所以其不需要任何编译器或运行环境.</p>
<p><img src="https://raw.githubusercontent.com/mayswind/AriaNg-WebSite/master/screenshots/desktop.png" alt="ariang-1" /></p>
<p>AriaNg 现在提供三种版本, <code>标准版、单文件版和 AriaNg Native. </code>标准版适合在 Web 服务器中部署, 提供资源缓存和按需加载的功能. 单文件版适合本地使用, 您下载后只要在浏览器中打开唯一的 html 文件即可. AriaNg Native 同样适合本地使用, 并且不需要使用浏览器.这里<code>建议使用单文件版或者Native版</code>,下之后打开其中的html并设为书签即可。</p>
<p><a href="https://github.com/mayswind/AriaNg/releases">单文件版(AllinOne)</a>
<a href="https://github.com/mayswind/AriaNg-Native/releases/tag/1.3.10">Native版</a></p>
<hr /> <hr />
<p><strong>Done.</strong></p> <p><strong>Done.</strong></p>

View File

@@ -119,8 +119,10 @@
<div class="post-content"> <div class="post-content">
<p>前言 有时候我们想要视频保存到本地以便离线回看。yt-dlp是一款功能强大的命令行工具专注于下载视频与音频内容支持数千个平台是开源下载工具爱好者的常用选择。</p> <p>前言 yt-dlp是一款功能强大的命令行工具专注于下载视频与音频内容支持数千个平台是开源下载工具爱好者的常用选择。</p>
<span id="continue-reading"></span><h2 id="li-shi-yan-ge-cong-youtube-dl-dao-yt-dlp">历史沿革:从 youtube-dl 到 yt-dlp</h2> <span id="continue-reading"></span>
<p>有时候我们想要下载网络上的某些视频比如BilibiliYouTube等等但它们没有提供下载按钮这时候就可以用开源的yt-dlp来进行下载。和Aria2一样很多下载软件的核心就是yt-dlp.</p>
<h2 id="li-shi">历史</h2>
<ul> <ul>
<li> <li>
<p><strong>起源与演进</strong> <p><strong>起源与演进</strong>
@@ -135,9 +137,9 @@
<code>yt-dlp</code> 从 youtube-dlc 完全重构,新增许多 extractor解析器、改进配置与默认行为还扩展了插件系统和兼容性支持.</p> <code>yt-dlp</code> 从 youtube-dlc 完全重构,新增许多 extractor解析器、改进配置与默认行为还扩展了插件系统和兼容性支持.</p>
</li> </li>
</ul> </ul>
<h2 id="ge-ping-tai-an-zhuang-zhi-nan">各平台安装指南</h2> <h2 id="an-zhuang">安装</h2>
<ul> <ul>
<li>通用Linux/macOS/Windows</li> <li>Windows</li>
</ul> </ul>
<p>下载官方最新可执行文件:</p> <p>下载官方最新可执行文件:</p>
<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">sudo</span><span> curl</span><span style="color:#ffb964;"> -L</span><span> https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp</span><span style="color:#ffb964;"> -o</span><span> /usr/local/bin/yt-dlp <pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">sudo</span><span> curl</span><span style="color:#ffb964;"> -L</span><span> https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp</span><span style="color:#ffb964;"> -o</span><span> /usr/local/bin/yt-dlp
@@ -152,10 +154,9 @@
<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">python3 -m</span><span> pip install</span><span style="color:#ffb964;"> -U</span><span> yt-dlp <pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">python3 -m</span><span> pip install</span><span style="color:#ffb964;"> -U</span><span> yt-dlp
</span></code></pre> </span></code></pre>
<ul> <ul>
<li>Linux 发行版仓库</li> <li>
</ul> <p>Linux 发行版</p>
<p>各发行版可能提供略滞后的 yt-dlp</p> </li>
<ul>
<li> <li>
<p>Debian / Ubuntu<code>sudo apt install yt-dlp</code></p> <p>Debian / Ubuntu<code>sudo apt install yt-dlp</code></p>
</li> </li>
@@ -163,12 +164,21 @@
<p>Arch / Manjaro<code>sudo pacman -S yt-dlp</code></p> <p>Arch / Manjaro<code>sudo pacman -S yt-dlp</code></p>
</li> </li>
<li> <li>
<p>Fedora<code>sudo dnf install yt-dlp</code> 等。</p> <p>Fedora<code>sudo dnf install yt-dlp</code></p>
</li> </li>
<li> <li>
<p>AndroidTermux</p> <p>Nixos:</p>
</li> </li>
</ul> </ul>
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>{pkgs, ...}: {
</span><span> home.packages = with pkgs; [
</span><span> peazip
</span><span> ];
</span><span>}
</span></code></pre>
<ul>
<li>AndroidTermux</li>
</ul>
<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">pkg</span><span> update &amp;&amp; </span><span style="color:#ffb964;">pkg</span><span> upgrade <pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">pkg</span><span> update &amp;&amp; </span><span style="color:#ffb964;">pkg</span><span> upgrade
</span><span style="color:#ffb964;">pkg</span><span> install python libexpat openssl ffmpeg </span><span style="color:#ffb964;">pkg</span><span> install python libexpat openssl ffmpeg
</span><span style="color:#ffb964;">python3 -m</span><span> pip install</span><span style="color:#ffb964;"> -U</span><span> yt-dlp </span><span style="color:#ffb964;">python3 -m</span><span> pip install</span><span style="color:#ffb964;"> -U</span><span> yt-dlp
@@ -262,29 +272,6 @@
</span><span>--sub-langs all,-live_chat: 下载所有字幕语言,但排除像“弹幕/实时聊天”之类的非标准字幕流 </span><span>--sub-langs all,-live_chat: 下载所有字幕语言,但排除像“弹幕/实时聊天”之类的非标准字幕流
</span></code></pre> </span></code></pre>
<hr /> <hr />
<h2 id="jin-jie-ji-qiao">进阶技巧</h2>
<ul>
<li>
<p><strong>FFmpeg 合并支持</strong>:若视频与音频分离,需安装 FFmpeg 才能完成合并。</p>
</li>
<li>
<p><strong>处理地理限制</strong>:结合 <code>--proxy</code><code>--geo-bypass</code> 等选项使用 VPN/代理绕过区域限制。</p>
</li>
<li>
<p><strong>应对下载失败(如 403</strong></p>
<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">yt-dlp --rm-cache-dir
</span></code></pre>
</li>
<li>
<p><strong>设置 UA、Referer、打印请求头调试</strong></p>
<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">--add-headers </span><span style="color:#556633;">&quot;</span><span style="color:#99ad6a;">User-Agent: ...</span><span style="color:#556633;">&quot;</span><span style="color:#ffb964;"> --print</span><span> http_headers
</span></code></pre>
</li>
<li>
<p><strong>Stability &amp; 更新问题</strong>:建议避免使用发行版中的旧版本,推荐使用官方可执行或 pip 方法。</p>
</li>
</ul>
<hr />
<p><strong>Done.</strong></p> <p><strong>Done.</strong></p>
</div> </div>

View File

@@ -122,7 +122,7 @@
<div class="post-content"> <div class="post-content">
<p>前言 有时候我们想要视频保存到本地以便离线回看。yt-dlp是一款功能强大的命令行工具专注于下载视频与音频内容支持数千个平台是开源下载工具爱好者的常用选择。</p> <p>前言 yt-dlp是一款功能强大的命令行工具专注于下载视频与音频内容支持数千个平台是开源下载工具爱好者的常用选择。</p>
</div> </div>
<div> <div>
<!-- &#xFE0E; -- force text style - some devices render this as emoji --> <!-- &#xFE0E; -- force text style - some devices render this as emoji -->

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
{"version":"1.3.0","languages":{"en":{"hash":"en_71429e4e20","wasm":"en","page_count":93}}} {"version":"1.3.0","languages":{"en":{"hash":"en_92c2735c2e","wasm":"en","page_count":93}}}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB