A tool to upload or manage files by object storage sdk
一款基于 Electron + React + TS
开发的对象存储管理工具,同时也可作为图床上传工具使用,支持 macOS 和 Windows
PS: 功能实现主要依靠相关厂商的对象存储 SDK,但是也可自行扩展,只要按规范实现软件的上传器接口即可
上传功能 | 文件管理功能 | |
---|---|---|
七牛云 | ✅ | ✅ |
又拍云 | ✅ | ✅ |
阿里云 | ✅ | ✅ |
腾讯云 | ✅ | ✅ |
UCloud | ✅ | |
Github | ✅ | ✅ |
Gitee | ✅ | ✅ |
SM.MS | ✅ 自定义实现 |
PS 软件还在开发中,后续会支持更多对象存储厂商及图床
可在设置中开启,默认关闭
form-data
还是 json
,文件字段名都为 files
form-data 请求
curl http://127.0.0.1:7777 -X POST -H "Content-Type: multipart/form-data" -F "files=@文件绝对路径"
json 请求
curl http://127.0.0.1:7777 -X POST -H "Content-Type: application/json" -d '{"files": ["文件绝对路径"]}'
响应
{
"url": "urls中的第一个",
"urls": ["文件地址"]
}
CLI 可在设置中安装,安装后可通过 aragorn
或 /usr/local/bin/aragorn
使用
_ ____ _ _
/ \ _ __ __ _ __ _ ___ _ __ _ __ / ___| (_)
/ _ \ | '__/ _` |/ _` |/ _ \| '__| '_ \ | | | | |
/ ___ \| | | (_| | (_| | (_) | | | | | | | |___| | |
/_/ \_\_| \__,_|\__, |\___/|_| |_| |_| \____|_|_|
|___/
A cli for aragorn to upload files
Usage: aragorn upload [options] <imagesPath...>
upload files
Options:
-m,--mode <mode> upload mode, cli or app (default: "cli")
-p,--port <port> app webserver port (default: "7777")
--uploaderProfileName [uploaderProfileName] uploader profile name
--uploaderProfileId [uploaderProfileId] uploader profile id
-h, --help display help for command
如果配合 Typora
使用,在 Typora
的图像设置中配置以下自定义指令即可:
/usr/local/bin/aragorn upload
PS 如果开启 WebServer ,那么 CLI 也会通过 WebServer
提供的接口进行上传,未开启状态 CLI 会通过自身内置的方式进行上传,所以即使软件未开启也可以正常使用
git clone https://github.com/njzydark/Aragorn.git
不需要执行 npm i
直接执行以下指令即可
npm run setup
项目是使用 lerna 进行管理的,根目录的 package.json
只是公共开发依赖,不包含项目所有依赖
npm run setup
会把所有 packages
里的依赖全部装上
由于众所周知的网络原因,依赖可能无法正常安装,尤其是 Electron
,这里推荐使用淘宝镜像源来解决此问题,在项目根目录创建 .npmrc
文件,配置以下内容:
registry=https://registry.npm.taobao.org
ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/
ELECTRON_BUILDER_BINARIES_MIRROR=http://npm.taobao.org/mirrors/electron-builder-binaries/
方式一
npm run app:dev
# 新开命令行窗口执行
npm run app:start
方式二(推荐)
在 vscode 中的 debug 窗口中执行 App Debug
npm run app:build
npm run app:dist