Skip to content

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

License

Notifications You must be signed in to change notification settings

qiniu/kodo-browser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

63e1a24 · Nov 25, 2024
Jun 7, 2024
Feb 28, 2022
Nov 25, 2024
Apr 3, 2024
Mar 6, 2018
Oct 17, 2022
Feb 3, 2018
Jul 15, 2019
Jan 25, 2018
Jul 24, 2020
Apr 11, 2023
Jun 7, 2024
Jun 28, 2024
Jun 7, 2024
Dec 13, 2021
Apr 3, 2024
Jul 11, 2023
Nov 25, 2024
Oct 17, 2022
Nov 11, 2024
Nov 25, 2024
Jul 30, 2018

Repository files navigation

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-v2/config.json(如果是 Windows 10,则位置是 C:\Users\<UserName>\.kodo-browser-v2\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. 启动配置项

将在 Kodo Browser 启动时尝试读取此配置。如已定义该配置,则支持借此改变部分 Kodo Browser 初始行为; 如未定义,也不影响 Kodo Browser 正常启动。

launchConfig.json 文件位于 Kodo Browser 可执行程序同级目录:

  • Windows/Linux:kodo-browser/launchConfig.json
  • macOS:Kodo Browser.app/Contents/MacOS/launchConfig.json

launchConfig.json 的格式具体参见 launchConfig.schema.json。当前支持以下配置:

  • preferredEndpointType,登录默认服务端类型。可用值:public(公有云), private(私有云);
  • defaultPrivateEndpointConfig,私有云服务默认地址;
    • ucUrl,Bucket 管理服务地址,必须;
    • regions,区域信息,对于较新的私有云可选,详细请向管理员询问;
  • preferenceValidators,配置部分设置表单的校验;并发越大传输速度不一定越快,请慎重调整。
    • maxMultipartUploadPartSize,最大上传分片大小
    • maxMultipartUploadConcurrency,最大上传分片并发数
    • maxUploadJobConcurrency,最大上传任务并发数
    • maxDownloadJobConcurrency,最大下载任务并发数
  • disable,禁止某些功能;
    • nonOwnedDomain,非自有域名;
  • baseShareUrl,分享链接的基本 URL;

例如以下配置将修改默认登录私有云指定服务端:

{
  "$schema": "https://github.com/qiniu/kodo-browser/blob/v2.1.0/lauchConfig.schema.json",
  "preferredEndpointType": "private",
  "defaultPrivateEndpointConfig": {
    "ucUrl": "http://uc.example.com",
    "regions": [
      {
        "id": "cn-east-1",
        "label": "华东",
        "endpoint": "http://s3.example.com"
      }
    ]
  }
}

当前 $schema 字段本身对程序运行无影响,但建议书写,表明当前配置文件是参考哪一版本编写的。

7. 开源 LICENSE

Apache License 2.0

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published