如何成為獨立網路的公民

wastemobile
10 min readMar 16, 2022

--

初探 IndieWeb 的架構與願景,體驗復古的「元」宇宙,以及重新理解網路可能是個怎樣的世界。

IndieWeb

1990 年中開始,網際網路(Internet)與全球資訊網(WWW, World Wild Web)開始逐步發展;21 世紀隨著智慧型手機與行動網路的普及,隨時連線(always online)成為日常。尼葛洛龐蒂(Nicholas Negroponte)在 1996 年出版的《數位革命》(Being Digital)裡說:「網際網路將會使組織扁平化,把社會全球化,將支配去中心化,並協助促進人際和諧。」

但現實似乎大部分朝著相反方向發展。

有一小群技客(geek)推動著 IndieWeb,一直是個頗小眾的運動,有點像架設獨立網站的自釀俱樂部,台灣可見的中文資料就這一篇:大型社群媒體當道,我們為什麼需要去中心化社群媒體 ,裡面有句很詭異的介紹:「⋯⋯一群鬆散的開發者和技術烏托邦人提出 IndieWeb 的運動,也就是『獨立網站』的概念」。

另一段則說到「⋯⋯自己擁有伺服器主機這個觀念其實不新,反而很古老,在 Web 2.0 尚未興起前的網際網路時代就是去中心化,擁有自己的伺服器還是許多網路技客的人生目標呢!」

在我的理解中這些描述不算錯、卻好像不完全正確,之前僅是瀏覽相關文章與資訊,沒有動手做、還是不太理解,嘗試跟著 IndieWebify.me 來一趟小旅行。

基礎準備

IndieWeb 是許多網路技術、規格的整合應用,自行導入耗日費時,感謝全世界市佔率最高的內容管理系統 WordPress,只需要安裝社群貢獻的外掛就能做到。

倘若已經有一台 Linux 雲端主機(或樹莓派、老舊筆電),有自己的網域,安裝好 Docker 與 Docker Compose 後,很快可以準備好一切。為了交叉測試,我使用兩個獨立網域、在 Oracle 免費 ARM 雲端主機同時安裝兩個 WordPress,搭配 Caddy 2 全自動設置好 SSL,真的只花了五分鐘。

WordPress 網站跑起來後,先安裝 IndieWeb 外掛,以及換上 SemPress 佈景主題;先忽略視覺上的不符口味,這是目前唯一一個與 microformats2 完全相容的佈景主題,測試完 IndieWeb 各項功能後再慢慢改。

IndieWeb 外掛算是個指引入門,除了添加些特殊頁面標記,會列出後續需要安裝的其他外掛、與設置方式等。

IndieWeb plugin for WordPress

Level 1:成為 IndieWeb 的網路公民

Become a citizen of the IndieWeb

IndieWeb 是一個由個人網站組成的社群,透過簡單的標準連接在一起,最基礎的就是你的自有網域,那將是你在網路上的主要身份識別;在自己的網站上發布資訊、選擇性的同步到其他(社群)網站。你完整擁有你的內容

有人這樣說:「擁有一個網站、或部落格,不表示你要成為一個網站技術開發者,也不代表會成為網紅或名人,那關乎你成為一個網路公民(a citizen of the Web)。」

達到 IndieWeb 網路公民身份的「第一階」,需要具備兩個條件:

  1. 購買一個自己的網域。(每年費用約兩百多塊。)
  2. 設置好 Web Sign In。

Web sign-in 有點像是 OpenID 的簡化替代版,讓擁有網域的人直接拿「網站名稱」來驗證身份,主要利用 Microformat 裡的 RelMeAuth 規格與 IndieAuth 驗證機制。由於你自己的網站、註冊使用的各種外部服務,基本資料都是你能控制編寫的,所以在自己的網站(個人)首頁添加 rel=me 的標記連結,在 Twitter, GitHub, Facebook… 的網站欄填上自己的網址,就可以「交互驗證」。

安裝完 IndieWeb 外掛後,會發現個人資料頁面出現許多可填的欄位,選擇填寫後 WordPress 會自動產生可驗證的 rel=me 資料。

IndieLogin.com 首頁下方的表單測試一下,例如 GitHub 會自動提供驗證,只需要登入 GitHub 就通過驗證;某些如 Twitter 則不行(曾經可以)。

IndieAuth

但 WordPress 有另一個 IndieAuth 外掛,安裝啟用後會讓你的 WordPress 網站自身變成一個驗證用的 IndieAuth Server,使用 IndieLogin 測試、或登入其他支援 web sign-in 的網站時,所謂的「驗證」居然只是登入自己的 WordPress 網站即可!非常巧妙且方便。不僅如此,這外掛還讓網站也能接受其他人用 IndieWeb 網域登入。

你擁有與控制的網域,成為你在網路上的身份識別。這蠻酷的。

Level 2:在 IndieWeb 發布你的內容

Publishing on the IndieWeb

用 WordPress 本來就是打開後臺立即可以書寫,但 IndieWeb 顯然是賦予了網路內容更深更廣的能力。

這裡牽涉的是 Post KindsMicroformats 2 兩個外掛,目前還得改用 WordPress Classic Editor 傳統編輯器。而 Webmention 外掛則讓 WP 網站具備「偵測、與發出網站通知」的能力。

會發現除了標準的文章之外,多了許多各式各樣的內容型態。將各類內容以 microformats2 的格式做上標記,從標記個人的 h-card、到標記文章的 h-entry、照片、影片,甚至是吃喝玩樂與閱讀。Microformats2 詮釋標記各種不同內容型態,這些隱藏在內容後面的「詮釋資料」,是讓網站、電腦去「閱讀」的,才能做後續的處理。

Post Kinds (microformat2)

Webmention 有點像是 Twitter 裡的 `@someone`,或者說是個跨網站的 `@something`。

若我今天在自己的網站上提到了 B 網站的某篇文章連結,而 B 網站也是 IndieWeb 的成員,那麼 WordPress 系統會自動替我發出一則通知,對方就知道有人提到這篇文章了。

Level 3:讓獨立網站雙向對話

Federating IndieWeb Conversations

標記不同型態的內容、能夠發出通知,在靜態網站、或是搭配第三方雲端服務就能做到;但真正需要一台動態的「網路主機」來處理的,是如何回應與接收其他人發來的通知與內容。

Received Webmentions

最簡單的就是將提及這篇文章的人列出來,更進階的則是實現「跨網站」回覆。

這裡需要安裝 Semantic Linkbacks 外掛

POSSE

Publish (on your) Own Site, Syndicate Elsewhere

在自己的網站上發布內容,同步到其他任何地方」,是獨立網路的一個重點。由於網站各自採用不同的技術,或對內容擁有權、使用權有不同的理解與規範,這並非容易達成的目標。

透過 Syndication LinksMicropubWebSub(FKA. PubSubHubhub) 這幾個外掛,以及中介網站 Bridgy,IndieWeb 世界可以自動化實現一部份。

Sync to Everywhere

POSSE 是個理念,即使手動操作,例如在 Medium 發布一篇文章、取得連結,再將文章連結貼回自己的 WordPress 文章欄位,也就是自己添加 IndieWeb 所謂的 Syndication Links,似乎也值得去做。

Michael Hyatt 有個非常知名的 A Social Media Framework (後來寫成了《平台》一書),雖然他是從自營網路平台、經營社群網路與個人品牌、帶點商業的角度出發,但架構相當清晰。

這概念是三層架構:

  1. A Homebase. 基地。你擁有與全盤控制的網路資產,可以是個簡單的部落格,也可以是複雜的自有網站。你自己控制邊界,以及誰能看到什麼東西。
  2. Embassies. 使館。你註冊有帳號,但實際上並不真實擁有。大概所有 `xxx.xxx/yourname` 的網站都屬於此類。這些網站發給你護照,你能與那裡的其他居民溝通與交流。你可以選擇如何經營。
  3. Outposts. 哨所。某些地方你並不擁有、可能也不定期出現,但關注著上面可能出現的關於你、你感興趣的話題。

社群互聯資料

Solid (Social Linked Data) — web decentralization project

利用 WordPress 安裝一些外掛去理解 IndieWeb,再回想起上面的 Social Media Framework,可以很清楚地發現,「獨立網站」只是 IndieWeb 的實踐節點,「社群互聯」才是真正的關鍵,甚至也是網路的本質。它擴延了基地、使館、哨所的三層架構,隱而不現一條底層的水脈。

一些讓網站主機彼此溝通的規格與實踐,是技術的表層;下面是用 microformat 清晰標記的各類內容資料,是希望溝通的標的,也是一般數位內容生產者專注的主體。

個人網站可能很小、很侷限,IndieWeb 則架構了讓網站伺服器、機器與機器之間相互溝通的基礎。每個人只需要耕耘自己的內容,讓彼此不需要透過什麼大型商業網站才能建立聯繫,你提及、他就知道,你可以造訪對方的網站,甚至能在自己的網站上就對其他人的內容作出回應

Microformat 2 規範的是 metadata、詮釋資料的資料,事實上就是「元」。這些資料隱藏在人眼可見的表層資料之後,讓電腦讀取、知道該做些什麼事,而不是從散文或詩裡去解析。我不知道元宇宙是什麼,但「元網路」明顯非常薄弱,至少人們還沒有清楚地去運用。

WWW 發明者 Tim Berners-Lee 似乎也提出了一個新的 Solid 專案,一個網路去中心化概念,「旨在從根本上改變網路應用程式的工作方式,從而實現讓每個人擁有真正的資料所有權,並且改善隱私狀況」。感覺這與 IndieWeb 不謀而合。

結語

Epilogue

即使好的網域很難買到,但擁有一個網域的成本不高,麻煩的是架設一台能滿足 IndieWeb 互動能力的網路主機,也(可能)需要一些額外費用;WordPress 確實是最簡易入手的方案。

目前流行的靜態網站部署,倘若搭配 Serverless Functions,例如 CloudFlare Workers,以及一些 IndieWeb 第三方雲端服務,似乎也有機會做到,值得探究一下。

--

--

wastemobile

「小型工具帶來一種完成工作的方法,也帶來一種實現自我變革、社會變革、最終實現世界變革的途徑。」 《數字烏托邦》