前言
ShareList 是一个易用的网盘工具,支持快速挂载 GoogleDrive、OneDrive ,可通过插件扩展功能。
目前网上有很多支持OneDrive的网盘工具,本站也曾介绍过,而ShareList最大的不同是部署更加简单,而且无需获取网盘API授权,使用网盘分享的公开链接来列出目录并提供直连下载链接,同时支持挂载多个网盘.最吸引我的是他支持WebDAV.
用过群晖NAS的用户大多都使用过WebDAV协议来分享和远程查看文件,但是会公开自己群晖的域名或者IP,有一定安全隐患,使用ShareList则可以避免此问题.
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
配置流程
环境需求
- Docker
- Nginx
运行容器
自行修改挂载目录,本例以/root/sharelist
为例.
docker run -d --name=sharelist --restart=always -p 33001:33001 -v /root/sharelist:/app/cache reruin/sharelist
输入http://服务器IP:33001
创建后台管理密码完成安装
配置域名
为ShareList配置一个域名
编辑Nginx配置文件,使80/443端口指向Docker内ShareList的33001端口.
参考如下:
server
{
listen 80;
#listen [::]:80;
server_name sharelist.ioiox.com ;
index index.html index.htm index.php default.html default.htm default.php;
#root /home/wwwroot/sharelist.ioiox.com;
return 301 https://sharelist.ioiox.com$request_uri;
include enable-php-pathinfo.conf;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:33001;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
#location ~ .*\.(js|css)?$
#{
# expires 12h;
#}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
access_log off;
}
server
{
listen 443 ssl http2;
#listen [::]:443 ssl http2;
server_name sharelist.ioiox.com ;
index index.html index.htm index.php default.html default.htm default.php;
#root /home/wwwroot/sharelist.ioiox.com;
ssl on;
ssl_certificate /usr/local/nginx/conf/ssl/ioiox.com.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/ioiox.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
ssl_session_cache builtin:1000 shared:SSL:10m;
# openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;
include enable-php-pathinfo.conf;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:33001;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
#location ~ .*\.(js|css)?$
#{
# expires 12h;
#}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
access_log off;
}
使用配置的域名访问
配置网盘
先配置群晖NAS的WebDAV服务.具体相关教程,请参考群晖NAS基础服务 - 配置WebDAV服务.
登录网盘后台
删掉演示目录
新增共享目录
选择WebDAV
设置目录显示名称
填写WebDAV地址
WebDAV的地址格式为http/https协议,加上用户名,密码,群晖公网IP或者配置的域名,WebDAV端口.再次提醒不要忘记路由器要配置WebDAV端口转发
Save保存
再次访问首页即可看群晖NAS里的文件
分享的文件依据你设置的WebDAV用户的访问权限而定,建议你单独创建一个用户,并给与希望共享的目录只读权限.
同时挂载多个网盘
例如在OneDrive中共享一个文件夹,设置为仅读取权限,复制共享链接到此.即可在首页看到NAS和OneDrive两个共享目录了.
结语
更多相关参考链接:
CentOS 7 安装Docker教程
群晖NAS基础服务 - 配置WebDAV服务
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
18 条评论
自用还是很不错的,我的撸了onedrive
arm 64 docker 使用一键安装的时候 可以安装 但是就是打不开网页 是怎么回事呀
楼主,github那个icon 怎么使用的 就是 在社区文档中我看到有一种feather 的图标 这种的话怎么使用在button按钮中呢
你试试这个,可能我调用了第三方css.如果显示不出来,你可以在后台 头部html代码加入
大佬 ,挂载蓝奏云出现的错误 怎么解决
下面是出现的错误信息
Error
Looks like something broke!
Error: getaddrinfo EAI_AGAIN www.lanzous.com:443
蓝奏云的域名在某些地方的dns是被污染的
博主,是这个程序好用还是pyone好用,如果是这个好用,那添加Onedrive的时候后面的那个地址是填的是啥格式?
填写onedrive里分享生成的完全链接