Skip to content
cccskills
FreePublished on GitHub

ls-public-https-origins

Migrates HTTP network clients to public DNS and verified HTTPS, with protected Unix socket origins and bounded TLS passthrough for isolated containers. Use when local clients bypass TLS, origins expose plaintext ports, or HTTP proxies break public endpoint compatibility.

The English summary is being prepared. Showing the original description.

See how to install

Files included (10)

  • SKILL.md4.9 KB
  • assets/socket-bridge.path.in153 B
  • assets/socket-bridge.service.in325 B
  • assets/socket.json.example132 B
  • LICENSE1.0 KB
  • references/compatibility.md1.7 KB
  • references/migration.md5.4 KB
  • scripts/public_https.py2.0 KB
  • scripts/socket_bridge.py3.0 KB
  • scripts/tls_gateway.py6.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Public HTTPS and protected origins

Purpose: Preserve one public HTTPS identity from local and remote clients, including S3 signatures, while removing plaintext HTTP network hops.

Scope and prerequisites

Use for transport migration after the application works. This complements service-specific administration; it does not own mail account resets, DNS zone administration, secrets management, or a blanket server hardening exercise. Read the migration notes only for the selected path. Scripts use Python's standard library and run without LocalSetup or Envman. Use the host's existing secret manager and privileged terminal workflow when present. Existing task authorization covers ordinary reversible steps.

Workflow

  1. Observe once. Identify the actual service owner, configured client URLs, listeners, proxy headers, certificates, container routes and proxy variables. Record only secret-free facts in durable documentation; keep raw evidence in ignored private state. Never dump container environments or credentials.
  2. Choose the minimum change. Every HTTP network client uses a public DNS HTTPS URL with certificate and hostname verification. Prefer native TLS. Where unavailable, put the origin on a protected Unix socket behind the TLS frontend. HTTP messages over local IPC are not a plaintext TCP origin.
  3. Preserve recovery. Capture the exact owning configuration and required consistent data with the host's maintained encrypted backup workflow before overwriting it. Preserve images, volumes, users, ownership and unrelated work. Identify the stop condition and recovery action before activation.
  4. Prepare and apply. Update client endpoints, public Host/SNI identity, health checks and SDK path style. Remove plaintext port publications and proxy inheritance. Use existing TLS ingress and service instances. Render only parameters, never embed credentials. For isolated outbound clients use the optional gateway below; for local socket exposure use the socket helper.
  5. Verify the real path. From both host and actual client namespace, check CA/hostname verification, authenticated application access and an object digest. Inspect effective listeners, generated unit arguments, environment variable names, routes and socket permissions. Confirm that service restart recreates and republishes its socket. Reuse evidence for unchanged layers.
  6. Finish. Update owning documentation and record limits. Keep buckets private unless public access is requested. Use verified, expiring HTTPS downloads for authorized private artifacts. Never roll back silently to HTTP.

Included tools

Resolve paths relative to this skill directory; run --help before invocation.

  • python3 scripts/public_https.py https://storage.example.com validates the endpoint form. It does not perform DNS or TLS verification; actual requests must use the platform default CA store and verify the public hostname.
  • python3 scripts/tls_gateway.py --allow-host storage.example.com --listen 10.66.0.2 --source-cidr 10.66.0.0/24 relays bounded TLS records to public IPv4 port 443 after exact SNI and source-subnet checks. Clients retain certificate verification. It is not an HTTP CONNECT proxy and holds no keys.
  • python3 scripts/socket_bridge.py --config /etc/origins/storage.json requires root and a root-owned private config. The source socket and proxy data directory must share a filesystem. See the example and systemd templates in assets/. Prefer native shared socket mounts when available.

Fail closed

Reject IP URL literals, local-only hostnames, non-HTTPS URLs, URL credentials, non-443 endpoints and TLS verification bypasses. Do not print signed query strings. A gateway is a transport allowlist, not a replacement for application authentication or origin authorization. Encrypted ClientHello without visible approved SNI is unsupported and rejected; do not add a plaintext fallback.

Portability

The skill format follows Agent Skills. Linux root, systemd and a compatible reverse proxy are required only for the optional socket bridge deployment. The gateway requires Python 3.12+, public DNS and allowed public IPv4 egress. No installation, listener, service restart, key creation or remote write occurs merely from loading this skill. See the release-specific integration record in compatibility.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Guide accessibility reviews for UI, documents, and workflows. Use for WCAG-oriented audits, keyboard review, semantics, contrast, and remediation planning.

The English summary is being prepared. Showing the original description.

CruxExperts/LocalSetup6Updated Oct 21, 2026

Use when choosing a LocalSetup Agent-* lane for exploration, research, bounded implementation, or review. Consult the static capability matrix; do not probe account or network availability.

The English summary is being prepared. Showing the original description.

CruxExperts/LocalSetup6Updated Oct 21, 2026

Guide agent email inbox workflows with prompt-injection defenses. Use for inbound email processing, webhooks, routing, and safety review.

The English summary is being prepared. Showing the original description.

CruxExperts/LocalSetup6Updated Oct 21, 2026

Navigate and understand codebases using agentlens hierarchical documentation. Use when exploring new projects, finding modules, locating symbols in large files, finding TODOs/warnings, or understanding code structure.

The English summary is being prepared. Showing the original description.

CruxExperts/LocalSetup6Updated Oct 21, 2026

Use for Agent Q signed encrypted file-drop or mail ship and ingest, private registry v2 setup, queue status, and transport maintenance.

The English summary is being prepared. Showing the original description.

CruxExperts/LocalSetup6Updated Oct 21, 2026

Inventory wrapper for the alirezarezvani Claude skills bundle. Use when triaging its broad skill catalog and large script surface before any targeted import.

The English summary is being prepared. Showing the original description.

CruxExperts/LocalSetup6Updated Oct 21, 2026

See all skills by CruxExperts

Report a problem with this skill