[{"data":1,"prerenderedAt":133},["ShallowReactive",2],{"project-31272194":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":29,"sentiment":30,"stance_mix":31,"scored_comments":33,"aspects":34,"strip":36,"post_text":30,"what":37,"said":63,"maker_in_thread":81,"shape":86,"grid":87,"attempts":94,"same_week":95,"maker_shows":125,"maker_hidden":126,"reader_version":127,"card":128},"31272194","MockRTC","a mock peer and MitM proxy library for WebRTC","title","Show HN: MockRTC – a mock peer and MitM proxy library for WebRTC","https:\u002F\u002Fgithub.com\u002Fhttptoolkit\u002Fmockrtc","github.com","pimterry",1651751858,2022,30,3,1256,2570,49,"shown","dev_tools","testing library","library",[24,25,26,27,28],"webrtc","mock peer","webrtc testing","mitm proxy","datachannel","quiet",null,{"positive":32,"neutral":33,"mixed":32,"critical":32},0,1,{"design":35},{"positive":32,"critical":32},[32,15,32],{"problem":38,"audience":45,"pricing":30,"motivation":50,"time_to_build":30,"stack":56,"openness":61,"stage":62,"team_size":61},{"value":39,"source":40,"evidence":41},"Writing automated tests against reliable fake WebRTC remote peers, and intercepting WebRTC traffic","maker",[42],{"id":43,"by":11,"text":44},"31272206","I've _just_ published this package, so all of this is quite new! It lets you define mock behaviour for a WebRTC peer in a couple of lines, and then connect to that mock using…",{"value":46,"source":47,"evidence":48},"Developers writing automated tests or proxies for WebRTC connections","inferred",[49],{"id":43,"by":11,"text":44},{"value":51,"source":40,"evidence":52},"Needed to send invalid data and access raw RTP packets, which browser WebRTC APIs don't allow",[53],{"id":54,"by":11,"text":55},"31273220","This does use a real WebRTC stack (specifically libdatachannel - https:\u002F\u002Flibdatachannel.org). Under the hood this is making real WebRTC connections. But I guess you mean why it…",[57],{"value":58,"source":40,"evidence":59},"libdatachannel",[60],{"id":54,"by":11,"text":55},"unknown","launched",{"praise":64,"objections":65,"requests":66,"questions":71,"alternatives":80},[],[],[67],{"value":68,"source":40,"evidence":69},"Suggestions for more mock behaviours",[70],{"id":43,"by":11,"text":44},[72],{"value":73,"source":74,"evidence":75},"Why not use the real WebRTC stack with a test-oriented signaling implementation instead of this approach","commenter",[76],{"id":77,"by":78,"text":79},"31272957","dboreham","Having done a bit of this: wondering why you didn't use the real WebRTC stack with a test-oriented signaling implementation?",[],{"comments":82,"answered":33,"key":83},2,[84,85],{"id":43,"text":44},{"id":54,"text":55},{"commenters":82,"max_depth":15,"maker_replies":82,"first_comment_mins":33,"lifespan_hours":82},[88,90,92],[43,32,32,89,11,33],"project\u002Fneutral\u002Fidea",[77,32,15,91,78,32],"project\u002Fneutral\u002Fdesign",[54,32,32,93,11,33],"project\u002Fpositive\u002Fdesign",[],[96,101,106,111,115,120],{"id":97,"name":98,"points":99,"category":100},"31335904","Himalayas",457,"web_saas",{"id":102,"name":103,"points":104,"category":105},"31275476","Dead Trees",389,"games",{"id":107,"name":108,"points":109,"category":110},"31333436","Oldest Search",295,"productivity",{"id":112,"name":113,"points":114,"category":105},"31296227","Battle of Flags",212,{"id":116,"name":117,"points":118,"category":119},"31297917","Weron",204,"infrastructure",{"id":121,"name":122,"points":123,"category":124},"31294306","Ankify",180,"learning_science",8,false,"v2",{"id":129,"name":5,"line":6,"ai":126,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":130,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":131,"url":9,"mix":132,"praise":-1,"objection":-1,"sub":21},31272194,[24,25,26,27,28],"030",[32,33,32,32],1793991045263]