~/talk

Gaufre: a Gopher client in your web browser

Talkat WFH Conf 2020 · on Thursday, 2020-03-26· [web-platform, nodejs]
slides:none on file

Gaufre is a browser Gopher client implemented in Node.js as a single-file SPA (~1,000 lines) that uses an gopher-over-http proxy (available on npm) to translate HTTP requests into Gopher TCP exchanges, and experiments with gopher-over-tls using SNI to get encryption and virtual hosting (uploader claims TLSv1.3 with 0RTT). Current ecosystem lists about 400 Gopher servers, Commons Host runs a demo CDN-backed instance, and the prototype demonstrably serves Gopher pages from the web.

AI-written summary · about

  1. 0:00Intro
  2. 0:22Gopher on the Web
  3. 0:46I'm @sebdeckers This is my side-side project.
  4. 1:20Bringing retro-protocol Gopher to the modern Web Platform
  5. 1:52Bandwith demand Cloud providers ration 480p feeds
  6. 2:38Disaster.
  7. 2:57Gopher is fast. design constraints = lightweight content
  8. 3:421 Response
  9. 4:58Gopher over TLS
  10. 5:56What can Gopher do?
  11. 7:39gopher://example.net URL support for hyperlinking like it's 1999!
  12. 7:57Gopher today...
  13. 8:12Post-Snowden The Web suffers from centralisation on cloud providers.
  14. 8:48Gopher to HTML Server-side rendering
  15. 9:17JavaScript can't talk TCP Gopher is raw text over TCP on port 70
  16. 9:31Gopher over HTTP
  17. 10:10Inspired by DNS over HTTP
  18. 11:43Let's talk about Gopher hosting
  19. 13:07How did HTTP solve this?
  20. 13:34Oops, Gopher does not have headers.
  21. 13:58HTTPS has the answer! First TCP data packet is called the TLS ClientHello. ClientHello contains Server Name Identification with domain name. HTTPS server uses SNI to pick the correct TLS certificate.
  22. 15:16caveat Client (or proxy) must optimistically probe' for TLS support, and fall back to plaintext Gopher if TLS handshake fails.
  23. 16:06Single-page app just one HTML file with inline CSS & JavaScript
  24. 18:00Available* via Commons Host
  25. 18:24Run your own private proxy? 1. Instal Node.js and run
  26. 18:46Publishing Gopher content
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.