gitaway 0.1.1

Reach your self-hosted git server from anywhere, with a tunnel only gitaway uses
Documentation
[package]
name = "gitaway"
version = "0.1.1"
edition = "2024"
rust-version = "1.95"
description = "Reach your self-hosted git server from anywhere, with a tunnel only gitaway uses"
license = "MIT OR Apache-2.0"
repository = "https://github.com/nikkel/gitaway"
readme = "README.md"
keywords = ["git", "wireguard", "self-hosted", "forgejo", "cli"]
categories = ["command-line-utilities", "development-tools"]
include = ["/src", "/README.md", "/CHANGELOG.md", "/LICENSE-APACHE", "/LICENSE-MIT"]

[dependencies]
base64 = "0.23.1"
bytes = "1.11.1"
clap = { version = "4.6.7", features = ["derive"] }
dialoguer = { version = "0.12.0", default-features = false, features = ["password"] }
getrandom = "0.4"
gotatun = { version = "0.10.2", default-features = false, features = ["device", "ring"] }
ipnetwork = "0.21.1"
keyring = "4.2"
russh = { version = "0.65", default-features = false, features = ["ring", "rsa"] }
serde = { version = "1.0.229", features = ["derive"] }
smoltcp = { version = "0.14", default-features = false, features = ["std", "medium-ip", "proto-ipv4", "proto-ipv6", "socket-tcp", "async"] }
tempfile = "3.27.0"
thiserror = "2.0.21"
tokio = { version = "1", features = ["rt", "net", "time", "sync", "macros", "process", "io-util", "rt-multi-thread", "signal"] }
toml = "1.2.1"
toml_edit = "0.25.19"
zeroize = "1"

[lints]
workspace = true

[dev-dependencies]
assert_cmd = "2.2.2"
predicates = "3.1.4"
tokio = { version = "1", features = ["rt", "net", "time", "io-util", "test-util"] }

# `cargo xtask` holds maintenance tasks, such as generating the man pages. It's
# never published. Plain `cargo build` and `cargo test` cover only gitaway.
[workspace]
members = ["xtask"]

[workspace.lints.rust]
missing_docs = "warn"
unsafe_code = "forbid"

[workspace.lints.clippy]
all = { level = "warn", priority = -1 }

[target."cfg(unix)".dependencies]
rustix = { version = "1.1", features = ["process", "event"] }

# The profile that 'dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"
strip = true