the fast, reliable localhost tunneling solution


  • Updating TLS certs, new public ports

    By Bjarni Rúnar Oct. 28, 2021, 4:30 p.m.

    This is just a quick heads' up to let everyone know we are still alive and kicking!

    We are currently in the process of deploying new TLS certificates and a configuration update to the PageKite relays. This will involve restarts and will disconnect kites temporarily, but as usual we roll updates to servers during night-time hours in their respective time zones to minimize disruption.

    Once this update is live, PageKite relays will listen on four new public ports: 465, 993, 995 and 1965. This brings the total set of public ports to 79, 80, 443, 465, 843, 993, 995, 1965, 2222, 3000, 4545, 5222, 5223, 5269, 5670, 6667, 8000, 8080, 8081, 8082, 8083, 9292, 25565.

    The new ports are the defaults for TLS-secured e-mail protocols (SMTP submssion, IMAP and POP3), and the gemini project. Although technically you can run any end-to-end TLS-secured protocol over any port, we hope supporting the defaults will make it a little easier to use PageKite with these apps.

    In all cases, clients must support the SNI TLS extension for things to work.

    Note that PageKite does not natively support these protocols, but if you use end-to-end TLS tunnels, native support isn't necessary for things to work: PageKite sees a stream of TLS encrypted bytes and just relays them verbatim. End-to-end TLS is the most secure configuration anyway, so go forth and tunnel!

    Also, note that when configuring your pagekite.py, libpagekite or upagekite connector for end-to-end TLS tunneling, you must request the "https" kite protocol, even if you aren't actually running a web server. This is admittedly confusing, and we may attempt to address this oddity in future releases of our software.

    These changes should all be live sometime after the weekend.

    1 comment

  • New PageKite release, fixes relay connection issues

    By Bjarni Rúnar Oct. 14, 2020, 2:29 p.m.

    We have released two minor updates: pagekite.py version 1.5.2.201011, and version 1.0.1.201011 of our Debian packages.

    This update fixes a problem with one of the embedded TLS CA certificates, which in some configurations would prevent connections to the relays after a routine update to our TLS certificate this weekend. This mostly effects users of our custom Debian package, and users running pagekite.py on Windows.

    We are still investigating whether we can correct this at the relay by deploying a different certificate. If we find such a solution, this blog post will be updated.

    Upgrading on Debian:

    Assuming you subscribe to our repository, this should work:

    sudo apt-get update && sudo apt-get upgrade
    

    Otherwise you may need to manually download a new .deb package and install it yourself.

    An alternate solution, for Debian package users who would rather not upgrade or use our repositories, is to add the following line to the very end of the file /etc/pagekite.d/20_frontends.rc:

    ca_certs = /etc/ssl/certs/ca-certificates.crt
    

    Upgrading on Windows

    Simply download a new pagekite.py and replace your old pagekite.py with the new file.

    Other systems

    Following the advice on the downloads page to simply install a new version over the old one, should work fine.

    The configuration workaround described above is also valid for users of pagekite.py, but then the ca_certs line needs to be added to your .pagekite.rc, pagekite.cfg, or any custom location you may have chosen.

    0 comments

  • New Support Chat

    By Bjarni Rúnar July 7, 2020, 7:27 p.m.

    We are happy to announce we have launched a new Tech Support chat system!

    The new system is based on the Svarbox service offered by our friends at ISNIC, and should be more user-friendly and private than the IRC-based chat we used until now.

    For example, it is a bit smarter about knowing when we are actually online and when we aren't - if you don't see a little "How can we help?" bubble in the lower right corner, that means our live support is closed at the moment. Hopefully that will result in fewer people asking questions and then giving up because we're fast asleep or unavailable.

    The old IRC-based community chat is still available for people who want to hang out or interact with other members of the PageKite community.

    0 comments

  • TLS Certificate Bug

    By Bjarni Rúnar June 4, 2020, 10:06 p.m.

    Many users of pagekite.py are experiencing difficulty connecting to our relays, due to problems validating our TLS certificate.

    The quickest solution is to simply upgrade to the latest version of pagekite.py - versions 1.5.2.200603 or 1.0.1.200603 are known to work.

    Debian, Ubuntu and Raspberry Pi users can get upgrades directly from our custom repository.

    Those who would rather not upgrade, can work around the issue by changing their settings. Examples:

    # Use the default Debian certs (your OS may use a different path)
    ca_certs = /etc/ssl/certs/ca-certificates.crt
    

    or ...

    # Disable TLS certificate verification entirely
    fe_nocertcheck
    

    These lines should be added to ~/.pagekite.rc (command line use), /etc/pagekite.d/20_frontends.rc (background daemon configurations) or pagekite.cfg (Windows). You will need to restart PageKite for the change to take effect.

    For a more complete explanation of the problem, please see our Service Status Blog.

    We apologize for the inconvenience!

    1 comment

  • Payment provider progress: PayPal

    By Bjarni Rúnar March 24, 2020, 5:24 p.m.

    It's taken a while, but we've finally made progress integrating a payment provider to replace Dalpay. After a false start (we started integrating a provider that didn't work out), we ended up going with PayPal.

    As of last night, it is again possible to purchase additional Pay-What-You-Want PageKite quota.

    While we were unable to accept payments, we have been artificially extending everyone's subscription time; this is now being phased out. The last extensions will be granted two weeks from now, and everyone should be back on a "normal" schedule within the next two months. We're doing this gradually to get a feel for whether the new system is working correctly; expiring everyone all at once and then realizing that our integration was buggy wouldn't be much fun.

    However!

    Those of you who are willing to help us kick the tires of the new system right away, will be rewarded for doing so: for the next 3 weeks, anyone who makes a Pay-What-You-Want purchase will be given 50% extra time and bandwidth than they paid for. So please do give it a try, and if it doesn't work - let us know!

    Work is still ongoing to implement recurring subscriptions. More soon.

    1 comment

  • Unable to process credit card payments

    By Bjarni Rúnar Jan. 2, 2020, 9:33 a.m.

    We received some bad news in the mail on Friday.

    Unfortunately, our credit card payment processor, DalPay, is no longer able to process credit card payments or subscriptions on our behalf, due to a dispute between them and their bank. As a result, we are unable to charge the majority of our retail customers for service.

    This is a significant setback for our business, but it's not the end of PageKite. We have an emergency fund to deal with situations like this and we also have revenue from our OEM (white-label) customers which should keep us afloat while we sort this out.

    The silver lining is: in the meantime PageKite retail service will be completely free for individuals and smaller subscription users. This is a temporary measure, until we manage to integrate with a new payment processor. Enjoy it while it lasts! We will also be reaching out to our larger subscription customers who have been using credit card payments, and asking them to switch to normal bank transfers and a quarterly invoicing schedule.

    Hopefully this strategy will avoid any disruptions to our services.

    We thank you all for your patience, and wish you happy holidays and a merry solstice!

    Update: If your PageKite access had already expired and you find yourself unable to renew, you can use the "feeling broke" free service offer to reactivate your account: log on to your account, visit the payment page and slide the amount to its lowest setting, fill out the "feeling broke" form. This should reactivate your account and it will stay active until we are able to process payments again.

    1 comment

  • Pagekite.py v1.0 released

    By Bjarni Rúnar Feb. 25, 2019, 1:50 p.m.

    I am happy to announce the immediate availability of pagekite.py version 1.0!

    Highlights since v0.5.9:

    • The version number is v1.0!
    • User interface improvements, to clarify quota and rate-limiting status
    • Many refinements to the front-end relay selection algorithm
    • Many new features to assist with running high-volume relays (pagekite.net)

    In particular, the front-end relay selection changes should improve the availability and performance of your kites, while reducing somewhat the load on the shared relay infrastructure. This should be a win for everyone, but if you have problems please let us know.

    Version 1.0 comes with a roadmap

    The full version number for this release is actually v1.0.0.190225, but this is our first 1.0 release, so all those extra digits don't matter all that much - yet! We have changed versioning schemes; the date of release is now embedded in the version number and for minor bug-fixes that may be all that changes. Aside from that, we will attempt to stick with semantic versioning best practices.

    And of course, the core pagekite.py code has been stable for a long time now and rather than conservatively sit around at v0.5, we're now calling it v1.0.

    This release also comes with a vague road-map:

    • v1.5 will drop support for legacy Python versions (2.6 and below), but add support for Python 3.x.
    • v2.0 will use libpagekite to speed everything up.

    Our road-map does not come with any dates or deadlines. The code will be ready when it's ready.

    Thanks for using PageKite!

    0 comments

  • Phishing and spam

    By Bjarni Rúnar July 26, 2018, 1:20 a.m.

    Dear customers, and dear abusers,

    For the past few days, there has been a rash of abuse, where criminals host phishing sites behind PageKite and then send out spam e-mails to attempt to harvest people's data. We are aware of this and we are shutting down the offending accounts as quickly as we can. If you receive spam e-mails with PageKite URLs, please let us know by e-mailing support.

    Unfortunately some slip through now and then, and enough did that we got blacklisted by Google - causing scary red warning pages to appear in Firefox (and probably Chrome as well) when people attempted to view their own flying kites. We are deeply sorry about this.

    Sadly, there is absolutely nothing we can do to prevent people from sending out spam e-mails with links to PageKite.

    However - we can make sure that those links are useless, and we have been preparing code to do exactly that for the last few months. Things have now come to a head, so I will be cutting the testing short and deploying the new protections later this week. So, dear spammers, if you are as elite as you think you are, you will stop using PageKite: the incoming traffic will be blocked automatically; you will be wasting your time.

    Legitimate users should not be impacted, unless they are serving content to the wider public. Small personal sites and testing setups won't notice any difference, but busier websites may need to contact us to get the limits removed. In the future, we will be adding controls to the account management page so paying customers can adjust their limits themselves. We're sorry if this causes inconvenience, but our hand has been forced here.

    The changes will roll out either on Friday or Monday, depending on how preparation work goes.

    Update, July 26:

    The new limits are now in place.

    White-label and subscription accounts are unchanged, but trial and pay-what-you-want accounts can now only handle a limited number of different clients over a given period of time.

    The number of clients and the window of time varies, but the default for a new trial account is to only allow 5 different clients over any given 3 hour period. Customers who have paid for service have both higher limits and shorter "windows." All these numbers are likely to change over time as things develop.

    Clients are recognized by IP address and (in the case of HTTP requests) user-agent and accepted language. So if you run both curl and Firefox from the same machine (the same IP), that will still count as two separate clients.

    Planned enhancements:

    • An updated pagekite.py which reports what your actual limits are
    • An updated Temporarily Unavailable page which explains these limits
    • Information about these limits on the My Account page
    • Tools for changing your own limits (paying customers only)
    • Internal tools and processes for flagging and reviewing accounts that hit the limits

    We'll post again when there is more news.

    2 comments

  • Happy GDPR Day!

    By Bjarni Rúnar May 25, 2018, 10:30 a.m.

    Today the EU General Data Protection Regulation comes into effect.

    This is great news for EU citizens! Hopefully most businesses will choose to afford all their customers the same rights as they afford their users from the EU - making this a major step forward for Internet users everywhere. So, Happy GDPR Day!

    The Beanstalks Project (the company behind PageKite) has always made an effort to process as little personal information as possible; we feel we can best protect your privacy by knowing as little about you as possible. So complying with the GDPR has proven pretty painless for us.

    However, for legal reasons (mostly tax compliance), we do have to keep some records and we agree with the GDPR that you deserve to be informed about this. We have put together a brief Data Processing Statement explaining what information we have, why, and how we safeguard it.

    Take a look and let us know if anything is unclear.

    Thanks for using PageKite!

    0 comments

  • Network, product and website updates

    By Bjarni Rúnar April 18, 2018, 1:41 p.m.

    Things have been relatively quite here on the PageKite blog for the last few months.

    However, operations are ongoing!

    There was some excitement back in January, when most of our hosting providers deployed emergency Meltdown and Spectre patches at the start of the year, which reduced performance enough (by about 20%) that we had to bring quite a few more relays on-line to compensate.

    We are now operating 40 over servers in various places around the globe!

    This may seem like a lot, but it's actually a very good thing for the stability of our service. The more servers we have to spread the load, the less impact it has when one goes down. One of the things that makes PageKite unique is how well pagekite.py and libpagekite adapt to network problems and reroute traffic as necessary. The more servers they have to work with, the better!

    However, with so many servers live, administration does become tricky. PageKite is a small team (usually just me), and we depend a great deal on automation to make this possible. In order to simplify our operations we have started using Ansible internally for server management, and are actually well on our way to making that into an on-site product we can offer to our larger customers. This product probably won't launch until late this year or sometime in 2019, as we want to be sure we've ironed out all the kinks. These things take time! We are currently running a pilot program with one of our embedded OEMs and things are going well.

    We are also in the process of reviewing the contents of this web-site, and will be making some minor (and some major) updates over the next few weeks and months to better communicate and explain how PageKite works. In particular, there are also some absolute gems in our community wiki that deserve more attention. For example, did you know that OpenVPN connections can be tunneled over PageKite? I didn't, that was news to me!

    Making these changes will be an iterative process, rather than a big all-at-once redesign. There may be some downtime as we migrate the site to a new server though. We'll try to announce that step in advance.

    That's it for now! Take care and thanks for using PageKite.

    2 comments

The Blog

Welcome to the PageKite blog!

Here we write about anything and everything to do with running the service, building a company, open-source, privacy online... you name it.

But mostly it's about PageKite.

Other venues