我开源了一个私人云盘——蓝眼云盘
蓝眼云盘
在线Demo (体验账号: demo@tank.eyeblue.cn 密码:123456)
后端tank地址
前端tank-front地址
简介
蓝眼云盘是 蓝眼系列开源软件 之一,也是蓝眼系列其他软件的基础服务软件。蓝眼博客具有以下几大特色:
1. 软件体积小,跨平台,运行简单
蓝眼云盘[安装包]((https://github.com/eyebluecn/tank/releases)6M左右,在
windows
linux
mac OS
操作系统中均可安装运行;蓝眼云盘为绿色软件,将安装包解压缩,修改配置文件后即可一行命令立即运行。
2. 使用方便,核心功能齐全
蓝眼云盘主要支持pc web端,同时手机web也具有不错的响应性支持。
蓝眼云盘实现了云盘(如:百度云盘,微云)的核心功能:文件夹管理,文件管理,上传文件,下载文件,文件分享等。
蓝眼云盘提供能账号管理系统,超级管理员可以管理用户,查看用户文件,普通用户只能查看自己的文件,修改自己的资料。上面提供的体验账号就是一个普通用户的账号。
3. 支持接口编程
蓝眼云盘提供了编程接口,实现了云存储(如:七牛云,阿里云OSS)的核心功能,可以使用编程接口上传文件,作为其他网站、系统、app的资源存储器。可以在下载图片时对图片做缩放裁剪处理,可以有效地节省客户端流量。
蓝眼系列开源软件之二的《蓝眼博客》正是使用蓝眼博客作为第三方资源存储器。蓝眼博客中的所有图片,附件均是存储在蓝眼云盘中。
4. 前后端分离,文档丰富
项目后端使用golang开发,前端使用vue套件开发。
蓝眼云盘有详细的后台api文档,对于学习前端的童鞋而言可以快速部署一个正式而又具有丰富接口的后端供学习使用。
后端技术栈使用
golang
,没有使用任何web框架;初始化安装,生命周期控制,路由管理,路由匹配,日志管理,依赖注入,错误处理,panic拦截,打包,安装脚本等功能全采用纯手动打造,绿色环保,因此代码更精炼,更具有探讨学习的价值。
如果您觉得蓝眼云盘对您有帮助,请不要吝惜您的star
软件截图
安装
* a) 准备工作 *
一台windows/linux服务器,当然你可以使用自己的电脑充当这台服务器
安装好Mysql数据库
在这里下载服务器对应的安装包
在服务器上解压缩,修改配置文件
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) 运行 *
windows平台直接双击应用目录下的
tank.exe
。linux平台执行
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
- 安装依赖项
npm install
- 执行打包命令
npm run build
- 通过前面三步可以在
dist
文件夹下得到打包后的静态文件,将dist
目录下的所有文件拷贝到后端项目的build/html
文件夹下。(下文的工程目录中也有说明)
后端项目打包
clone tank
安装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源代码
准备项目依赖的第三方库
- golang.org/x
- github.com/disintegration/imaging
- github.com/json-iterator/go
- github.com/go-sql-driver/mysql
- github.com/jinzhu/gorm
- github.com/nu7hatch/gouuid
其中golang.org/x
国内无法下载,请从这里下载,并按上文推荐的目录结构放置。其余依赖项均可通过安装脚本自动下载。
打包
windows平台双击运行
tank/build/pack/build.bat
,成功之后可在tank/dist
下看到tank-x.x.x
文件夹,该文件夹即为最终安装包。linux平台运行如下命令:
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
我开源了一个私人云盘——蓝眼云盘相关推荐
- 我开源了一个私人云盘——蓝眼云盘 1
蓝眼云盘 在线Demo (体验账号: demo@tank.eyeblue.cn 密码:123456) 后端tank地址 前端tank-front地址 简介 蓝眼云盘是 蓝眼系列开源软件 之一,也是蓝眼 ...
- 全面升级后的开源云盘不了解一下么?蓝眼云盘 2.0 发布
蓝眼云盘的 Github 地址,请随手点个 star,谢谢啦. 部分软件截图: 2018 年 1 月份的时候,蓝眼云盘 1.0 刚开发完毕,那时候一个 star 都没有.为了让自己的这个开源项目看起来 ...
- Docker-Compose快速部署开源网盘系统Tank蓝眼网盘系统
Docker-Compose快速部署开源网盘系统Tank蓝眼网盘系统 前置条件 请在操作系统上安装Docker及Docker-Compose 保证足够的磁盘空间 编写脚本 将下列文本在指定目录中,目录 ...
- engineercms分享文件提取码-参考蓝眼云盘
因为蓝眼云盘也是采用go语言+gorm编写的,所以参考起来稍微轻松一点.主要还是了解如何通过一段提取码就能取到文件的访问权. 生成一个分享文件uuid和提取码code.服务端接受选择的文件或文件夹id ...
- 计算机云客户端,蓝奏云网盘客户端 0.3.7电脑版
蓝奏云由于不限速.下载速度快被很多用户所欢迎,不过蓝奏云没有客户端,上传下载有时也不太方便,这里有大神写了蓝奏云网盘客户端,采用蓝奏云API项目使用PyQt5实现图形界面,蓝奏云盘API项目实现了对蓝 ...
- Linux下载蓝奏云文件,蓝奏云CMD控制台
蓝奏云CMD控制台是一个蓝奏云的第三方API客户端,封装了对蓝奏云的基本操作: 登录.列出文件.下载文件.上传文件.删除文件(夹). 清空回收站.恢复文件.创建文件夹.设置文件(夹)访问密码.此外,还 ...
- qq复读机java脚本分享蓝奏云_蓝奏云资源,各种软件分享链接,干货
标题] 蓝奏云资源合集:各种PJ版软件分享 影视类 动漫漫画类 小说类 图修图视频剪辑类 LOL换肤 音乐类 搜索工具 微皮N 各种软件应有尽有,只有想不到,没有搜不到 所有软件均为第三方平台分享 喜 ...
- python常胜将军问题_蓝奏云盘pc版(lanzou-gui)更新0.3.3
本帖最后由 丶遗忘_ 于 2020-7-26 16:55 编辑 搜了一下论坛里没看到有发布更新. 蓝奏云PC客户端是一款免费开源专业的第三方蓝奏网盘电脑版,蓝奏云客户端开源在Github,提供源代码文 ...
- Alist+RaiDrive挂载天翼云盘、阿里云盘
目录 一.工具介绍 1.1.Alist 1.2.RaiDrive 二.Alist支持的存储 三.安装 3.1. Windows (1)安装 (2)启动服务 (3)登录 (4)添加天翼云盘 (5)开机 ...
- 蓝奏云数值验证码识别,python调用虹鱼图灵识别插件,超高正确率
识别验证码一直是本人想要做的事情,一直在接触按键精灵,了解到有一个虹鱼图灵识别插件专门做验证码和图像识别,原理就是图片处理和制作字库识别,制作字库我一直觉得很麻烦,工程量太大.不管怎样,它能用能达到我 ...
最新文章
- 职场女人的心理问题提醒
- linux服务器安全
- python常见异常
- vue中的data用return返回
- 看生物信息学如何聚焦特定表型,探索分子机制,促进临床转化
- Qt之表单布局(QFormLayout)
- ufw禁止IP访问ubuntu服务器
- 对于移动类型Z17和帐户64020100 物料号 (009)的不同的字段选择(公司间调拨)
- ubuntu终端连接远程计算机
- java中的测试类_java中测试类的方法
- 初级python程序实例
- ar9285无线网卡驱动 linux,Qualcomm
- 度分秒地理位置转wgs84坐标和2000坐标,2000坐标转wgs84坐标
- java for循环的写法_java中for循环的6种写法
- 塑造成功性格的15种方法
- 【机器学习】树模型预剪枝和后剪枝
- 洛谷P1562 还是N皇后(DFS+状态压缩+位运算)
- 计算机毕业论文选题推荐|软件工程|系列九
- Appium基础 — Appium Inspector定位工具(一)
- qt报错:static assertion failed: Signal and slot arguments are not compatible