Make setup argument optional

This commit is contained in:
B. Blechschmidt 2023-03-26 00:46:59 +01:00
parent d0c24b9f6a
commit 2a2b188c75
2 changed files with 9 additions and 8 deletions

View file

@ -68,11 +68,12 @@ Tunnel interface to proxy.
Usage: tun2proxy [OPTIONS] --proxy <URL>
Options:
-t, --tun <name> Name of the tun interface [default: tun0]
-p, --proxy <URL> Proxy URL in the form proto://[username[:password]@]host:port
-d, --dns <method> DNS handling [default: virtual] [possible values: virtual, none]
-h, --help Print help
-V, --version Print version
-t, --tun <name> Name of the tun interface [default: tun0]
-p, --proxy <URL> Proxy URL in the form proto://[username[:password]@]host:port
-d, --dns <method> DNS handling [default: virtual] [possible values: virtual, none]
-s, --setup <method> Routing and system setup [possible values: auto]
-h, --help Print help
-V, --version Print version
```
Currently, tun2proxy supports HTTP, SOCKS4/SOCKS4a and SOCKS5. A proxy is supplied to the `--proxy` argument in the
URL format. For example, an HTTP proxy at `1.2.3.4:3128` with a username of `john.doe` and a password of `secret` is

View file

@ -28,9 +28,9 @@ struct Args {
)]
dns: ArgDns,
/// Setup
/// Routing and system setup
#[arg(short, long, value_name = "method", value_enum)]
setup: ArgSetup,
setup: Option<ArgSetup>,
}
#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, clap::ValueEnum)]
@ -59,7 +59,7 @@ fn main() -> ExitCode {
}
let mut setup: Setup;
if args.setup == ArgSetup::Auto {
if args.setup == Some(ArgSetup::Auto) {
setup = Setup::new(&args.tun, &args.proxy.addr.ip(), get_default_cidrs());
if let Err(e) = setup.setup() {
log::error!("{e}");