Filestash:一个多功能的Web端文件管理器,支持SFTP/GDrive/Dropbox/S3等

2019-01-14T13:07:00
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »

说明:Filestash是一个类似Dropbox的文件管理器,通过浏览器即可使用,可让您在任何位置管理数据。包括上传文件和文件夹,编辑文件,音频播放器,视频播放器,图像查看器。目前支持FTPSFTPWebDAVGitS3Minio DropboxGoogle 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

不过要想使用完整的功能,比如GDriveDropbox网盘,就需要配置下域名,网盘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_IDGDRIVE_CLIENT_SECRET参数了。

最后登录的时候,出现该授权窗口就说明配置成功了。

获取Dropbox客户端信息

这个博主用的少,就大概说下思路,有需求的可以尝试下,方法如下。

先创建第三方应用程序,创建地址:点击进入,接下来大致步骤:

dropbox api - “Full Dropbox”或“App folder” - 您想要的任何名称 - 将重定向URI设置为https://domain.com/login

域名反代

上面配置了域名是不能直接访问的,需要反代下才行,反代可以用NginxCaddy,这里只说宝塔和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

最后体验了一下,小问题还是有些的,貌似不支持移动合剪切等基本功能啥的,看后期能不能加上吧。