Initial: Mesh-Skills, Configs, Scripts

This commit is contained in:
root
2026-09-02 23:49:07 +02:00
commit 26c7980750
783 changed files with 145393 additions and 0 deletions
@@ -0,0 +1,81 @@
# Cloudflare API Quick Reference
## Authentifizierung
```
Header: Authorization: Bearer <API_TOKEN>
Header: Content-Type: application/json
```
## API-Endpunkte
| Operation | Methode | URL |
|-----------|---------|-----|
| Zonen auflisten | GET | `/client/v4/zones` |
| Zone anlegen | POST | `/client/v4/zones` |
| Zone löschen | DELETE | `/client/v4/zones/:zone_id` |
| DNS-Records abrufen | GET | `/client/v4/zones/:zone_id/dns_records` |
| DNS-Record anlegen | POST | `/client/v4/zones/:zone_id/dns_records` |
| DNS-Record ändern | PATCH | `/client/v4/zones/:zone_id/dns_records/:record_id` |
| DNS-Record löschen | DELETE | `/client/v4/zones/:zone_id/dns_records/:record_id` |
## Zone anlegen (Minimal-Body)
```json
{
"name": "example.de",
"account": {"id": "ACCOUNT_ID"},
"jump_start": false,
"type": "full"
}
```
**Wichtig:** `jump_start: true` scannt bestehende DNS-Einträge, kann aber unerwünschte Records importieren. `false` startet mit leerer Zone.
## DNS-Record anlegen (Minimal-Body)
```json
{
"type": "A",
"name": "example.de",
"content": "92.60.38.175",
"proxied": false,
"ttl": 1
}
```
- `name: "@"` für Root-Domain, `name: "www"` für Subdomain
- `proxied: false` = graue Wolke (DNS-only), `true` = orangene Wolke (Proxy)
- `ttl: 1` = Auto-TTL
## MX-Record (Besonderheit)
```json
{
"type": "MX",
"name": "example.de",
"content": "mail.example.de",
"priority": 10,
"proxied": false,
"ttl": 1
}
```
- `priority`: Zahl (10 = Standard), niedriger = höhere Priorität
- **proxied MUSS false sein** – Cloudflare kann MX nicht proxien!
## Antwort parsen (python3 one-liner)
```bash
curl ... | python3 -c "
import json, sys
data = json.load(sys.stdin)
if data['success']:
for r in data['result']:
print(f\"{r['name']} → {r['content']}\")
else:
for e in data['errors']:
print(f\"ERROR: {e['message']}\")
"
```
## Typische Fehler
| Fehler | Ursache | Lösung |
|--------|---------|--------|
| `Invalid API Token` | Token falsch/abgelaufen | Neuen Token erstellen |
| `Zone already exists` | Zone bereits angelegt | Statt POST → GET + PATCH |
| `Invalid proxied mode for MX` | `proxied:true` bei MX | MX MUSS `proxied:false` sein |
| `Could not route to ...` | Zone-ID falsch | `GET /zones` für korrekte ID |