[ANN] The Duckling Proxy

Luke Emmet <luke (a) marmaladefoo.com>

Hi All

I'm pleased to announce The Duckling Proxy ? - a scheme-specific proxy 
to access HTTP resources from normal Gemini clients.

Motivated by my recent discussion on the merits of opening up access to 
the Small Web in a sane way. One option is to plug an adapter into your 
client, the other is to use a scheme specific proxy.

gemini://gemini.marmaladefoo.com/blog/31-Aug-2020_The_Duckling_Proxy.gmi

So any Gemini client that supports scheme specific proxies should be 
able to connect to Duckling. Another example of a scheme-specific proxy 
is Solderpunk's Agena proxy which allows access to gopher:// resources. 
Duckling works in a similar way.

Once your proxy is in place and running, and you have configured your 
client to use it, you can request http resources using normal Gemini 
request:

Client: <http-url><crlf>
Server: 20 text/gemini
...continues...

Duckling translates all web pages into gemtext, so it is just a normal 
Gemini server, as far as your client is concerned.

View the Small Web using your favourite Gemini client, and benefit from:



Obviously, not every web site will work as expected, especially those 
requiring client side javascript/cookies/forms in order to work 
effectively. In this case, just launch your normal web browser. Or maybe 
give those pages a miss anyway?

Currently the following clients can be used with Duckling Proxy


machine:port` to access


Any other clients that implement proxy support in the future should be 
able to use it. I understand Amfora will be able to connect to it in an 
upcoming release. Let me know if you implement proxy support in your 
client and I'll add it to the list.

Best Wishes

  - Luke

Link to individual message.

Jake <jake (a) rmgr.dev>

Literally just finished getting my own http proxy and AV98 patch together 
and decided to check my emails and see that you've beaten me to the punch! 
Your proxy is much better than mine (mine is basically Agena with a 
subprocess call to html2gmi) so I might just shelve mine! ;)
-------- Original Message --------
On 1 Sep. 2020, 7:11 am, Luke Emmet wrote:

> Hi All
>
> I'm pleased to announce The Duckling Proxy ? - a scheme-specific proxy
> to access HTTP resources from normal Gemini clients.
>
> Motivated by my recent discussion on the merits of opening up access to
> the Small Web in a sane way. One option is to plug an adapter into your
> client, the other is to use a scheme specific proxy.
>
> gemini://gemini.marmaladefoo.com/blog/31-Aug-2020_The_Duckling_Proxy.gmi
>
> So any Gemini client that supports scheme specific proxies should be
> able to connect to Duckling. Another example of a scheme-specific proxy
> is Solderpunk's Agena proxy which allows access to gopher:// resources.
> Duckling works in a similar way.
>
> Once your proxy is in place and running, and you have configured your
> client to use it, you can request http resources using normal Gemini
> request:
>
> Client: <http-url><crlf>
> Server: 20 text/gemini
> ...continues...
>
> Duckling translates all web pages into gemtext, so it is just a normal
> Gemini server, as far as your client is concerned.
>
> View the Small Web using your favourite Gemini client, and benefit from:
>
> * No tracking or cookies
> * No javascript
> * No server styling, just content
> * No client headers
>
> Obviously, not every web site will work as expected, especially those
> requiring client side javascript/cookies/forms in order to work
> effectively. In this case, just launch your normal web browser. Or maybe
> give those pages a miss anyway?
>
> Currently the following clients can be used with Duckling Proxy
>
> * AV-98 - apply the patch from the source repo then use `set http_proxy
> machine:port` to access
> * diohsc - edit diohscrc config file
> * gemget - use -p option
> * GemiNaut (unreleased build, coming soon, PM me if you want early access)
>
> Any other clients that implement proxy support in the future should be
> able to use it. I understand Amfora will be able to connect to it in an
> upcoming release. Let me know if you implement proxy support in your
> client and I'll add it to the list.
>
> Best Wishes
>
> - Luke

Link to individual message.

Luke Emmet <luke (a) marmaladefoo.com>

Well I suppose you can't keep a good idea down!?

Maybe there is still a role for a proxy where you can plug in command 
line utilities, like html2gmi or others - could be a flexible solution, 
or preferred if people want to hack on a python flavoured proxy server.

I also fixed the link below which was broken for a while - the updated 
page is now here:

gemini://gemini.marmaladefoo.com/blog/1-Sep-2020_The_Duckling_Proxy.gmi

Best Wishes

  - Luke

On 01-Sep-2020 01:06, Jake wrote:
> Literally just finished getting my own http proxy and AV98 patch 
> together and decided to check my emails and see that you've beaten me 
> to the punch! Your proxy is much better than mine (mine is basically 
> Agena with a subprocess call to html2gmi) so I might just shelve mine! ;)
> -------- Original Message --------
> On 1 Sep. 2020, 7:11 am, Luke Emmet < luke at marmaladefoo.com> wrote:
>
>
>     Hi All
>
>     I'm pleased to announce The Duckling Proxy ? - a scheme-specific
>     proxy
>     to access HTTP resources from normal Gemini clients.
>
>     Motivated by my recent discussion on the merits of opening up
>     access to
>     the Small Web in a sane way. One option is to plug an adapter into
>     your
>     client, the other is to use a scheme specific proxy.
>
>     gemini://gemini.marmaladefoo.com/blog/31-Aug-2020_The_Duckling_Proxy.gmi
>     <http://marmaladefoo.com/blog/31-Aug-2020_The_Duckling_Proxy.gmi>
>
>     So any Gemini client that supports scheme specific proxies should be
>     able to connect to Duckling. Another example of a scheme-specific
>     proxy
>     is Solderpunk's Agena proxy which allows access to gopher://
>     resources.
>     Duckling works in a similar way.
>
>     Once your proxy is in place and running, and you have configured your
>     client to use it, you can request http resources using normal Gemini
>     request:
>
>     Client: <http-url><crlf>
>     Server: 20 text/gemini
>     ...continues...
>
>     Duckling translates all web pages into gemtext, so it is just a normal
>     Gemini server, as far as your client is concerned.
>
>     View the Small Web using your favourite Gemini client, and benefit
>     from:
>
>     * No tracking or cookies
>     * No javascript
>     * No server styling, just content
>     * No client headers
>
>     Obviously, not every web site will work as expected, especially those
>     requiring client side javascript/cookies/forms in order to work
>     effectively. In this case, just launch your normal web browser. Or
>     maybe
>     give those pages a miss anyway?
>
>     Currently the following clients can be used with Duckling Proxy
>
>     * AV-98 - apply the patch from the source repo then use `set
>     http_proxy
>     machine:port` to access
>     * diohsc - edit diohscrc config file
>     * gemget - use -p option
>     * GemiNaut (unreleased build, coming soon, PM me if you want early
>     access)
>
>     Any other clients that implement proxy support in the future should be
>     able to use it. I understand Amfora will be able to connect to it
>     in an
>     upcoming release. Let me know if you implement proxy support in your
>     client and I'll add it to the list.
>
>     Best Wishes
>
>     - Luke
>

Link to individual message.

---

Previous Thread: Minimum requirements for client certificates

Next Thread: Gemini Archiving and WARC