Rat's

一款开源、轻巧且功能齐全的跨平台网盘程序:蓝眼云盘
说明:最近发现了一个不错的网盘程序蓝眼云盘,该程序后端使用golang开发,前端使用vue套件开发,而且开源免费,...
扫描右侧二维码阅读全文
09
2019/02

一款开源、轻巧且功能齐全的跨平台网盘程序:蓝眼云盘

说明:最近发现了一个不错的网盘程序蓝眼云盘,该程序后端使用golang开发,前端使用vue套件开发,而且开源免费,基本上目前除了离线下载外,其它功能都有,同时也支持多用户,超级管理员可以对用户进行权限,文件管理等,外观也蛮好看,安装包仅10M左右,可以同时在WindowsLinuxMac OS操作系统中运行。作者更新也很频繁,功能也会越来越多,这里就大概说下安装方法。

截图

请输入图片描述
请输入图片描述
请输入图片描述

功能

  • 软件体积小,跨平台,运行简单,自带UI引导安装。
  • 蓝眼云盘主要支持PC Web端,同时手机Web也具有不错的响应性支持。
  • 蓝眼云盘实现了一些云盘的核心功能:文件夹管理,文件管理,上传文件,下载文件,文件分享等。
  • 蓝眼云盘提供能账号管理系统,超级管理员可以管理用户,查看用户文件,普通用户只能查看自己的文件,修改自己的资料。上面提供的体验账号就是一个普通用户的账号。
  • 云盘自带监控大盘,一个页面查看云盘访问情况,每日访问情况,每日PVUV一目了然。日环比,周环比数据清晰呈现。还可以追踪到每个ip的访问,下载情况
  • 支持常用文件(docpptxlspdfmp3mp4jpgpng等格式)一键预览,方便快捷。且最多支持1000个文件同时进行上传。
  • 蓝眼云盘提供了编程接口,实现了云存储(如七牛云,阿里云OSS)的核心功能,可以使用编程接口上传文件,作为其他网站、系统、app的资源存储器。可以在下载图片时对图片做缩放裁剪处理,可以有效地节省客户端流量。同时对于缩略图有缓存策略,全面提升资源访问速度。
  • 前后端分离,文档丰富项目后端使用golang开发,前端使用vue套件开发。有详细的后台api文档,对于学习前端的童鞋而言可以快速部署一个正式而又具有丰富接口的后端供学习使用。

常规安装

Github地址:https://github.com/eyebluecn/tank

系统支持:WindowsLinuxMac OS,这里只说Linux系统安装。

由于该网盘需要用到Mysql数据库,所以这里使用比较简单的宝塔面板安装,当然你也可以使用其它方法安装Mysql,比如:OneinStackLNMP,都支持单独安装Mysql

1、安装宝塔

#CentOS系统
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

安装完成后,进入面板,点击左侧软件管理,只需要安装Mysql就可以了,如果你想给网盘设置域名访问,那就再装一个Nginx

2、运行云盘

#直接下载编译好的最新版文件,下载地址:https://github.com/eyebluecn/tank/releases
wget https://tank.eyeblue.cn/api/alien/download/04a81a27-b842-4ae0-5431-aeb4b9b5e718/tank-2.0.0.linux-amd64.tar.gz
#解压文件
tar zxvf tank-2.0.0.linux-amd64.tar.gz && rm -rf tank-2.0.0.linux-amd64.tar.gz
#后台运行程序
screen -dmS tank tank*/tank

然后使用http://ip:6010就可以访问并安装网盘了,如果访问不了可能还需要访问宝塔的安全,打开端口即可。对于阿里云,GCP还需要去服务器面板开启端口。
请输入图片描述
如果你要修改访问端口,可以去解压后的tank目录,修改conf/tank.json文件就可以了。

3、开机自启
这里使用Systemctl守护进程,只适用于CentOS 7Debian 8+Ubuntu 16+

#以下是一整条命令,一起复制到SSH客户端运行
cat > /etc/systemd/system/tank.service <<EOF
[Unit]
Description=tank
After=network.target
Wants=network.target

[Service]
Type=simple
PIDFile=/var/run/tank.pid
ExecStart=/root/tank-2.0.0/tank
RestartPreventExitStatus=23
Restart=always

[Install]
WantedBy=default.target
EOF

开始启动:

systemctl start tank

查看状态:

systemctl status tank

设置开机自启:

systemctl enable tank

Docker安装

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、拉取镜像

#拉取云盘镜像,3.11为最新版本,版本号查看:https://tank-doc.eyeblue.cn/basic/download.html
docker run -d --name tank \
-v ~/tank/dir:/go/bin/matter \
-p 6010:6010 \
eyeblue/tank:3.1.1

#拉取Mysql镜像,记得修改数据库信息
docker run --name mysqltank -d \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=tank \
-e MYSQL_USER=tank \
-e MYSQL_PASSWORD=tank123 \
-v ~/tank/mysql:/var/lib/mysql \
mysql:5.7

其中~/tank/dir为上传文件夹存放目录,mysql为数据库信息,然后使用http://ip:6010就可以访问网盘了。然后这里需要注意的是MySQL Host需要填上你的ip地址,而且数据库端口,比如3306需要防火墙放行,不然会连接不上。

域名反代

反代可以用NginxCaddy,如果使用宝塔手动安装的可以直接安装Nginx进行反代设置,如果使用Docker或者网站无Nginx等环境的建议使用Caddy

1、宝塔反代
先进入宝塔面板,然后点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL填入http://127.0.0.1:6010,再启用反向代理即可。至于启用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访问,该配置不会自动签发SSL
echo "moerats.com {
 gzip
 proxy / 127.0.0.1:6010 {
    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 "moerats.com {
 gzip
 tls admin@moerats.com
 proxy / 127.0.0.1:6010 {
    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

就可以打开域名进行访问了。

最后该网盘好像没注册功能,不过按照作者的计划,下一个版本就会添加注册功能,当然也会多些其它功能,可以期待下。

Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2020 年 12 月 24 日 03 : 09 PM

发表评论 取消回复

37 条评论

  1. 千千万万

    私密性不强

  2. Ares

    感觉还是nextcloud好啊,ui和功能

    1. Rat's
      @Ares

      next是挺强的,不过就是很卡,这个的话,速度是快了不少。看需求吧

  3. 小小王

    大佬请问如何设置为IP地址访问,我的是局域网内部使用,不需要域名和穿透!

    1. Rat's
      @小小王

      局域网看能不能直接使用127.0.0.1访问

  4. 瞎折腾

    [root@server ~]# screen -dmS tank tank*/tank
    -bash: screen: 未找到命令

    这是啥错误啊大佬,宝塔面板,ssh安装的

    1. Rat's
      @瞎折腾

      缺screen命令,你直接进行第三步就行了,开机自启那步骤

  5. Yrh

    装完点击进入首页提示:没有找到能够处理/api/install/finish的方法

    咋办qwq

    1. Rat's
      @Yrh

      这个不太清楚,我好久没用了,你用的哪种安装方法?

  6. chaos

    能加上宝塔页面设置自定义webdav地址吗

  7. 猪真靓

    请问这个盘不能挂载外部网盘吗?比如onedrive

    1. Rat's
      @猪真靓

      好像不能

  8. 很ii09u

    域名怎么绑定

    1. Rat's
      @很ii09u

      域名反代就是绑定的意思。

  9. 轻风伴梦

    好像不支持文件夹分享?

    1. Rat's
      @轻风伴梦

      这个倒没怎么注意过。

  10. kenshin

    这个是用服务器做网盘,如果服务器在挂载个微软5t盘,谷歌无限盘呢?会不会有特殊效果?

    1. Rat's
      @kenshin

      看你是怎么挂了,如果用rclone的话,只能读取,不能直接写入

      1. richard
        @Rat's

        如何做到挂载gd既能上传又能下载呢?

        1. Rat's
          @richard

          从挂载来说,下载可以直接从gd下载,上传只能自己想个办法,写个脚本,然后自动移动到谷歌盘。