
使用PicList+Lsky+AList+OneDrive搭建图床
正常情况下,自用图床使用lsky本地存储完全足够,我为了节省空间(我的vps没多大硬盘空间),将OneDrive作为存储。
每一个步骤都可以单独作为图床来用:
OneDrive可以直接嵌入图片外链,但是国内不好访问,且每次都要手动操作,非常麻烦。
AList+OneDrive可以解决国内访问的问题(使用AList代理),但是无法上传图片自动重命名。
AList挂载OneDrive
首先打开https://alist.nn.ci/tool/onedrive/request open in new window
来到该页面后点击Create client(创建客户端)
跳转到azure页面后点击新注册
受支持的账户类型选择为任何组织目录(任何 Microsoft Entra ID 租户 - 多租户)中的帐户和个人 Microsoft 帐户(例如 Skype、Xbox)
重定向URL填写为
https://alist.nn.ci/tool/onedrive/callback
注册后可以获得客户端ID
,复制,先保存下
注册好后,选择证书和密码
,点击新客户端密码
,选择截止期限
为最长的那个,点击添加
选择API 权限
,点击 Microsoft Graph
,在选择权限
中输入 file,勾选 Files.read
(注:Files.read 是只读最小权限,图中权限较大,也同样可以),点击更改权限
注意,密码(值)离开页面后就再也看不了了,所以务必将其复制下来
除了刚刚创建时,之后无法查看客户端密码值。请务必在创建时保存密码,然后再离开该页面。
回到https://alist.nn.ci/tool/onedrive/request页面。将客户端ID与密码(值)输入进去,然后点击Get Refresh Token(获取刷新token)。
然后回到AList的管理页面,点击存储,选择添加,驱动选择OneDrive
然后根据提示,依次将所需内容填写进去即可。
Lsky挂载AList
此处使用的是开源版本Lsky版本2.1(也就是1panel面板中下载的docker版)
来到Lsky的管理后台,添加一个存储策略。
如图所示。
如果填写访问域名为兰空图床域名,需要额外一步操作(为/img路径进行反代):
location /img {
proxy_pass https://localhost:5244/d/AList存储路径;
proxy_read_timeout 600s;
}
或者使用1panel面板快速配置:
我的存储路径为/sf/lsky,所以反向代理地址为/d/sf/lsky
最好是在同一台服务器上比较好,如果不是需要将127.0.0.0:5244替换为URL
访问域名处的区别:
如果填写为https://alist域名/d,上传后访问图片链接为AList的直链。
如果填写为https://兰空图床域名/img,访问链接为图床地址,这样可以隐藏你的alist实际文件路径。
PicList添加Lsky
使用如下命令获取兰空图床Token
curl --location --request POST 'https://兰空图床域名/api/v1/tokens' \
--form 'email="用户名"' \
--form 'password="密码"'
在获取的Token前面加上Bearer