## Migrating The Web To Gopher Proposals For A Better Internet Future. by Christoph Lohmann <20h@r-36.net> ## The Web Is a Mess * Web browsers are complex to compile and not understandable. * Implementing your own web browser is impossible in one lifetime. * Everything in the web is now against you: * Facebook is stealing your friends. * Instagram is stealing your porn images. * Firefox extensions are stealing your history. * Mozilla is stealing your sanity. (Rust?) * Google is stealing your life. * Microsoft is stealing everything from you. * Web technologies are beyond being fixable. ## Fixing Anonymisation: Gopher Tor Project gopher://bitreich.org/1/onion * Gopher and Tor are best brothers. * Gopher has a controlled subset of metadata. * No hidden cookies. * In webbrowsers everything in JS or CSS can be used for fingerprinting. * Gopher is free of this. * Provides anonymity and encryption to gopher. * Tutorials and guidelines how to run more hidden services are shown at the initiative. * Run your own hidden service today! ## Fixing The Overload Problem: Gopher-Web Interfaces (1/1) * Simple translations of popular websites to the gopherspace. * Examples that exist: Hackernews: gopher://codevoid.de/1/hn OpenWeatherMap: gopher://0xfa.de/7/~pazz0/weather.dcgi Mastodon: gopher://pleroma.soykaf.com:9999/ Piratebay: gopher://bay.parazy.de:666 Youtube: gopher://shroom.party/1/yt Wikipedia: gopher://gopherpedia.com Searx Search: gopher://me0w.net/7/searx.dcgi Project Gutenberg: gopher://dante.pglaf.org/1 Netflix: gopher://shroom.party/1/netflix/ * Write your own today! ## Fixing the Overload Problem: Gopher-Web-Interface (1/1) * Let us get started: $ git clone git://bitreich.org/sacc $ cd sacc $ make $ cd .. $ git clone git://bitreich.org/geomyidae $ cd geomyidae $ make $ ed apple-service.dcgi ?apple-service.dcgi i #!/bin/sh applenumbers="$(curl -s http://r-36.net/tmp/apples)" printf "[i|There are %s apples total.|Err|server|port]\n" "${applenumbers}" . w 140 q $ chmod +x apple-service.dcgi $ ./geomyidae -b $(pwd) -p 7070 $ ../sacc/sacc gopher://localhost:7070/1/apple-service.dcgi | cat |There are 32 apples total. # TADA! MAGIC! ## Fixing The Input Problem: Other Protocols * Why extend gopher to be HTTP+HTML? It will be the same. * What is used now, for protocols: Chat+IM: IRC + bitlbee Mail: E-Mail (SMTP + IMAP + POP3 etc.) Querying Databases: DICT, CCSO, Gopher File Transfer: FTP, 9P, Gopher, Bittorrent Games: SSH, Gopher Interactivity: SSH * There are more protocols we can resurrect and use. Finger? CCSO? LDAP (fetish)? ## Fixing The Corporate Problem: Add Gopher Interfaces (0/1) * Companies steal our data. * Companies centralize the Internet and make it less free. * Facebook is evil * Google is evil * Twitter is evil * .... is evil * There are Open Source Web projects, which have good intentions. * Decentralisation is the goal. * My proposal: * So add gopher interfaces to everything. * If that is not enough, add SSH frontends. * See kiosk@bitreich.org or gamehall@bitreich.org * Some BBS? ## Fixing the Corporate Problem: Federate / Decentralize (1/1) * Write proxy clouds for gopher-web-interfaces. * Hide behind a group, like searx does. * See HTML as our API to the web data. * They hide the identity of users and allow avoding the web madness. * All of them should be hosted on hidden tor services. * Pure anonymity and encryption. * The original dream of the Internet comes true. * Who wants to help? ## World Domination Plan 1. Create first example gopher-web interfaces. DONE 2. Start a movement to spread the idea. DONE 3. Record and identity all needed website of one day. PENDING 4. Write alternatives for those websites. PENDING 1. Create helper scripts and snippets for others to convert more websites. PENDING 5. Dig gopherspace for one day without using the web. PENDING 6. ... PENDING 7. World Domination CONFIRMED ## Ideas For Bitreich (0/1) X Youtube ยป idiotbox by Evil_Bob * IDEA: cache videos on private hosting * IDEA: allow simple interface via dmenu * IDEA: extend dmenu to support thumbnails? Bitreich Ideas: One tool for one step. ## Ideas For Bitreich (1/1) X Openstreetmap mirror * IDEA: ssh maps@bitreich.org Bitreich Ideas: Always allow a commandline interface. ## Fun Fact: Writing A Gopher Validator * KataloZ on IRC mentions at 22:32:25 on #bitreich-en * gopher-validator(1) script published on 22:36:57 by me result="$(sacc "$@" | grep "^!")" [ -z "$result" ] && printf "valid\n" && exit 0 printf "invalid\n" exit 1 * at 22:48:20 quinq and KataloZ send some improvements result="$(sacc "$@" | grep "^!")" || printf "valid\n" || exit 0 printf "Errors found\n%s\n" "${result}" exit 1 * Conclusion: Keep things simple and they stay simple. ## Questions? Please ask. :) ## Thanks Thank you for listening! All comments are welcome: Christoph Lohmann <20h@r-36.net> Or join in on IRC!