[{"data":1,"prerenderedAt":220},["ShallowReactive",2],{"project-8831912":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":28,"sentiment":29,"stance_mix":30,"scored_comments":33,"aspects":34,"strip":36,"post_text":29,"what":39,"said":60,"maker_in_thread":144,"shape":148,"grid":151,"attempts":185,"same_week":186,"maker_shows":175,"maker_hidden":213,"reader_version":214,"card":215},"8831912","Crapify","A proxy for simulating slow, spotty HTTP connections","title","Show HN: Crapify, a proxy for simulating slow, spotty HTTP connections","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fcrapify","npmjs.com","BenjaminCoe",1420317607,2015,96,17,255,2565,10,"notable","dev_tools","network testing proxy","library",[24,25,26,27],"network throttling","slow connection simulation","http proxy testing","bandwidth limiting","quiet",null,{"positive":31,"neutral":32,"mixed":31,"critical":32},0,2,4,{"idea":35},{"positive":31,"critical":32},[31,31,31,37,31,31,31,31,31,31,37,31,31,38,38,31,31],3,1,{"problem":40,"audience":29,"pricing":29,"motivation":50,"time_to_build":29,"stack":54,"openness":59,"stage":59,"team_size":59},{"value":41,"source":42,"evidence":43},"Simulating slow, spotty HTTP connections to test behaviour, such as npm installs over a VPN with too many concurrent requests","maker",[44,47],{"id":45,"by":11,"text":46},"8831952","At work we've been running into problems performing npm installs over a VPN. I'm suspicious that it relates to executing too many concurrent HTTP requests. This motivated me to…",{"id":48,"by":11,"text":49},"8832270","My main use-case is programmatically throttling the outbound concurrent connections to a VPN. Writing a small proxy server in Node.js seemed like a reasonable approach for this.",{"value":51,"source":42,"evidence":52},"Npm installs over a VPN were failing, suspected from too many concurrent HTTP requests",[53],{"id":45,"by":11,"text":46},[55],{"value":56,"source":42,"evidence":57},"Node.js",[58],{"id":48,"by":11,"text":49},"unknown",{"praise":61,"objections":70,"requests":86,"questions":91,"alternatives":92},[62],{"value":63,"source":64,"evidence":65},"Useful for testing concurrency and throttling problems","commenter",[66],{"id":67,"by":68,"text":69},"8832787","Spooky23","This is cool. If it could add random NATing between various VLANs and occasionally not open firewall ports as configured, it would be a simulation of my work environment!",[71],{"value":72,"source":64,"evidence":73},"Existing tools like Chrome devtools, Charles, dummynet and Network Link Conditioner already do this",[74,78,82],{"id":75,"by":76,"text":77},"8832427","Rygu","If you simply need to test a website on a simulated slow connection, then Chrome Devtools. For all other purposes, this looks great!",{"id":79,"by":80,"text":81},"8832222","youngtaff","Why not use DummyNet, Clumsy or Network Link Conditioner (depending on your OS of choice)? If you really need a HTTP proxy there are tools like Charles (although the low RTT to a…",{"id":83,"by":84,"text":85},"8832430","taf2","On OS X you can achieve something similar using ipfw For example, sudo ipfw pipe 1 config bw 500KByte\u002Fs Limits all network on your box to 500kb\u002Fs sudo ipfw add 1 pipe 1 src-port…",[87],{"value":88,"source":64,"evidence":89},"Simulate random NAT between VLANs and firewall port failures",[90],{"id":67,"by":68,"text":69},[],[93,100,108,119,126,130,137],{"value":94,"source":64,"evidence":95},"Comcast",[96],{"id":97,"by":98,"text":99},"8832196","semi-extrinsic","Nice! There was a different tool in the same category, aptly named \"Comcast\", featured on HN a few weeks ago: https:\u002F\u002Fgithub.com\u002Ftylertreat\u002FComcast",{"value":101,"source":64,"evidence":102},"Chrome devtools network throttling",[103,104],{"id":75,"by":76,"text":77},{"id":105,"by":106,"text":107},"8832765","james33","Unfortunately ipfw has been removed in Yosemite. Fortunately, there is something similar built into Chrome dev tools now.",{"value":109,"source":64,"evidence":110},"Network Link Conditioner",[111,115],{"id":112,"by":113,"text":114},"8832644","JonnieCache","Don't the OSX devtools have a GUI for doing this? Can't remember what its called, I don't have XCode installed these days, but I remember it being pretty nifty. EDIT: its called…",{"id":116,"by":117,"text":118},"8832866","apinstein","I have Network Link Conditioner installed on my Yosemite Mac OS X box and it works fine (though it was installed prior to the Yose upgrade). I learned about it here:…",{"value":120,"source":64,"evidence":121},"Charles Proxy",[122],{"id":123,"by":124,"text":125},"8832466","imjared","I (and folks I work with) have had really great success using Charles Proxy for per-machine bandwidth throttling. Also has some handy features like AJAX debugging.…",{"value":127,"source":64,"evidence":128},"ipfw",[129],{"id":83,"by":84,"text":85},{"value":131,"source":64,"evidence":132},"tc (linux)",[133],{"id":134,"by":135,"text":136},"8832442","hippich","For linux there is tool 'tc'",{"value":138,"source":64,"evidence":139},"browsermob-proxy",[140],{"id":141,"by":142,"text":143},"8833672","hrjet","A more complete version of this: https:\u002F\u002Fgithub.com\u002Flightbody\u002Fbrowsermob-proxy ``` * captures performance data in the HAR format. * blacklisting and whitelisting certain URL…",{"comments":32,"answered":38,"key":145},[146,147],{"id":45,"text":46},{"id":48,"text":49},{"commenters":149,"max_depth":37,"maker_replies":32,"first_comment_mins":150,"lifespan_hours":18},15,9,[152,154,157,159,161,163,164,167,168,170,171,173,174,176,179,181,182],[97,31,31,153,98,31],"commenter\u002Fneutral\u002Fnone",[155,31,31,153,156,31],"8832656","tuananh",[45,38,31,158,11,38],"maker\u002Fneutral\u002Fidea",[83,32,37,160,84,31],"project\u002Fneutral\u002Fnone",[123,32,31,162,124,31],"other\u002Fneutral\u002Fnone",[112,32,31,162,113,31],[165,32,31,162,166,31],"8832818","tylertreat",[116,32,31,162,117,31],[169,32,31,162,84,31],"8832877",[105,32,31,162,106,31],[67,37,37,172,68,31],"project\u002Fneutral\u002Fidea",[134,33,31,162,135,31],[141,175,31,162,142,31],5,[75,177,38,178,76,31],6,"project\u002Fcritical\u002Fidea",[79,180,38,178,80,31],7,[48,180,31,158,11,38],[183,180,31,162,184,31],"8832307","spacemanmatt",[],[187,191,195,199,204,208],{"id":188,"name":189,"points":190,"category":20},"8823938","Snabbt.js",323,{"id":192,"name":193,"points":194,"category":20},"8840173","WordsAPI",263,{"id":196,"name":197,"points":198,"category":20},"8844723","Pgcli",227,{"id":200,"name":201,"points":202,"category":203},"8825308","awesome-remote-job",218,"productivity",{"id":205,"name":206,"points":207,"category":203},"8831950","Sitekite",114,{"id":209,"name":210,"points":211,"category":212},"8840903","ChatSecure",74,"security_privacy",false,"v2",{"id":216,"name":5,"line":6,"ai":213,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":217,"maker":11,"domain":10,"tier":19,"attempts":31,"strip":218,"url":9,"mix":219,"praise":63,"objection":72,"sub":21},8831912,[24,25,26,27],"00030000003001100",[31,32,31,32],1793990917741]