gop2p
1.0.0
gop2p 是一個 Golang 函式庫,用於在軟體用戶端之間實作基於 UDP 的簡單點對點通訊。目標是能夠透過發出 RSA 簽署的命令來遠端控制各種節點。對等方維護只有客戶端擁有的私鑰的公鑰。
這是我的第一個主要的 Go 項目,所以它可能不太漂亮,但它運行得非常快。
客戶端資料夾包含執行發出命令的客戶端所需的所有程式碼。
對等資料夾包含運行節點所需的所有程式碼。
產生 RSA 公鑰和私鑰後,將它們放入客戶端和對等方的 cryptotext.go 檔案中。
將密鑰放在正確的位置後,建立客戶端和對等點。
使用以下命令運行客戶端:
./p2pclient < IP ADDRESS OF PEER HERE >
像這樣運行初始對等點:
./p2ppeer -p < port >
並像這樣運行任何新的對等點:
./p2ppeer -p < port > -b < ANY OTHER PEER IP >
對等點將自動共享有關當前網路中對等點的信息,因此引導對等點不必與每個後續對等點相同。這些同級本身就是引導同級。
對等方目前不會對發送給它們的命令執行任何操作。它們只列印出資料的原始位元組片。我只對 Golang 中實現的 p2p 通訊感興趣,因此沒有預設命令。然而,實作一些對等點要做的指令只需要修改commands.go檔案中的「executeCommand」函數。緩衝區僅包含命令數組,因此可以根據需要對其進行處理。我註解掉了一些程式碼,這些程式碼將作為 shell 執行該命令(但是如果您鍵入惡意命令,這可能會對安全性產生可怕的後果。您已被警告)。
歡迎請求請求。對於重大更改,請先開啟一個問題來討論您想要更改的內容。
請隨意將程式碼包含在您擁有的任何項目中。我只要求您註明該項目的名稱並連結回 github 頁面。您也不必完整地使用該項目。您可以使用任何您想要的片段。只需透過原始碼中某處的註解來歸因,不要聲稱自己是原作者。
麻省理工學院