[{"data":1,"prerenderedAt":198},["ShallowReactive",2],{"project-28686077":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":37,"post_text":39,"what":40,"said":59,"maker_in_thread":128,"shape":131,"grid":136,"attempts":161,"same_week":162,"maker_shows":38,"maker_hidden":190,"reader_version":191,"card":192},"28686077","Instant preview","Instant preview for static websites","title","Show HN: Instant preview for static websites","https:\u002F\u002Fwww.instantpreview.dev\u002F","instantpreview.dev","kjksf",1632854900,2021,30,12,1147,2533,46,"shown","dev_tools","static site preview","web_app",[21,24,25,26],"instant deploy","temporary hosting","netlify alternative","mixed",-0.143,{"positive":30,"neutral":31,"mixed":32,"critical":31},1,2,0,5,{"idea":35,"privacy":36},{"positive":32,"critical":31},{"positive":30,"critical":32},[32,32,32,38,30,32,32,32,32,30,38,33],3,null,{"problem":41,"audience":48,"pricing":39,"motivation":52,"time_to_build":39,"stack":56,"openness":57,"stage":58,"team_size":57},{"value":42,"source":43,"evidence":44},"Previewing a generated static site before deploying, without accounts or access tokens","maker",[45],{"id":46,"by":11,"text":47},"28686148","I've built a thing for myself and maybe it'll be useful for others. https:\u002F\u002Fwww.instantpreview.dev\u002F is like an instant, temporary Netlify or Vercel or Cloudflare Pages etc. The…",{"value":49,"source":43,"evidence":50},"Developers who generate static websites and want quick previews",[51],{"id":46,"by":11,"text":47},{"value":53,"source":43,"evidence":54},"Author wanted quick previews of static sites without Vercel or Netlify account setup",[55],{"id":46,"by":11,"text":47},[],"unknown","launched",{"praise":60,"objections":73,"requests":102,"questions":103,"alternatives":108},[61],{"value":62,"source":63,"evidence":64},"Netlify's drop feature offers similar no-account uploads","commenter",[65,69],{"id":66,"by":67,"text":68},"28690177","canyonero","I don’t know about Vercel, but I know Netlify supports drag and drop file uploads on https:\u002F\u002Fapp.netlify.com\u002Fdrop They’re ephemeral (only accessible for a day or so unless…",{"id":70,"by":71,"text":72},"28726837","foopod","Wow, I have used Netlify for years, but never knew about this feature. Thanks! This is handy",[74,84,91],{"value":75,"source":63,"evidence":76},"A single VPS or simple server is enough for previews and static sites",[77,81],{"id":78,"by":79,"text":80},"28687495","velcrovan","> Also, your sole VPS will fall over nearly instantly with any significant amount of traffic Wow, haha...no. Especially not with a static site. Even for a wordpress site, a $5…",{"id":82,"by":79,"text":83},"28686423","I’m a forty year old idiot that still just uses a web server running on a VPS. If I want publicly accesible preview I'll scp them to a temp folder on the web server. I am…",{"value":85,"source":63,"evidence":86},"Local dev servers are simpler for testing",[87],{"id":88,"by":89,"text":90},"28690642","quickthrower2","Replying to OPs comment [0] that is showing no reply button for me (maybe a HN bug) For most purposes running a local server in localhost is much easier for testing. There are…",{"value":92,"source":63,"evidence":93},"Uploaded archives may allow path traversal or symlink attacks",[94,98],{"id":95,"by":96,"text":97},"28687533","eurasiantiger","Is it protected against zip bombs and ..\u002F..\u002F style pathname traversal?",{"id":99,"by":100,"text":101},"28690043","stevekemp","My first thought too. I created a simple directory: ``` mkdir tmp\u002F cd tmp\u002F ln -s \u002Fetc\u002Fpasswd index.html ``` Then zipped that up, keeping the symlink: ``` zip -r --symlinks…",[],[104],{"value":105,"source":63,"evidence":106},"Is it protected against zip bombs and path traversal?",[107],{"id":95,"by":96,"text":97},[109,113,120,124],{"value":110,"source":63,"evidence":111},"Netlify drop",[112],{"id":66,"by":67,"text":68},{"value":114,"source":63,"evidence":115},"Cloudflare Pages",[116],{"id":117,"by":118,"text":119},"28686934","is_true","I do the same. Need to handle traffic? Cloudflare.",{"value":121,"source":43,"evidence":122},"Vercel and Netlify CLIs",[123],{"id":46,"by":11,"text":47},{"value":125,"source":63,"evidence":126},"Self-hosted VPS with scp",[127],{"id":82,"by":79,"text":83},{"comments":30,"answered":32,"key":129},[130],{"id":46,"text":47},{"commenters":132,"max_depth":133,"maker_replies":30,"first_comment_mins":134,"lifespan_hours":135},9,4,8,85,[137,139,141,143,145,149,151,153,154,156,157,159],[46,32,32,138,11,30],"project\u002Fneutral\u002Fidea",[66,30,32,140,67,32],"other\u002Fneutral\u002Fnone",[70,30,32,142,71,32],"other\u002Fpositive\u002Fnone",[82,31,38,144,79,32],"maker\u002Fneutral\u002Fidea",[146,31,30,147,148,32],"28686846","project\u002Fcritical\u002Fidea","sneak",[78,31,32,150,79,32],"commenter\u002Fneutral\u002Fperformance",[152,31,32,150,148,32],"28688690",[117,31,32,140,118,32],[155,31,32,140,67,32],"28690230",[88,38,30,147,89,32],[95,133,38,158,96,32],"project\u002Fneutral\u002Fprivacy",[99,133,33,160,100,32],"project\u002Fpositive\u002Fprivacy",[],[163,167,172,176,181,186],{"id":164,"name":165,"points":166,"category":20},"28670252","Tidy Viewer",392,{"id":168,"name":169,"points":170,"category":171},"28680136","Extract Table",217,"data",{"id":173,"name":174,"points":175,"category":20},"28669703","SQLite Playground",213,{"id":177,"name":178,"points":179,"category":180},"28697828","Ampie",194,"productivity",{"id":182,"name":183,"points":184,"category":185},"28683231","Firezone",183,"infrastructure",{"id":187,"name":188,"points":189,"category":20},"28636540","Go Playground WASM",140,false,"v2",{"id":193,"name":5,"line":6,"ai":190,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":194,"top":18,"kw":195,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":196,"url":9,"mix":197,"praise":62,"objection":75,"sub":21},28686077,-0.14,[21,24,25,26],"000310000135",[30,31,32,31],1794036611735]