Skip to content
Back to skills

Ls Public Https Origins

ASecurity

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.

  • 6 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentspythonfrontenddocumentation

Works with

  • terminal
  • cli

Security analysis

A100/100

Pro scans all 10 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add CruxExperts/LocalSetup --skill ls-public-https-origins --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ls Public Https Origins?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ls Public Https Origins
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cruxexperts-ls-public-https-origins/badge)](https://www.skillsdirectory.com/skills/cruxexperts-ls-public-https-origins)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ls-public-https-origins
description: "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."
license: MIT
compatibility: "Python 3.12+; Linux for Unix socket publication. Service changes require the owning administrator. LocalSetup is optional."
metadata:
  version: "1.0"
---

# 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](references/migration.md) 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](references/compatibility.md).

Files in this skill

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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.