[{"data":1,"prerenderedAt":114},["ShallowReactive",2],{"content-seo":3,"en_topics":6,"en_posts:\u002Fposts\u002Ftunneling-ngrok-frp":59},{"\u002F":4,"\u002Fposts":4,"\u002Ftopics":4,"\u002Fposts\u002Fmac-apps-i-use":4,"\u002Fposts\u002Fmacos-keyboard-shortcuts":4,"\u002Fposts\u002Fmacos-terminal-commands":4,"\u002Fposts\u002Ftailwind-advanced-customization":4,"\u002Fposts\u002Ftailwind-spacing":4,"\u002Fposts\u002Ftunneling-ngrok-frp":4,"\u002Fabout":4,"\u002Ftopics\u002Fbuilding":5,"\u002Ftopics\u002Flearning":4,"\u002Ftopics\u002Fliving":5,"\u002Fzh":4,"\u002Fzh\u002Fposts":4,"\u002Fzh\u002Ftopics":4,"\u002Fzh\u002Fposts\u002Fmac-apps-i-use":4,"\u002Fzh\u002Fposts\u002Fmacos-keyboard-shortcuts":4,"\u002Fzh\u002Fposts\u002Fmacos-terminal-commands":4,"\u002Fzh\u002Fposts\u002Ftailwind-advanced-customization":4,"\u002Fzh\u002Fposts\u002Ftailwind-spacing":4,"\u002Fzh\u002Fabout":4,"\u002Fzh\u002Ftopics\u002Fbuilding":5,"\u002Fzh\u002Ftopics\u002Flearning":4,"\u002Fzh\u002Ftopics\u002Fliving":5},true,false,{"building":7,"learning":28,"living":43},{"id":8,"title":9,"body":10,"description":17,"extension":18,"meta":19,"navigation":4,"order":22,"path":23,"published_at":21,"seo":24,"sitemap":25,"stem":26,"__hash__":27},"en_topics\u002Ftopics\u002Fbuilding.md","Building",{"type":11,"value":12,"toc":13},"minimark",[],{"title":14,"searchDepth":15,"depth":15,"links":16},"",2,[],"Ecommerce, products, AI-assisted work, and whatever I am building.","md",{"icon":20,"created_at":21,"updated_at":21},"i-lucide-hammer","2026-10-16",1,"\u002Ftopics\u002Fbuilding",{"title":9,"description":17},{"loc":23},"topics\u002Fbuilding","D8MrHsIWY95f50YFbUCRizJ45lPzun9zKcHplLIAnIA",{"id":29,"title":30,"body":31,"description":35,"extension":18,"meta":36,"navigation":4,"order":15,"path":38,"published_at":21,"seo":39,"sitemap":40,"stem":41,"__hash__":42},"en_topics\u002Ftopics\u002Flearning.md","Learning",{"type":11,"value":32,"toc":33},[],{"title":14,"searchDepth":15,"depth":15,"links":34},[],"Tech, tools, and things I have picked up along the way.",{"icon":37,"created_at":21,"updated_at":21},"i-lucide-notebook-pen","\u002Ftopics\u002Flearning",{"title":30,"description":35},{"loc":38},"topics\u002Flearning","PBu6pRdEFIIqo-4gGIQK-VtKxkHWiHhbol7tuMjSeH4",{"id":44,"title":45,"body":46,"description":50,"extension":18,"meta":51,"navigation":4,"order":53,"path":54,"published_at":21,"seo":55,"sitemap":56,"stem":57,"__hash__":58},"en_topics\u002Ftopics\u002Fliving.md","Living",{"type":11,"value":47,"toc":48},[],{"title":14,"searchDepth":15,"depth":15,"links":49},[],"Life outside of work.",{"icon":52,"created_at":21,"updated_at":21},"i-lucide-coffee",3,"\u002Ftopics\u002Fliving",{"title":45,"description":50},{"loc":54},"topics\u002Fliving","vawkwx5dEl7RjKhEeDFooT8j47erYZjWTAYpdFihJn8",{"page":60,"surround":108},{"id":61,"title":62,"body":63,"category":96,"created_at":97,"description":98,"excerpt":99,"extension":18,"guid":99,"icon":100,"image":99,"meta":101,"navigation":4,"path":102,"published_at":97,"seo":103,"sitemap":104,"stem":105,"topics":106,"updated_at":97,"__hash__":107},"en_posts\u002Fposts\u002Ftunneling-ngrok-frp.md","Tunnel",{"type":11,"value":64,"toc":92},[65,69,74,77,81,84],[66,67,68],"p",{},"Tunneling services.",[70,71,73],"h2",{"id":72},"ngrok","Ngrok",[66,75,76],{},"Ngrok is a reverse proxy that opens a secure tunnel between a public endpoint and a web server running on your local machine. It can capture and inspect all traffic flowing through the tunnel, which makes later debugging and analysis straightforward.",[70,78,80],{"id":79},"frp","Frp",[66,82,83],{},"Frp is a fast reverse proxy that helps you expose services on a private network to the public internet. It supports TCP, UDP, HTTP, HTTPS, and other protocols, enabling NAT traversal and internal-network mapping.",[66,85,86],{},[87,88,89],"a",{"href":89,"rel":90},"https:\u002F\u002Fgithub.com\u002Ffatedier\u002Ffrp",[91],"nofollow",{"title":14,"searchDepth":15,"depth":15,"links":93},[94,95],{"id":72,"depth":15,"text":73},{"id":79,"depth":15,"text":80},"learning","2025-03-26","An overview of tunneling tools — ngrok and frp — that expose local services to the public internet through reverse proxies and NAT traversal.",null,"i-lucide-network",{},"\u002Fposts\u002Ftunneling-ngrok-frp",{"title":62,"description":98},{"loc":102},"posts\u002Ftunneling-ngrok-frp",[96],"MP_APv5j4snDkh8dPCUL4HRYed_ExawiAlT6GiO0yPg",[109,99],{"title":110,"path":111,"stem":112,"description":113,"children":-1},"How Spacing Works in Tailwind CSS","\u002Fposts\u002Ftailwind-spacing","posts\u002Ftailwind-spacing","How Tailwind CSS spacing works under the hood — the --spacing() function and the --spacing variable that drives the entire scale.",1792164109224]