[{"data":1,"prerenderedAt":630},["ShallowReactive",2],{"project-44526015":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":35,"aspects":36,"strip":47,"post_text":50,"what":51,"said":98,"maker_in_thread":244,"shape":246,"grid":249,"attempts":583,"same_week":592,"maker_shows":40,"maker_hidden":622,"reader_version":623,"card":624},"44526015","Pangolin","Open source alternative to Cloudflare Tunnels","title","Show HN: Pangolin – Open source alternative to Cloudflare Tunnels","https:\u002F\u002Fgithub.com\u002Ffosrl\u002Fpangolin","github.com","miloschwartz",1752184243,2025,500,125,73,3837,2,"legend","infrastructure","reverse proxy","web_app",[21,24,25,26,27],"cloudflare tunnel alternative","wireguard","self-hosted","tunnel","curious",0.217,{"positive":31,"neutral":32,"mixed":33,"critical":34},25,56,0,8,89,{"idea":37,"performance":39,"design":41,"execution":42,"docs":44,"pricing":45,"privacy":46},{"positive":38,"critical":18},12,{"positive":18,"critical":40},1,{"positive":40,"critical":18},{"positive":43,"critical":40},3,{"positive":40,"critical":33},{"positive":40,"critical":33},{"positive":33,"critical":18},[48,48,43,43,48,33,33,48,49,43,48,40,33,48,43,33,48,49,48,49,43,49,48,49,18,18,43,43,49,49,43,49,43,43,43,43,43,43,48,18],5,4,"Pangolin is an open source self-hosted tunneled reverse proxy management server with identity and access control, designed to securely expose private resources through encrypted WireGuard tunnels running in user space.\n\nWe made Pangolin so you retain full control over your infrastructure while providing a user-friendly and feature-rich solution for managing proxies, authentication, and access, all with a clean and simple dashboard web UI.\n\nGitHub: https:\u002F\u002Fgithub.com\u002Ffosrl\u002Fpangolin\n\nDeployment takes about 5 minutes on a VPS: https:\u002F\u002Fdocs.fossorial.io\u002FGetting%20Started\u002Fquick-install\n\nDemo by Law",{"problem":52,"audience":58,"pricing":73,"motivation":74,"time_to_build":73,"stack":78,"openness":95,"stage":96,"team_size":97},{"value":53,"source":54,"evidence":55},"Exposing private services securely without port forwarding or exposing public IP, replacing Cloudflare Tunnels","maker",[56],{"id":57},"post",{"value":59,"source":60,"evidence":61},"Self-hosters and homelab users exposing private services to others","inferred",[62,66,69],{"id":63,"by":64,"text":65},"44527967","oschwartz10612","Thanks! I think what you are using (SSH, Tailscale) is great for your use case! We see this as more of a static and permanent tunnel to a service - less ephemeral than a ssh…",{"id":67,"by":64,"text":68},"44526044","Hello Eveyone, this is the other maintainer here. Just wanted to add some more detail about the other components of this system: Pangolin uses Traefik under the hood to do the…",{"id":70,"by":71,"text":72},"44528210","nicolas_","Everyone on \u002Fr\u002Fhomelab has been talking about it over the last few months. I bought a VPS and later realized a cheap tiny PC would be better for my use case combined with…",null,{"value":75,"source":54,"evidence":76},"Retain full control over infrastructure instead of relying on Cloudflare Tunnels",[77],{"id":57},[79,84,88],{"value":80,"source":81,"evidence":82},"Traefik","commenter",[83],{"id":67,"by":64,"text":68},{"value":85,"source":81,"evidence":86},"WireGuard",[87],{"id":67,"by":64,"text":68},{"value":89,"source":81,"evidence":90},"Node.js",[91],{"id":92,"by":93,"text":94},"44531522","pancsta","Reverse proxy in nodejs? How about no?","open_source","launched","team",{"praise":99,"objections":137,"requests":149,"questions":167,"alternatives":201},[100,115,126],{"value":101,"source":81,"evidence":102},"Smooth, stable install and operation for self-hosted setups",[103,107,111],{"id":104,"by":105,"text":106},"44528933","PeterStuer","Been using this for a few months for serving from home with a tiny VPS at Hetzner tunneling the traffic to Newt behind my home firewall. My experience went very smooth and…",{"id":108,"by":109,"text":110},"44537732","nirav72","Great seeing Pangolin posted on Show HN. I just got pangolin installed and configured this afternoon on a VPS. With Newt running locally on a cheap mini-pc to establish wireguard…",{"id":112,"by":113,"text":114},"44528643","PoKeRGT","I have been using pangolin for a few months already and it's awesome. Installed in a small VPS (static IP) as an entry point for all the services I want to expose to friends and…",{"value":116,"source":81,"evidence":117},"Open source alternative to Cloudflare Tunnels is refreshing",[118,122],{"id":119,"by":120,"text":121},"44529524","44za12","This is super exciting! The “Cloudflare Tunnel” lock-in has always bugged me, so seeing an open source option is genuinely refreshing. I’m especially curious how Pangolin handles…",{"id":123,"by":124,"text":125},"44529650","PhilippGille","There are dozens of open source alternatives to Cloudflare Tunnels: https:\u002F\u002Fgithub.com\u002Fanderspitman\u002Fawesome-tunneling That being said, I believe Pangolin is one of the better and…",{"value":127,"source":81,"evidence":128},"Polished UI and easy setup",[129,133],{"id":130,"by":131,"text":132},"44530384","paffdragon","This looks really nice. I have set up something similar just recently with an OPNSense box running DNS, the WireGuard instance and getting a wildcard Let's Encrypt cert that it…",{"id":134,"by":135,"text":136},"44527863","jz10","I wish I'd found this project sooner. UI looks quite sleek! I love working with CF Tunnels but I got frustrated with their lackluster web admin ux that I recently decided to have…",[138,145],{"value":139,"source":81,"evidence":140},"Running on a VPS means the provider can see decrypted traffic",[141],{"id":142,"by":143,"text":144},"44528588","aborsy","If you use this, it makes sense to run it at home. If you run it on a VPS, traffic is decrypted on VPS, the same privacy issue with Cloudflare tunnels. You have to trust the VPS…",{"value":146,"source":81,"evidence":147},"Written in Node.js, questioned for reverse proxy use",[148],{"id":92,"by":93,"text":94},[150,157],{"value":151,"source":81,"evidence":152},"Step-by-step tutorials for each use case",[153],{"id":154,"by":155,"text":156},"44529332","oulipo","Would be nice if there were a mini-tutorial in the doc for each of the use-cases you mention here, so we could quickly test it and see if it helps",{"value":158,"source":81,"evidence":159},"Dokploy or Kubernetes integration guidance",[160,163],{"id":161,"by":155,"text":162},"44529358","Would Pangolin \"integrate naturally\" with something like Dokploy? Or is more meant to \"replace\" it? Could you make a Dokploy template to let people deploy it easily?",{"id":164,"by":165,"text":166},"44560089","vanillax","How does this play on kubernetes?",[168,187,194],{"value":169,"source":81,"evidence":170},"How it differs from Tailscale, NetBird, frp, zrok",[171,175,179,183],{"id":172,"by":173,"text":174},"44527896","noduerme","This seems really interesting for managing a lot of remote dev boxes or something like that... so, kind of an uneducated question (from someone who isn't heavily involved in…",{"id":176,"by":177,"text":178},"44529427","LucidLynx","What is the difference between Pangolin and NetBird, which is also a self-hosted and fully open-source solution? https:\u002F\u002Fgithub.com\u002Fnetbirdio\u002Fnetbird",{"id":180,"by":181,"text":182},"44536560","kbumsik","How does it compare to frp, one of the most popular Open Source Cloudflare Tunnel alternative? https:\u002F\u002Fgithub.com\u002Ffatedier\u002Ffrp",{"id":184,"by":185,"text":186},"44530787","d0100","How does this compare to other OSS like zrok?",{"value":188,"source":81,"evidence":189},"Whether it works with existing Traefik setups",[190],{"id":191,"by":192,"text":193},"44539874","gavt45","Hi! I'm using traefik as reverse proxy for my homelab. Would it be possible to combine Pangolin with it while preserving already defined routes and services? Or do I need to run…",{"value":195,"source":81,"evidence":196},"Support for multiple domains",[197],{"id":198,"by":199,"text":200},"44529048","coderhs","Amazing project. I have been using tail scale connected to an nginx proxy manager hosted on a VPS, to make my application public. Wrote about it here:…",[202,210,221,229,240],{"value":203,"source":81,"evidence":204},"Tailscale",[205,206],{"id":172,"by":173,"text":174},{"id":207,"by":208,"text":209},"44529267","djlameche","Sorry if this is a noobish question, but would this allow me to access services on a VPS, that I do not want publicly accessible on the internet? In other words: Let's say I have…",{"value":211,"source":81,"evidence":212},"Cloudflare Tunnels",[213,217],{"id":214,"by":215,"text":216},"44528323","mbesto","I use CF tunnels pretty extensively with my home unraid server. The TL;DR is this - there are certain apps I host that I want to be public and don't want to onboard a Tailscale…",{"id":218,"by":219,"text":220},"44528116","nodesocket","This looks awesome. I am using Twingate (hosted and paid) currently in my production AWS VPC. AWS instance are in private subnets, no public ips attached, using a NAT instance…",{"value":222,"source":81,"evidence":223},"frp",[224,225],{"id":180,"by":181,"text":182},{"id":226,"by":227,"text":228},"44538387","qskousen","I've been trying to get something like this working with frp and now sish but I'm not there yet. My use case is a little weird, I need to run the tunnel behind a traefik instance…",{"value":230,"source":81,"evidence":231},"OpenZiti \u002F zrok",[232,236],{"id":233,"by":234,"text":235},"44677803","topgungtr99","This sounds a bit like OpenZiti & Zrok, but still sounds interesting, I'll give it a try as I do use Cloudflare tunnels a fair bit.",{"id":237,"by":238,"text":239},"44535852","iAm25626","I still use Cloudflare Tunnel(cap) but anything new is going to OpenZiti\u002FZrok (grow). Openziti\u002FZrok are amazing.",{"value":241,"source":81,"evidence":242},"NetBird",[243],{"id":176,"by":177,"text":178},{"comments":33,"answered":33,"key":245},[],{"commenters":16,"max_depth":247,"maker_replies":33,"first_comment_mins":43,"lifespan_hours":248},7,338,[250,252,255,259,262,266,268,270,273,276,278,282,285,286,290,293,295,299,301,303,305,307,310,313,316,318,320,322,326,328,329,332,335,337,340,343,345,349,353,356,358,361,362,365,366,369,371,374,377,380,382,384,386,387,389,391,392,395,397,399,403,407,410,412,415,418,422,425,428,429,431,433,435,438,440,442,447,451,454,458,461,463,465,469,471,473,475,479,482,484,486,488,492,494,496,498,500,502,505,507,510,512,514,518,522,524,527,531,535,537,539,543,545,547,549,551,555,559,562,564,567,571,574,577,579],[119,33,48,251,120,33],"project\u002Fpositive\u002Fidea",[253,33,43,254,120,33],"44535965","project\u002Fneutral\u002Fnone",[256,33,33,257,258,33],"44539529","other\u002Fneutral\u002Fnone","gowthamgts12",[260,33,48,261,120,33],"44539843","project\u002Fpositive\u002Fperformance",[263,33,48,264,265,33],"44601259","project\u002Fpositive\u002Fnone","adr1an",[172,40,43,267,173,33],"project\u002Fneutral\u002Fidea",[63,40,43,269,64,33],"maker\u002Fneutral\u002Fidea",[271,40,43,267,272,33],"44528438","barbazoo",[274,40,43,269,275,33],"44528482","fossorialowen",[277,40,48,251,173,33],"44529607",[279,40,40,280,281,33],"44538561","project\u002Fcritical\u002Fidea","wredcoll",[283,40,43,267,284,33],"44539486","zerd",[214,40,33,257,215,33],[287,40,33,288,289,33],"44528584","commenter\u002Fneutral\u002Fnone","jonotime",[291,40,48,251,292,33],"44529057","omnimus",[294,40,33,257,173,33],"44529659",[296,40,33,297,298,33],"44530901","other\u002Fneutral\u002Fprivacy","subscribed",[300,40,33,288,289,33],"44534457",[302,40,33,257,281,33],"44538583",[304,40,33,257,173,33],"44539634",[306,40,33,288,281,33],"44544707",[308,40,33,257,309,33],"44529015","hexfish",[311,40,48,251,312,33],"44530525","j45",[314,40,33,257,315,33],"44538147","Lord_Zero",[317,40,33,288,312,33],"44547296",[67,18,43,319,64,33],"maker\u002Fneutral\u002Fdesign",[104,18,48,321,105,33],"project\u002Fpositive\u002Fexecution",[323,18,43,324,325,33],"44529690","project\u002Fneutral\u002Fdocs","v5v3",[327,18,43,324,105,33],"44529809",[154,18,43,324,155,33],[330,18,43,331,275,33],"44534209","maker\u002Fneutral\u002Fdocs",[333,18,48,334,155,33],"44541930","project\u002Fpositive\u002Fdocs",[336,18,33,257,155,33],"44542262",[338,18,33,257,339,33],"44531036","hardwaresofton",[341,18,33,257,342,33],"44531252","jtbaker",[344,18,33,288,339,33],"44531323",[346,18,40,347,348,33],"44535120","project\u002Fcritical\u002Fperformance","1vuio0pswjnm7",[350,18,33,351,352,33],"44536416","other\u002Fneutral\u002Fperformance","FuriouslyAdrift",[354,18,33,351,355,33],"44536767","sgarland",[357,18,33,351,348,33],"44537292",[359,18,33,351,360,33],"44642120","SergeAx",[123,43,48,251,124,33],[363,43,33,288,364,33],"44535472","mekster",[207,49,43,267,208,33],[367,49,33,288,368,33],"44529454","TheTxT",[370,49,33,288,208,33],"44529606",[372,49,33,257,373,33],"44529537","zakki",[375,49,33,257,376,33],"44529585","jychang",[378,49,33,257,379,33],"44529862","dizhn",[381,49,33,288,208,33],"44529948",[383,49,33,288,379,33],"44530297",[385,49,43,267,275,33],"44534385",[198,48,48,251,199,33],[388,48,43,324,275,33],"44534244",[108,390,48,321,109,33],6,[233,247,43,267,234,33],[393,34,48,251,394,33],"44531327","nickspacek",[396,34,33,288,281,33],"44538611",[176,398,43,267,177,33],9,[400,398,43,401,402,33],"44529719","project\u002Fneutral\u002Fdesign","resiros",[404,398,48,405,406,33],"44530105","project\u002Fpositive\u002Fpricing","rb666",[408,398,43,409,379,33],"44530594","project\u002Fneutral\u002Fpricing",[411,398,43,267,64,33],"44534278",[413,398,43,267,414,33],"44536211","ghoshbishakh",[416,398,33,417,379,33],"44529821","other\u002Fneutral\u002Fpricing",[419,420,43,267,421,33],"44548410",10,"_shadi",[70,423,48,424,71,33],11,"maker\u002Fpositive\u002Fnone",[426,423,43,427,275,33],"44534436","maker\u002Fneutral\u002Fnone",[218,38,48,251,219,33],[430,38,48,251,275,33],"44528491",[112,432,48,321,113,33],13,[434,432,48,424,275,33],"44534468",[130,436,43,437,131,33],14,"project\u002Fneutral\u002Fexecution",[439,436,43,437,131,33],"44531765",[441,436,43,437,275,33],"44534423",[443,444,43,445,446,33],"44530451",15,"project\u002Fneutral\u002Fprivacy","noname120",[448,444,40,449,450,33],"44530660","project\u002Fcritical\u002Fprivacy","lionkor",[452,444,43,453,275,33],"44534862","maker\u002Fneutral\u002Fprivacy",[455,456,43,409,457,33],"44529349",16,"raphinou",[459,456,43,460,275,33],"44534491","maker\u002Fneutral\u002Fpricing",[142,462,40,449,143,33],17,[464,462,43,445,275,33],"44528617",[466,462,33,467,468,33],"44529829","commenter\u002Fneutral\u002Fprivacy","scottgg",[470,462,33,467,143,33],"44531622",[472,462,43,445,364,33],"44529734",[474,462,43,445,143,33],"44531142",[476,477,43,267,478,33],"44531555",18,"meteyor",[480,477,43,267,481,33],"44531676","c0wb0yc0d3r",[483,477,48,251,275,33],"44534302",[226,485,43,267,227,33],19,[191,487,43,437,192,33],20,[489,490,48,251,491,33],"44530586",21,"SaultyCracker",[180,493,43,267,181,33],22,[495,493,43,401,275,33],"44538000",[161,497,43,437,155,33],23,[499,497,43,437,275,33],"44534670",[501,497,43,437,155,33],"44541927",[503,504,43,267,155,33],"44529328",24,[506,504,43,267,275,33],"44534616",[508,31,48,261,509,33],"44532299","Dowwie",[511,31,48,424,64,33],"44534428",[237,513,40,280,238,33],26,[515,516,43,267,517,33],"44538540",27,"immibis",[519,520,43,445,521,33],"44530798",28,"snickmy",[523,520,43,445,275,33],"44534845",[525,520,43,437,526,33],"44539147","pakue",[528,529,33,257,530,33],"44530132",29,"gsck",[532,533,43,437,534,33],"44528244",30,"heavyset_go",[536,533,43,437,275,33],"44528304",[538,533,43,437,534,33],"44547714",[540,541,43,254,542,33],"44532570",31,"lucyv",[544,541,43,254,275,33],"44534459",[184,546,43,267,185,33],32,[548,546,43,267,275,33],"44534699",[164,550,43,437,165,33],33,[552,553,48,264,554,33],"44538461",34,"esseph",[556,557,33,257,558,33],"44538188",35,"PornMan",[92,560,40,561,93,33],36,"project\u002Fcritical\u002Fexecution",[563,560,43,437,64,33],"44534631",[134,565,48,566,135,33],37,"project\u002Fpositive\u002Fdesign",[568,565,33,569,570,33],"44527944","commenter\u002Fneutral\u002Fdesign","hammyhavoc",[572,565,40,573,135,33],"44528079","project\u002Fcritical\u002Fdesign",[575,565,40,573,576,33],"44528301","jallmann",[578,565,33,288,364,33],"44529758",[580,581,48,251,582,33],"44527832",38,"tday1",[584,585,589],{"id":4,"t":12,"points":14,"comments":15},{"id":586,"t":587,"points":588,"comments":520},"47022745",1771152618,81,{"id":590,"t":591,"points":43,"comments":40},"49549747",1788442501,[593,598,603,608,612,617],{"id":594,"name":595,"points":596,"category":597},"44522683","nodaysoff.run",958,"creative",{"id":599,"name":600,"points":601,"category":602},"44572377","Shoggoth Mini",610,"hardware",{"id":604,"name":605,"points":606,"category":607},"44556684","Refine",408,"productivity",{"id":609,"name":610,"points":611,"category":607},"44523409","BrowserOS",291,{"id":613,"name":614,"points":615,"category":616},"44524544","Cactus",231,"ai",{"id":618,"name":619,"points":620,"category":621},"44526322","Bedrock",221,"dev_tools",false,"v2",{"id":625,"name":5,"line":6,"ai":622,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":626,"top":18,"kw":627,"maker":11,"domain":10,"tier":19,"attempts":43,"strip":628,"url":9,"mix":629,"praise":101,"objection":139,"sub":21},44526015,0.22,[21,24,25,26,27],"5533500543510530545434542233443433333352",[31,32,33,34],1793991125383]