From d38da05d0539259e9bc64680ecc2276c90f99c93 Mon Sep 17 00:00:00 2001 From: vanten-s Date: Thu, 19 Oct 2023 17:23:38 +0200 Subject: [PATCH] Fixed docs, version number and made server required --- Cargo.toml | 2 +- README.md | 42 ++++++++++++++++++++++++++---------------- src/main.rs | 8 +++----- 3 files changed, 30 insertions(+), 22 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b01759d..b9987ab 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "e2e-irc" -version = "0.1.0" +version = "1.0.2" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/README.md b/README.md index 857d09e..378ea86 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,35 @@ # e2e-irc This is an IRC bouncer that supports end-to-end encryption and is horribly written. -# Setup CWD -To use this you need to build it and in your CWD you need to add two files. One called `secret.gpg` and one called `public.gpg` that are just pgp keys. -You also need a .env file in your CWD like this: +# Configuration +e2e-irc uses a config file in `~/.config/e2e-irc/config.toml` on linux. +The configuration file is a toml file with two or three fields: +- public_key the location of the public pgp key +- secret_key the location of the secret pgp key +- passwd the password of the pgp key + +# Usage +``` +e2e-irc [OPTIONS] SERVER + +Encrypted IRC Bouncer + +Positional arguments: + server The Address Of The Server The Bouncer Connects To + +Optional arguments: + -h,--help Show this help message and exit + -p,--port PORT The Port The Bouncer Binds To + --sp,--server-port SERVER_PORT + The TLS Enabled Port Of The Server +``` + +# Install ```bash -SERVER={address of the server you want to connect to (has to support tls)} -PORT={the port you want the program to bind to and the port that the IRC client should connect to} -PASSWD={password of your pgp key} # Optional +cargo install --git https://forgejo.vanten-s.com/vanten-s/e2e-irc.git ``` # Run -Then you just run the binary with: -`cargo run --release` -or build the project to get a binary ```bash -cargo build --release -cp target/release/e2e-irc ~/.local/bin/ +e2e-irc [OPTIONS] SERVER ``` -and after running that once you can run the program with -```bash -e2e-irc -``` -but you have to have the .env in the CWD diff --git a/src/main.rs b/src/main.rs index 06093fb..7dd653c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -54,11 +54,9 @@ fn main() -> Result<()> { { let mut ap = ArgumentParser::new(); ap.set_description("Encrypted IRC Bouncer"); - ap.refer(&mut server).add_option( - &["-s", "--server"], - Store, - "The Server The Bouncer Connects To", - ); + ap.refer(&mut server) + .add_argument("server", Store, "The Address Of The Server The Bouncer Connects To") + .required(); ap.refer(&mut port) .add_option(&["-p", "--port"], Store, "The Port The Bouncer Binds To"); ap.refer(&mut server_port).add_option(