GSoC 2018: GNUnet WebUI (基於GNUnet Web的使用者介面)


週二,08/14/2018-07:55,Phil Buschmann

What was done?

於 Google Summer of Code 2018,我的導師 (Martin Schanzenbach) 和我一直致力於創建和擴展 GNUnet 的 REST API。目前,我們鏡像了下列命令的功能:

  • gnunet-identity
  • gnunet-namestore
  • gnunet-gns
  • gnunet-peerinfo

此外,我們使用 Javascript 框架 Angular 6 和設計框架 iotaCSS 開發了一個網站,以使用新的 REST API。GNUnet 的 REST API 現在使用 Sphinx 來做記載。

Why did we create a REST API?

... 什麼時候可以使用命令行工具?我們需要記得,每個人都有權保持安全和私密,但並不是每個人都對使用終端機感到自在。除了新的 Web 應用程式之外,對 GNUnet API 的進一步開發的 REST 訪問允許新用戶通過一個眾所周知的工具與 GNUnet 互動:他們的瀏覽器。C API 和命令行工具的這一新增功能可能可以吸引新用戶和開發人員。

How can we use it?

  1. 在 GNUnet 中開發的 REST API
    REST API 已合併到 gnunet.git 存儲庫中 (GNUnet Main Git)。
    若要使用新功能,請複製存儲庫並按照 gnunet.org 上的安裝 進行操作。接下來,使用 "gnunet-arm -i rest" 啟動 rest service。
  2. 網路應用程式 (The Web Application)
    網路應用程序位於 gnunet-webui.git 儲存庫下 (GNUnet WebUI Git)。
    您需要安裝最新版本的 "節點 (node)" 和 "紗線 (yarn)"。根據您的系統,您可能需要下載更新版本並手動安裝它們,而不是通過您的 packet manager。安裝成功後,您需要複製儲存庫。接下來,您需要運行 "yarn install" 和 "yarn start" 以進行測試。使用 "yarn build" 來構建網路應用程式並使用 "dist" 目錄中的輸出以部署網站(請記住,該網站與另一個本地主機實例通信)。
  3. 文件
    該文件位於 gnunet-rest-api.git 儲存庫下 (GNUnet REST API Docmentation Git).
    複製儲存庫 "make html". 接著開啟'build/html/' 之下的 'index.html'。

如果發現任何錯誤或意外功能,請您嘗試並與我聯繫。;)

What can be improved?

網頁應用程式目前的構建過程對於普通用戶來說可能稍嫌複雜。我們或許可以通過使用 docker 來解決這個問題。
此外,網路應用程式不會阻止錯誤輸入,而是以錯誤訊息的方式進行回應。添加 GNUnet 記錄目前僅適用於了解 GNS 記錄外觀的人。而這可以適應各種記錄類型。
最後,附加功能、設計更改等...

謝謝閱讀。