/kodo-browser

Kodo Browser 为七牛对象存储(Kodo)提供类似 Windows 资源管理器的功能。用户可以很方便的浏览文件,上传下载文件,支持断点续传等。

Primary LanguageTypeScriptApache License 2.0Apache-2.0

KODO Browser

LICENSE Build Status GitHub release

KODO Browser 参考 OSS Browser 设计,提供类似 Windows 资源管理器功能。用户可以很方便的浏览文件,上传下载文件,支持断点续传等。

本工具使用开源框架 React + Electron 制作。

Electron 框架可以让你使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序。它是基于node.js 和 Chromium 开源项目。Electron 可以打包出跨平台的程序,运行在 Mac,Windows 和 Linux 上。

使用手册 & 下载地址

1. 功能介绍:

功能
  |-- 登录:支持 AccessKey 和 SecretKey 登录
  |-- Bucket 管理: 新建 bucket,删除 bucket。
       |-- 文件管理:目录和文件的增删改查, 复制, 文件预览等。
             |-- 文件传输任务管理: 上传下载,断点续传。
  |-- 地址栏功能(支持 kodo://bucket/object,浏览历史前进后退,保存书签)

2. 开发环境搭建

如果你要在此基础上开发,请按照以下步骤进行。

(1) 安装 Node.js v14 或 v16

官网: https://nodejs.org/

(2) 安装 cnpm

官网: https://cnpmjs.org/

cnpm 是 npm(node 包管理工具)的**镜像,可以提高下载依赖包的效率。

(3) 如果使用 Windows 系统,需要安装下列软件:

  • 需要安装 git 和 choco:

请自行下载安装。

然后安装相关的依赖包。

choco install python vcredist-all make

(4) 下载代码

git clone git@github.com:qiniu/kodo-browser.git

安装依赖:

make i

(5) 运行

make run  # 开发模式运行,cmd+option+i 可用打开调试界面,Windows 或 Linux 按 F12

开发模式下,会自动监听源码,如有修改,会自动 build 前端代码到 dist 目录。

(6) 打包

make build  # build 前端代码到 dist 目录
make win64  # 打包 win64 程序,可选: mac, dmg, linux64, linux32, win32, win64, all.

3. 代码结构

kodo-browser/
├── build          # 打包好的 应用程序
├── dist           # 打包好的 js 代码
├── gulpfile.js
├── package.json
├── src
│   ├── common     # 通用模块
│   ├── main       # electron 主进程与子进程
│   └── renderer   # 前端子进程
└── webpack        # 打包工具

4. 私有云配置

将配置文件放在 $HOME/.kodo-browser/config.json(如果是 Windows 10,则位置是 C:\Users\<UserName>\.kodo-browser\config.json)下,配置文件示例如下:

{
    "regions": [
        {
            "id": "cn-east-1",
            "endpoint": "https://s3-cn-east-1.qiniucs.com"
        },
        {
            "id": "cn-north-1",
            "endpoint": "https://s3-cn-north-1.qiniucs.com"
        },
        {
            "id": "cn-south-1",
            "endpoint": "https://s3-cn-south-1.qiniucs.com"
        },
        {
            "id": "us-north-1",
            "endpoint": "https://s3-us-north-1.qiniucs.com"
        },
        {
            "id": "ap-southeast-1",
            "endpoint": "https://s3-ap-southeast-1.qiniucs.com"
        }
    ],
    "uc_url": "https://uc.qbox.me"
}

可以修改配置文件示例中的 endpoint 来修改服务器地址。

5. OEM 定制

编辑 src/renderer/customize.ts 中的代码然后重新打包以定制部分 OEM 功能,目前支持的 OEM 定制有:

  • 禁止创建 Bucket
  • 禁止删除 Bucket
  • 配置升级检测地址

6. 开源 LICENSE

Apache License 2.0