Filestash:一个多功能的Web端文件管理器,支持SFTP/GDrive/Dropbox/S3等
说明:Filestash
是一个类似Dropbox
的文件管理器,通过浏览器即可使用,可让您在任何位置管理数据。包括上传文件和文件夹,编辑文件,音频播放器,视频播放器,图像查看器。目前支持FTP
、SFTP
、WebDAV
、Git
、S3
、Minio Dropbox
、Google Drive
,貌似以后还会增加OneDrive
,而且登录访问速度很快,可以拿来修改VPS
或网盘文件,或者看看里面的小电影也行,安装方法也挺简单的,就一个Docker
,这里说一下。
截图
安装
官方文档:https://www.filestash.app/docs
1、安装Docker
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on
#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
2、运行filetash
这里官方是用的docker-compose
运行的,为了安装更简单,博主就直接改成了docker
运行,使用命令:
#基本命令,建议把文章看完后再运行该命令
docker run --restart=always --name filetash -d -p 8334:8334 machines/filestash
安装成功后可以直接通过ip:8334
访问,这里8334
端口可以自行修改,只需要修改上面的-p
参数即可,比如改成666
端口,则用-p 666:8334
。
不过要想使用完整的功能,比如GDrive
、Dropbox
网盘,就需要配置下域名,网盘api
客户端密匙等信息(获取方式看后面)。
以上说的几个信息可以直接在后台配置文件里修改,也可以加进上面的docker
命令一起运行,比如:
#变量参数如下,分别是域名,GDrive客户端ID和密匙,Dropbox客户端ID
-e APPLICATION_URL=<app_url>
-e GDRIVE_CLIENT_ID=<gdrive_client>
-e GDRIVE_CLIENT_SECRET=<gdrive_secret>
-e DROPBOX_CLIENT_ID=<dropbox_key>
#这里博主只需要用到GDrive,假设域名为file.moerats.com、ID和密匙为aaaa和bbbb,使用命令:
docker run --restart=always --name filetash -d \
-e APPLICATION_URL=file.moerats.com \
-e GDRIVE_CLIENT_ID=aaaa \
-e GDRIVE_CLIENT_SECRET=bbbb \
-p 8334:8334 \
machines/filestash
获取GDrive客户端信息
首先启用Google Drive API
,启用地址:点击进入。
再创建一个OAuth
客户端ID
,创建地址:点击进入。创建的时候可能会有个OAuth同意屏幕
选项,这里应用名称什么的随便填,授权的网域填你准备使用的域名主域名即可。
然后开始创建客户端ID
,注意已获授权的重定向URL
格式要正确,比如博主用的https://file.moerats.com
,那就在后面加个/login
,这里也记得区分下开头。如果你用的https
,需要填https
,反之http
。这里建议直接使用https
。
然后就可以获取GDRIVE_CLIENT_ID
和GDRIVE_CLIENT_SECRET
参数了。
最后登录的时候,出现该授权窗口就说明配置成功了。
获取Dropbox客户端信息
这个博主用的少,就大概说下思路,有需求的可以尝试下,方法如下。
先创建第三方应用程序,创建地址:点击进入,接下来大致步骤:
dropbox api - “Full Dropbox”或“App folder” - 您想要的任何名称 - 将重定向URI设置为https://domain.com/login
域名反代
上面配置了域名是不能直接访问的,需要反代下才行,反代可以用Nginx
、Caddy
,这里只说宝塔和Caddy
。如果你网站有宝塔,就可以使用宝塔进行反代,如果没有,建议使用第2
种的Caddy
反代,配置很快。
提示:这里以8334端口做示范,如果你运行的时候更换了端口,就请自行修改
1、宝塔反代
先进入宝塔面板,然后点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL
填入http://127.0.0.1:8334
,再启用反向代理即可。然后需要配置https
访问的,直接在站点配置启用ssl
即可。
2、Caddy反代
安装Caddy
:
wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
配置Caddy
:
#以下全部内容是一个整体,请记得修改下方域名为自己的,再一起复制到SSH运行!
#http访问(这里不建议使用http),该配置不会自动签发SSL
echo "file.moerats.com {
gzip
proxy / 127.0.0.1:8334 {
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-For {remote}
header_upstream X-Forwarded-Port {server_port}
header_upstream X-Forwarded-Proto {scheme}
}
}" > /usr/local/caddy/Caddyfile
#https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器
echo "file.moerats.com {
gzip
tls admin@moerats.com
proxy / 127.0.0.1:8334 {
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-For {remote}
header_upstream X-Forwarded-Port {server_port}
header_upstream X-Forwarded-Proto {scheme}
}
}" > /usr/local/caddy/Caddyfile
tls
参数会自动帮你签发ssl
证书,如果你要使用自己的ssl
,改为tls /root/xx.crt /root/xx.key
即可。后面为ssl
证书路径。
启动Caddy
:
/etc/init.d/caddy start
就可以打开域名进行访问了。
如果启动失败,可以查看下启动日志,使用命令:
tail -f /tmp/caddy.log
最后体验了一下,小问题还是有些的,貌似不支持移动合剪切等基本功能啥的,看后期能不能加上吧。