Battlemesh logo
  • Comments
  • Edit
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
    • Edit SideBar
  • Login

Navigation

  • RecentChanges
  • FindPage
  • PastEvents
  • ContactUs
  • HelpContents
  • attachment:gwit-slides.md of BattleMeshV15

Attachment 'gwit-slides.md'

Download

   1 % gwit: Human-scale Distributed Web over Git
   2 % Ivan Vilata (Degauss) [ivan@selidor.net](mailto:ivan@selidor.net)
   3 % Wireless Battle Mesh v15, 2023-05-11 (Calafou)
   4 
   5 <!-- pandoc -t slidy -s -o gwit-slides.html gwit-slides.md -->
   6 
   7 # Some problems with the Web
   8 
   9 * Online dependency
  10 * Inefficient
  11 * Increasingly complex
  12 * A privacy nightmare
  13 * Bloated and hostile
  14 * Centralized and centralizing
  15 * Unreliable content
  16 * Fragile
  17 
  18 # A better Web
  19 
  20 * Human-scale
  21 * Privacy-respecting
  22 * Offline support
  23 * Lightweight
  24 * Decentralized/distributed
  25 * Authenticated content
  26 * Long term-proof
  27 
  28 # Some alternatives to the Web
  29 
  30 * Smolnet: simple, still online
  31 * Decentralized Web: resilient, quite complex
  32 * Web3: dubious incentives & resource-hungry
  33 
  34 We need simpler solutions!
  35 
  36 # “Use git.”
  37 
  38 “[…] we have been denying ourselves super powers for years simply by continuing to distribute our content in a fashion which makes it really impractical to grab sites wholesale, even though the bandwidth and disk space required to do this (for simple text files, anyway) has long been easy to come by.”
  39 
  40 \-- Solderpunk, *Low budget P2P content distribution with git*
  41 
  42 # Enter gwit
  43 
  44 gwit = Git (with PGP commit signatures) + URI format
  45 
  46 * For lightweight sites
  47 * Minimalist
  48 * From Git: distributed, replicated, authenticated
  49 * Full-history site replication on access
  50 * Offline browsing when possible
  51 * Git ubiquity + site replication: long-term access
  52 
  53 <https://gwit.site/>
  54 
  55 # Lightweight decentralization
  56 
  57 * Petnames for sites (Spritely-style)
  58 * Site recommendations
  59 * Host & transport independence 
  60   * Dumb HTTP server, Git forge, sneakernet, P2P…
  61 
  62 # URI examples
  63 
  64 ```
  65 gwit://0x0123456789ABCDEF0123456789ABCDEFFEDCBA98/posts.html#latest
  66 gwit://⁣│⁣Carol's blog⁣│⁣/test/page.gmi
  67 gwit://⁣┊☞⁣Bob's site⁣⇒⁣Meet Carol⁣┊⁣/gemlog/
  68 gwit://0x0123456789ABCDEF0123456789ABCDEFFEDCBA98:9c359d88d4882d17d673a7fb89c9af8349a4fb7c/breaking-news.gmi
  69 ```
  70 
  71 # Easy publication
  72 
  73 1. Put site files in a Git repo
  74 2. Create PGP key for site, put in the repo
  75 3. Add optional config file
  76 4. Sign commits with the site key
  77 5. Publish the repo anywhere
  78 
  79 Support existing static Web & Gemini sites.
  80 
  81 Be forgiving with author changing mind.
  82 
  83 # Example gwit.ini
  84 
  85 ```
  86 [site]
  87 name = Foo Bar
  88 title = Foo Bar: the Bar for all your Foos
  89 title-fr = Le Bar de Foo : le Bar pour tous vos Foos
  90 desc = "It's the Foo Bar!\n\nFind your best Foos here."
  91 desc-fr = "C'est le Bar de Foo !\n\nTrouvez vos meilleurs Foos ici."
  92 license = CC-BY
  93 root = output
  94 index = index.gmi
  95 remote = https://git.example.net/foo/bar-site.git
  96 branch = gemini-output
  97 
  98 [remote "hut-mirror"]
  99 url = https://hut.example.org/foo-mirror/bar-site
 100 
 101 [alt "gemini"]
 102 base = gemini://foo.example.net/bar-site/
 103 
 104 [link "Someone's site"]
 105 key = 0x0123456789ABCDEF0123456789ABCDEFFEDCBA98
 106 remote = https://hub.example.com/someone/my-gwit-site.git
 107 branch = published
 108 ```
 109 
 110 # Web/Gemini to gwit
 111 
 112 * `alt` sections in `gwit.ini`
 113 * `/.well-known/gwit.ini` (RFC8615)
 114 
 115 ```
 116 [site]
 117 key = 0xFEDCBA98765432100123456789ABCDEF76543210
 118 remote = https://git.example.net/foo/bar-site.git
 119 branch = gemini-output
 120 ```
 121 
 122 # Lightweight reading
 123 
 124 * Key: secure site retrieval/update
 125 * Key: familiar Web-like navigation
 126 * No clients yet! (soon)
 127 
 128 (Docs and other tools missing too.)
 129 
 130 # Deliberation welcome!
 131 
 132 Help shape the thing:
 133 
 134 * gwit spec: [https://git.sr.ht/~ivilata/gwit-spec](https://git.sr.ht/~ivilata/gwit-spec)
 135 * Mailing list: [https://lists.sr.ht/~ivilata/gwit-spec](https://lists.sr.ht/~ivilata/gwit-spec)
 136 
 137 Thanks! 👋

New Attachment

File to upload
Rename to
Overwrite existing attachment of same name
twö plüs thirtëen minüs 3?

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2023-05-05 09:17:10, 28.1 KB) [[attachment:APCLogoVectorEN.svg]]
  • [get | view] (2023-05-05 09:17:10, 46.4 KB) [[attachment:Exo.cat-logo.png]]
  • [get | view] (2024-05-22 10:53:36, 577.7 KB) [[attachment:MirageOS.pdf]]
  • [get | view] (2023-05-05 09:28:38, 43.1 KB) [[attachment:RIPE_NCC_Logo2015.png]]
  • [get | view] (2023-05-05 09:58:47, 99.9 KB) [[attachment:Uni_Vienna_Logo_2016.png]]
  • [get | view] (2023-03-28 04:43:26, 39.4 KB) [[attachment:WBMv15-logo-v0.png]]
  • [get | view] (2023-05-05 08:17:30, 93.4 KB) [[attachment:WBMv15-logo-v1.png]]
  • [get | view] (2024-05-17 12:50:44, 5493.0 KB) [[attachment:WBMv15-report.pdf]]
  • [get | view] (2024-05-17 12:44:25, 209.7 KB) [[attachment:WBMv15.pdf]]
  • [get | view] (2023-05-18 02:07:27, 17323.2 KB) [[attachment:WBMv15_chip_wars_2023.pdf]]
  • [get | view] (2023-05-18 02:10:18, 2375.5 KB) [[attachment:WBMv15_testbed_results.pdf]]
  • [get | view] (2024-05-17 12:45:10, 3.3 KB) [[attachment:battlemesh_places_more_compact.r]]
  • [get | view] (2023-01-29 15:08:21, 1965.5 KB) [[attachment:calafou1.jpg]]
  • [get | view] (2023-02-05 14:35:36, 1132.2 KB) [[attachment:calafou2.jpg]]
  • [get | view] (2023-05-09 19:40:10, 69.3 KB) [[attachment:calendar_see_better_titles.png]]
  • [get | view] (2023-05-05 15:04:56, 9.1 KB) [[attachment:ccc-logo.png]]
  • [get | view] (2023-01-29 15:09:54, 1815.2 KB) [[attachment:church1.jpg]]
  • [get | view] (2023-01-29 15:09:59, 2148.0 KB) [[attachment:church2.jpg]]
  • [get | view] (2023-01-29 15:10:04, 881.1 KB) [[attachment:church3.jpg]]
  • [get | view] (2023-01-29 15:12:00, 994.6 KB) [[attachment:communal_area.jpg]]
  • [get | view] (2023-02-05 14:29:36, 518.9 KB) [[attachment:communal_area2.jpg]]
  • [get | view] (2023-05-05 09:17:10, 8.3 KB) [[attachment:freifunk.png]]
  • [get | view] (2023-05-05 09:17:10, 13.5 KB) [[attachment:funkfeuer_logo.png]]
  • [get | view] (2024-05-22 10:49:23, 0.7 KB) [[attachment:get-ics.sh]]
  • [get | view] (2024-05-22 10:53:22, 6.5 KB) [[attachment:gwit-slides.html]]
  • [get | view] (2024-05-22 10:53:27, 3.5 KB) [[attachment:gwit-slides.md]]
  • [get | view] (2023-05-06 10:07:45, 369.2 KB) [[attachment:howtofindcalafou.png]]
  • [get | view] (2024-05-22 10:48:58, 2.4 KB) [[attachment:ics-to-moinmoin.py]]
  • [get | view] (2023-05-05 09:17:10, 8.2 KB) [[attachment:libremesh_logo.png]]
  • [get | view] (2023-05-05 09:17:10, 8.2 KB) [[attachment:libremeshlogo.png]]
  • [get | view] (2023-02-05 14:29:45, 1169.4 KB) [[attachment:main_hall1.jpg]]
  • [get | view] (2023-02-05 14:29:50, 401.8 KB) [[attachment:main_hall2.jpg]]
  • [get | view] (2023-05-05 09:17:10, 24.6 KB) [[attachment:ninuxorglogo.png]]
  • [get | view] (2023-05-06 09:10:05, 66.6 KB) [[attachment:openwisp-logo.png]]
  • [get | view] (2023-05-05 09:51:02, 127.4 KB) [[attachment:qaul-logo-Icon1024.png]]
  • [get | view] (2023-05-05 11:33:38, 9.4 KB) [[attachment:upc-logo.png]]
  • [get | view] (2023-01-29 15:11:46, 1170.8 KB) [[attachment:workshop_space_1.jpg]]
  • [get | view] (2023-01-29 15:11:50, 872.5 KB) [[attachment:workshop_space_2.jpg]]
  • [get | view] (2023-01-29 15:11:55, 926.6 KB) [[attachment:workshop_space_3.jpg]]
 All files | Selected Files: delete move to page copy to page
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01