feat(tlsfp): add social-share OG image and one-command tunnel redeploy

- add 1200x630 og-image.jpg plus Open Graph and Twitter Card meta tags so
  the live demo renders a rich preview when shared (LinkedIn, etc.)
- omit og:url to avoid crawler cache canonicalizing share URLs back to a
  stale entry
- justfile: add redeploy recipe (tunnel down, cached build, up -d with the
  backend profile and remove-orphans); strip the exported dev .env overrides
  so it deploys under the prod project name and ports
- install.sh: clearer live-capture hint (setcap, then run without sudo)
This commit is contained in:
CarterPerez-dev 2026-06-18 23:24:30 -04:00
parent 5ba13d42fd
commit ab22c3b1b8
4 changed files with 71 additions and 2 deletions

View File

@ -31,12 +31,72 @@
<title>MKUtra Valedictorian</title>
<meta
name="description"
content="*Cracked*"
content="raul"
/>
<meta
name="author"
content=" ©AngelaMos | 2026 | CarterPerez-dev"
/>
<meta
property="og:type"
content="website"
/>
<meta
property="og:site_name"
content="MKUtra Valedictorian"
/>
<meta
property="og:title"
content="MKUtra Valedictorian"
/>
<meta
property="og:description"
content="raul"
/>
<meta
property="og:image"
content="https://mkultraalumni.com/assets/og-image.jpg"
/>
<meta
property="og:image:secure_url"
content="https://mkultraalumni.com/assets/og-image.jpg"
/>
<meta
property="og:image:type"
content="image/jpeg"
/>
<meta
property="og:image:width"
content="1200"
/>
<meta
property="og:image:height"
content="630"
/>
<meta
property="og:image:alt"
content="raul"
/>
<meta
name="twitter:card"
content="summary_large_image"
/>
<meta
name="twitter:title"
content="MKUtra Valedictorian"
/>
<meta
name="twitter:description"
content="raul"
/>
<meta
name="twitter:image"
content="https://mkultraalumni.com/assets/og-image.jpg"
/>
<meta
name="twitter:image:alt"
content="raul"
/>
</head>
<body>
<div id="root"></div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -322,6 +322,9 @@ cat >&2 <<FOOTER
${DIM}inspect the intel db:${RESET} ${CYAN}${BINARY} intel stats${RESET}
${DIM}look one up:${RESET} ${CYAN}${BINARY} intel lookup ja3 <hash>${RESET}
FOOTER
[ "$DO_LIVE" -eq 0 ] && printf '%s\n' " ${DIM}live capture needs caps:${RESET} re-run with ${CYAN}--live${RESET}, or use sudo" >&2
if [ "$DO_LIVE" -eq 0 ]; then
printf '%s\n' " ${DIM}live capture needs caps (then NO sudo):${RESET} re-run ${CYAN}install.sh --live${RESET}" >&2
printf '%s\n' " ${DIM}or grant now:${RESET} ${CYAN}sudo setcap cap_net_raw,cap_net_admin=eip \"\$(command -v tlsfp)\"${RESET}" >&2
fi
have just && [ -f "$PROJECT/justfile" ] && printf '%s\n' " ${DIM}dev commands:${RESET} ${CYAN}just${RESET}" >&2
printf '%s\n' " ${DIM}docs: https://github.com/${REPO_OWNER}/${REPO_NAME}${RESET}" >&2

View File

@ -115,6 +115,12 @@ ps:
# Docker Compose (Production + Cloudflare Tunnel)
# =============================================================================
[group('tunnel')]
redeploy:
env -u APP_NAME -u VITE_APP_TITLE -u VITE_API_URL -u VITE_API_TARGET -u NGINX_HOST_PORT -u FRONTEND_HOST_PORT -u RUST_LOG -u COMPOSE_PROFILES docker compose --env-file .env -f compose.yml -f cloudflared.compose.yml --profile backend down --remove-orphans
env -u APP_NAME -u VITE_APP_TITLE -u VITE_API_URL -u VITE_API_TARGET -u NGINX_HOST_PORT -u FRONTEND_HOST_PORT -u RUST_LOG -u COMPOSE_PROFILES docker compose --env-file .env -f compose.yml -f cloudflared.compose.yml --profile backend build
env -u APP_NAME -u VITE_APP_TITLE -u VITE_API_URL -u VITE_API_TARGET -u NGINX_HOST_PORT -u FRONTEND_HOST_PORT -u RUST_LOG -u COMPOSE_PROFILES docker compose --env-file .env -f compose.yml -f cloudflared.compose.yml --profile backend up -d --remove-orphans
[group('tunnel')]
tunnel-up *ARGS:
docker compose --env-file .env -f compose.yml -f cloudflared.compose.yml up {{ARGS}}