Skip to content

Commit

Permalink
Merge pull request #60 from AssetsArt/acme
Browse files Browse the repository at this point in the history
✨ Add ACME support and improve configuration handling
  • Loading branch information
Aitthi authored Nov 3, 2024
2 parents dcc395e + 3dcd503 commit 918b37d
Show file tree
Hide file tree
Showing 20 changed files with 1,275 additions and 479 deletions.
4 changes: 3 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "easy-proxy"
version = "0.1.6"
version = "0.1.7"
edition = "2021"

[dependencies]
Expand All @@ -27,6 +27,8 @@ sha2 = "0.10"
rcgen = "0.13"
openssl = { version = "0.10", features = ["vendored"] }
clap = { version="4.5", features = ["derive"] }
hmac = "0.12"
chrono = "0.4"

[profile.release]
overflow-checks = true
Expand Down
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Easy Proxy supports the following features:
- [x] HTTPS
- Certificate Management
- [x] Custom
- [ ] ACME (WIP)
- [x] ACME
- Service Endpoint
- [x] HTTP
- [ ] HTTPS
Expand Down Expand Up @@ -56,6 +56,8 @@ proxy:
http: "0.0.0.0:80"
https: "0.0.0.0:443"
config_dir: "/etc/easy-proxy/proxy"
# optional
acme_store: "/etc/easy-proxy/acme.json" # auto generated
pingora:
# https://github.com/cloudflare/pingora/blob/main/docs/user_guide/daemon.md
daemon: true
Expand Down Expand Up @@ -103,10 +105,12 @@ tls:
- name: my-tls
type: custom # acme, custom
# acme: # required if type is acme
# provider: letsencrypt # letsencrypt or buypass // optional default letsencrypt
# email: admin@domain.com
key: /etc/easy-proxy/ssl/localhost.key
cert: /etc/easy-proxy/ssl/localhost.crt
# chain: .config/ssl/localhost.chain.crt # optional
# chain: # optional
# - /etc/easy-proxy/ssl/chain.pem

# Routes to be proxied
routes:
Expand Down
2 changes: 2 additions & 0 deletions scripts/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ fi

# Create configuration directory and default config
sudo mkdir -p "$CONFIG_DIR/proxy"
sudo mkdir -p "$CONFIG_DIR/tls"
CONFIG_FILE="$CONFIG_DIR/conf.yaml"
if [ ! -f "$CONFIG_FILE" ]; then
echo "Creating default configuration..."
Expand All @@ -82,6 +83,7 @@ proxy:
http: "0.0.0.0:80"
https: "0.0.0.0:443"
config_dir: "/etc/easy-proxy/proxy"
acme_store: "/etc/easy-proxy/acme.json"
pingora:
daemon: true
threads: $(nproc)
Expand Down
Loading

0 comments on commit 918b37d

Please sign in to comment.