当前位置: 首页 > 淘宝 > 正文

linux通过rclone挂在谷歌团队盘+Aria2+AriaNg离线下载+EMBY电影站

1:安装宝塔

宝塔安装十分简单,就一行命令会自动安装完成,在此不重复讲解.宝塔安装完成后开始第二步.

2:安装rclone

curl https://rclone.org/install.sh | sudo bash

安装完成后,配置rclone

rclone config
No remotes found - make a new one
 n) New remote
 s) Set configuration password
 q) Quit config
 n/s/q> n #输入n
 name> gdrive  #名称随便填
 Type of storage to configure.
 Enter a string value. Press Enter for the default ("").
 Choose a number from below, or type in your own value
  1 / 1Fichier
    \ "fichier"
  2 / Alias for an existing remote
    \ "alias"
  3 / Amazon Drive
    \ "amazon cloud drive"
  4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
    \ "s3"
  5 / Backblaze B2
    \ "b2"
  6 / Box
    \ "box"
  7 / Cache a remote
    \ "cache"
  8 / Citrix Sharefile
    \ "sharefile"
  9 / Dropbox
    \ "dropbox"
 10 / Encrypt/Decrypt a remote
    \ "crypt"
 11 / FTP Connection
    \ "ftp"
 12 / Google Cloud Storage (this is not Google Drive)
    \ "google cloud storage"
 13 / Google Drive
    \ "drive"
 14 / Google Photos
    \ "google photos"
 15 / Hubic
    \ "hubic"
 16 / JottaCloud
    \ "jottacloud"
 17 / Koofr
    \ "koofr"
 18 / Local Disk
    \ "local"
 19 / Mail.ru Cloud
    \ "mailru"
 20 / Mega
    \ "mega"
 21 / Microsoft Azure Blob Storage
    \ "azureblob"
 22 / Microsoft OneDrive
    \ "onedrive"
 23 / OpenDrive
    \ "opendrive"
 24 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
    \ "swift"
 25 / Pcloud
    \ "pcloud"
 26 / Put.io
    \ "putio"
 27 / QingCloud Object Storage
    \ "qingstor"
 28 / SSH/SFTP Connection
    \ "sftp"
 29 / Transparently chunk/split large files
    \ "chunker"
 30 / Union merges the contents of several remotes
    \ "union"
 31 / Webdav
    \ "webdav"
 32 / Yandex Disk
    \ "yandex"
 33 / http Connection
    \ "http"
 34 / premiumize.me
    \ "premiumizeme"
 Storage> 13 #选择13,google drive
 ** See help for drive backend at: https://rclone.org/drive/ **
 Google Application Client Id
 Setting your own is recommended.
 See https://rclone.org/drive/#making-your-own-client-id for how to create your own.
 If you leave this blank, it will use an internal key which is low performance.
 Enter a string value. Press Enter for the default ("").
 client_id>  #留空
 Google Application Client Secret
 Setting your own is recommended.
 Enter a string value. Press Enter for the default ("").
 client_secret>   #留空
 Scope that rclone should use when requesting access from drive.
 Enter a string value. Press Enter for the default ("").
 Choose a number from below, or type in your own value
  1 / Full access all files, excluding Application Data Folder.
    \ "drive"
  2 / Read-only access to file metadata and file contents.
    \ "drive.readonly"
    / Access to files created by rclone only.
  3 | These are visible in the drive website.
    | File authorization is revoked when the user deauthorizes the app.
    \ "drive.file"
    / Allows read and write access to the Application Data folder.
  4 | This is not visible in the drive website.
    \ "drive.appfolder"
    / Allows read-only access to file metadata but
  5 | does not allow any access to read or download file content.
    \ "drive.metadata.readonly"
 scope> 1 #输入1
 ID of the root folder
 Leave blank normally.
 Fill in to access "Computers" folders (see docs), or for rclone to use
 a non root folder as its starting point.
 Note that if this is blank, the first time rclone runs it will fill it
 in with the ID of the root folder.
 Enter a string value. Press Enter for the default ("").
 root_folder_id> #留空
 Service Account Credentials JSON file path 
 Leave blank normally.
 Needed only if you want use SA instead of interactive login.
 Enter a string value. Press Enter for the default ("").
 service_account_file>    #回车
 Edit advanced config? (y/n)
 y) Yes
 n) No
 y/n> n #输入n
 Remote config
 Use auto config?
 Say Y if not sure
 Say N if you are working on a remote or headless machine
 y) Yes
 n) No
 y/n> n  #输入n
 If your browser doesn't open automatically go to the following link: https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=202264815644.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&state=tZzSXMvZc8iu0lYFB4ANBw
 Log in and authorize rclone for access
 Enter verification code>  #打开以上链接,登录要绑定的Google,此处输入活动的Code
 Configure this as a team drive?
 y) Yes
 n) No
 y/n> y   #如果你的是团队盘,则输入y,否则n
 Fetching team drive list…
 Choose a number from below, or type in your own value
 1 / owejoij
 \ "0AMp-QeDCIy_mUk9PVA" 
 Enter a Team Drive ID> 1 #如果是团队盘,输入序号
 [gdrive]
 type = drive
 scope = drive
 token = {"access_token":"ya29.Il-2B5z7OPWyx59ZHw7__IemaHsR8VT7P__jUN27hnNXZtaj0Rk1HcWPGGt2xqjkJH3e2KaVWuwz1nvW20MT0rfmEd5XAMY-je7wzQWgdjuGaBn9-txOUGh2jkk_CYio2w","token_type":"Bearer","refresh_token":"1//03yKvDZ7SOc80CgYIARAAGAMSNwF-L9Irrptm9elmrbRA1jxPeBsodd2FZw0TG5Utj5dUXeEDxKgZcR2EkYy1D0_wpsWsmgCWDzg","expiry":"2019-12-24T03:17:54.135381482-05:00"}
 team_drive = 0AMp-QeDCIy_mUk9PVA
 y) Yes this is OK
 e) Edit this remote
 d) Delete this remote
 y/e/d> y #输入y
 Current remotes:
 Name                 Type
 ====                 ====
 gdrive               drive
 e) Edit existing remote
 n) New remote
 d) Delete remote
 r) Rename remote
 c) Copy remote
 s) Set configuration password
 q) Quit config
 e/n/d/r/c/s/q> q #绑定完成后输入q退出,如果要继续绑定,输入y重复以上步骤

挂载为磁盘

因为我们已经安装了宝塔,如果挂在目录创建在/root/目录下,权限很难控制,可能跟后期其他用户例如emby,jillyfin,Aria2等使用不方便,所以我们最好是直接重新创建在根目录之下,方便全权限分配。代码如下:

mkdir /GoogleDrive
rclone mount gdrive: /GoogleDrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

如果有报错的话,安装下fuse

# Debian/Ubuntu
apt-get install fuse
# CentOS
yum install fuse

输入df -h查看挂载的硬盘:

开机自启

按照下列路径新建一个rclone.service文件:

nano /usr/lib/systemd/system/rclone.service

写入

[Unit]
Description = rclone
 
[Service]
User = root
ExecStart = /usr/bin/rclone mount gdrive: /root/GoogleDrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
Restart = on-abort
 
[Install]
WantedBy = multi-user.target

重载daemon,让新的服务文件生效:

systemctl daemon-reload

设置开机启动:

systemctl enable rclone

停止,查看状态可以用:

systemctl stop rclone 
systemctl status rclone

OK,rclone部署完毕。

3:安装EMBY

wget https://github.com/MediaBrowser/Emby.Releases/releases/download/4.6.7.0/emby-server-deb_4.6.7.0_amd64.deb
dpkg -i emby-server-deb_4.6.7.0_amd64.deb

开放相应的端口,没问题的话应该就可以访问了.

对gdrive下的电影文件夹进行授权,以便emby用户能正常读写该文件夹。例如root用户把自己的一个文件拷贝给用户emby,为了让用户emby能够存取这个文件,root用户应该把这个文件的属主设为emby,否则,用户emby无法存取这个文件。格式如下:chown -R name:group /usr/local

mkdir /GoogleDrive/电影     #给emby在googleDrive中创建个电影文件夹用来放电影
chown -R emby:emby /GoogleDrive/电影
chown -R emby /GoogleDrive/电影
chmod 760 /GoogleDrive/电影

现在没问题的话,直接访问你的IP:8096.然后配置emby的媒体文件夹为/GoogleDrive/电影。端口转发的钩选上,其他按照正常配置。配置完成后emby就安装完成了。

4:安装Aria2

因为aria2我们需要安装个前端,所以我们现在宝塔里面创建个网站,不需要创建数据库。

创建完成后我们开始安装Aria2

sudo apt-get install aria2

完成后我们配置AIA2

mkdir /home/www-data
mkdir /home/www-data/aria2
mkdir /home/Aria2/Download/

cd /home/www-data/aria2
touch aria2.session
nano /home/www-data/aria2

配置如下:可以按需修改:

#
# https://github.com/P3TERX/aria2.conf
# File name:aria2.conf
# Description: Awesome Aria2 configuration file
# Version: 2021.09.15
#
# Copyright (c) 2018-2021 P3TERX <https://p3terx.com>
#
# This is free software, licensed under the MIT License.
# See /LICENSE for more information.
#

## 文件保存设置 ##

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

# 磁盘缓存, 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=/home/www-data/aria2/aria2.session

# 会话文件保存路径
# Aria2 退出时或指定的时间间隔会保存`错误/未完成`的下载任务到会话文件
save-session=/home/www-data/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=0

# 重试等待时间(秒), 默认:0 (禁用)
retry-wait=10

# 连接超时时间(秒)。默认: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=false

# 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=/home/www-data/aria2/dht.dat

# IPv6 DHT 文件路径,默认:$HOME/.aria2/dht6.dat
dht-file-path6=/home/www-data/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
user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.47

# 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=/home/www-data/aria2/delete.sh

# 下载完成后执行的命令
# 此项未定义则执行 下载停止后执行的命令 (on-download-stop)
on-download-complete=/root/rcloneupload.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=P3TERX

# 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=/root/.aria2/xxx.pem

# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件(.key)
#rpc-private-key=/root/.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=http://p4p.arenabg.com:1337/announce,
udp://tracker.opentrackr.org:1337/announce,
http://tracker.opentrackr.org:1337/announce,
udp://9.rarbg.com:2810/announce,
udp://open.tracker.cl:1337/announce,
http://tracker.openbittorrent.com:80/announce,
http://openbittorrent.com:80/announce,
udp://exodus.desync.com:6969/announce,
udp://www.torrent.eu.org:451/announce,
udp://tracker.torrent.eu.org:451/announce,
udp://tracker.tiny-vps.com:6969/announce,
udp://tracker.pomf.se:80/announce,
udp://tracker.dler.org:6969/announce,
udp://tracker.altrosky.nl:6969/announce,
udp://tracker.0x.tf:6969/announce,
udp://retracker.netbynet.ru:2710/announce,
udp://opentor.org:2710/announce,
udp://open.stealth.si:80/announce,
udp://mail.realliferpg.de:6969/announce,
udp://fe.dealclub.de:6969/announce,
udp://explodie.org:6969/announce,
udp://bt2.archive.org:6969/announce,
udp://bt1.archive.org:6969/announce,
https://tracker.nanoha.org:443/announce,
https://tracker.lilithraws.cf:443/announce,
https://tracker.iriseden.fr:443/announce,
http://t.nyaatracker.com:80/announce,
http://retracker.joxnet.ru:80/announce,
http://pow7.com:80/announce,
http://open.acgtracker.com:1096/announce,
http://bt.okmp3.ru:2710/announce,
udp://vibe.sleepyinternetfun.xyz:1738/announce,
udp://udp-tracker.shittyurl.org:6969/announce,
udp://u.wwwww.wtf:1/announce,
udp://tracker4.itzmx.com:2710/announce,
udp://tracker2.dler.org:80/announce,
udp://tracker1.bt.moack.co.kr:80/announce,
udp://tracker0.ufibox.com:6969/announce,
udp://tracker.zerobytes.xyz:1337/announce,
udp://tracker.zemoj.com:6969/announce,
udp://tracker.theoks.net:6969/announce,
udp://tracker.srv00.com:6969/announce,
udp://tracker.ololosh.space:6969/announce,
udp://tracker.monitorit4.me:6969/announce,
udp://tracker.moeking.me:6969/announce,
udp://tracker.loadbt.com:6969/announce,
udp://tracker.lelux.fi:6969/announce,
udp://tracker.leech.ie:1337/announce,
udp://tracker.jordan.im:6969/announce,
udp://tracker.haynet.io:6969/announce,
udp://tracker.fatkhoala.org:13710/announce,
udp://tracker.ddunlimited.net:6969/announce,
udp://tracker.blacksparrowmedia.net:6969/announce,
udp://tracker.bitsearch.to:1337/announce,
udp://tr2.ysagin.top:2710/announce,
udp://tr.cili001.com:8070/announce,
udp://tr.bangumi.moe:6969/announce,
udp://retracker.sevstar.net:2710/announce,
udp://public.tracker.vraphim.com:6969/announce,
udp://public.publictracker.xyz:6969/announce,
udp://open.publictracker.xyz:6969/announce,
udp://mts.tvbit.co:6969/announce,
udp://movies.zsw.ca:6969/announce,
udp://jeremylee.sh:6969/announce,
udp://inferno.demonoid.is:3391/announce,
udp://engplus.ru:6969/announce,
udp://discord.heihachi.pw:6969/announce,
udp://cutiegirl.ru:6969/announce,
udp://concen.org:6969/announce,
udp://code2chicken.nl:6969/announce,
udp://camera.lei001.com:6969/announce,
udp://bubu.mapfactor.com:6969/announce,
udp://bt.oiyo.tk:6969/announce,
udp://bclearning.top:6969/announce,
udp://admin.videoenpoche.info:6969/announce,
udp://abufinzio.monocul.us:6969/announce,
udp://6ahddutb1ucc3cp.ru:6969/announce,
https://w.wwwww.wtf:443/announce,
https://trackme.theom.nz:443/announce,
https://tracker.tamersunion.org:443/announce,
https://tracker.nitrix.me:443/announce,
https://tracker.madassnews.net:443/announce,
https://tracker.lelux.fi:443/announce,
https://tracker.kuroy.me:443/announce,
https://tracker.foreverpirates.co:443/announce,
https://t1.tokhmi.xyz:443/announce,
https://1337.abcvg.info:443/announce,
http://vps02.net.orel.ru:80/announce,
http://trackme.theom.nz:80/announce,
http://tracker4.itzmx.com:2710/announce,
http://tracker2.dler.org:80/announce,
http://tracker1.bt.moack.co.kr:80/announce,
http://tracker.zerobytes.xyz:1337/announce,
http://tracker.noobsubs.net:80/announce,
http://tracker.moeking.me:6969/announce,
http://tracker.loadbt.com:6969/announce,
http://tracker.lelux.fi:80/announce,
http://tracker.files.fm:6969/announce,
http://tracker.dler.org:6969/announce,
http://tr.cili001.com:8070/announce,
http://torrenttracker.nwc.acsalaska.net:6969/announce,
http://t.overflow.biz:6969/announce,
http://t.acg.rip:6699/announce,
http://rt.optizone.ru:80/announce,
http://retracker.sevstar.net:2710/announce,
http://open.acgnxtracker.com:80/announce,
http://h4.trakx.nibba.trade:80/announce,
http://fxtt.ru:80/announce,
http://fosstorrents.com:6969/announce,
http://1337.abcvg.info:80/announce,

为了安全起见,不用root权限运行aria2。修改完后更改拥有者www-data

chown -R www-data:www-data /home/www-data/aria2
chown -R www-data:www-data /home/www-data/downloads

启动命令:

aria2c --conf-path=/home/www-data/aria2/aria2.conf

设置开机自启动:

nano /etc/init.d/aria2

写入以下内容,ctrl+x保存

#!/bin/sh
# https://gist.github.com/jereksel/8217470

### BEGIN INIT INFO
# Provides: aria2
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: aria2c init script.
# Description: Starts and stops aria2 daemon.
### END INIT INFO

USER="www-data"
DAEMON=/usr/bin/aria2c
CONF="/home/www-data/aria2/aria2.conf"

start() {
	if [ -f $CONF ]; then
		echo "Starting aria2 daemon..."
		start-stop-daemon -S -c $USER:$USER -x $DAEMON -- -D --conf-path=$CONF || echo "start fail"
		pid=`pgrep -fu $USER $DAEMON`
		echo "pid=$pid"
	else
		echo "$CONF was not found"
	fi
}

stop() {
	echo  "Stopping..."
	start-stop-daemon -K -c $USER:$USER -x $DAEMON

	if [ $? = "0" ];then
		sleep 5
		echo "stop ok"
	else
		echo "stop fail"
	fi

}

case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	restart)
		stop
		start
		;;
	*)
		echo "Usage: /etc/init.d/aria2 {start|stop|restart}"
		exit 1
		;;
esac

测试一下能否启动:

/etc/init.d/aria2 start

加入系统启动项:

nano /etc/rc.local
/etc/init.d/aria2 start     #添加到最后一行。

升级 Debian 9.x 后以后,上面操作并不会虽系统启动,因为在 Debian 9 系统默认不带/etc/rc.local文件,但是却没有阉割掉掉rc.local服务,我们所以需要补让/etc/rc.loacl Debian9系统可以通过编辑文件给我们服务添加启动自启动。操作如下:

1、添加rc-local.service

下面为一整条命令,一起复制在SSH中以root运行

cat > /etc/systemd/system/rc-local.service <<EOF
[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target
EOF

2、新建rc-local文件

下面为一整条命令,一起复制运行

cat > /etc/rc.local <<EOF
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# bash /root/bindip.sh

exit 0
EOF

3、添加权限并设置自启动

chmod +x /etc/rc.local
systemctl enable rc-local
systemctl start rc-local.service

检查状态:

systemctl status rc-local.service

返回Active:active信息,则成功。

我们就可以在/etc/rc.loacl,添加启动命令了,。在exit 0之前添加

nano /etc/rc.loacl

/etc/init.d/aria2 start     #这句添加到exit 0前一行。

注意:更改自启动脚本后,需要重新运行一下命令才能生效。

systemctl enable rc-local
systemctl start rc-local.service

搞定重启,你就发现/etc/init.d/aria2 start 命令已经被成功自动执行了

5:安装前端AriaNg

进入我们在宝塔里面创建的Aria2网站的运行目录;然后下载脚本。

cd /www/wwwroot/aria
wget https://github.com/mayswind/AriaNg/releases/download/1.2.3/AriaNg-1.2.3.zip
unzip AriaNg-1.2.3.zip

这时候开放网站端口8081,没有问题的话就这时候访问 http://主机IP:8081

然后配置密钥.跟aria2.conf中的密钥相同的话应该就能正常连接。就可以正常下载了。如果不能下载请放行6881-6999,51413端口.

6:安装自动上传脚本

由于我们此时挂在的谷歌团队盘是虚拟的,所以无法直接下载大文件到谷歌团队盘,会报磁盘缓存错误,此时我们需要先将文件下载到真实的物理磁盘,再上传到谷歌团队盘.上传完成后脚本会自动删除物理磁盘的原文件.

这里分享下萌咖大佬的Aira2上传脚本,不过是精简版,全能版暂不分享,精简版包含以下功能:

1、脚本适用于Rclone挂载的网盘,比如Onedrive/Google Drive等。

2、判断上传文件的文件大小区间。 限制最低上传大小:可防止产生的.aria2后缀文件一起上传到网盘。 限制最高文件大小:适用于Onedrive等,官方限制上传不能超过15G,其它可自行更改其数值。

3、支持文件名中包含空格等特殊字符。

使用方法

原理是当下载完后aria2会给脚本传3个参数$1$2$3分别为gid、文件数量、文件路径。我们对文件路径这个字符串处理一番就可以达到目的了。

新建脚本文件rcloneupload.sh,并复制下面代码:

nano /root/rcloneupload.sh
#!/bin/bash

GID="$1";
FileNum="$2";
File="$3";
MinSize="5"  #限制最低上传大小,默认5k
MaxSize="157286400"  #限制最高文件大小(单位k),默认15G
RemoteDIR="/gdrive/电影/";  #rclone挂载的本地文件夹,最后面保留/
LocalDIR="//home/Aria2/Download/";  #Aria2下载目录,最后面保留/

if [[ -z $(echo "$FileNum" |grep -o '[0-9]*' |head -n1) ]]; then FileNum='0'; fi
if [[ "$FileNum" -le '0' ]]; then exit 0; fi
if [[ "$#" != '3' ]]; then exit 0; fi

function LoadFile(){
  IFS_BAK=$IFS
  IFS=$'\n'
  if [[ ! -d "$LocalDIR" ]]; then return; fi
  if [[ -e "$File" ]]; then
    FileLoad="${File/#$LocalDIR}"
    while true
      do
        if [[ "$FileLoad" == '/' ]]; then return; fi
        echo "$FileLoad" |grep -q '/';
        if [[ "$?" == "0" ]]; then
          FileLoad=$(dirname "$FileLoad");
        else
          break;
        fi;
      done;
    if [[ "$FileLoad" == "$LocalDIR" ]]; then return; fi
    EXEC="$(command -v mv)"
    if [[ -z "$EXEC" ]]; then return; fi
    Option=" -f";
    cd "$LocalDIR";
    if [[ -e "$FileLoad" ]]; then
      ItemSize=$(du -s "$FileLoad" |cut -f1 |grep -o '[0-9]*' |head -n1)
      if [[ -z "$ItemSize" ]]; then return; fi
      if [[ "$ItemSize" -le "$MinSize" ]]; then
        echo -ne "\033[33m$FileLoad \033[0mtoo small to spik.\n";
        return;
      fi
      if [[ "$ItemSize" -ge "$MaxSize" ]]; then
        echo -ne "\033[33m$FileLoad \033[0mtoo large to spik.\n";
        return;
      fi
      eval "${EXEC}${Option}" \'"${FileLoad}"\' "${RemoteDIR}";
    fi
  fi
  IFS=$IFS_BAK
}
LoadFile;

授权

chmod +x rcloneupload.sh

,然后再到Aria2.conf配置文件中加上一行

nano /home/www-data/aria2.conf

在最后一行添加:

on-download-complete=/root/rcloneupload.sh

即可,后面为脚本的路径。最后重启Aria2生效。

搞定完成。此时没有问题的话就可以在Aria2中下载电影,。然后到EMBY中正常观看了。

本文固定链接: https://www.eoowo.com/?p=1444 | 火星博客

该日志由 Rainer 于2021年11月25日发表在 淘宝 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: linux通过rclone挂在谷歌团队盘+Aria2+AriaNg离线下载+EMBY电影站 | 火星博客

linux通过rclone挂在谷歌团队盘+Aria2+AriaNg离线下载+EMBY电影站:等您坐沙发呢!

发表评论

CAPTCHAis initialing...
快捷键:Ctrl+Enter