What if there's something important in there?

Related tags

Text editors wateor
Overview

wateor

What is this?

This command line tool will collect all the untracked files in your repo, create a bzip2-compressed tar file from them, encrypt them with a password-proteceted key, and store them in a specific folder on your computer. You can then easily restore them to their original locations, remove them, or decrypt them with the same tool. You can also run a command to clean up archives older than a certain number of days (perfect for a cronjob). It uses asymmetric cryptography to protect the files, so storing everything is one quick command, but you still need a password to restore or decrypt them.

Why is this?

I wrote this to solve a problem that may be one only I have: when I need to do some trouleshooting or ops-type stuff I'll open a new terminal (which, in my setup, defaults to the root of whatever repo I'm working in) and start working, spewing log files and temporary yaml configs all over the repo hierarchy. Then, I'll go to lunch, and come back ready to work on some code again, but my working tree is full of garbage.

Sure, there's git clean -f, but.. what if there's something in there I need later? OK, so just copy it all to a maybe_later directory. But.. what if there's a password or key in there somewhere I don't want to leave rotting in a folder somewhere? I really just want one command to sweep it all into a box I can put on a shelf and forget about - and now I have one.

Note

This is a tool I developed in a few days to meet a need - I hope it's useful, but it's not a mature tool, so I wouldn't recommend using it to store or protect anything truly sensitive.

Usage

wateor 0.1

Paul Sanford <[email protected]>

Clean up files strewn about your git repo quickly and securely, with the option to restore them
later or consign them to an (encrypted) black hole

USAGE:
    wateor [OPTIONS] <SUBCOMMAND>

OPTIONS:
    -c, --config-file <CONFIG_FILE>    Path to the config file for the application. If not
                                       specified, looks in an OS-dependent default config directory
    -h, --help                         Print help information
    -V, --version                      Print version information

SUBCOMMANDS:
    cleanup    Remove archives older than a certain number of days
    config     Serialize current config to yaml. This will be the combination of values
               specified in an existing config file, if any, and defaults for options not
               specified in the config file
    destroy    Delete all data managed by wateor
    help       Print this message or the help of the given subcommand(s)
    init       Create the database and encryption keys used by wateor
    list       List archives managed by wateor
    remove     Remove a specific archive managed by wateor without restoring
    restore    Decrypt an archive and restore its contents to their original locations in the
               repo
    store      Gather, compress, and encrypt all untracked files in the repo
You might also like...
Crash recovery for Darktide. There's heresy to be smote and no time to waste.
Crash recovery for Darktide. There's heresy to be smote and no time to waste.

Darktide Rebooter 🥾 ↪️ 🥾 Automatically boot the game up again (and bypass the launcher) immediately after a crash. There's heresy to be smote and no

A small game about solving a mystery aboard a train... if there even is one
A small game about solving a mystery aboard a train... if there even is one

Train Mystery A small game about solving a mystery aboard a train... if there even is one. 🎉 Jeu d'enquête gagnant du Palm'Hackaton 2023. 🎉 A propos

Utility for barcoderdev/unitypackage_godot, submit issues there.

unitypackage_util Requires barcoderdev/FBX2glTF to extract FBX in GLTF(glb) format. Place the binary in the same folder, or in PATH. Usage: unitypacka

A crate to convert bytes to something more useable and the other way around in a way Compatible with the Confluent Schema Registry. Supporting Avro, Protobuf, Json schema, and both async and blocking.
A crate to convert bytes to something more useable and the other way around in a way Compatible with the Confluent Schema Registry. Supporting Avro, Protobuf, Json schema, and both async and blocking.

#schema_registry_converter This library provides a way of using the Confluent Schema Registry in a way that is compliant with the Java client. The rel

📎 Do something on your clipboard, automatically.

📎 autoclip Do something on your clipboard, automatically. ✨ Features Automatic Customisable with Plugins 📦 Installation $ cargo build --release 🔌

Ointers is a library for representing pointers where some bits have been stolen so that they may be used by the programmer for something else

Ointers is a library for representing pointers where some bits have been stolen so that they may be used by the programmer for something else. In effect, it's a small amount of free storage

Use enum to filter something, support | and & operator.
Use enum to filter something, support | and & operator.

Filter Use enum to filter something, support | and & operator. Just need to implement Filter Trait with filter-macros crate. How to work Example #[add

vault client using jwt authentication that define environment variables from vault secrets before executing into something else

envlt envlt, like env, allows you to define environment variables and then execute into something else, but instead of static values, it uses using si

Use enum to predicate something, support | and & operator.
Use enum to predicate something, support | and & operator.

Predicate Use enum to predicate something. Just need to implement Predicate Trait with predicate-macros crate, support | and & operator. Don't impleme

Sample code of Yew (0.18). Something like a PuyoPuyo.

RusRus Requirements Docker Depend on Yew ver 0.18.0 Usase docker build -t rusrus . # start serve docker run -p 8080:8080 --rm -it -v $(pwd):/app -w /

A simple programming language for something between C and Rust.

inuc inuc is a systems programming language that is something between C and Rust. Features : [] Strong , static typing (type inference not a priority

For something between the likes of a toy bootloader or tiny kernel and Arch Linux.

For something between the likes of a toy bootloader or tiny kernel and Arch Linux.

Dumping some code from ~May 2022. Intended to accompany blog post or something.

An example project where Rust code prints the length of an uploaded file. Run python3 -m http.server (or equivalent: https://gist.github.com/willurd/5

A workflow tool for quickly running / testing something you are working on

runfast What is it? This is a program intended to be run in a project directory to set up a project run command, and remember it so we dont have to ty

mе trying to do something with matrices

Matrix Oh yes. Matrices. Contents matrix - core lib (just matrix addition and multiplication) matrix_graphics - using rotation matrix to rotate things

Owner
Paul Sanford
Paul Sanford
TIF is a terminal_image_format. (theres no TIF editor, so i made TIF images through a hex editor lol)

Colors these are the colors you can use when displaying images on the terminal BYTES: 5A = BLUE 5B = BLACK 5C = RED 5D = GREEN 5E = PURPLE 5F = WHITE

buzz 5 Dec 23, 2022
Something something B language.

badc A terrible, dirty, no-good, rotten B compiler. Written by one really great human being, and one obscenely terrible sheep. Contributing Don't. Ref

The Phantom Derpstorm 8 Nov 12, 2022
sema: a theme that focuses on what’s important

sema: a theme that focuses on what’s important On the Visual Studio Marketplace On the Open VSX Registry Take a look at the website for information on

Aramis Razzaghipour 81 Dec 12, 2022
Easy-to-use grammar-based black-box fuzzer. Has found dozens of bugs in important targets like Clang, Deno, and rustc.

tree-crasher tree-crasher is an easy-to-use grammar-based black-box fuzzer. It parses a number of input files using tree-sitter grammars, and produces

Langston Barrett 5 Mar 28, 2023
A super simple but lightweight logging library that tries to capture the most important (status) information.

Hackerlog A super simple but lightweight logging library that tries to capture the most important (status) information. The following is supported: Lo

434b 3 Aug 22, 2023
The best Intermediate Rust course out there!

Ultimate Rust 2: Intermediate Concepts This is the companion repository for the Ultimate Rust 2: Intermediate Concepts (the followup to the popular Ul

Nathan Stocks 155 Jan 4, 2023
A tetris game I wrote in rust using ncurses. I'm sure that there's a better way to write a tetris game, and the code may be sus, but it techinically works

rustetris A tetris game I wrote in rust using ncurses. I'm sure that there's a better way to write a tetris game, and the code may be sus, but it tech

Eric G 3 Oct 15, 2022
Checks if there are enough space in a specified path.

@planetarium/check-free-space This package uses native OS APIs to get free size available on specified path. It is powered by fs2 under the hood. APIs

Planetarium 8 Dec 5, 2022
🐎 Just a simple cross-platform neofetch for all the bronies out there.

⚠️ (WIP) This project is not ready for any serious use right now. A cross-platform command-line interface (CLI) tool written in Rust to display system

Jakub 4 Dec 15, 2022
Assure that your tests are there, and well written.

cargo-is-tested [ ???? ] El libro contiene instrucciones e información detallada en Español. cargo-is-tested is a way to check which of your items are

Alex ✨ Cosmic Princess ✨ 15 Jan 8, 2023