njzydark / Aragorn
Licence: mit
A tool to upload or manage files by object storage sdk
Stars: ✭ 266
Programming Languages
typescript
32286 projects
Projects that are alternatives of or similar to Aragorn
Picgo
🚀A simple & beautiful tool for pictures uploading built by vue-cli-electron-builder
Stars: ✭ 15,358 (+5673.68%)
Mutual labels: qiniu
vscode-qiniu-upload-image
一个VS Code插件,写Markdown时可以快捷上传本地图片获取七牛图床外链。
Stars: ✭ 87 (-67.29%)
Mutual labels: qiniu
vue-fabric
🦆拼图vue+fabric:图片的复制粘贴,删除,隐藏,翻转,历史记录,回退撤销,锁定,图片组合打散,剪切,图层管理,图片滤镜,图片导出,案例保存,导出
Stars: ✭ 39 (-85.34%)
Mutual labels: qiniu
Qimage Win
Windows 版本 Markdown 一键贴图工具,支持本地文件、截图、网络图片一键上传七牛云并返回图片引用,让 Markdown 中贴图变成一种享受。
Stars: ✭ 196 (-26.32%)
Mutual labels: qiniu
cdnjs-extension
📦 [Chrome Extension] Replace the links of cdnjs with Qiniu.
Stars: ✭ 22 (-91.73%)
Mutual labels: qiniu
spring-file-storage-service
The FSS(file storage service) APIs make storing the blob file easy and simple .
Stars: ✭ 33 (-87.59%)
Mutual labels: qiniu
free-fs
✨Free-Fs 开源文件管理系统:基于 SpringBoot2.x + MyBatisPlus + MySQL + Shiro+ Layui 等搭配七牛云,阿里云OSS实现的云存储管理系统。包含文件上传、删除、预览、云资源列表查询、下载、文件移动、重命名、目录管理、登录、注册、以及权限控制等功能。
Stars: ✭ 49 (-81.58%)
Mutual labels: qiniu
Blog Frontend Project
Web frontend code for my blogs, develop with Vue.
Stars: ✭ 206 (-22.56%)
Mutual labels: qiniu
room.cafe
An extremely simple video meeting, integrated whiteboard, chat and screen sharing
Stars: ✭ 34 (-87.22%)
Mutual labels: qiniu
Flysystem Qiniu
💾 Flysystem adapter for the Qiniu storage.
Stars: ✭ 192 (-27.82%)
Mutual labels: qiniu
oss-client
七牛云文件仿百度网盘文件夹管理,上传下载,删除。七牛云存储,七牛云图床。桌面应用程序 windows mac
Stars: ✭ 89 (-66.54%)
Mutual labels: qiniu
Upic
📤uPic is a native, powerful, beautiful and simple picture and file upload tool for macOS.
Stars: ✭ 2,465 (+826.69%)
Mutual labels: qiniu
qu
Quickly generating unique url of a picture for markdown files.
Stars: ✭ 24 (-90.98%)
Mutual labels: qiniu
tiny-qiniu-request
tiny-qiniu for rc-upload or antd upload component `customRequest` property
Stars: ✭ 13 (-95.11%)
Mutual labels: qiniu
Aragorn
一款基于 Electron + React + TS
开发的对象存储管理工具,同时也可作为图床上传工具使用,支持 macOS 和 Windows
PS: 功能实现主要依靠相关厂商的对象存储 SDK,但是也可自行扩展,只要按规范实现软件的上传器接口即可
特性
- 同一上传器支持多个配置
- 文件上传失败可以在控制台重新上传
- 支持利用魔法变量自定义文件命名格式
- 支持自定义上传快捷键
- 通过快捷键不仅可以上传粘贴板中的截图,还可以批量上传在文件管理器中批量选择复制的文件
- 提供 CLI 和上传 API 接口,方便第三方软件调用,例如:Typora、MWeb
- CLI 支持模式自动切换,未开启软件的情况下也可以正常使用
- 支持在 Finder 中通过鼠标右键菜单上传
- 通过内置的自定义上传器可以自定义上传 API
- 支持基础的文件管理功能:浏览、上传、下载、删除、创建目录
- 丰富的设置项:代理、自动复制、格式转换等
对象存储及相关图床支持情况
上传功能 | 文件管理功能 | |
---|---|---|
七牛云 | ✅ | ✅ |
又拍云 | ✅ | ✅ |
阿里云 | ✅ | ✅ |
腾讯云 | ✅ | ✅ |
UCloud | ✅ | |
Github | ✅ | ✅ |
Gitee | ✅ | ✅ |
SM.MS | ✅ 自定义实现 |
PS 软件还在开发中,后续会支持更多对象存储厂商及图床
WebServer
可在设置中开启,默认关闭
- 地址: http://127.0.0.1:7777
- POST 请求格式无论是
form-data
还是json
,文件字段名都为files
示例
form-data 请求
curl http://127.0.0.1:7777 -X POST -H "Content-Type: multipart/form-data" -F "[email protected]文件绝对路径"
json 请求
curl http://127.0.0.1:7777 -X POST -H "Content-Type: application/json" -d '{"files": ["文件绝对路径"]}'
响应
{
"url": "urls中的第一个",
"urls": ["文件地址"]
}
CLI
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
TODO
- [x] 托盘拖拽上传
- [x] 手动选择上传
- [x] 文件名自定义
- [x] 使用对象存储 SDK 或相关 API 进行上传
- [x] 七牛云
- [x] 又拍云
- [x] UCloud
- [x] 阿里云
- [x] 腾讯云
- [x] Github
- [x] 利用对象存储 SDK 或相关 API 进行文件管理
- [x] 阿里云
- [x] 又拍云
- [x] 七牛云
- [x] 腾讯云
- [x] Github
- [x] 自定义上传 API
- [x] 历史记录
- [x] 基本设置
- [x] 通知开关
- [x] 声音开关
- [x] 自动复制
- [x] URL 格式转换
- [x] 自动更新
- [x] http 代理
- [ ] 上传进度
License
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].