Hacker News new | past | comments | ask | show | jobs | submit login
The fast, reliable way to make localhost part of the Web (pagekite.net)
47 points by dsr12 on Oct 12, 2012 | hide | past | favorite | 30 comments



Alternatively there's the localtunnel gem which is good for quick sharing - http://progrium.com/localtunnel/

PageKite looks a lot more powerful though.


Recently became a paying pagekite customer. Couple of thoughts here:

I'd sort of like to not have to use it - I'd prefer to just tunnel through my cable modem, but some lock down from Time Warner makes this much harder than it should be.

I'd used the localtunnel service from twilio earlier, and like that. But Pagekite is better in a few ways.

1. the naming - foo.pagekite.me far reduces any potential collision I'd get vs the localtunnel approach of xpkf82.localtunnel.com getting reused accidentally.

2. Pagekite can follow me - go to the local cowork space, run pagekite, and foo.pagekite.me now points to my new IP address at the cowork space.

3. SSL - I get https:// forwarding by default

I'm using this for some facebook work, and have my facebook app stuff pointing to foo.pagekite.me while I'm in dev, and it's working great.

I do find their control panel / acct mgt slightly confusing - what a 'kite' is wasn't really apparent to me at first, and 'remaining bandwidth' vs how much I've used wasn't something I could easily see (the numbers are at opposite ends of the screen in different font sizes). Some of this may be because I'm new to the service, but also because I just don't go there that much (little need).

Thanks pagekite!


Thanks for the comments and feedback. I agree the control panel and account management could be improved, like many other parts of the project it is all a work in progress.


    curl -s https://some.probably.malicio.us/site/ |sudo bash
Yup, that is exactly what the world needs.


Is this really less transparent than running a rpm or installer .app?

On the other hand, looking at the source (which hilariously checks and warns if curl doesn't exist) you could just download https://pagekite.net/pk/pagekite.py put it on your $PATH manually.

The thing that makes me feel odder is that pagekite.py is just a bunch of base64 compressed python scripts - if you are going to put your .py script on a user's machine, are there really that many savings in compressing all the python code?


The shenanigans are just to keep it encapsulated as a single .py for backwards compatibility with when it actually was just a single .py. Once I get into the official Debian and Fedora repos and have proper windows/mac packages, this will go away.


Yeah, that needs changing ASAP.


I get that alot. But this is actually easier to audit than install.exe or the shell scripts embedded in a .deb or .rpm (which, incidentally, also run as root).

It looks scary, but it really isn't. Or rather, it's no scarier than most of the other ways to add software to the common desktop operating systems.

Edit: and for those who care, there are .rpm and .deb packages available, or you can grab the source from github. Pick your poison.


Obligatory link to "| sudo bash" HN comment:

http://news.ycombinator.com/item?id=2427492


I believe that in most common distributions, both curl and wget will be supplied with ca-certificates out of the box.

e.g

> $ dig +short ssl.example.com

> 123.456.789.012

> $ curl -I https://123.456.789.012/foo.bar

> curl: (51) SSL: certificate subject name 'ssl.example.com' > does not match target host name '123.456.789.012'

Besides that, he makes several good points which I think should speak for themselves.


Sounds like most of those would be solved by putting it up on github so you'd git clone the bash repo then execute it.


Further to bensummer's link, packages allow a package manager to manage the software. Update, delete etc is all taken care of.

It also concerns me that the author of security conscious software isn't concerned by this.


I take security quite seriously, but I disagree with how you have evaluated the risk from this particular technique.

That said, I do consider this to be a temporary measure while the software is maturing to the point that I can get it accepted into the mainstream distros and build proper win/mac packages. That would be better for everyone, both from a usability and security standpoint.

We are a very small team (usually just me) and these things take time.


Why wait on it to be accepted by the distros? What is stopping you from setting up a small Yum/Apt repo and publishing your GPG key?


You mean like this? :-)

https://pagekite.net/wiki/Howto/GNULinux/DebianPackage/ https://pagekite.net/wiki/Howto/GNULinux/RpmPackage/

... this works and is the most conveninient way to use PageKite if you are treating it as part of the OS (so always on, exposing local servers).

However, in the context of security and trust, you really should think thrice before installing 3rd party repos like mine - once you have added my repo to your OS, I can upgrade any package on your computer with whatever malicious content I want. So folks who don't trust me and my curl-bash hack really shouldn't trust this sort of solution either.

This is why getting third parties to build, package and sign my software and getting into the public repos is the "correct" solution, but doing so didn't make sense while I was rapidly iterating. Things are starting to stabalize now, so I will probably be revisiting this very soon.


I've seen it in POW, RVM. This recent trend concerns me. The sad thing about all this is not only that the command runs with sudo, but they have packages for download too so they didn't need to use this messy hack in the first place.


I used pagekite recently for testing a Facebook app and I was very pleased with it. It's very easy to setup. I tried localtunnel too but it changes the domain name with every restart. Pagekite provides static domain which is very handy when testing applications which require a static public domain.


Founder of PageKite here. I'm more than happy to answer any questions folks may have. :-)


Lack of coffee question for you. I've registered and am playing with this and I'm looking to tap into not only IIS but also node apps running on say, localhost:8999. Is that possible with this product or is it purely sitting on the IIS instance?


Should be no problem. You can point to any local port, and you can run multiple "kites" at the same time (assign public names to mupltiple ports at once). Just make sure your apps generate relative URLs and don't contain absolute IPs and ports and it should be smooth sailing.


Thanks, I'll play with it. I have Friday demos for clients and I would love to not have the localhost:xxxx in the URL just for sanity's sake. Love the idea, cheers.


why can't I pip install this? It's a Python package after all...


Honestly, because I haven't yet taken the time to figure out how. Mostly that is because I have the feeling pip is more intended towards libraries and things used while programming python. Pagekite is not really a library (yet), it is more of a system utility, so integrating with the OS (rpm/deb and such things) seemed far more important.


Pip is by no means exclusive to libraries. See https://github.com/jkbr/httpie for an example of a CLI app that's distributed through both pip and easy_install.

This guide might be helpful for you: http://guide.python-distribute.org/creation.html

Also, nice work. I've used localtunnel up till now. You've definitely added more features than they have, so I'll be following this closely.


Thank you for the pointers, I'll take a look!


[found the answer]


Pretty much every developer got access to web server. Why not just use ssh tunnels? ssh -f -N -q -R 123:localhost:80 login@remote.example.com

The only difference is that your website will be on different port, e.g. remote.example.com:123

For me it is much easier to setup, cost 0$ vs. >= 4$ / month. I do not have to trust someone to run some random code with root privileges...

Am I missing something? The number of website which offer something that substitute ssh tunnel is astonishing.

Anyway, there is also free version by twilio: http://progrium.com/localtunnel/


Yes, for a developer, there are many ways to do this.

PageKite aims to be more reliable, fast and convenient. It also provides niceties like preconfigured SSL certificates and automatic DNS subdomain provisioning and is smart about reconnecting and adapting to changes in the network environment.

The downside is, to reap those benefits you have to learn to use a new tool. :-)

Edit: Also, you've got our pricing wrong. We ask for $3/month, but you can go even lower if you are a hobbyist or buy a group subscription and get a bulk discount.


On attempting to signup, I am getting this:

Forbidden (403) CSRF verification failed. Request aborted. More information is available with DEBUG=True.

Anybody else?


Sorry, nevermind... seems it was one of my extensions, worked okay in incognito mode.

Had tried on my phone and got the same message, now assuming that is because my phone browser is sub-par and it was just a coincidence that I got the same message.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: