Skip to content

Commit 8cb3e15

Browse files
committed
Add sponsor badge
1 parent 1586a75 commit 8cb3e15

1 file changed

Lines changed: 158 additions & 0 deletions

File tree

README.md

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
[![Sponsor](https://img.shields.io/badge/Sponsor-%E2%9D%A4-pink?logo=github)](https://github.com/sponsors/hyperpolymath)
2+
3+
// SPDX-License-Identifier: MPL-2.0
4+
5+
= CloudGuard CLI
6+
:toc: macro
7+
:toc-title: Contents
8+
:toclevels: 2
9+
10+
Standalone command-line tool for Cloudflare domain security management.
11+
Audit compliance, apply hardening, manage DNS records, sync offline configs,
12+
and manage Cloudflare Pages projects — all from the terminal.
13+
14+
toc::[]
15+
16+
== Overview
17+
18+
CloudGuard CLI automates the tedious, error-prone process of hardening
19+
Cloudflare domains. Instead of manually toggling dozens of settings across
20+
dozens of domains, run a single command to audit or harden everything.
21+
22+
Companion projects:
23+
24+
* **cloudguard-server** — REST + WebSocket API for dashboards and CI/CD
25+
* **PanLL CloudGuard module** — GUI panel with three-panel compliance view
26+
27+
== Installation
28+
29+
=== From source
30+
31+
[source,bash]
32+
----
33+
git clone https://github.com/hyperpolymath/cloudguard-cli
34+
cd cloudguard-cli
35+
cargo build --release
36+
# Binary at target/release/cloudguard-cli
37+
----
38+
39+
=== Environment
40+
41+
Set your Cloudflare API token:
42+
43+
[source,bash]
44+
----
45+
export CLOUDFLARE_API_TOKEN="your-token-here"
46+
----
47+
48+
== Usage
49+
50+
=== Audit domains against security policy
51+
52+
[source,bash]
53+
----
54+
# Audit all domains
55+
cloudguard-cli audit
56+
57+
# Audit a specific domain
58+
cloudguard-cli audit --domain example.com
59+
60+
# Output JSON report
61+
cloudguard-cli audit --output report.json
62+
----
63+
64+
=== Apply hardening settings
65+
66+
[source,bash]
67+
----
68+
# Harden all domains (dry run)
69+
cloudguard-cli harden --dry-run
70+
71+
# Harden a specific domain
72+
cloudguard-cli harden --domain example.com --apply
73+
74+
# Harden all domains
75+
cloudguard-cli harden --apply
76+
----
77+
78+
=== DNS management
79+
80+
[source,bash]
81+
----
82+
# List DNS records
83+
cloudguard-cli dns list --domain example.com
84+
85+
# Add a record
86+
cloudguard-cli dns add --domain example.com --type A --name www --content 1.2.3.4
87+
88+
# Bulk-add security records (SPF, DMARC, DKIM revocation, CAA, TLS-RPT)
89+
cloudguard-cli dns bulk-add --domain example.com
90+
91+
# Delete a record
92+
cloudguard-cli dns delete --domain example.com --record-id abc123
93+
----
94+
95+
=== Offline config sync
96+
97+
[source,bash]
98+
----
99+
# Download configs locally
100+
cloudguard-cli sync download --dir ./configs
101+
102+
# Upload local changes (dry run)
103+
cloudguard-cli sync upload ./configs --dry-run
104+
----
105+
106+
=== Zone management
107+
108+
[source,bash]
109+
----
110+
# List all zones
111+
cloudguard-cli zones list
112+
113+
# Check zone status
114+
cloudguard-cli zones status --domain example.com
115+
----
116+
117+
=== Pages projects
118+
119+
[source,bash]
120+
----
121+
# List Pages projects
122+
cloudguard-cli pages list
123+
----
124+
125+
== Hardening Policy
126+
127+
CloudGuard applies 16 security settings across these categories:
128+
129+
[cols="1,2,1"]
130+
|===
131+
| Category | Settings | Severity
132+
133+
| SSL/TLS
134+
| Full strict mode, TLS 1.2 minimum, always HTTPS, auto rewrites, opportunistic encryption, TLS 1.3
135+
| CRITICAL–LOW
136+
137+
| Security Headers
138+
| HSTS with preload, subdomains, nosniff
139+
| HIGH
140+
141+
| WAF & Bot Defense
142+
| Browser check, hotlink protection, email obfuscation, security level
143+
| MEDIUM–LOW
144+
145+
| Performance
146+
| Brotli, early hints, HTTP/3
147+
| LOW
148+
149+
| Network
150+
| WebSockets, opportunistic onion
151+
| LOW
152+
|===
153+
154+
== License
155+
156+
MPL-2.0
157+
158+
Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath)

0 commit comments

Comments
 (0)