30 个版本

0.2.18 2024年6月2日
0.2.17 2024年2月15日
0.2.16 2022年10月21日
0.2.14 2022年7月24日
0.1.2 2020年7月4日

330密码学 中排名

每月21 次下载

MIT 许可证

675KB
14K SLoC

t-rust-less

Build Status

Spiritual successor of https://github.com/untoldwind/trustless taking over the concepts that worked, improving those that did not turned out so well and avoiding all the quirky stuff (potentially by replacing it with new quirky stuff).

Some major changes

  • t-rust-less is a ground up rewrite in rust (as the name suggests)
  • ... which allows a much better control over memory and protecting/cleaning up sensitive data.
  • For the most part trustless tried to be compatible with gpg, t-rust-less drops this idea entirely in favor of adding some modern ciphers and key-derivations to the mix.
  • ... which essentially means that a trustless store will not be compatible with a t-rust-less whatsoever. Sorry, but an export -> import will be required.

构建

最好使用 ./build-release.sh 脚本,它将引导一个包含所有相关依赖项的 Docker 容器。

否则你需要

  • Rust 版本 >=1.34
  • 如果你想要修改 api.capnpsecret_store.capnp,你还需要 Capn Proto 编译器(capnpc),即安装 capnproto 软件包。
  • 对于 openssl-sys 需要 perl

交叉编译

到 Windows(仅库目前)

构建(在 Archlinux 上)

需要 AUR mingw-w64-gccmingw-w64-crt(或 mingw-w64-gcc-binmingw-w64-crt-bin)。

添加 ~/.cargo/config

[target.x86_64-pc-windows-gnu]
linker = "/usr/bin/x86_64-w64-mingw32-gcc"
ar = "/usr/x86_64-w64-mingw32/bin/ar"
cd cli; cargo build --target x86_64-pc-windows-gnu --features crossterm_backend --no-default-features --release

(不幸的是,我们无法根据目标自动切换功能)

如果你遇到与 __onexitbegin__onexitend 相关的链接错误,则很可能是 crt2.o 不匹配

mv ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-gnu/lib/crt2.o  ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-gnu/lib/crt2.o.bak
cp /usr/x86_64-w64-mingw32/lib/crt2.o ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-gnu/lib/crt2.o

到 wasm(仅库)

准备

需要 emscripten。

构建

cargo build --release --target=wasm32-unknown-emscripten

测试

一些测试非常慢,在常规开发周期中将会被忽略,使用 cargo test。要运行完整的回归测试套件

cargo test --release

依赖项

~17–34MB
~555K SLoC