{"id":28712342,"url":"https://github.com/houseme/acmex","last_synced_at":"2025-06-14T23:05:27.480Z","repository":{"id":293887713,"uuid":"985402776","full_name":"houseme/acmex","owner":"houseme","description":"A simple ACME v2 client for obtaining TLS certificates, built with Rust. Supports TLS-ALPN-01, HTTP-01, and DNS-01 challenges, integrates with rustls, and works with Let's Encrypt, Google Trust Services, and ZeroSSL.","archived":false,"fork":false,"pushed_at":"2025-06-03T06:45:53.000Z","size":163,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-03T18:34:43.565Z","etag":null,"topics":["acme","acme-client","acme-dns","acme-v2","encrypt","rust","rustls","tls","tokio","zerossl"],"latest_commit_sha":null,"homepage":"https://houseme.github.io/acmex/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/houseme.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":"houseme","issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://paypal.me/houseme"]}},"created_at":"2025-05-17T17:30:38.000Z","updated_at":"2025-06-03T06:44:43.000Z","dependencies_parsed_at":"2025-05-17T19:23:55.563Z","dependency_job_id":"5927cad4-061e-489e-ad04-f28f99949c02","html_url":"https://github.com/houseme/acmex","commit_stats":null,"previous_names":["houseme/acmex"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/houseme/acmex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/houseme%2Facmex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/houseme%2Facmex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/houseme%2Facmex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/houseme%2Facmex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/houseme","download_url":"https://codeload.github.com/houseme/acmex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/houseme%2Facmex/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259896120,"owners_count":22928330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acme","acme-client","acme-dns","acme-v2","encrypt","rust","rustls","tls","tokio","zerossl"],"created_at":"2025-06-14T23:05:26.880Z","updated_at":"2025-06-14T23:05:27.462Z","avatar_url":"https://github.com/houseme.png","language":"Rust","funding_links":["https://liberapay.com/houseme","https://paypal.me/houseme"],"categories":[],"sub_categories":[],"readme":"# AcmeX\n\n[English](./README.md) | [中文](./README_ZH.md)\n\nA simple ACME v2 client for obtaining TLS certificates, built with Rust. Supports TLS-ALPN-01, HTTP-01, and DNS-01\nchallenges, integrates with rustls, and works with Let's Encrypt, Google Trust Services, and ZeroSSL.\n\n## Features\n\n- Comprehensive ACME v2 support (RFC 8555)\n- TLS-ALPN-01, HTTP-01, and DNS-01 challenges\n- rustls integration for memory-safe TLS\n- File-based caching (default) and Redis caching (optional)\n- Let's Encrypt by default, Google Trust Services and ZeroSSL via features\n- CLI tool and library usage\n- Production-ready with axum, Prometheus monitoring, and tracing\n\n## Installation\n\nAdd to your `Cargo.toml`:\n\n```toml\n[dependencies]\nacmex = \"0.0.1\"\n```\n\nFor Redis support:\n\n```toml\n[dependencies]\nacmex = { version = \"0.0.1\", features = [\"redis\"] }\n```\n\n## Usage\n\n### As a Library\n\n```rust\nuse acmex::{AcmeClient, AcmeConfig, ChallengeType};\n\n#[tokio::main]\nasync fn main() -\u003e Result\u003c(), Box\u003cdyn std::error::Error\u003e\u003e {\n    let config = AcmeConfig::new(vec![\"example.com\".to_string()])\n        .contact(vec![\"mailto:user@example.com\".to_string()])\n        .prod(false);\n    let client = AcmeClient::new(config);\n    let (cert, key) = client.provision_certificate(ChallengeType::TlsAlpn01, None).await?;\n    // Use cert and key with rustls\n    Ok(())\n}\n```\n\n### As a CLI Tool\n\n```bash\ncargo run -- --domains example.com --email user@example.com --cache-dir ./acmex_cache\n```\n\nWith Redis:\n\n```bash\ncargo run --features redis -- --domains example.com --email user@example.com --redis-url redis://127.0.0.1:6379\n```\n\n## License\n\nThis project is licensed under either of\n\n- [MIT License](LICENSE-MIT)\n- [Apache License, Version 2.0](LICENSE-APACHE)\n\nat your option.\n\nYou may choose either license to use this project. Unless you explicitly state otherwise, any contribution intentionally\nsubmitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.\n\nSee the [LICENSE-MIT](./LICENSE-MIT) and [LICENSE-APACHE](./LICENSE-APACHE) files for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhouseme%2Facmex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhouseme%2Facmex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhouseme%2Facmex/lists"}