EMBY部署并利用rclone挂载onedrive

本文从应用注册到Emby搭建配置以及魔改都进行了说明,尽量让所有人都能看懂(不存在的,包括但不限于以下内容:

  • onedrive应用注册
  • rclone配置
  • emby搭建
  • emby媒体库设置
  • emby客户端配置
  • 其他魔改

折腾Emby,主要还是为了存档,平时看的机会挺少的,毕竟下新东西也麻烦2333。

应用注册

如果你已经注册了应用,或者你使用其他网盘挂载,请跳过这一步

或者,如果你并不是使用的E5,没有刷API的需求,也可以跳过这一步。

首先打开Azure进行应用注册

https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade

选择新注册即可开始注册。

设置名称和返回url

名称:按需填写

受支持的帐户类型:任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox)

重定向 URI:选择WEB,并填入程序提供的API地址(本文使用rclone,所以要用rclone给的返回地址 http://localhost:53682/

保存应用程序(客户端) ID

如标记处所示,复制保存即可

设置密码

接着在 证书和密码界面添加新客户端密码,截止日期选24个月(可以改html变永久但没必要)

稍等片刻,复制新添加的客户端密码的值(注意是值,不要复制ID)

PS: 如果你已经更新windows11,新的粘贴板(win + v)已经可以锁定了,重启之后也不会丢失数据,很适合暂时保存这类数据。

设置权限

接在API 权限界面单击添加权限并选择Microsoft Graph

点击委托的权限,搜索并添加以下权限:Files.ReadFiles.ReadWriteFiles.Read.AllFiles.ReadWrite.Alloffline_accessUser.Read

添加成功后,就可以看到你设置的权限了,这里再授权一下(这些权限可以不用这一步)

安装并配置rclone

1
2
3
4
5
# 安装包
apt-get install wget curl ca-certificates unzip

# 安装rclone
curl https://rclone.org/install.sh | bash

接着在你本地设备中创建配置(如果你本地计算机没有rclone,我推荐使用scoop安装,之后会补这一段的内容)

1
2
3
4
# 如果你使用API
rclone config
# 如果你使用微软默认API
rclone authorize onedrive

如果你使用微软默认API,请直接跳过下面的代码段

这里贴一下rclone配置的流程(没必要看,都是交互式流程,不过注意登录时勾选代表组织同意。)

点击展开代码 >folded
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
PS > rclone config
Current remotes:

Name Type
==== ====

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> n
name> EMBY
...
Storage> 26
** See help for onedrive backend at: https://rclone.org/onedrive/ **

OAuth Client Id
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_id> 请输入你的应用程序(客户端) ID
OAuth Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_secret> 请输入你的客户端密码
Choose national cloud region for OneDrive.
Enter a string value. Press Enter for the default ("global").
Choose a number from below, or type in your own value
1 / Microsoft Cloud Global
\ "global"
2 / Microsoft Cloud for US Government
\ "us"
3 / Microsoft Cloud Germany
\ "de"
4 / Azure and Office 365 operated by 21Vianet in China
\ "cn"
region> 1
Edit advanced config? (y/n)
y) Yes
n) No (default)
y/n> n
Remote config
Make sure your Redirect URL is set to "http://localhost:53682/" in your custom config.
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes (default)
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=************************
Log in and authorize rclone for access
Waiting for code...
Got code
Choose a number from below, or type in an existing value
1 / OneDrive Personal or Business
\ "onedrive"
2 / Root Sharepoint site
\ "sharepoint"
3 / Sharepoint site name or URL (e.g. mysite or https://contoso.sharepoint.com/sites/mysite)
\ "url"
4 / Search for a Sharepoint site
\ "search"
5 / Type in driveID (advanced)
\ "driveid"
6 / Type in SiteID (advanced)
\ "siteid"
7 / Sharepoint server-relative path (advanced, e.g. /teams/hr)
\ "path"
Your choice> 1
Found 1 drives, please select the one you want to use:
0: OneDrive (business) id=b!**********************************************
Chose drive to use:> 0
Found drive 'root' of type 'business', URL: https://***********************
Is that okay?
y) Yes (default)
n) No
y/n> y

结束后就可以看到token,此时,把整个花括号(包含花括号)的内容都复制。

再在服务器上配置rclone config,流程与本地一致。

但在这一步时,选择n,并粘贴之前复制的token,其他步骤保持不变,即可配置完成。

输入rclone lsd 名称: 即可检查挂载是否成功了。

Rclone挂载

接着需要把rclone挂载到文件目录,首先需要安装fuse。

1
apt-get install fuse

接着挂载目录,注意这里需要先mkdir你需要的目录,不能自动创建。

1
2
3
4
5
6
7
8
9
rclone mount EMBY: /home//emby//onedrive \
--umask 0000 \
--default-permissions \
--allow-non-empty \
--allow-other \
--buffer-size 32M \
--dir-cache-time 12h \
--vfs-read-chunk-size 64M \
--vfs-read-chunk-size-limit 1G &

注意这里的参数,其中EMBY对应的就是你rclone的名称,后面是挂载的目录。

输入 df -h 就可以看到挂载的目录了

注意,在重启后挂载会丢失,需要重新挂载

安装EMBY并配置文件夹

终于到了安装emby的时间了(这一步反而是最简单的)

1
2
wget https://github.com/MediaBrowser/Emby.Releases/releases/download/4.6.4.0/emby-server-deb_4.6.4.0_amd64.deb
dpkg -i emby-server-deb_4.6.4.0_amd64.deb

初始化

安装完成就可以在浏览器打开 http://ip:8096/ 进入EMBY了(注意vps服务商的防火墙)

ps:如果长时间没有反应,需要刷新一下浏览器,第一次运行有点慢,属于正常现象。

进入之后就可以设置EMBY了

选择中文(不会立刻生效)

设置用户名和密码

注意这一步先不要添加媒体库,等装完刮削器再添加

选择偏好元数据,国家选world

启用自动端口映射

然后就完成了,登录emby后,首先要设置

基本设置

  1. 关闭emby转码
    打开设置,选择用户并点击要关闭转码的用户。

    关闭图中显示的①②,则是可选项③④(需要premiere才能使用,建议关闭)

    同时建议关闭,以免手滑

  2. 修改缓存目录
    点击设置,设置缓存路径,这里也需要先mkdir,并需要使用chmod 777授予权限。

  3. 修改元数据路径
    媒体据->高级->元数据路径

  4. 添加刮削器(根据需要自行安装)
    如果你需要刮削日本动画,这里推荐anime,在插件->元数据找到anime,并安装

  5. 重启

Emby建立媒体库

这里以动画为例,提供一下我的设置方案(注意刮削器要重启后才有)

显示效果:

总体来说还是不错的,有些译名用的很奇怪的版本,还是要手动修改一下。

Emby绑定域名并启用https

Emby本身是能够绑定域名,使用ssl证书的。但由于我们还有一些骚操作后面要做,这里还是选择使用nginx做端口转发,本文使用Oneinstack进行nginx配置,并自动更新ssl证书。

在他们官网 https://oneinstack.com/auto/ 选好要用什么东西,直接就能生成一键脚本了,很方便。

1
2
3
4
5
6
# 安装screen
apt-get install screen
# 启动screen
screen -S Oneinstack
# 仅有nginx的安装模式,注意22处应当修改为你的ssh端口。
wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --ssh_port 22 --reboot

PS:趁还在安装的时候,先去dns提供商那设置A解析,解析到vps的ip上。

注意,如果你在cloudflare设置了强制加密,或者http转https,在验证时需要暂时关闭(哪怕只是使用他们的dns)

等安装完成后,cd到Oneinstack文件夹,执行./vhost.sh即可进行虚拟主机+ssl证书的配置,纯傻瓜配置,就不说明了。

在配置完成后,还需要手动设置端口转发,编辑conf文件。

1
nano /usr/local/nginx/conf/vhost/你设置的域名.conf

在include后加入(可以不管缩进)

1
2
3
4
5
6
7
8
9
location ~ / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:8096;

# 如果要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
# client_max_body_size 20000m;
}

重启nginx服务

1
service nginx restart

安全提醒

如果你已经能使用域名打开了,请在你的vps提供商那关闭端口,如果配置了防火墙,也一并关闭。

如果你在签发证书时在dns处关闭了强制https经过身份验证的源服务器拉取等,请重新开启。

Emby客户端

众所周知Emby的客户端都是要收钱的,在网上找到了一种利用自行搭建服务器伪造验证服务器的方法。原博主已经讲的很清楚了,这里就不再说明了。

显示效果:

Emby直链视频

由于我的vps只有2t的下行流量,考虑到上面还有别的项目要跑,流量可能有点紧张,这里尝试把emby给的链接改成直链onedrive,vps宝贵的流量就省下来了(

本段正在编写中

Emby刮削特殊内容

本段正在编写中

EMBY部署并利用rclone挂载onedrive

https://kuusei.moe/post/20210726013807

作者

kuusei

发布于

2021-07-26

更新于

2021-07-26

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×