2 releases
Uses old Rust 2015
0.1.1 | Jan 18, 2017 |
---|---|
0.1.0 | Jul 13, 2016 |
#1237 in Cryptography
20KB
211 lines
tenrus - Travis Encryption in Rust
Travis CI says , "you can use travis to encrypt your secret and put it at .travis.yml ".
Here is a alternative to travis encrypt .
(This project's .travis.yml has a token encrypted by itself :P)
Table of Contents
Installation
From crate.io
$ cargo install tenrus
From GitHub
$ cargo install --git https://github.com/wdv4758h/tenrus/
Download Prebuilt Binary
# by curl $ curl -O -J -L https://github.com/wdv4758h/tenrus/releases/download/v0.1.1/tenrus-v0.1.1-x86_64-unknown-linux-gnu.tar.gz # by wget $ wget https://github.com/wdv4758h/tenrus/releases/download/v0.1.1/tenrus-v0.1.1-x86_64-unknown-linux-gnu.tar.gz
Usage
$ tenrus tenrus 0.1.1 Chiu-Hsiang Hsu <wdv4758h@gmail.com> Travis Encryption in Rust USAGE: tenrus [ARGS] FLAGS: -h, --help Prints help information -V, --version Prints version information ARGS: <repo> repository slug (USERNAME/PROJECT) e.g. "wdv4758h/tenrus" <data> data to encrypt
$ tenrus wdv4758h/tenrus MYSECRET secure: "p9BUpUjJiet+MX84SiAPd0xt4Gczmma67N2RPiCuyGHdz+7Blmtgra85SF1TZocy6RyXykMp354fHcbfu29mwArEaaPwALvybmCTIcE66ZvFWSp2k5LJHDJiIu15OUrTrZGvSAd1//rmmeFklRIVGBaE4rP5vuKpNx4VXwaz+X8RAz+OnHCEWJkpZkb2gBsQMiApsG2dF5KKdvogRHv22HMi2XIWzTRojhigNoS7AaUsZEwbgm2psyZRoKSEqdCMSaf/qYDzhIZUIlb0GqOAnkT+97SRGFDpYpl2bQQ7qyGdQ1SnZZo9WaU1+DdNPFtA63BVyEajOQXSlaJ98ulGk9v/jrqSzYFHp4Mp/trrlC7BBRXxn9uuBTKZMOBWukKi3Ve3XQfTcUMY7S/EPjtyeL26fTCs2dCTPD/IUKlgyW8cczYbbwV6as6sdU6ErtA6WpWRms23x13IZSaiJ5Ne4TiaNfxJtC/k35Q1gRtC9HWcusvKZFVGPtFSAxGbzLAmJHUS2yQOD2lY/Np8xFNG8WgvMaf9BguZct99H07bDTaIgRtGvt9IazDlbTKHGdGMPi/islr8NpXvZNyThqObj58K/s1e9JTwyKksg4nCQioTnvpjXsb3C6g9NKOisXlZmbso8MkhQlevuESpC11eIOvkO4prrJZ5Bjts4aiBtLw="
Information About Binary
Size
x86_64, Linux (build on Arch Linux)
Filename | Version | Stripped ? | Size (Bytes) | Size (MB) |
tenrus | v0.1.1 | No | 4721512 | 4.6M |
tenrus | v0.1.1 | Yes | 2064344 | 2.0M |
Shared Library Dependency
x86_64, Linux (build on Arch Linux)
$ ldd ./target/release/tenrus linux-vdso.so.1 (0x00007ffef6ce5000) libssl.so.1.0.0 => /usr/lib/libssl.so.1.0.0 (0x00007f3426482000) libcrypto.so.1.0.0 => /usr/lib/libcrypto.so.1.0.0 (0x00007f342600b000) libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f3425e07000) libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f3425bea000) libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f34259d4000) libc.so.6 => /usr/lib/libc.so.6 (0x00007f3425633000) /lib64/ld-linux-x86-64.so.2 (0x00007f34266f3000) libm.so.6 => /usr/lib/libm.so.6 (0x00007f342532f000)
Changelog
Not Implemented Yet (Plan)
- cache for Travis CI's public key
- can use local key file
- can use custom URL
- more encryption options (not just OpenSSL)
Notice
I've only tested on my x86_64 Linux. Other platforms are built by CI. If they don't work properly, please tell me.
Developement
Making Release
- update version in src/cli.yml
- update version in Cargo.toml
- update version in Cargo.lock
- add git tag
Special Thanks
- rust-everywhere for CI integration
- clap-rs for arguments parsing
- hyper for HTTPS client
- hyper-native-tls for HTTPS implementation
- Serde for serialization
- rustc-serialize for serialization
- OpenSSL for encryption
- Rust Team
- and every project I've used
License
tenrus is licensed under the AGPL License - see the LICENSE file for details
Dependencies
~8–16MB
~233K SLoC