← back to Parked Landers
All 8 landers: real flux images swapped in (0 placeholders)
5283034926ee819ba6d1fa332183bdb9b600c895 · 2026-09-09 13:03:48 -0700 · Steve
Files touched
A check.shM deploy-remote.shA deploy.shA diag.shA fix-remote.shA fix.shA fix2-remote.shA fix2.shA sites/hempofthemonthclub.com/img/03.jpgA sites/hempofthemonthclub.com/img/04.jpgA sites/hempofthemonthclub.com/img/05.jpgA sites/hempofthemonthclub.com/img/06.jpgM sites/hempofthemonthclub.com/index.htmlA sites/hospitalitysalesrepresentatives.com/img/01.jpgA sites/hospitalitysalesrepresentatives.com/img/02.jpgA sites/hospitalitysalesrepresentatives.com/img/03.jpgA sites/hospitalitysalesrepresentatives.com/img/04.jpgA sites/hospitalitysalesrepresentatives.com/img/05.jpgA sites/hospitalitysalesrepresentatives.com/img/06.jpgM sites/hospitalitysalesrepresentatives.com/index.htmlA sites/marijuanaofthemonthclub.com/img/01.jpgA sites/marijuanaofthemonthclub.com/img/02.jpgA sites/marijuanaofthemonthclub.com/img/03.jpgA sites/marijuanaofthemonthclub.com/img/04.jpgA sites/marijuanaofthemonthclub.com/img/05.jpgA sites/marijuanaofthemonthclub.com/img/06.jpgM sites/marijuanaofthemonthclub.com/index.htmlA sites/mymemosamples.com/img/02.jpgA sites/mymemosamples.com/img/03.jpgA sites/mymemosamples.com/img/04.jpgA sites/mymemosamples.com/img/05.jpgA sites/mymemosamples.com/img/06.jpgM sites/mymemosamples.com/index.htmlA sites/potofthemonthclub.com/img/01.jpgA sites/potofthemonthclub.com/img/02.jpgA sites/potofthemonthclub.com/img/03.jpgA sites/potofthemonthclub.com/img/04.jpgA sites/potofthemonthclub.com/img/05.jpgA sites/potofthemonthclub.com/img/06.jpgM sites/potofthemonthclub.com/index.htmlA sites/weedofthemonthclub.com/img/01.jpgA sites/weedofthemonthclub.com/img/02.jpgA sites/weedofthemonthclub.com/img/03.jpgA sites/weedofthemonthclub.com/img/04.jpgA sites/weedofthemonthclub.com/img/05.jpgA sites/weedofthemonthclub.com/img/06.jpgM sites/weedofthemonthclub.com/index.htmlA status.sh
Diff
commit 5283034926ee819ba6d1fa332183bdb9b600c895
Author: Steve <steve@designerwallcoverings.com>
Date: Wed Sep 9 13:03:48 2026 -0700
All 8 landers: real flux images swapped in (0 placeholders)
---
check.sh | 13 ++++
deploy-remote.sh | 0
deploy.sh | 14 ++++
diag.sh | 22 ++++++
fix-remote.sh | 58 +++++++++++++++
fix.sh | 8 +++
fix2-remote.sh | 80 +++++++++++++++++++++
fix2.sh | 7 ++
sites/hempofthemonthclub.com/img/03.jpg | Bin 0 -> 106005 bytes
sites/hempofthemonthclub.com/img/04.jpg | Bin 0 -> 96194 bytes
sites/hempofthemonthclub.com/img/05.jpg | Bin 0 -> 113143 bytes
sites/hempofthemonthclub.com/img/06.jpg | Bin 0 -> 207611 bytes
sites/hempofthemonthclub.com/index.html | 4 +-
.../hospitalitysalesrepresentatives.com/img/01.jpg | Bin 0 -> 219903 bytes
.../hospitalitysalesrepresentatives.com/img/02.jpg | Bin 0 -> 205651 bytes
.../hospitalitysalesrepresentatives.com/img/03.jpg | Bin 0 -> 211544 bytes
.../hospitalitysalesrepresentatives.com/img/04.jpg | Bin 0 -> 247451 bytes
.../hospitalitysalesrepresentatives.com/img/05.jpg | Bin 0 -> 225526 bytes
.../hospitalitysalesrepresentatives.com/img/06.jpg | Bin 0 -> 222091 bytes
.../hospitalitysalesrepresentatives.com/index.html | 4 +-
sites/marijuanaofthemonthclub.com/img/01.jpg | Bin 0 -> 127181 bytes
sites/marijuanaofthemonthclub.com/img/02.jpg | Bin 0 -> 257977 bytes
sites/marijuanaofthemonthclub.com/img/03.jpg | Bin 0 -> 88667 bytes
sites/marijuanaofthemonthclub.com/img/04.jpg | Bin 0 -> 69169 bytes
sites/marijuanaofthemonthclub.com/img/05.jpg | Bin 0 -> 138267 bytes
sites/marijuanaofthemonthclub.com/img/06.jpg | Bin 0 -> 225931 bytes
sites/marijuanaofthemonthclub.com/index.html | 4 +-
sites/mymemosamples.com/img/02.jpg | Bin 0 -> 162206 bytes
sites/mymemosamples.com/img/03.jpg | Bin 0 -> 320536 bytes
sites/mymemosamples.com/img/04.jpg | Bin 0 -> 164603 bytes
sites/mymemosamples.com/img/05.jpg | Bin 0 -> 478013 bytes
sites/mymemosamples.com/img/06.jpg | Bin 0 -> 142702 bytes
sites/mymemosamples.com/index.html | 4 +-
sites/potofthemonthclub.com/img/01.jpg | Bin 0 -> 139709 bytes
sites/potofthemonthclub.com/img/02.jpg | Bin 0 -> 314049 bytes
sites/potofthemonthclub.com/img/03.jpg | Bin 0 -> 186276 bytes
sites/potofthemonthclub.com/img/04.jpg | Bin 0 -> 208293 bytes
sites/potofthemonthclub.com/img/05.jpg | Bin 0 -> 124409 bytes
sites/potofthemonthclub.com/img/06.jpg | Bin 0 -> 191303 bytes
sites/potofthemonthclub.com/index.html | 4 +-
sites/weedofthemonthclub.com/img/01.jpg | Bin 0 -> 151171 bytes
sites/weedofthemonthclub.com/img/02.jpg | Bin 0 -> 268219 bytes
sites/weedofthemonthclub.com/img/03.jpg | Bin 0 -> 55223 bytes
sites/weedofthemonthclub.com/img/04.jpg | Bin 0 -> 183809 bytes
sites/weedofthemonthclub.com/img/05.jpg | Bin 0 -> 124342 bytes
sites/weedofthemonthclub.com/img/06.jpg | Bin 0 -> 125738 bytes
sites/weedofthemonthclub.com/index.html | 4 +-
status.sh | 19 +++++
48 files changed, 233 insertions(+), 12 deletions(-)
diff --git a/check.sh b/check.sh
new file mode 100755
index 0000000..95b13d7
--- /dev/null
+++ b/check.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+# Runs ON Mac2 (Steve: `! ~/pl-check.sh`). Final all-8 verify (strict TLS: https=200 => cert valid).
+ssh root@45.61.58.125 'bash -s' <<"REOF"
+DOMS="protectyourspec.com cannabisofthemonthclub.com hempofthemonthclub.com marijuanaofthemonthclub.com potofthemonthclub.com weedofthemonthclub.com mymemosamples.com hospitalitysalesrepresentatives.com"
+echo "=== FINAL VERIFY (https=200 with strict TLS => valid cert; OUR-LANDER => your page) ==="
+for d in $DOMS; do
+ h=$(curl -s -m10 -o /dev/null -w "%{http_code}" "http://$d/" 2>/dev/null)
+ s=$(curl -s -m10 -o /dev/null -w "%{http_code}" "https://$d/" 2>/dev/null)
+ ours=$(curl -s -m10 "https://$d/" 2>/dev/null | grep -qi "curated domain portfolio" && echo "OUR-LANDER" || echo "other")
+ subj=$(echo | openssl s_client -servername "$d" -connect "$d":443 2>/dev/null | openssl x509 -noout -subject 2>/dev/null | sed -E "s/.*CN ?= ?//")
+ printf " %-38s http=%s https=%s %-11s cert=%s\n" "$d" "$h" "$s" "$ours" "$subj"
+done
+REOF
diff --git a/deploy-remote.sh b/deploy-remote.sh
old mode 100644
new mode 100755
diff --git a/deploy.sh b/deploy.sh
new file mode 100755
index 0000000..30c8ff2
--- /dev/null
+++ b/deploy.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+# Runs ON Mac2 (Steve: `! bash ~/Projects/parked-landers/deploy.sh`). Returns FAST.
+# rsync sites up, push the remote script, launch it DETACHED on Kamatera (so 8 cert issuances
+# don't block past the 2-min `!` limit). Then run status.sh to see the result.
+K="root@45.61.58.125"
+echo "[1/3] rsync landers -> Kamatera…"
+rsync -az "$HOME/Projects/parked-landers/sites/" "$K:/var/www/parked-landers/" && echo " rsync ok" || { echo " rsync FAILED"; exit 1; }
+echo "[2/3] push remote script…"
+scp -q "$HOME/Projects/parked-landers/deploy-remote.sh" "$K:/tmp/deploy-remote.sh" && echo " scp ok" || { echo " scp FAILED"; exit 1; }
+echo "[3/3] launch remote (vhost+certbot+verify) DETACHED…"
+ssh "$K" 'nohup bash /tmp/deploy-remote.sh > /tmp/deploy-remote.log 2>&1 & echo " launched pid=$!"'
+echo
+echo "Running in background on Kamatera (~1-2 min for 8 certs)."
+echo "Check it with: ! bash ~/Projects/parked-landers/status.sh"
diff --git a/diag.sh b/diag.sh
new file mode 100755
index 0000000..725c62f
--- /dev/null
+++ b/diag.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+# Runs ON Mac2 (Steve: `! bash ~/Projects/parked-landers/diag.sh`). READ-ONLY diagnosis.
+ssh root@45.61.58.125 'bash -s' <<"REOF"
+DOMS="protectyourspec.com cannabisofthemonthclub.com hempofthemonthclub.com marijuanaofthemonthclub.com potofthemonthclub.com weedofthemonthclub.com mymemosamples.com hospitalitysalesrepresentatives.com"
+echo "=== every /etc/nginx file that names each domain (file:line) ==="
+for d in $DOMS; do
+ echo "--- $d ---"
+ grep -rn "$d" /etc/nginx 2>/dev/null | grep -i "server_name"
+done
+echo
+echo "=== our parked confs in sites-enabled ==="
+ls -la /etc/nginx/sites-enabled/ | grep -iE "protectyourspec|cannabis|hemp|marijuana|potofthe|weedofthe|mymemo|hospitalitysales" || echo "(none found — our confs missing?)"
+echo
+echo "=== certbot result lines from the deploy run ==="
+grep -E "cert ok|certbot FAILED" /tmp/deploy-remote.log 2>/dev/null || echo "(no cert lines in log)"
+echo
+echo "=== last Let's Encrypt errors (rate limit / challenge fails?) ==="
+grep -iE "error|too many|rate limit|no valid|failed" /var/log/letsencrypt/letsencrypt.log 2>/dev/null | tail -10 || echo "(no letsencrypt log)"
+echo
+echo "=== what serves protectyourspec.com right now (root dir of winning block) ==="
+grep -rn -A8 "server_name[^;]*protectyourspec" /etc/nginx 2>/dev/null | grep -iE "root|server_name|listen" | head -12
+REOF
diff --git a/fix-remote.sh b/fix-remote.sh
new file mode 100755
index 0000000..6db9ec4
--- /dev/null
+++ b/fix-remote.sh
@@ -0,0 +1,58 @@
+#!/bin/bash
+# Runs ON Kamatera. Removes the 8 target domains from the dl-batch multi-domain vhosts + disables
+# duplicate hospitalitysales blocks so the per-domain landers win, then issues correct certs.
+# SAFE: backs up every touched file; if `nginx -t` fails after edits, RESTORES and aborts (no reload).
+set -u
+TS=$(date +%s)
+BAK="/root/nginx-bak-$TS"
+mkdir -p "$BAK"
+cd /etc/nginx/sites-available || exit 1
+DOMS="protectyourspec.com cannabisofthemonthclub.com hempofthemonthclub.com marijuanaofthemonthclub.com potofthemonthclub.com weedofthemonthclub.com mymemosamples.com hospitalitysalesrepresentatives.com"
+BATCH="dl-batch-1.conf dl-batch-2.conf dl-batch-3.conf dl-batch-4.conf"
+
+echo "=== [1] backup ==="
+for f in $BATCH; do [ -f "$f" ] && cp -a "$f" "$BAK/" && echo " bak $f"; done
+cp -a /etc/nginx/sites-enabled "$BAK/sites-enabled-snapshot" 2>/dev/null
+ls -la /etc/nginx/sites-enabled > "$BAK/sites-enabled.list"
+
+echo "=== [2] strip the 8 domains from dl-batch server_name lines (perl, boundary-safe) ==="
+for f in $BATCH; do
+ [ -f "$f" ] || continue
+ for d in $DOMS; do
+ d="$d" perl -i -pe 's/\s+\Q$ENV{d}\E(?=[\s;])//g' "$f"
+ done
+done
+
+echo "=== [3] disable duplicate hospitalitysales blocks (keep only our .conf) ==="
+rm -f /etc/nginx/sites-enabled/hospitalitysalesrepresentatives.com
+rm -f /etc/nginx/sites-enabled/gap-hospitalitysalesrepresentatives-com.conf
+
+echo "=== [4] nginx -t (auto-restore if bad) ==="
+if ! nginx -t 2>&1; then
+ echo "!! nginx -t FAILED — RESTORING backups, no reload"
+ for f in $BATCH; do [ -f "$BAK/$f" ] && cp -a "$BAK/$f" /etc/nginx/sites-available/; done
+ ln -sf /etc/nginx/sites-available/hospitalitysalesrepresentatives.com /etc/nginx/sites-enabled/ 2>/dev/null
+ ln -sf /etc/nginx/sites-available/gap-hospitalitysalesrepresentatives-com.conf /etc/nginx/sites-enabled/ 2>/dev/null
+ nginx -t && systemctl reload nginx
+ echo "RESTORED. Backup kept at $BAK. ABORTED."
+ exit 1
+fi
+systemctl reload nginx
+echo " reloaded ok"
+
+echo "=== [5] certbot for the 8 (challenge now reaches our block) ==="
+for d in $DOMS; do
+ certbot --nginx --non-interactive --agree-tos -m info@designerwallcoverings.com --redirect -d "$d" -d "www.$d" >/dev/null 2>&1 \
+ && echo " cert ok: $d" || echo " certbot FAILED: $d (maybe LE hourly limit from earlier fails — retry later)"
+done
+nginx -t && systemctl reload nginx
+
+echo "=== [6] VERIFY ==="
+for d in $DOMS; do
+ code=$(curl -s -m10 -o /dev/null -w "%{http_code}" "https://$d/" 2>/dev/null)
+ ours=$(curl -s -m10 "https://$d/" 2>/dev/null | grep -qi "curated domain portfolio" && echo "OUR-LANDER" || echo "old-page")
+ subj=$(echo | openssl s_client -servername "$d" -connect "$d":443 2>/dev/null | openssl x509 -noout -subject 2>/dev/null | sed -E "s/.*CN ?= ?//")
+ printf " %-38s %s %-11s cert=%s\n" "$d" "$code" "$ours" "$subj"
+done
+echo "BACKUP at $BAK (rollback: cp \$BAK/dl-batch-*.conf /etc/nginx/sites-available/ ; restore symlinks ; nginx -t && systemctl reload nginx)"
+echo "FIX DONE"
diff --git a/fix.sh b/fix.sh
new file mode 100755
index 0000000..b9b869d
--- /dev/null
+++ b/fix.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+# Runs ON Mac2 (Steve: `! bash ~/Projects/parked-landers/fix.sh`). Returns fast.
+# Pushes fix-remote.sh and runs it DETACHED on Kamatera. Check with status.sh.
+K="root@45.61.58.125"
+scp -q "$HOME/Projects/parked-landers/fix-remote.sh" "$K:/tmp/fix-remote.sh" && echo "scp ok" || { echo "scp FAILED"; exit 1; }
+ssh "$K" 'nohup bash /tmp/fix-remote.sh > /tmp/deploy-remote.log 2>&1 & echo "launched fix pid=$!"'
+echo
+echo "Running on Kamatera (~1-2 min). Check with: ! bash ~/Projects/parked-landers/status.sh"
diff --git a/fix2-remote.sh b/fix2-remote.sh
new file mode 100755
index 0000000..d85a53a
--- /dev/null
+++ b/fix2-remote.sh
@@ -0,0 +1,80 @@
+#!/bin/bash
+# Runs ON Kamatera. Rebind our 8 confs to the specific IP (45.61.58.125) + webroot ACME,
+# self-test the challenge path, then issue certs (webroot) + add :443. Touches only OUR confs.
+set -u
+IP="45.61.58.125"
+TS=$(date +%s); BAK="/root/nginx-bak2-$TS"; mkdir -p "$BAK"
+DOMS="protectyourspec.com cannabisofthemonthclub.com hempofthemonthclub.com marijuanaofthemonthclub.com potofthemonthclub.com weedofthemonthclub.com mymemosamples.com hospitalitysalesrepresentatives.com"
+cd /etc/nginx/sites-available || exit 1
+
+echo "=== [1] backup our confs -> $BAK ==="
+for d in $DOMS; do [ -f "$d.conf" ] && cp -a "$d.conf" "$BAK/"; done
+
+echo "=== [2] rewrite each conf: IP-bound :80 + acme webroot ==="
+for d in $DOMS; do
+ cat > "$d.conf" <<CONF
+server {
+ listen $IP:80;
+ server_name $d www.$d;
+ root /var/www/parked-landers/$d;
+ index index.html;
+ location ^~ /.well-known/acme-challenge/ { root /var/www/certbot; default_type "text/plain"; }
+ location / { try_files \$uri \$uri/ /index.html; }
+}
+CONF
+done
+if ! nginx -t 2>&1; then
+ echo "!! nginx -t FAILED — restoring our confs"; for d in $DOMS; do [ -f "$BAK/$d.conf" ] && cp -a "$BAK/$d.conf" ./; done
+ nginx -t && systemctl reload nginx; echo "RESTORED. ABORT."; exit 1
+fi
+systemctl reload nginx; echo " reloaded"
+
+echo "=== [3] ACME self-test (prove path before spending LE attempts) ==="
+mkdir -p /var/www/certbot/.well-known/acme-challenge
+TOK="probe-$TS"; echo "$TOK" > /var/www/certbot/.well-known/acme-challenge/$TOK
+OK=""
+for d in $DOMS; do
+ r=$(curl -s -m10 "http://$d/.well-known/acme-challenge/$TOK" 2>/dev/null)
+ w=$(curl -s -m10 "http://www.$d/.well-known/acme-challenge/$TOK" 2>/dev/null)
+ if [ "$r" = "$TOK" ] && [ "$w" = "$TOK" ]; then echo " probe OK: $d (+www)"; OK="$OK $d"
+ else echo " probe FAIL: $d (apex='${r:0:20}' www='${w:0:20}')"; fi
+done
+rm -f /var/www/certbot/.well-known/acme-challenge/$TOK
+
+echo "=== [4] certbot (webroot) for probe-OK domains only ==="
+for d in $OK; do
+ certbot certonly --webroot -w /var/www/certbot --non-interactive --agree-tos -m info@designerwallcoverings.com -d "$d" -d "www.$d" >/dev/null 2>&1 \
+ && echo " cert ok: $d" || echo " cert FAILED: $d (LE hourly limit? retry in ~1h)"
+done
+
+echo "=== [5] add :443 block for domains that now have a cert ==="
+for d in $DOMS; do
+ if [ -f "/etc/letsencrypt/live/$d/fullchain.pem" ] && ! grep -q "$IP:443" "$d.conf"; then
+ cat >> "$d.conf" <<CONF
+
+server {
+ listen $IP:443 ssl http2;
+ server_name $d www.$d;
+ root /var/www/parked-landers/$d;
+ index index.html;
+ ssl_certificate /etc/letsencrypt/live/$d/fullchain.pem;
+ ssl_certificate_key /etc/letsencrypt/live/$d/privkey.pem;
+ location / { try_files \$uri \$uri/ /index.html; }
+}
+CONF
+ echo " :443 added: $d"
+ fi
+done
+if ! nginx -t 2>&1; then echo "!! nginx -t failed after :443 add — restoring"; for d in $DOMS; do [ -f "$BAK/$d.conf" ] && cp -a "$BAK/$d.conf" ./; done; nginx -t && systemctl reload nginx; echo "RESTORED"; exit 1; fi
+systemctl reload nginx
+
+echo "=== [6] VERIFY ==="
+for d in $DOMS; do
+ h=$(curl -s -m10 -o /dev/null -w "%{http_code}" "http://$d/" 2>/dev/null)
+ s=$(curl -sk -m10 -o /dev/null -w "%{http_code}" "https://$d/" 2>/dev/null)
+ ours=$(curl -s -m10 "http://$d/" 2>/dev/null | grep -qi "curated domain portfolio" && echo "OUR-LANDER" || echo "other")
+ subj=$(echo | openssl s_client -servername "$d" -connect "$d":443 2>/dev/null | openssl x509 -noout -subject 2>/dev/null | sed -E "s/.*CN ?= ?//")
+ printf " %-38s http=%s https=%s %-10s cert=%s\n" "$d" "$h" "$s" "$ours" "$subj"
+done
+echo "BACKUP2 at $BAK"
+echo "FIX2 DONE"
diff --git a/fix2.sh b/fix2.sh
new file mode 100755
index 0000000..1cf85b6
--- /dev/null
+++ b/fix2.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+# Runs ON Mac2 (Steve: `! ~/pl-fix2.sh`). Push fix2-remote.sh + run it detached; log to /tmp/fix2.log.
+K="root@45.61.58.125"
+scp -q "$HOME/Projects/parked-landers/fix2-remote.sh" "$K:/tmp/fix2-remote.sh" && echo "scp ok" || { echo "scp FAILED"; exit 1; }
+ssh "$K" 'nohup bash /tmp/fix2-remote.sh > /tmp/fix2.log 2>&1 & echo "launched fix2 pid=$!"'
+echo
+echo "Running on Kamatera (~1-2 min). Check with: ! ~/pl-check.sh"
diff --git a/sites/hempofthemonthclub.com/img/03.jpg b/sites/hempofthemonthclub.com/img/03.jpg
new file mode 100644
index 0000000..c6b5d9f
Binary files /dev/null and b/sites/hempofthemonthclub.com/img/03.jpg differ
diff --git a/sites/hempofthemonthclub.com/img/04.jpg b/sites/hempofthemonthclub.com/img/04.jpg
new file mode 100644
index 0000000..9f4d7c4
Binary files /dev/null and b/sites/hempofthemonthclub.com/img/04.jpg differ
diff --git a/sites/hempofthemonthclub.com/img/05.jpg b/sites/hempofthemonthclub.com/img/05.jpg
new file mode 100644
index 0000000..4e63a1b
Binary files /dev/null and b/sites/hempofthemonthclub.com/img/05.jpg differ
diff --git a/sites/hempofthemonthclub.com/img/06.jpg b/sites/hempofthemonthclub.com/img/06.jpg
new file mode 100644
index 0000000..e30bf3d
Binary files /dev/null and b/sites/hempofthemonthclub.com/img/06.jpg differ
diff --git a/sites/hempofthemonthclub.com/index.html b/sites/hempofthemonthclub.com/index.html
index e95a729..2e1efed 100644
--- a/sites/hempofthemonthclub.com/index.html
+++ b/sites/hempofthemonthclub.com/index.html
@@ -83,8 +83,8 @@ h1{font-family:var(--disp);font-weight:600;font-size:clamp(38px,7vw,68px);line-h
<a class="cta" href="mailto:info@designerwallcoverings.com?subject=Domain%20inquiry%3A%20hempofthemonthclub.com">Make an offer →</a>
<a class="ghost" href="#gallery">Learn more</a>
</div>
- <div class="galhead"><h2>Gallery</h2><span class="n">6 images · placeholders — swap real assets before launch</span></div>
- <div class="gallery" id="gallery"><div class="tile"><img src="img/01.jpg" alt="hempofthemonthclub.com — image 01" loading="lazy"></div><div class="tile"><img src="img/02.jpg" alt="hempofthemonthclub.com — image 02" loading="lazy"></div><div class="tile"><span class="ph">Placeholder 03</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 04</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 05</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 06</span><span class="lbl">1600 × 1200 · swap real image</span></div></div>
+ <div class="galhead"><h2>Gallery</h2><span class="n">6 images</span></div>
+ <div class="gallery" id="gallery"><div class="tile"><img src="img/01.jpg" alt="hempofthemonthclub.com — image 01" loading="lazy"></div><div class="tile"><img src="img/02.jpg" alt="hempofthemonthclub.com — image 02" loading="lazy"></div><div class="tile"><img src="img/03.jpg" alt="hempofthemonthclub.com — image 03" loading="lazy"></div><div class="tile"><img src="img/04.jpg" alt="hempofthemonthclub.com — image 04" loading="lazy"></div><div class="tile"><img src="img/05.jpg" alt="hempofthemonthclub.com — image 05" loading="lazy"></div><div class="tile"><img src="img/06.jpg" alt="hempofthemonthclub.com — image 06" loading="lazy"></div></div>
<div class="about"><span class="k">About this domain</span><p><b>hempofthemonthclub.com</b> — A clean subscription-commerce name for the hemp and CBD category.</p></div>
<div class="foot"><span>Part of a curated domain portfolio · inquiries welcome</span><span class="dom">hempofthemonthclub.com</span></div>
</main>
diff --git a/sites/hospitalitysalesrepresentatives.com/img/01.jpg b/sites/hospitalitysalesrepresentatives.com/img/01.jpg
new file mode 100644
index 0000000..c887e7e
Binary files /dev/null and b/sites/hospitalitysalesrepresentatives.com/img/01.jpg differ
diff --git a/sites/hospitalitysalesrepresentatives.com/img/02.jpg b/sites/hospitalitysalesrepresentatives.com/img/02.jpg
new file mode 100644
index 0000000..b36fce2
Binary files /dev/null and b/sites/hospitalitysalesrepresentatives.com/img/02.jpg differ
diff --git a/sites/hospitalitysalesrepresentatives.com/img/03.jpg b/sites/hospitalitysalesrepresentatives.com/img/03.jpg
new file mode 100644
index 0000000..538adc5
Binary files /dev/null and b/sites/hospitalitysalesrepresentatives.com/img/03.jpg differ
diff --git a/sites/hospitalitysalesrepresentatives.com/img/04.jpg b/sites/hospitalitysalesrepresentatives.com/img/04.jpg
new file mode 100644
index 0000000..324fcc0
Binary files /dev/null and b/sites/hospitalitysalesrepresentatives.com/img/04.jpg differ
diff --git a/sites/hospitalitysalesrepresentatives.com/img/05.jpg b/sites/hospitalitysalesrepresentatives.com/img/05.jpg
new file mode 100644
index 0000000..6fde8e8
Binary files /dev/null and b/sites/hospitalitysalesrepresentatives.com/img/05.jpg differ
diff --git a/sites/hospitalitysalesrepresentatives.com/img/06.jpg b/sites/hospitalitysalesrepresentatives.com/img/06.jpg
new file mode 100644
index 0000000..1c2298e
Binary files /dev/null and b/sites/hospitalitysalesrepresentatives.com/img/06.jpg differ
diff --git a/sites/hospitalitysalesrepresentatives.com/index.html b/sites/hospitalitysalesrepresentatives.com/index.html
index 5c6bf87..5af15f0 100644
--- a/sites/hospitalitysalesrepresentatives.com/index.html
+++ b/sites/hospitalitysalesrepresentatives.com/index.html
@@ -83,8 +83,8 @@ h1{font-family:var(--disp);font-weight:600;font-size:clamp(38px,7vw,68px);line-h
<a class="cta" href="mailto:info@designerwallcoverings.com?subject=Domain%20inquiry%3A%20hospitalitysalesrepresentatives.com">Make an offer →</a>
<a class="ghost" href="#gallery">Learn more</a>
</div>
- <div class="galhead"><h2>Gallery</h2><span class="n">6 images · placeholders — swap real assets before launch</span></div>
- <div class="gallery" id="gallery"><div class="tile"><span class="ph">Placeholder 01</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 02</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 03</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 04</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 05</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 06</span><span class="lbl">1600 × 1200 · swap real image</span></div></div>
+ <div class="galhead"><h2>Gallery</h2><span class="n">6 images</span></div>
+ <div class="gallery" id="gallery"><div class="tile"><img src="img/01.jpg" alt="hospitalitysalesrepresentatives.com — image 01" loading="lazy"></div><div class="tile"><img src="img/02.jpg" alt="hospitalitysalesrepresentatives.com — image 02" loading="lazy"></div><div class="tile"><img src="img/03.jpg" alt="hospitalitysalesrepresentatives.com — image 03" loading="lazy"></div><div class="tile"><img src="img/04.jpg" alt="hospitalitysalesrepresentatives.com — image 04" loading="lazy"></div><div class="tile"><img src="img/05.jpg" alt="hospitalitysalesrepresentatives.com — image 05" loading="lazy"></div><div class="tile"><img src="img/06.jpg" alt="hospitalitysalesrepresentatives.com — image 06" loading="lazy"></div></div>
<div class="about"><span class="k">About this domain</span><p><b>hospitalitysalesrepresentatives.com</b> — A descriptive, authority-signalling name for hospitality-sector sales representation.</p></div>
<div class="foot"><span>Part of a curated domain portfolio · inquiries welcome</span><span class="dom">hospitalitysalesrepresentatives.com</span></div>
</main>
diff --git a/sites/marijuanaofthemonthclub.com/img/01.jpg b/sites/marijuanaofthemonthclub.com/img/01.jpg
new file mode 100644
index 0000000..a0ef7f7
Binary files /dev/null and b/sites/marijuanaofthemonthclub.com/img/01.jpg differ
diff --git a/sites/marijuanaofthemonthclub.com/img/02.jpg b/sites/marijuanaofthemonthclub.com/img/02.jpg
new file mode 100644
index 0000000..477a445
Binary files /dev/null and b/sites/marijuanaofthemonthclub.com/img/02.jpg differ
diff --git a/sites/marijuanaofthemonthclub.com/img/03.jpg b/sites/marijuanaofthemonthclub.com/img/03.jpg
new file mode 100644
index 0000000..4a1dcf0
Binary files /dev/null and b/sites/marijuanaofthemonthclub.com/img/03.jpg differ
diff --git a/sites/marijuanaofthemonthclub.com/img/04.jpg b/sites/marijuanaofthemonthclub.com/img/04.jpg
new file mode 100644
index 0000000..1aadb19
Binary files /dev/null and b/sites/marijuanaofthemonthclub.com/img/04.jpg differ
diff --git a/sites/marijuanaofthemonthclub.com/img/05.jpg b/sites/marijuanaofthemonthclub.com/img/05.jpg
new file mode 100644
index 0000000..41b4b66
Binary files /dev/null and b/sites/marijuanaofthemonthclub.com/img/05.jpg differ
diff --git a/sites/marijuanaofthemonthclub.com/img/06.jpg b/sites/marijuanaofthemonthclub.com/img/06.jpg
new file mode 100644
index 0000000..0da475f
Binary files /dev/null and b/sites/marijuanaofthemonthclub.com/img/06.jpg differ
diff --git a/sites/marijuanaofthemonthclub.com/index.html b/sites/marijuanaofthemonthclub.com/index.html
index 913d169..0ef9d79 100644
--- a/sites/marijuanaofthemonthclub.com/index.html
+++ b/sites/marijuanaofthemonthclub.com/index.html
@@ -83,8 +83,8 @@ h1{font-family:var(--disp);font-weight:600;font-size:clamp(38px,7vw,68px);line-h
<a class="cta" href="mailto:info@designerwallcoverings.com?subject=Domain%20inquiry%3A%20marijuanaofthemonthclub.com">Make an offer →</a>
<a class="ghost" href="#gallery">Learn more</a>
</div>
- <div class="galhead"><h2>Gallery</h2><span class="n">6 images · placeholders — swap real assets before launch</span></div>
- <div class="gallery" id="gallery"><div class="tile"><span class="ph">Placeholder 01</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 02</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 03</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 04</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 05</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 06</span><span class="lbl">1600 × 1200 · swap real image</span></div></div>
+ <div class="galhead"><h2>Gallery</h2><span class="n">6 images</span></div>
+ <div class="gallery" id="gallery"><div class="tile"><img src="img/01.jpg" alt="marijuanaofthemonthclub.com — image 01" loading="lazy"></div><div class="tile"><img src="img/02.jpg" alt="marijuanaofthemonthclub.com — image 02" loading="lazy"></div><div class="tile"><img src="img/03.jpg" alt="marijuanaofthemonthclub.com — image 03" loading="lazy"></div><div class="tile"><img src="img/04.jpg" alt="marijuanaofthemonthclub.com — image 04" loading="lazy"></div><div class="tile"><img src="img/05.jpg" alt="marijuanaofthemonthclub.com — image 05" loading="lazy"></div><div class="tile"><img src="img/06.jpg" alt="marijuanaofthemonthclub.com — image 06" loading="lazy"></div></div>
<div class="about"><span class="k">About this domain</span><p><b>marijuanaofthemonthclub.com</b> — A direct, keyword-strong subscription brand in the cannabis vertical.</p></div>
<div class="foot"><span>Part of a curated domain portfolio · inquiries welcome</span><span class="dom">marijuanaofthemonthclub.com</span></div>
</main>
diff --git a/sites/mymemosamples.com/img/02.jpg b/sites/mymemosamples.com/img/02.jpg
new file mode 100644
index 0000000..d1171e0
Binary files /dev/null and b/sites/mymemosamples.com/img/02.jpg differ
diff --git a/sites/mymemosamples.com/img/03.jpg b/sites/mymemosamples.com/img/03.jpg
new file mode 100644
index 0000000..5c59c65
Binary files /dev/null and b/sites/mymemosamples.com/img/03.jpg differ
diff --git a/sites/mymemosamples.com/img/04.jpg b/sites/mymemosamples.com/img/04.jpg
new file mode 100644
index 0000000..7a3b8c6
Binary files /dev/null and b/sites/mymemosamples.com/img/04.jpg differ
diff --git a/sites/mymemosamples.com/img/05.jpg b/sites/mymemosamples.com/img/05.jpg
new file mode 100644
index 0000000..057b50f
Binary files /dev/null and b/sites/mymemosamples.com/img/05.jpg differ
diff --git a/sites/mymemosamples.com/img/06.jpg b/sites/mymemosamples.com/img/06.jpg
new file mode 100644
index 0000000..9ef6bc3
Binary files /dev/null and b/sites/mymemosamples.com/img/06.jpg differ
diff --git a/sites/mymemosamples.com/index.html b/sites/mymemosamples.com/index.html
index 354ecc4..aac1b1f 100644
--- a/sites/mymemosamples.com/index.html
+++ b/sites/mymemosamples.com/index.html
@@ -83,8 +83,8 @@ h1{font-family:var(--disp);font-weight:600;font-size:clamp(38px,7vw,68px);line-h
<a class="cta" href="mailto:info@designerwallcoverings.com?subject=Domain%20inquiry%3A%20mymemosamples.com">Make an offer →</a>
<a class="ghost" href="#gallery">Learn more</a>
</div>
- <div class="galhead"><h2>Gallery</h2><span class="n">6 images · placeholders — swap real assets before launch</span></div>
- <div class="gallery" id="gallery"><div class="tile"><img src="img/01.jpg" alt="mymemosamples.com — image 01" loading="lazy"></div><div class="tile"><span class="ph">Placeholder 02</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 03</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 04</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 05</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 06</span><span class="lbl">1600 × 1200 · swap real image</span></div></div>
+ <div class="galhead"><h2>Gallery</h2><span class="n">6 images</span></div>
+ <div class="gallery" id="gallery"><div class="tile"><img src="img/01.jpg" alt="mymemosamples.com — image 01" loading="lazy"></div><div class="tile"><img src="img/02.jpg" alt="mymemosamples.com — image 02" loading="lazy"></div><div class="tile"><img src="img/03.jpg" alt="mymemosamples.com — image 03" loading="lazy"></div><div class="tile"><img src="img/04.jpg" alt="mymemosamples.com — image 04" loading="lazy"></div><div class="tile"><img src="img/05.jpg" alt="mymemosamples.com — image 05" loading="lazy"></div><div class="tile"><img src="img/06.jpg" alt="mymemosamples.com — image 06" loading="lazy"></div></div>
<div class="about"><span class="k">About this domain</span><p><b>mymemosamples.com</b> — A precise SaaS-ready brand for memo-sample management in textiles and wallcoverings.</p></div>
<div class="foot"><span>Part of a curated domain portfolio · inquiries welcome</span><span class="dom">mymemosamples.com</span></div>
</main>
diff --git a/sites/potofthemonthclub.com/img/01.jpg b/sites/potofthemonthclub.com/img/01.jpg
new file mode 100644
index 0000000..b875708
Binary files /dev/null and b/sites/potofthemonthclub.com/img/01.jpg differ
diff --git a/sites/potofthemonthclub.com/img/02.jpg b/sites/potofthemonthclub.com/img/02.jpg
new file mode 100644
index 0000000..721bfe2
Binary files /dev/null and b/sites/potofthemonthclub.com/img/02.jpg differ
diff --git a/sites/potofthemonthclub.com/img/03.jpg b/sites/potofthemonthclub.com/img/03.jpg
new file mode 100644
index 0000000..fde38e9
Binary files /dev/null and b/sites/potofthemonthclub.com/img/03.jpg differ
diff --git a/sites/potofthemonthclub.com/img/04.jpg b/sites/potofthemonthclub.com/img/04.jpg
new file mode 100644
index 0000000..629b2a4
Binary files /dev/null and b/sites/potofthemonthclub.com/img/04.jpg differ
diff --git a/sites/potofthemonthclub.com/img/05.jpg b/sites/potofthemonthclub.com/img/05.jpg
new file mode 100644
index 0000000..5c552ef
Binary files /dev/null and b/sites/potofthemonthclub.com/img/05.jpg differ
diff --git a/sites/potofthemonthclub.com/img/06.jpg b/sites/potofthemonthclub.com/img/06.jpg
new file mode 100644
index 0000000..6387e21
Binary files /dev/null and b/sites/potofthemonthclub.com/img/06.jpg differ
diff --git a/sites/potofthemonthclub.com/index.html b/sites/potofthemonthclub.com/index.html
index 4385eae..b77a934 100644
--- a/sites/potofthemonthclub.com/index.html
+++ b/sites/potofthemonthclub.com/index.html
@@ -83,8 +83,8 @@ h1{font-family:var(--disp);font-weight:600;font-size:clamp(38px,7vw,68px);line-h
<a class="cta" href="mailto:info@designerwallcoverings.com?subject=Domain%20inquiry%3A%20potofthemonthclub.com">Make an offer →</a>
<a class="ghost" href="#gallery">Learn more</a>
</div>
- <div class="galhead"><h2>Gallery</h2><span class="n">6 images · placeholders — swap real assets before launch</span></div>
- <div class="gallery" id="gallery"><div class="tile"><span class="ph">Placeholder 01</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 02</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 03</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 04</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 05</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 06</span><span class="lbl">1600 × 1200 · swap real image</span></div></div>
+ <div class="galhead"><h2>Gallery</h2><span class="n">6 images</span></div>
+ <div class="gallery" id="gallery"><div class="tile"><img src="img/01.jpg" alt="potofthemonthclub.com — image 01" loading="lazy"></div><div class="tile"><img src="img/02.jpg" alt="potofthemonthclub.com — image 02" loading="lazy"></div><div class="tile"><img src="img/03.jpg" alt="potofthemonthclub.com — image 03" loading="lazy"></div><div class="tile"><img src="img/04.jpg" alt="potofthemonthclub.com — image 04" loading="lazy"></div><div class="tile"><img src="img/05.jpg" alt="potofthemonthclub.com — image 05" loading="lazy"></div><div class="tile"><img src="img/06.jpg" alt="potofthemonthclub.com — image 06" loading="lazy"></div></div>
<div class="about"><span class="k">About this domain</span><p><b>potofthemonthclub.com</b> — A friendly, informal subscription brand for the cannabis market.</p></div>
<div class="foot"><span>Part of a curated domain portfolio · inquiries welcome</span><span class="dom">potofthemonthclub.com</span></div>
</main>
diff --git a/sites/weedofthemonthclub.com/img/01.jpg b/sites/weedofthemonthclub.com/img/01.jpg
new file mode 100644
index 0000000..062ca0b
Binary files /dev/null and b/sites/weedofthemonthclub.com/img/01.jpg differ
diff --git a/sites/weedofthemonthclub.com/img/02.jpg b/sites/weedofthemonthclub.com/img/02.jpg
new file mode 100644
index 0000000..c4f7bd3
Binary files /dev/null and b/sites/weedofthemonthclub.com/img/02.jpg differ
diff --git a/sites/weedofthemonthclub.com/img/03.jpg b/sites/weedofthemonthclub.com/img/03.jpg
new file mode 100644
index 0000000..17d5f0b
Binary files /dev/null and b/sites/weedofthemonthclub.com/img/03.jpg differ
diff --git a/sites/weedofthemonthclub.com/img/04.jpg b/sites/weedofthemonthclub.com/img/04.jpg
new file mode 100644
index 0000000..f7c2b7d
Binary files /dev/null and b/sites/weedofthemonthclub.com/img/04.jpg differ
diff --git a/sites/weedofthemonthclub.com/img/05.jpg b/sites/weedofthemonthclub.com/img/05.jpg
new file mode 100644
index 0000000..35b377d
Binary files /dev/null and b/sites/weedofthemonthclub.com/img/05.jpg differ
diff --git a/sites/weedofthemonthclub.com/img/06.jpg b/sites/weedofthemonthclub.com/img/06.jpg
new file mode 100644
index 0000000..f76fb89
Binary files /dev/null and b/sites/weedofthemonthclub.com/img/06.jpg differ
diff --git a/sites/weedofthemonthclub.com/index.html b/sites/weedofthemonthclub.com/index.html
index 78d4702..1ea402b 100644
--- a/sites/weedofthemonthclub.com/index.html
+++ b/sites/weedofthemonthclub.com/index.html
@@ -83,8 +83,8 @@ h1{font-family:var(--disp);font-weight:600;font-size:clamp(38px,7vw,68px);line-h
<a class="cta" href="mailto:info@designerwallcoverings.com?subject=Domain%20inquiry%3A%20weedofthemonthclub.com">Make an offer →</a>
<a class="ghost" href="#gallery">Learn more</a>
</div>
- <div class="galhead"><h2>Gallery</h2><span class="n">6 images · placeholders — swap real assets before launch</span></div>
- <div class="gallery" id="gallery"><div class="tile"><span class="ph">Placeholder 01</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 02</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 03</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 04</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 05</span><span class="lbl">1600 × 1200 · swap real image</span></div><div class="tile"><span class="ph">Placeholder 06</span><span class="lbl">1600 × 1200 · swap real image</span></div></div>
+ <div class="galhead"><h2>Gallery</h2><span class="n">6 images</span></div>
+ <div class="gallery" id="gallery"><div class="tile"><img src="img/01.jpg" alt="weedofthemonthclub.com — image 01" loading="lazy"></div><div class="tile"><img src="img/02.jpg" alt="weedofthemonthclub.com — image 02" loading="lazy"></div><div class="tile"><img src="img/03.jpg" alt="weedofthemonthclub.com — image 03" loading="lazy"></div><div class="tile"><img src="img/04.jpg" alt="weedofthemonthclub.com — image 04" loading="lazy"></div><div class="tile"><img src="img/05.jpg" alt="weedofthemonthclub.com — image 05" loading="lazy"></div><div class="tile"><img src="img/06.jpg" alt="weedofthemonthclub.com — image 06" loading="lazy"></div></div>
<div class="about"><span class="k">About this domain</span><p><b>weedofthemonthclub.com</b> — A conversational, high-search subscription name in the cannabis category.</p></div>
<div class="foot"><span>Part of a curated domain portfolio · inquiries welcome</span><span class="dom">weedofthemonthclub.com</span></div>
</main>
diff --git a/status.sh b/status.sh
new file mode 100755
index 0000000..05410a1
--- /dev/null
+++ b/status.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+# Runs ON Mac2 (Steve: `! ~/pl-status.sh`). Pin down the 301/redirect + conf state.
+ssh root@45.61.58.125 'bash -s' <<"REOF"
+echo "=== redirect target (protectyourspec, http + https) ==="
+curl -sI http://protectyourspec.com/ 2>/dev/null | grep -iE "^HTTP/|^location"
+curl -skI https://protectyourspec.com/ 2>/dev/null | grep -iE "^HTTP/|^location"
+echo
+echo "=== our per-domain conf (protectyourspec) — mangled by certbot? ==="
+cat /etc/nginx/sites-available/protectyourspec.com.conf 2>/dev/null
+echo
+echo "=== is our conf enabled? ==="
+ls -la /etc/nginx/sites-enabled/ | grep -E "protectyourspec|cannabis|mymemo" || echo "(our confs NOT in sites-enabled!)"
+echo
+echo "=== catch-all / default redirects among enabled confs ==="
+grep -rnE "default_server|return 301|rewrite .*permanent" /etc/nginx/sites-enabled/ 2>/dev/null | grep -v "parked-landers" | head -15
+echo
+echo "=== acme webroot dir present? ==="
+ls -ld /var/www/certbot 2>/dev/null || echo "NO /var/www/certbot"
+REOF
← 736f725 Swap in real flux-schnell images (replace placeholder tiles)
·
back to Parked Landers
·
Normalize http->https on all 8 landers; add normalize/fix2/c 9312695 →