我开源了一个私人云盘——蓝眼云盘

2018-01-16 11:25:44 +08:00
 zicla

蓝眼云盘

在线 Demo (体验账号: demo@tank.eyeblue.cn 密码:123456)

后端 tank 地址

前端 tank-front 地址

简介

蓝眼云盘是 蓝眼系列开源软件 之一,也是蓝眼系列其他软件的基础服务软件。蓝眼博客具有以下几大特色:

1. 软件体积小,跨平台,运行简单

2. 使用方便,核心功能齐全

3. 支持接口编程

4. 前后端分离,文档丰富

如果您觉得蓝眼云盘对您有帮助,请不要吝惜您的 star

软件截图

安装

** a) 准备工作 **

  1. 一台 windows/linux 服务器,当然你可以使用自己的电脑充当这台服务器

  2. 安装好 Mysql 数据库

  3. 在这里下载服务器对应的安装包

  4. 在服务器上解压缩,修改配置文件conf/tank.json,各项说明如下:

{
   //服务器运行的端口,默认 6010。如果配置为 80,则可直接用 http 打开
  "ServerPort": 6010,
  //日志是否需要打印到控制台,默认 false,主要用于调试
  "LogToConsole": false,
  //Mysql 端口,默认 3306
  "MysqlPort": 3306,
  //Mysql 主机
  "MysqlHost": "127.0.0.1",
  //Mysql 数据库名称
  "MysqlSchema": "tank",
  //Mysql 用户名,建议为蓝眼云盘创建一个用户,不建议使用 root
  "MysqlUserName": "tank",
  //Mysql 密码
  "MysqlPassword": "tank123",
  //超级管理员用户名,只能是字母和数字
  "AdminUsername": "admin",
  //超级管理员邮箱,作为登录的账号
  "AdminEmail": "admin@tank.eyeblue.cn",
  //超级管理员密码
  "AdminPassword": "123456"
}

** b) 运行 **

cd 应用目录路径
./tank

如果你希望关闭 shell 窗口后,应用依然运行,请使用以下脚本启动和停止

# 启动应用
cd 应用目录路径 /service
./startup.sh

# 停止应用
cd 应用目录路径 /service
./shutdown.sh

** c) 验证 **

浏览器中打开 http://127.0.0.1:6010 (127.0.0.1 请使用服务器所在 ip,6010 请使用tank.json中配置的ServerPort) 可以看到登录页面,并且使用配置文件中的邮箱和密码登录成功后可以看到全部文件(见上文截图)即表示安装成功。

使用源代码自行打包

前端项目打包

  1. clone tank-front

  2. 安装依赖项

npm install
  1. 执行打包命令
npm run build
  1. 通过前面三步可以在dist文件夹下得到打包后的静态文件,将dist目录下的所有文件拷贝到后端项目的build/html文件夹下。(下文的工程目录中也有说明)

后端项目打包

  1. clone tank

  2. 安装 Golang,环境变量GOPATH配置到工程目录,建议工程目录结构如下:

golang                       #环境变量 GOPATH 所在路径
├── bin                      #编译生成的可执行文件目录
├── pkg                      #编译生成第三方库
├── src                      #golang 工程源代码
│   ├── github.com           #来自 github 的第三方库
│   ├── golang.org           #来自 golang.org 的第三方库
│   ├── tank                 #clone 下来的 tank 根目录
│   │   ├── build            #用来辅助打包的文件夹
│   │   │   ├── conf         #默认的配置文件
│   │   │   ├── doc          #文档
│   │   │   ├── html         #前端静态资源,从项目 tank-front 编译获得
│   │   │   ├── pack         #打包的脚本
│   │   │   ├── service      #将 tank 当作服务启动的脚本
│   │   ├── dist             #运行打包脚本后获得的安装包目录
│   │   ├── rest             #golang 源代码
      
  1. 准备项目依赖的第三方库

其中golang.org/x国内无法下载,请从这里下载,并按上文推荐的目录结构放置。其余依赖项均可通过安装脚本自动下载。

  1. 打包
cd tank/build/pack/
./build.sh

成功之后可在tank/dist下看到tank-x.x.x.linux-amd64.tar.gz

利用得到的安装包即可参考上文的安装一节进行安装。

相关文档

蓝眼云盘后端 api

蓝眼云盘编程接口

Contribution

感谢所有蓝眼云盘的贡献者 @zicla@seaheart@yemuhe@hxsherry

如果您也想参与进来,请尽情的 fork, star, post issue, pull requests

License

MIT

Copyright (c) 2017-present, eyeblue.cn

注: 原文发布于蓝眼博客 http://blog.eyeblue.cn/home/article/8953d493-f80a-4be0-bde2-50d3c5747430

14284 次点击
所在节点    开源软件
63 条回复
yxisenx
2018-01-16 23:10:21 +08:00
安卓 7.0,Chrome63,文件名显示乱码
zicla
2018-01-16 23:20:54 +08:00
@yangbiaocc OK 先代你提一个 issue.
zuoshoufantexi
2018-01-16 23:37:17 +08:00
不错呀,有分享功能吗?
zicla
2018-01-16 23:46:37 +08:00
@zuoshoufantexi 有分享功能,不过仅限于公有文件(任何人都能访问)和私有文件(仅上传者可以访问),没有做提取码这种功能。如果后面该功能需求大的话,可以考虑增强。
nciyuan
2018-01-16 23:50:08 +08:00
我说,这位,您可真是没用过 V2 吗,回复是扣积分的,签到的那点可怜的分就够你一个主题,回复时请一次把话说完整,然后一个帖子可以回复多人,先艾特,然后写内容,空一行,下一个
还有,建议您的 demo 服务器可以增加安全性,比如禁止修改密码,或者假改,于本贴发出之时密码错误无法登录
majinjing3
2018-01-16 23:55:31 +08:00
已 star,支持,看起来不错
zicla
2018-01-17 01:38:40 +08:00
@nciyuan 谢谢你的提醒,确实刚用 v2 不久。 另外,已经限制了 demo 账号的修改密码权限,目前已经可以正常登录了。

@majinjing3 感谢支持~
vefawn1
2018-01-17 03:23:09 +08:00
感觉挺不错的样子。

请楼主回答一下我两个问题:
1,是否支持自动同步备份文件功能?
2,网盘里的文件是否支持在线预览 /播放功能?
mengyaoss77
2018-01-17 11:16:33 +08:00
支持一下
precisi0nux
2018-01-17 11:19:06 +08:00
非常棒,非常有学习价值,先 star 为敬。
zicla
2018-01-17 12:18:48 +08:00
@cy97cool Content-Length 的 Header 头目前已经加上了,可以预估下载时间啦。

@vefawn1 1.由于目前没有专门做 Android 和 iOS 端,都是统一的 web 端,因此就没有同步备份文件的功能。2. 目前没有在线预览的功能,如果是图片的话,直接点开浏览器会默认进行预览。

@mengyaoss77 @precisi0nux 多写支持。
hoythan
2018-01-17 14:24:02 +08:00
随便一试就出一个 bug 根目录全选文件后选择移动到一个已经被选中移动的文件夹内,直接全部消失,啥都没了。
NotNil1
2018-01-17 17:44:56 +08:00
第一无法删除用户,说找不到 del 的 api ;
第二安装到 linux 首页白屏,没有反应,需要什么环境支持吗,我的服务器上没啥环境。
zicla
2018-01-17 19:33:56 +08:00
@hoythan 确实有移动到自己就看不到的 bug,我先记录到 issue 中,应该今明天就能 fix 好。

@ljtletters 第一个问题确实存在,原本是打算不能删除用户,只能禁用用户的,到后面这个功能做着做着就岔了,变成一会儿禁用一会儿删除了。我先记录到 issue 中,会尽快修复。第二个问题具体是怎样的?需要的环境就是一个 tank 安装包和一个 mysql 数据库就可以了。
NotNil1
2018-01-18 10:36:46 +08:00
@zicla 第二个问题我的日志也纸打印了一条,没有报错,我指的环境比如 php 什么的,我的是 centos7,几乎没啥东西。
App started at http://localhost:80
zicla
2018-01-18 14:13:15 +08:00
@ljtletters 这里留言太贵了。。。你到 issue 中反馈这个问题,然后我帮你解决。
longislet
2018-01-27 16:04:10 +08:00
源码被 WindowsDefender 报毒。
longislet
2018-01-27 16:06:19 +08:00
报毒类型为 Trojan:Win32/Sprisky.U!cl
zicla
2018-01-28 00:04:57 +08:00
@longislet 这不应该啊,能看到是哪个文件报毒了吗?
longislet
2018-01-29 10:05:26 +08:00
@zicla 整个 zip 文件,把 zip 文件拉白后解压,发现所有 exe 都报毒...不知道巨硬怎么想的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/423254

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX