前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2.7K Star开源一款Golang私人云盘

2.7K Star开源一款Golang私人云盘

作者头像
开源日记
发布2023-04-11 19:02:55
9230
发布2023-04-11 19:02:55
举报
文章被收录于专栏:JVMGCJVMGC

简介

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

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

  • 蓝眼云盘[安装包]6M 左右,在 windows linux mac OS 操作系统中均可安装运行;
  • 蓝眼云盘为绿色软件,将安装包解压缩,修改配置文件后即可一行命令立即运行。

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

  • 蓝眼云盘主要支持 pc web 端,同时手机 web 也具有不错的响应性支持。
  • 蓝眼云盘实现了云盘(如:[百度云盘],[微云]的核心功能:文件夹管理,文件管理,上传文件,下载文件,文件分享等。
  • 蓝眼云盘提供能账号管理系统,超级管理员可以管理用户,查看用户文件,普通用户只能查看自己的文件,修改自己的资料。上面提供的体验账号就是一个普通用户的账号。

3. 支持接口编程

  • 蓝眼云盘提供了[编程接口],实现了云存储
  • 蓝眼系列开源软件之二的[《蓝眼博客》]正是使用蓝眼博客作为第三方资源存储器。蓝眼博客中的所有图片,附件均是存储在蓝眼云盘中。

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

  • 项目后端使用 golang 开发,前端使用 vue 套件开发。
  • 蓝眼云盘有详细的[后台 api 文档],对于学习前端的童鞋而言可以快速部署一个正式而又具有丰富接口的后端供学习使用。
  • 后端技术栈使用 golang,没有使用任何 web 框架;初始化安装,生命周期控制,路由管理,路由匹配,日志管理,依赖注入,错误处理,panic 拦截,打包,安装脚本等功能全采用纯手动打造,绿色环保,因此代码更精炼,更具有探讨学习的价值。

软件截图

手机端

安装

a) 准备工作

  • 1.一台 windows/linux 服务器,当然你可以使用自己的电脑充当这台服务器
  • 2.[安装好 Mysql 数据库]
  • 3.[在这里]下载服务器对应的安装包
  • 4.在服务器上解压缩,修改配置文件 conf/tank.json,各项说明如下:
代码语言:javascript
复制
{
   //服务器运行的端口,默认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 平台执行
代码语言:javascript
复制
cd 应用目录路径
./tank

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

代码语言:javascript
复制
# 启动应用
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.安装依赖项
代码语言:javascript
复制
npm install
  • 3.执行打包命令
代码语言:javascript
复制
npm run build

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

更多功能广大网友可以继续挖掘。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 软件截图
  • 安装
  • 使用源代码自行打包
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档