MIT License

项目介绍

njzydark/Aragorn 是一个托管在 GitHub 上的开源项目,主要使用 TypeScript 编写,采用 MIT License 许可证,目前获得 278 个 Star、34 次 Fork。

仓库全名
njzydark/Aragorn
开源许可证
MIT License
Star 数
278
Fork 数
34
未关闭 Issue
10

README 摘要

Aragorn 一款基于 Electron + React + TS 开发的对象存储管理工具,同时也可作为图床上传工具使用,支持 macOS 和 Windows PS: 功能实现主要依靠相关厂商的对象存储 SDK,但是也可自行扩展,只要按规范实现软件的上传器接口即可 特性 同一上传器支持多个配置 文件上传失败可以在控制台重新上传 支持利用魔法变量自定义文件命名格式 支持自定义上传快捷键 通过快捷键不仅可以上传粘贴板中的截图,还可以批量上传在文件管理器中批量选择复制的文件 提供 CLI 和上传 API 接口,方便第三方软件调用,例如:Typora、MWeb CLI 支持模式自动切换,未开启软件的情况下也可以正常使用 支持在 Finder 中通过鼠标右键菜单上传 通过内置的自定义上传器可以自定义上传 API 支持基础的文件管理功能:浏览、上传、下载、删除、创建目录 丰富的设置项:代理、自动复制、格式转换等…

完整内容见 GitHub 原始 README 或本页 。

常见问题

Aragorn 用什么语言开发?

主要使用 TypeScript 编写,采用 MIT License 许可证,目前有 278 个 Star。

Aragorn 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 Aragorn 的源码?

可以直接克隆仓库:git clone https://github.com/njzydark/Aragorn.git,默认分支为 master;安装与运行步骤见仓库 README。

Aragorn 最近还在维护吗?

仓库最近一次更新为 2022年6月17日,当前有 10 个未关闭 Issue;Star 数为 278,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

A tool to upload or manage files by object storage sdk

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
347
价值分
176
活跃状态
归档

语言占比

HTML
JavaScript
Less
Shell
TypeScript

Release

README

Aragorn

GitHub release (latest by date including pre-releases Build GitHub lerna

一款基于 Electron + React + TS 开发的对象存储管理工具,同时也可作为图床上传工具使用,支持 macOS 和 Windows

PS: 功能实现主要依靠相关厂商的对象存储 SDK,但是也可自行扩展,只要按规范实现软件的上传器接口即可

aragorn

特性

  • 同一上传器支持多个配置
  • 文件上传失败可以在控制台重新上传
  • 支持利用魔法变量自定义文件命名格式
  • 支持自定义上传快捷键
  • 通过快捷键不仅可以上传粘贴板中的截图,还可以批量上传在文件管理器中批量选择复制的文件
  • 提供 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 "files=@文件绝对路径"

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
注意
  1. 项目是使用 lerna 进行管理的,根目录的 package.json 只是公共开发依赖,不包含项目所有依赖

    npm run setup 会把所有 packages 里的依赖全部装上

  2. 由于众所周知的网络原因,依赖可能无法正常安装,尤其是 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

  • 托盘拖拽上传
  • 手动选择上传
  • 文件名自定义
  • 使用对象存储 SDK 或相关 API 进行上传
    • 七牛云
    • 又拍云
    • UCloud
    • 阿里云
    • 腾讯云
    • Github
  • 利用对象存储 SDK 或相关 API 进行文件管理
    • 阿里云
    • 又拍云
    • 七牛云
    • 腾讯云
    • Github
  • 自定义上传 API
  • 历史记录
  • 基本设置
    • 通知开关
    • 声音开关
    • 自动复制
    • URL 格式转换
    • 自动更新
    • http 代理
  • 上传进度

License

FOSSA Status

评论

暂无评论