百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

在termux上安装alist并配置aria2下载

ztj100 2024-12-11 18:22 9 浏览 0 评论

前提条件:会安装使用termux





安装软件

pkg install git aria2 alist

安装所有需要的软件包,之后我们先配置aria2,aria2有点麻烦alist不急,先克隆https://github.com/P3TERX/aria2.conf,我们先用别人的gitee镜像

git clone https://gitee.com/bh1huy/aria2.conf.git .config/aria2

cd /data/data/com.termux/files/home/.config/aria2

touch aria2.session

nano aria2.conf

PS:以后编辑aria2.conf使用

$ nano /data/data/com.termux/files/home/.config/aria2/aria2.conf

然后开始编辑aria2.conf,这个是重点,没配置好aria2开不起来,或者运行出一堆问题

#

# 查看链接

# File name:aria2.conf

# Description: Awesome Aria2 configuration file

# Version: 2021.09.15

#

# Copyright (c) 2018-2021 P3TERX <查看链接

#

# This is free software, licensed under the MIT License.

# See /LICENSE for more information.

#

## 文件保存设置 ##

# 下载目录。可使用绝对路径或相对路径, 默认: 当前启动位置

dir=/data/data/com.termux/files/home/storage/downloads/aria2

# 磁盘缓存, 0 为禁用缓存,默认:16M

# 磁盘缓存的作用是把下载的数据块临时存储在内存中,然后集中写入硬盘,以减少磁盘 I/O ,提升读写性能,延长硬盘寿命。

# 建议在有足够的内存空闲情况下适当增加,但不要超过剩余可用内存空间大小。

# 此项值仅决定上限,实际对内存的占用取决于网速(带宽)和设备性能等其它因素。

disk-cache=64M

# 文件预分配方式, 可选:none, prealloc, trunc, falloc, 默认:prealloc

# 预分配对于机械硬盘可有效降低磁盘碎片、提升磁盘读写性能、延长磁盘寿命。

# 机械硬盘使用 ext4(具有扩展支持),btrfs,xfs 或 NTFS(仅 MinGW 编译版本)等文件系统建议设置为 falloc

# 若无法下载,提示 fallocate failed.cause:Operation not supported 则说明不支持,请设置为 none

# prealloc 分配速度慢, trunc 无实际作用,不推荐使用。

# 固态硬盘不需要预分配,只建议设置为 none ,否则可能会导致双倍文件大小的数据写入,从而影响寿命。

file-allocation=none

# 文件预分配大小限制。小于此选项值大小的文件不预分配空间,单位 K 或 M,默认:5M

no-file-allocation-limit=64M

# 断点续传

continue=true

# 始终尝试断点续传,无法断点续传则终止下载,默认:true

always-resume=false

# 不支持断点续传的 URI 数值,当 always-resume=false 时生效。

# 达到这个数值从将头开始下载,值为 0 时所有 URI 不支持断点续传时才从头开始下载。

max-resume-failure-tries=0

# 获取服务器文件时间,默认:false

remote-time=true

## 进度保存设置 ##

# 从会话文件中读取下载任务

input-file=/data/data/com.termux/files/home/.config/aria2/aria2.session

# 会话文件保存路径

# Aria2 退出时或指定的时间间隔会保存`错误/未完成`的下载任务到会话文件

save-session=/data/data/com.termux/files/home/.config/aria2/aria2.session

# 任务状态改变后保存会话的间隔时间(秒), 0 为仅在进程正常退出时保存, 默认:0

# 为了及时保存任务状态、防止任务丢失,此项值只建议设置为 1

save-session-interval=1

# 自动保存任务进度到控制文件(*.aria2)的间隔时间(秒),0 为仅在进程正常退出时保存,默认:60

# 此项值也会间接影响从内存中把缓存的数据写入磁盘的频率

# 想降低磁盘 IOPS (每秒读写次数)则提高间隔时间

# 想在意外非正常退出时尽量保存更多的下载进度则降低间隔时间

# 非正常退出:进程崩溃、系统崩溃、SIGKILL 信号、设备断电等

auto-save-interval=20

# 强制保存,即使任务已完成也保存信息到会话文件, 默认:false

# 开启后会在任务完成后保留 .aria2 文件,文件被移除且任务存在的情况下重启后会重新下载。

# 关闭后已完成的任务列表会在重启后清空。

force-save=false

## 下载连接设置 ##

# 文件未找到重试次数,默认:0 (禁用)

# 重试时同时会记录重试次数,所以也需要设置 max-tries 这个选项

max-file-not-found=10

# 最大尝试次数,0 表示无限,默认:5

max-tries=5

# 重试等待时间(秒), 默认:0 (禁用)

retry-wait=15

# 连接超时时间(秒)。默认:60

connect-timeout=10

# 超时时间(秒)。默认:60

timeout=10

# 最大同时下载任务数, 运行时可修改, 默认:5

max-concurrent-downloads=5

# 单服务器最大连接线程数, 任务添加时可指定, 默认:1

# 最大值为 16 (增强版无限制), 且受限于单任务最大连接线程数(split)所设定的值。

max-connection-per-server=16

# 单任务最大连接线程数, 任务添加时可指定, 默认:5

split=64

# 文件最小分段大小, 添加时可指定, 取值范围 1M-1024M (增强版最小值为 1K), 默认:20M

# 比如此项值为 10M, 当文件为 20MB 会分成两段并使用两个来源下载, 文件为 15MB 则只使用一个来源下载。

# 理论上值越小使用下载分段就越多,所能获得的实际线程数就越大,下载速度就越快,但受限于所下载文件服务器的策略。

min-split-size=4M

# HTTP/FTP 下载分片大小,所有分割都必须是此项值的倍数,最小值为 1M (增强版为 1K),默认:1M

piece-length=1M

# 允许分片大小变化。默认:false

# false:当分片大小与控制文件中的不同时将会中止下载

# true:丢失部分下载进度继续下载

allow-piece-length-change=true

# 最低下载速度限制。当下载速度低于或等于此选项的值时关闭连接(增强版本为重连),此选项与 BT 下载无关。单位 K 或 M ,默认:0 (无限制)

lowest-speed-limit=0

# 全局最大下载速度限制, 运行时可修改, 默认:0 (无限制)

max-overall-download-limit=0

# 单任务下载速度限制, 默认:0 (无限制)

max-download-limit=0

# 禁用 IPv6, 默认:false

disable-ipv6=true

# GZip 支持,默认:false

http-accept-gzip=true

# URI 复用,默认: true

reuse-uri=false

# 禁用 netrc 支持,默认:false

no-netrc=true

# 允许覆盖,当相关控制文件(.aria2)不存在时从头开始重新下载。默认:false

allow-overwrite=false

# 文件自动重命名,此选项仅在 HTTP(S)/FTP 下载中有效。新文件名在名称之后扩展名之前加上一个点和一个数字(1..9999)。默认:true

auto-file-renaming=true

# 使用 UTF-8 处理 Content-Disposition ,默认:false

content-disposition-default-utf8=true

# 最低 TLS 版本,可选:TLSv1.1、TLSv1.2、TLSv1.3 默认:TLSv1.2

#min-tls-version=TLSv1.2

## BT/PT 下载设置 ##

# BT 监听端口(TCP), 默认:6881-6999

# 直通外网的设备,比如 VPS ,务必配置防火墙和安全组策略允许此端口入站

# 内网环境的设备,比如 NAS ,除了防火墙设置,还需在路由器设置外网端口转发到此端口

listen-port=51413

# DHT 网络与 UDP tracker 监听端口(UDP), 默认:6881-6999

# 因协议不同,可以与 BT 监听端口使用相同的端口,方便配置防火墙和端口转发策略。

dht-listen-port=51413

# 启用 IPv4 DHT 功能, PT 下载(私有种子)会自动禁用, 默认:true

enable-dht=true

# 启用 IPv6 DHT 功能, PT 下载(私有种子)会自动禁用,默认:false

# 在没有 IPv6 支持的环境开启可能会导致 DHT 功能异常

enable-dht6=false

# 指定 BT 和 DHT 网络中的 IP 地址

# 使用场景:在家庭宽带没有公网 IP 的情况下可以把 BT 和 DHT 监听端口转发至具有公网 IP 的服务器,在此填写服务器的 IP ,可以提升 BT 下载速率。

#bt-external-ip=

# IPv4 DHT 文件路径,默认:$HOME/.aria2/dht.dat

dht-file-path=/data/data/com.termux/files/home/.config/aria2/dht.dat

# IPv6 DHT 文件路径,默认:$HOME/.aria2/dht6.dat

dht-file-path6=/data/data/com.termux/files/home/.config/aria2/dht6.dat

# IPv4 DHT 网络引导节点

dht-entry-point=dht.transmissionbt.com:6881

# IPv6 DHT 网络引导节点

dht-entry-point6=dht.transmissionbt.com:6881

# 本地节点发现, PT 下载(私有种子)会自动禁用 默认:false

bt-enable-lpd=true

# 指定用于本地节点发现的接口,可能的值:接口,IP地址

# 如果未指定此选项,则选择默认接口。

#bt-lpd-interface=

# 启用节点交换, PT 下载(私有种子)会自动禁用, 默认:true

enable-peer-exchange=true

# BT 下载最大连接数(单任务),运行时可修改。0 为不限制,默认:55

# 理想情况下连接数越多下载越快,但在实际情况是只有少部分连接到的做种者上传速度快,其余的上传慢或者不上传。

# 如果不限制,当下载非常热门的种子或任务数非常多时可能会因连接数过多导致进程崩溃或网络阻塞。

# 进程崩溃:如果设备 CPU 性能一般,连接数过多导致 CPU 占用过高,因资源不足 Aria2 进程会强制被终结。

# 网络阻塞:在内网环境下,即使下载没有占满带宽也会导致其它设备无法正常上网。因远古低性能路由器的转发性能瓶颈导致。

bt-max-peers=128

# BT 下载期望速度值(单任务),运行时可修改。单位 K 或 M 。默认:50K

# BT 下载速度低于此选项值时会临时提高连接数来获得更快的下载速度,不过前提是有更多的做种者可供连接。

# 实测临时提高连接数没有上限,但不会像不做限制一样无限增加,会根据算法进行合理的动态调节。

bt-request-peer-speed-limit=10M

# 全局最大上传速度限制, 运行时可修改, 默认:0 (无限制)

# 设置过低可能影响 BT 下载速度

max-overall-upload-limit=2M

# 单任务上传速度限制, 默认:0 (无限制)

max-upload-limit=0

# 最小分享率。当种子的分享率达到此选项设置的值时停止做种, 0 为一直做种, 默认:1.0

# 强烈建议您将此选项设置为大于等于 1.0

seed-ratio=1.0

# 最小做种时间(分钟)。设置为 0 时将在 BT 任务下载完成后停止做种。

seed-time=0

# 做种前检查文件哈希, 默认:true

bt-hash-check-seed=true

# 继续之前的BT任务时, 无需再次校验, 默认:false

bt-seed-unverified=false

# BT tracker 服务器连接超时时间(秒)。默认:60

# 建立连接后,此选项无效,将使用 bt-tracker-timeout 选项的值

bt-tracker-connect-timeout=10

# BT tracker 服务器超时时间(秒)。默认:60

bt-tracker-timeout=10

# BT 服务器连接间隔时间(秒)。默认:0 (自动)

#bt-tracker-interval=0

# BT 下载优先下载文件开头或结尾

bt-prioritize-piece=head=32M,tail=32M

# 保存通过 WebUI(RPC) 上传的种子文件(.torrent),默认:true

# 所有涉及种子文件保存的选项都建议开启,不保存种子文件有任务丢失的风险。

# 通过 RPC 自定义临时下载目录可能不会保存种子文件。

rpc-save-upload-metadata=true

# 下载种子文件(.torrent)自动开始下载, 默认:true,可选:false|mem

# true:保存种子文件

# false:仅下载种子文件

# mem:将种子保存在内存中

follow-torrent=true

# 种子文件下载完后暂停任务,默认:false

# 在开启 follow-torrent 选项后下载种子文件或磁力会自动开始下载任务进行下载,而同时开启当此选项后会建立相关任务并暂停。

pause-metadata=false

# 保存磁力链接元数据为种子文件(.torrent), 默认:false

bt-save-metadata=true

# 加载已保存的元数据文件(.torrent),默认:false

bt-load-saved-metadata=true

# 删除 BT 下载任务中未选择文件,默认:false

bt-remove-unselected-file=true

# BT强制加密, 默认: false

# 启用后将拒绝旧的 BT 握手协议并仅使用混淆握手及加密。可以解决部分运营商对 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

# 分离仅做种任务,默认:false

# 从正在下载的任务中排除已经下载完成且正在做种的任务,并开始等待列表中的下一个任务。

bt-detach-seed-only=true

## 客户端伪装 ##

# 自定义 User Agent

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36

# BT 客户端伪装

# PT 下载需要保持 user-agent 和 peer-agent 两个参数一致

# 部分 PT 站对 Aria2 有特殊封禁机制,客户端伪装不一定有效,且有封禁账号的风险。

#user-agent=Deluge 1.3.15

peer-agent=Deluge 1.3.15

peer-id-prefix=-DE13F0-

## 执行额外命令 ##

# 下载停止后执行的命令

# 从 正在下载 到 删除、错误、完成 时触发。暂停被标记为未开始下载,故与此项无关。

on-download-stop=/data/data/com.termux/files/home/.config/aria2/delete.sh

# 下载完成后执行的命令

# 此项未定义则执行 下载停止后执行的命令 (on-download-stop)

on-download-complete=/data/data/com.termux/files/home/.config/aria2/clean.sh

# 下载错误后执行的命令

# 此项未定义则执行 下载停止后执行的命令 (on-download-stop)

#on-download-error=

# 下载暂停后执行的命令

#on-download-pause=

# 下载开始后执行的命令

#on-download-start=

# BT 下载完成后执行的命令

#on-bt-download-complete=

## RPC 设置 ##

# 启用 JSON-RPC/XML-RPC 服务器, 默认:false

enable-rpc=true

# 接受所有远程请求, 默认:false

rpc-allow-origin-all=true

# 允许外部访问, 默认:false

rpc-listen-all=true

# RPC 监听端口, 默认:6800

rpc-listen-port=6800

# RPC 密钥

rpc-secret=123456

# RPC 最大请求大小

rpc-max-request-size=10M

# RPC 服务 SSL/TLS 加密, 默认:false

# 启用加密后必须使用 https 或者 wss 协议连接

# 不推荐开启,建议使用 web server 反向代理,比如 Nginx、Caddy ,灵活性更强。

#rpc-secure=false

# 在 RPC 服务中启用 SSL/TLS 加密时的证书文件(.pem/.crt)

#rpc-certificate=/data/data/com.termux/files/home/.config/aria2/xxx.pem

# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件(.key)

#rpc-private-key=/data/data/com.termux/files/home/.config/aria2/xxx.key

# 事件轮询方式, 可选:epoll, kqueue, port, poll, select, 不同系统默认值不同

#event-poll=select

## 高级选项 ##

# 启用异步 DNS 功能。默认:true

#async-dns=true

# 指定异步 DNS 服务器列表,未指定则从 /etc/resolv.conf 中读取。

#async-dns-server=119.29.29.29,223.5.5.5,8.8.8.8,1.1.1.1

# 指定单个网络接口,可能的值:接口,IP地址,主机名

# 如果接口具有多个 IP 地址,则建议指定 IP 地址。

# 已知指定网络接口会影响依赖本地 RPC 的连接的功能场景,即通过 localhost 和 127.0.0.1 无法与 Aria2 服务端进行讯通。

#interface=

# 指定多个网络接口,多个值之间使用逗号(,)分隔。

# 使用 interface 选项时会忽略此项。

#multiple-interface=

## 日志设置 ##

# 日志文件保存路径,忽略或设置为空为不保存,默认:不保存

#log=

# 日志级别,可选 debug, info, notice, warn, error 。默认:debug

#log-level=warn

# 控制台日志级别,可选 debug, info, notice, warn, error ,默认:notice

console-log-level=notice

# 安静模式,禁止在控制台输出日志,默认:false

quiet=false

# 下载进度摘要输出间隔时间(秒),0 为禁止输出。默认:60

summary-interval=0

## 增强扩展设置(非官方) ##

# 仅适用于 myfreeer/aria2-build-msys2 (Windows) 和 P3TERX/Aria2-Pro-Core (GNU/Linux) 项目所构建的增强版本

# 在服务器返回 HTTP 400 Bad Request 时重试,仅当 retry-wait > 0 时有效,默认 false

#retry-on-400=true

# 在服务器返回 HTTP 403 Forbidden 时重试,仅当 retry-wait > 0 时有效,默认 false

#retry-on-403=true

# 在服务器返回 HTTP 406 Not Acceptable 时重试,仅当 retry-wait > 0 时有效,默认 false

#retry-on-406=true

# 在服务器返回未知状态码时重试,仅当 retry-wait > 0 时有??,默认 false

#retry-on-unknown=true

# 是否发送 Want-Digest HTTP 标头。默认:false (不发送)

# 部分网站会把此标头作为特征来检测和屏蔽 Aria2

#http-want-digest=false

## BitTorrent trackers ##

bt-tracker=

这个是我的配置方法,如果你所有的配置目录名地址和我一样可以这样整,否则尽量自己设置

配置文件中我们需要用到nano的几个快捷键,ctrl+\ (替换),ctrl+w(搜索),ctrl+3-shift+3(显示行号)

我们需要替换/root/.aria2为/data/data/com.termux/files/home/.config/aria2

第16行我们aria2的下载位置,可以设置到storage目录下,那么就是/data/data/com.termux/files/home/storage/downloads

第332行RPC密匙,这个就是我们之后登陆aria2控制界面的密匙,必须修改成你自己的,可以设置为空,这样直接就可以登陆,上面的是我的设置方案,按照自己的方法设置

然后按ctrl+o保存,enter,ctrl+x退出

cd ~ 然后配置alist

直接在工作目录输入alist admin(生成data文件夹)

会给一个管理员账号,这个账号就是你之后登陆密码,之后不知道也可以用这个命令

注意:alist server或者alist admin使用这个命令之后会在当前命令行位置生成data文件夹,目前笔者撰写时termux下无法使用alist start后台运行命令,不建议直接使用alist server或者alist admin这个命令,必须先cd ~ 到主目录,或者自己的配置目录,然后使用这两个命令,否则导致配置位置混乱

然后在主目录下创建脚本命令,直接nano start.sh

cd ~

alist server &

aria2c --conf-path="/data/data/com.termux/files/home/.config/aria2/aria2.conf"

复制上面后,保存

chmod +x start.sh

./start.sh


-----

或者设置termux自启服务:

nano $PREFIX/etc/termux-login.sh

nohup alist server & aria2c --conf-path="/data/data/com.termux/files/home/.config/aria2/aria2.conf" > /dev/null 2>&1 &

打开手机浏览器,127.0.0.1:5244

就可以看到alist页面,使用管理员账户登陆即可

aria2下载配置页面建议使用aria2NG这个项目,查看链接

如果有能力可以上github建议直接去下AriaNg-版本-AllInOne.zip这个文件,然后解压打开里面的index.html,直接浏览器打开也可,不会请跳过直接访问aria2NG作者的demo网站

查看链接

挂载本地磁盘

alist登陆管理员账号后下方有个管理-存储-添加-驱动-本地存储

设置挂载路径

保存

设置aria2

登陆alist后设置-其他里找到aria2地址,地址就是查看链接,密码如果你用我这样的配置,密码就是123456,否则你设置的密码就在aria2.conf的332行

设置好后,在设置的存储界面,离线下载选择aria2即可,会下载到你当前的位置,如果是主页会报Failed get storage: please add a storage first.必须添加一个存储再离线下载

alist调用aria2是以客户端的形式调用,调用aria2下载好后会在任务-aria2里看到,会先将文件下载到aria2指定的下载目录,然后将下载的文件传输到相应的存储,这个任务里也有说

如下是alist的界面:




如下是AriaNG远程控制下载的界面:


相关推荐

干货 | 各大船公司VGM提交流程(msc船运公司提单查询)

VGM(VerifiedGrossMass)要来了,大外总管一本正经来给大家分享下各大船公司提交VGM流程。1,赫伯罗特(简称HPL)首先要注册账户第一,登录进入—选择product------...

如何修改图片详细信息?分享三个简单方法

如何修改图片详细信息?分享三个简单方法我们知道图片的详细信息里面包含了很多属性,有图片的创建时间,修改时间,地理位置,拍摄时间,还有图片的描述等信息。有时候为了一些特殊场景的需要我们需要对这些信息进行...

实用方法分享:没有图像处理软件,怎么将一张照片做成九宫格?

在发朋友圈时,如果把自己的照片做成九宫格,是不是更显得高大上?可能你问,是不是要借助图片处理软件,在这里,我肯定告诉你,不需要!!!你可能要问,那怎么实现呢?下面你看我是怎么做的,一句代码都不写,只是...

扫描档PDF也能变身“最强大脑”?RAG技术解锁尘封的知识宝藏!

尊敬的诸位!我是一名物联网工程师。关注我,持续分享最新物联网与AI资讯和开发实战。期望与您携手探寻物联网与AI的无尽可能。今天有网友问我扫描档的PDF文件能否做知识库,其实和普通pdf处理起来差异...

这两个Python库,轻而易举就能实现MP4与GIF格式互转,太好用了

mp4转gif的原理其实很简单,就是将mp4文件的帧读出来,然后合并成一张gif图。用cv2和PIL这两个库就可以轻松搞定。importglobimportcv2fromPILimpo...

python图片处理之图片切割(python把图片切割成固定大小的子图)

python图片切割在很多项目中都会用到,比如验证码的识别、目标检测、定点切割等,本文给大家带来python的两种切割方式:fromPILimportImage"""...

python+selenium+pytesseract识别图片验证码

一、selenium截取验证码#私信小编01即可获取大量Python学习资源#私信小编01即可获取大量Python学习资源#私信小编01即可获取大量Python学习资源importjso...

如何使用python裁剪图片?(python图片截取)

如何使用python裁剪图片如上图所示,这是一张包含了各类象棋棋子的图片。我们需要将其中每一个棋子都裁剪出来,此时可以利用python的...

Python rembg 库去除图片背景(python 删除图片)

rembg是一个强大的Python库,用于自动去除图片背景。它基于深度学习模型(如U^2-Net),能够高效地将前景物体从背景中分离,生成透明背景的PNG图像。本教程将带你从安装到实际应用...

「python脚本」批量修改图片尺寸&amp;视频安帧提取

【python脚本】批量修改图片尺寸#-*-coding:utf-8-*-"""CreatedonThuAug2316:06:352018@autho...

有趣的EXCEL&amp;vba作图(vba画图表)

还记不记得之前有个日本老爷爷用EXCEL绘图,美轮美奂,可谓是心思巧妙。我是没有那样的艺术细胞,不过咱有自己的方式,用代码作图通过vba代码将指定的图片写入excel工作表中,可不是插入图片哦解题思...

怎么做到的?用python制作九宫格图片,太棒了

1.应用场景当初的想法是:想把一张图切割成九等份,发布到微信朋友圈,切割出来的图片,上传到朋友圈,发现微信不按照我排列的序号来排版。这样的结果是很耗时间的。让我深思,能不能有一种,直接拼接成一张...

Python-连续图片合成视频(python多张图叠加为一张)

前言很多时候,我们需要将图片直接转成视频。下面介绍用python中的OpenCV将进行多张图合成视频。cv2安装不要直接用pipinstallcv2,这会报错。有很多人建议用打开window自带的...

如何把多个文件夹里的图片提取出来?文件夹整理合并工具

在项目管理中,团队成员可能会将项目相关的图片资料分散存储在不同的文件夹中,以便于分类和阶段性管理。然而,当项目进入汇报或总结阶段时,需要将所有相关图片整合到一个位置,以便于制作演示文稿、报告或进行项目...

超简单!为图片和 PDF 上去掉水印(pdf图片和水印是一体,怎么去除)

作者:某某白米饭...

取消回复欢迎 发表评论: