3 stable releases
2.2.3 | Feb 16, 2023 |
---|---|
2.2.2 | Feb 15, 2023 |
#2222 in Command line utilities
19KB
314 lines
Secure Remove CLI
A terminal program for securely removing files with sensitive data, written in Rust.
While using the Eraser software for windows, I needed to be able to securely erase sensitive files from the terminal, and thus be able to call it in scripts. So I decided to write my own application to serve that purpose. I originally wrote the script in C#, but decided to move to Rust for the speed benefits.
The project is uploaded to Crates.io and can be seen here.
Installation
On GitHub select your architecture from the latest release and unzip the archive.
You will have the file named srm
(srm.exe
on Windows) I recommend
putting the file in your path so you can do a simple command line call srm
.
The easier option, however is to install with Cargo. Simply run the command:
cargo install secure_remove
This will download the crate from crates.io, build, and automatically add the executable to your path.
Installing from Source
You can also download the source code and install from scratch if you would like. You will need cargo installed on your system.
git clone https://github.com/saizo80/Secure-Remove.git
cargo install --path Secure-Remove
Usage
The simplest scheme of using srm is srm [Options] [Target(s)]
.
The functions are very similar to what you can do with regular rm
, except (for now) you cannot use wildcards inside of a path on Windows.
So srm ./*
would be okay, whereas srm .\*.txt
would not be okay.
However, because of the way that bash and zsh auto expand wildcards, on Linux and Mac srm ./*.txt
is perfectly fine to use.
Other functions you can see by running srm --help
.
Considerations
I, the author, am not a security expert. Therefore this project comes with no guarantees that file recovery will be impossible.
However, I have tried, to the best of my ability, to make this a secure deletion program.
The data deleted by this program cannot be recovered by oridinary methods. Please make sure you know what you are doing being using.
Dependencies
~1.2–2MB
~35K SLoC