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. duolly

    docker部署完成,上传的文件都存在那里了?

    1. Rat's
      @duolly

      在容器的/go/bin/matter目录,这个我改下教程,说下映射出来的方法吧。

  2. kiftd

    请问这个和你之前介绍的 kiftd有啥区别,或者哪个好点?

    1. Rat's
      @kiftd

      区别你可以看看这两个网盘的介绍,我觉得这个好些。

      1. LY
        @Rat's

        kiftd用的JAVA占用300M+内存 我删了换了这个

        1. Rat's
          @LY

          对,golang很不错

  3. 云天

    网盘你们怎么玩
    dalao们姿势多 带带我
    小叮当 有没有ipv6好玩的东西
    现在ipv6大部分都分配了

    1. Rat's
      @云天

      目前只用ipv6做梯子,其它玩法暂时不清楚。

      1. roy
        @Rat's

        怎么用ipv6做梯子啊,我用有ipv6的亚马逊云搭建的v2,然后自己本地电脑上也有ipv6地址,但是就是连不上

  4. loop

    大佬,有没有好用的nas开源程序

    1. Rat's
      @loop

      这个我还没用过nas,所以一般没怎么注意。

      1. loop
        @Rat's

        那就期待了

  5. g00gle

    大神,支持图片或音乐外链吗?

    1. Rat's
      @g00gle

      支持,上传图片或视频后,复制链接地址就可以在网站或者其它地方直接使用了。

  6. 灯火阑珊

    所以,我选择可道云。2333

    1. simplove
      @灯火阑珊

      我也选择可道云,确实还不错

  7. zicla

    安装过程写得很翔实~ 感谢作者!