hatch-surf/out.backup.20260625033511/__next.__PAGE__.txt
Riley Zhang df378d33ef
Some checks failed
CI / go (push) Waiting to run
CI / docker (push) Waiting to run
CI / lint-go (push) Waiting to run
CI / lint-docs (push) Waiting to run
CI / check-paperclip (push) Waiting to run
Deploy static site / Deploy to GitHub Pages (push) Has been cancelled
Deploy static site / Deploy via Docker to hatch.surf (push) Has been cancelled
Merge GitHub main into Gitea repo (allow unrelated histories)
Resolved conflicts by taking GitHub versions for:
- .dockerignore, .gitignore, Dockerfile, README.md, docker-compose.yml

Kept deploy.sh updated to:
- Pull from GitHub (primary source)
- Push to Gitea (push-mirror)
- Build from site/ directory (GitHub structure)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-25 05:20:46 +02:00

14 lines
10 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

1:"$Sreact.fragment"
a:I[97367,["/_next/static/chunks/158myu8e_yme3.js"],"OutletBoundary"]
b:"$Sreact.suspense"
0:{"rsc":["$","$1","c",{"children":[[["$","section",null,{"className":"pt-32 pb-20 px-6","children":["$","div",null,{"className":"max-w-4xl mx-auto text-center","children":[["$","div",null,{"className":"inline-block mb-6 px-5 py-2 rounded-full bg-blue-500/10 border border-blue-500/30 text-blue-400 text-sm font-medium","children":"Open source · MIT licensed"}],["$","h1",null,{"className":"text-4xl md:text-5xl lg:text-6xl font-extrabold tracking-tight mb-6 leading-tight bg-gradient-to-r from-white to-zinc-400 bg-clip-text text-transparent","children":["Self-hostable HTTP request",["$","br",null,{}],"inspector + mocker"]}],["$","p",null,{"className":"text-lg md:text-xl text-zinc-400 mb-10 max-w-2xl mx-auto leading-relaxed","children":["One Go binary. SQLite under the hood.",["$","code",null,{"className":"mx-1 px-2 py-0.5 bg-zinc-800 border border-zinc-700 rounded text-fuchsia-400 text-base","children":"docker compose up"}],", and you have an inspection endpoint and a live feed in under 30 seconds."]}],["$","div",null,{"className":"flex flex-col sm:flex-row gap-4 justify-center mb-16","children":[["$","a",null,{"href":"https://github.com/elfoundation/hatch","className":"inline-flex items-center justify-center gap-2 px-8 py-4 bg-blue-500 hover:bg-blue-600 text-white font-semibold rounded-lg transition-all shadow-lg shadow-blue-500/30 hover:shadow-xl hover:shadow-blue-500/40 hover:-translate-y-0.5","children":[["$","svg",null,{"width":"20","height":"20","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","children":["$","path",null,{"d":"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"}]}],"View on GitHub"]}],["$","a",null,{"href":"https://github.com/elfoundation/hatch#quick-start","className":"inline-flex items-center justify-center gap-2 px-8 py-4 bg-zinc-800 hover:bg-zinc-700 text-white font-semibold rounded-lg border border-zinc-700 transition-all shadow-lg hover:shadow-xl hover:-translate-y-0.5","children":"Quick Start →"}]]}],["$","div",null,{"className":"max-w-2xl mx-auto rounded-xl overflow-hidden border border-zinc-800 bg-zinc-900/50 backdrop-blur-sm shadow-2xl","children":[["$","div",null,{"className":"flex items-center gap-2 px-4 py-3 bg-gradient-to-r from-zinc-800/50 to-zinc-800/30 border-b border-zinc-800","children":[["$","div",null,{"className":"w-3 h-3 rounded-full bg-zinc-600"}],["$","div",null,{"className":"w-3 h-3 rounded-full bg-zinc-600"}],["$","div",null,{"className":"w-3 h-3 rounded-full bg-zinc-600"}],["$","span",null,{"className":"ml-2 text-sm text-zinc-500","children":"terminal"}]]}],["$","pre",null,{"className":"p-5 text-left text-sm font-mono overflow-x-auto","children":["$","code",null,{"children":[["$","span",null,{"className":"text-blue-400 font-semibold","children":"$$"}]," ",["$","span",null,{"className":"text-zinc-300","children":"docker compose up -d"}],"\n",["$","span",null,{"className":"text-emerald-400","children":"✓ hatch started on :8080"}],"\n",["$","span",null,{"className":"text-blue-400 font-semibold","children":"$$"}]," ",["$","span",null,{"className":"text-zinc-300","children":["curl -X POST https://your-bin.hatch.surf/test -d ","{'hello':'world'}"]}],"\n",["$","span",null,{"className":"text-emerald-400","children":"✓ captured — view at https://your-bin.hatch.surf/inspect"}]]}]}]]}]]}]}],["$","section",null,{"className":"py-20 px-6","children":["$","div",null,{"className":"max-w-4xl mx-auto","children":[["$","h2",null,{"className":"text-3xl md:text-4xl font-bold text-center mb-16","children":"Three things, and nothing else"}],["$","div",null,{"className":"grid md:grid-cols-3 gap-8","children":[["$","div","Capture",{"className":"p-6 rounded-xl bg-gradient-to-b from-zinc-900/80 to-zinc-900/40 border border-zinc-800 hover:border-blue-500/40 hover:shadow-blue-500/10 transition-all hover:-translate-y-1 shadow-lg hover:shadow-xl","children":["$L2","$L3","$L4"]}],"$L5","$L6"]}]]}]}],"$L7","$L8"],null,"$L9"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"W0ph6BZ8oDeJaHcE9fuII"}
2:["$","div",null,{"className":"w-14 h-14 flex items-center justify-center rounded-xl bg-blue-500/15 text-blue-400 mb-4 shadow-lg","children":["$","svg",null,{"width":"28","height":"28","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"1.5","strokeLinecap":"round","strokeLinejoin":"round","children":[["$","circle",null,{"cx":"12","cy":"12","r":"10"}],["$","polyline",null,{"points":"12 6 12 12 16 14"}]]}]}]
3:["$","h3",null,{"className":"text-xl font-semibold mb-2","children":"Capture"}]
4:["$","p",null,{"className":"text-zinc-400 leading-relaxed","children":"Method, path, headers, query, body. Persists across restarts because the storage is SQLite on disk, not a hosted queue."}]
5:["$","div","Inspect",{"className":"p-6 rounded-xl bg-gradient-to-b from-zinc-900/80 to-zinc-900/40 border border-zinc-800 hover:border-purple-500/40 hover:shadow-purple-500/10 transition-all hover:-translate-y-1 shadow-lg hover:shadow-xl","children":[["$","div",null,{"className":"w-14 h-14 flex items-center justify-center rounded-xl bg-purple-500/15 text-purple-400 mb-4 shadow-lg","children":["$","svg",null,{"width":"28","height":"28","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"1.5","strokeLinecap":"round","strokeLinejoin":"round","children":[["$","path",null,{"d":"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}],["$","circle",null,{"cx":"12","cy":"12","r":"3"}]]}]}],["$","h3",null,{"className":"text-xl font-semibold mb-2","children":"Inspect"}],["$","p",null,{"className":"text-zinc-400 leading-relaxed","children":"A live SSE feed of incoming requests. Click any captured request to see the headers, the body, the timing."}]]}]
6:["$","div","Mock",{"className":"p-6 rounded-xl bg-gradient-to-b from-zinc-900/80 to-zinc-900/40 border border-zinc-800 hover:border-cyan-500/40 hover:shadow-cyan-500/10 transition-all hover:-translate-y-1 shadow-lg hover:shadow-xl","children":[["$","div",null,{"className":"w-14 h-14 flex items-center justify-center rounded-xl bg-cyan-500/15 text-cyan-400 mb-4 shadow-lg","children":["$","svg",null,{"width":"28","height":"28","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"1.5","strokeLinecap":"round","strokeLinejoin":"round","children":[["$","polyline",null,{"points":"16 18 22 12 16 6"}],["$","polyline",null,{"points":"8 6 2 12 8 18"}]]}]}],["$","h3",null,{"className":"text-xl font-semibold mb-2","children":"Mock"}],["$","p",null,{"className":"text-zinc-400 leading-relaxed","children":"Return a 200, a 500, or a custom JSON payload. For testing your own retry, backoff, and error-handling logic."}]]}]
7:["$","section",null,{"className":"py-20 px-6","children":["$","div",null,{"className":"max-w-4xl mx-auto","children":[["$","h2",null,{"className":"text-3xl md:text-4xl font-bold text-center mb-16","children":"Why a single binary, not a SaaS"}],["$","div",null,{"className":"grid md:grid-cols-3 gap-6","children":[["$","div","01",{"className":"p-6 rounded-xl bg-gradient-to-b from-zinc-900/80 to-zinc-900/40 border border-zinc-800 border-l-4 border-l-blue-500 hover:-translate-y-1 transition-all shadow-lg hover:shadow-xl","children":[["$","div",null,{"className":"text-4xl font-bold text-zinc-600 font-mono mb-4","children":"01"}],["$","h3",null,{"className":"text-xl font-semibold mb-2","children":"Compliance and privacy"}],["$","p",null,{"className":"text-zinc-400 leading-relaxed","children":"Some teams cannot legally send webhook payloads to a hosted SaaS. Hatch keeps the data on your own network."}]]}],["$","div","02",{"className":"p-6 rounded-xl bg-gradient-to-b from-zinc-900/80 to-zinc-900/40 border border-zinc-800 border-l-4 border-l-purple-500 hover:-translate-y-1 transition-all shadow-lg hover:shadow-xl","children":[["$","div",null,{"className":"text-4xl font-bold text-zinc-600 font-mono mb-4","children":"02"}],["$","h3",null,{"className":"text-xl font-semibold mb-2","children":"Cost"}],["$","p",null,{"className":"text-zinc-400 leading-relaxed","children":"A hosted inspector charges per request, per seat, or per retention day. Hatch is one Go binary on a $5 VPS. There is no per-request fee because there is no one to charge it."}]]}],["$","div","03",{"className":"p-6 rounded-xl bg-gradient-to-b from-zinc-900/80 to-zinc-900/40 border border-zinc-800 border-l-4 border-l-cyan-500 hover:-translate-y-1 transition-all shadow-lg hover:shadow-xl","children":[["$","div",null,{"className":"text-4xl font-bold text-zinc-600 font-mono mb-4","children":"03"}],["$","h3",null,{"className":"text-xl font-semibold mb-2","children":"Speed of setup"}],["$","p",null,{"className":"text-zinc-400 leading-relaxed","children":[["$","code",null,{"className":"px-2 py-0.5 bg-zinc-800 border border-zinc-700 rounded text-fuchsia-400 text-sm","children":"docker compose up"}]," ","is faster than signing up for a SaaS, verifying your email, configuring your first bin, and pasting the URL into your webhook config."]}]]}]]}]]}]}]
8:["$","section",null,{"className":"py-24 px-6 bg-gradient-to-b from-zinc-900/30 to-zinc-900/60","children":["$","div",null,{"className":"max-w-4xl mx-auto text-center","children":[["$","h2",null,{"className":"text-4xl md:text-5xl font-extrabold mb-4 bg-gradient-to-r from-white to-blue-400 bg-clip-text text-transparent","children":"Start inspecting in 30 seconds"}],["$","p",null,{"className":"text-xl text-zinc-400 mb-10","children":"One binary. Your data stays yours."}],["$","a",null,{"href":"https://github.com/elfoundation/hatch","className":"inline-flex items-center justify-center gap-2 px-10 py-5 bg-blue-500 hover:bg-blue-600 text-white font-semibold rounded-lg transition-all shadow-lg shadow-blue-500/30 hover:shadow-xl hover:shadow-blue-500/40 hover:-translate-y-0.5 text-lg","children":"Get Hatch →"}]]}]}]
9:["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]
c:null