💾 Archived View for ino.pagekite.me captured on 2021-11-30 at 20:18:30. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2021-11-26)

-=-=-=-=-=-=-

Pagekite Routing for Gemini

This is a test page that demonstrates that it is possible to serve gemini content from a private server exposed only through Pagekite, the localhost tunneling solution.

Pagekite project page

Implementation

Pagekite allows you to tunnel your localhost connections through a pagekite subdomain, making the content available publicly. I use this routinely for staging development work to my clients for review. It's designed primarily for web use, and as such it has a number of allowable binding ports on the public side. Currently 1965 is not one of these, but I'm requesting its addition. EDIT: 1965 is now a bindable port!

In this test environment I'm running gmnisrv with a virtual host configured for ino.pagekite.me, pointing to this file, and using a long-lived certificate I generated myself for the ino.pagekite.me address. I run the server as normal, but I don't need to make my local port 1965 public. I can maintain firewall rules blocking it if I so choose. Pagekite will handle that bit via its tunnel.

curl -O https://pagekite.net/pk/pagekite.py
python pagekite.py 1965 ino.pagekite.me:1965

The first line above downloads pagekite into the current folder. The second line is what I use to invoke it, binding my local 1965 to the ino.pagekite.me domain on the public port 1965. Now my kite is flying and connections can be made.

Note: pagekite is a pay service. It is very affordable and offers options if you can't afford to pay. I highly recommend it!

Thoughts

Pagekite can be configured with custom domains (check the website). Even without that, it could offer people a way to get gemini servers running in the most interesting places. Althought I am running this via gmnisrv now, it tested and worked using the basic shell script implementation on tomasino.org.

tomasino.org