StealthIM FileAPI Upload/Download Command Toolkit
Project description
StealthIM FileAPI
文件接口 0.0.1
.proto文件:./proto/fileapi.proto
hash 计算
hash 算法采用分块 Blake3 进行。具体分块如下:
将文件以预设大小分块(默认为 2048 KiB,需要与服务器一致)后计算每块 Blake3,将计算后的 hash binary 形式拼接后再计算一次 Blake3,得到最终 hash。
构建
依赖
Go 版本:1.24.1
软件包:protobuf protobuf-dev make
命令行工具
protocmake(gnumake)
go mod download
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
命令行
make # 构建并运行
make build # 构建可执行文件
# 构建指定环境
make build_windows
make build_linux
make build_docker
make release # 构建所有平台
make proto # 生成 proto
make clean # 清理
配置
默认会读取当前文件夹 config.toml 文件(不存在会自动生成模板)
docker 镜像为
cfg/config.toml
默认配置:
[server]
host = "127.0.0.1"
port = 50053
log = false
[dbgateway]
host = "127.0.0.1"
port = 50051
conn_num = 5
sql_timeout = 5000 # 单位:ms
[[filestorage]]
host = "127.0.0.1"
port = 50052
id = 0
# 多个存储单元配置
#
# [[filestorage]]
# host = "192.168.xx.xx"
# port = 50052
# id = 1
#
# 请保证 ID 唯一,在迁移时请使用相同的 ID
[storage]
timeout = 1000 # 单位:ms
check_time = 60 # 单位:s
blocksize = 2048 # 单位:KB
# 不建议更改,不超过 2048
也可使用 --config={PATH} 参数指定配置文件路径
命令行工具
命令行工具使用 Typer 构建。
命令行工具在打包前需要使用 makefile 构建 proto。
make proto_t # 生成工具用 proto
make clean # 清理
使用 poetry install 安装。
帮助信息请查看 stimfileapi --help。
调试环境
确保你使用的是 Linux 环境并安装了 tmux。
确保在父目录以原名 Clone 了 StealthimDB 和 StealthIMFileStorage。
make dev
# 命令会运行 run_env.sh
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file stimfileapi-0.1.3.tar.gz.
File metadata
- Download URL: stimfileapi-0.1.3.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77d33ca4276c0238eaeabf7645eeff71d11f98382d4a7b6e41a40d67bc412e3c
|
|
| MD5 |
824bb73c22313d3e557ce81e0ec85ede
|
|
| BLAKE2b-256 |
72c22e1aa45b3cb4be6413b265b6f3be341b6a82d4ef366c215f75f345d0434d
|
File details
Details for the file stimfileapi-0.1.3-py3-none-any.whl.
File metadata
- Download URL: stimfileapi-0.1.3-py3-none-any.whl
- Upload date:
- Size: 17.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a430b62e99cd723b297fccca838e6ab0984d50713256bd89ca2ee03a30eb8129
|
|
| MD5 |
bb12281881dd370252dc8405d73e9543
|
|
| BLAKE2b-256 |
22c3f7a662864e302d018fe7c4ab54ef506935073f559519980b8032a68366a7
|