From 40ffdaec184ed362b80005e2efa0cbda3847d8dc Mon Sep 17 00:00:00 2001 From: Akilan Date: Sat, 18 Jan 2025 17:23:17 +0000 Subject: [PATCH 01/13] did a base conversion of P2PRC docs files to org mode --- CONTRIBUTE.md.org | 93 +++++++++++++++++++ README.md.org | 222 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 315 insertions(+) create mode 100644 CONTRIBUTE.md.org create mode 100644 README.md.org diff --git a/CONTRIBUTE.md.org b/CONTRIBUTE.md.org new file mode 100644 index 0000000..c87ecca --- /dev/null +++ b/CONTRIBUTE.md.org @@ -0,0 +1,93 @@ +* Contributing +:PROPERTIES: +:CUSTOM_ID: contributing +:END: +When contributing to this repository, please first discuss the change +you wish to make via issue, email, or any other method with the owners +of this repository before making a change. + +Please note we have a code of conduct, please follow it in all your +interactions with the project. + +** Pull Request Process +:PROPERTIES: +:CUSTOM_ID: pull-request-process +:END: +1. Ensure any install or build dependencies are removed before the end + of the layer when doing a build. +2. Update the appropriate docs before stating the changes you did. +3. You may merge the Pull Request in once you have the approval of + CODEOWNER, or if you do not have permission to do that, you may + request the second reviewer to merge it for you. + +** Code of conduct +:PROPERTIES: +:CUSTOM_ID: code-of-conduct +:END: +All projects(including mailing lists) at HWTechClub is required to +follow [[https://lunduke.com/pages/codeofconduct/][The Lunduke Code of +Conduct]]. + +*** The Lunduke Code of Conduct +:PROPERTIES: +:CUSTOM_ID: the-lunduke-code-of-conduct +:END: + +#+begin_quote +**** "Be Excellent to Each Other." +:PROPERTIES: +:CUSTOM_ID: be-excellent-to-each-other. +:END: +#+end_quote + +***** FAQ +:PROPERTIES: +:CUSTOM_ID: faq +:END: +*Q*: Wait. That's it? + +A: Yup. + +*Q*: But... but... it's only 5 words! + +A: It is? Cool! + +*Q*: Isn't that too short to be a viable Code of Conduct? + +A: Nah. + +*Q*: It's too vague! How would you enforce this?!? + +A: By being excellent to each other. + +*Q*: What if someone violates this Code of Conduct? + +A: I trust you to figure it out. + +*Q*: What if someone talks about politics I disagree with?!?!!? + +A: I know a guy who votes for Papa Smurf in every Presidential election. +He's a pretty cool dude. + +*Q*: I'm super angry about something! And a person likes the thing +making me angry! What do I do? + +A: I dunno. Try /hugs/? + +*Q*: Are virtual hugs (such as /"hugs"/ and animated .GIFs of teddy +bears hugging) excellent? + +A: Most excellent. + +*Q*: Huh. Seems so simple! + +A: I know, right? + +*Q*: I like you! + +A: I like you, too! + +/The Lunduke Code of Conduct is free for you to use however you like./ + +*Source*: [[https://lunduke.com/pages/codeofconduct/][The Lunduke Code +of Conduct]] diff --git a/README.md.org b/README.md.org new file mode 100644 index 0000000..d5dfd73 --- /dev/null +++ b/README.md.org @@ -0,0 +1,222 @@ +#+begin_quote +[!TIP] Haskell bindings supported!: +[[https://p2prc.akilan.io/Docs/haskell/P2PRC.html][Bindings +documentaton]] + +#+end_quote + +#+begin_quote +[!NOTE] Fixing documentation to latest changes. If you have any +questions setting up P2PRC either +[[https://github.com/Akilan1999/p2p-rendering-computation/issues/new/choose][create +an issue]] or send me an email (me AT akilan dot io). Currently HEAD is +always intended to stay on a working state. It is recommended to always +use HEAD in your go.mod file. + +#+end_quote + +#+begin_html +

+#+end_html + +#+begin_html +

+#+end_html + +#+begin_html + +#+end_html + +The main aim of this project was to create a custom peer to peer +network. The user acting as the client has total flexibility on how to +batch the tasks and the user acting as the server has complete +flexibility on tracking the container's usages and killing the +containers at any point of time. + +** Latest tutorial +:PROPERTIES: +:CUSTOM_ID: latest-tutorial +:END: +[[https://www.youtube.com/watch?v=OMwCpedu5cs%22][[[https://i.ytimg.com/vi/OMwCpedu5cs/hqdefault.jpg]]]] + +** Table of contents in the current README +:PROPERTIES: +:CUSTOM_ID: table-of-contents-in-the-current-readme +:END: +1. [[#Introduction][Introduction]] +2. [[#extend-your-application-with-p2prc][Installation]] +3. [[#Design-Architecture][Design Architecture]] +4. [[#Implementation][Implementation]] +5. [[#Find-out-more][Find out more]] + +* Table of contents in the Docs folder +:PROPERTIES: +:CUSTOM_ID: table-of-contents-in-the-docs-folder +:END: +1. [[file:Docs/Introduction.md][Introduction]] +2. [[file:Docs/Installation.md][Installation]] +3. [[file:Docs/Abstractions.md][Abstractions]] +4. [[file:Docs/Implementation.md][Implementation]] + 1. [[file:Docs/ClientImplementation.md][Client Module]] + 2. [[file:Docs/P2PImplementation.md][P2P Module]] + 3. [[file:Docs/ServerImplementation.md][Server Module]] + 4. [[file:Docs/ConfigImplementation.md][Config Module]] + 5. [[file:Docs/CliImplementation.md][Cli Module]] + 6. [[file:Docs/PluginImplementation.md][Plugin Module]] + 7. [[file:Docs/Bindings.md][Language bindings]] + 8. [[file:Docs/Bindings.md][Domain name mappings]] +5. Language bindings + 1. [[file:Docs/haskell/][Haskell]] + +** Introduction +:PROPERTIES: +:CUSTOM_ID: introduction +:END: +This project aims to create a peer to peer (p2p) network, where a user +can use the p2p network to act as a client (i.e sending tasks) or the +server (i.e executing the tasks). A prototype application will be +developed, which comes bundled with a p2p module and possible to execute +docker containers or virtual environments across selected nodes. + +*** Objectives +:PROPERTIES: +:CUSTOM_ID: objectives +:END: +- Background review on peer to peer network, virtual environments, + decentralized rendering tools and tools to batch any sort of tasks. +- Creating p2p network +- Server to create a containerised environment +- The client node to run tasks on Server containerised node + +[[file:Docs/Introduction.md][Read more on the introduction]] + +** Extend your application with P2PRC +:PROPERTIES: +:CUSTOM_ID: extend-your-application-with-p2prc +:END: +#+begin_src go +package main + +import ( + "fmt" + "github.com/Akilan1999/p2p-rendering-computation/abstractions" +) + +func main() { + _, err := abstractions.Init(nil) + if err != nil { + fmt.Println(err) + return + } + + // start p2prc + _, err = abstractions.Start() + if err != nil { + fmt.Println(err) + return + } + + // Run server till termination + for { + + } +} +#+end_src + +*** Export once this is added export P2PRC as environment paths +:PROPERTIES: +:CUSTOM_ID: export-once-this-is-added-export-p2prc-as-environment-paths +:END: +#+begin_example +export P2PRC= +export PATH=:${PATH} +#+end_example + +[[file:Docs/Abstractions.md][Read more]] ... + +** Installation from source +:PROPERTIES: +:CUSTOM_ID: installation-from-source +:END: +1. Ensure the Go compiler is installed + + #+begin_example + go version + #+end_example + +2. Ensure docker is installed (Should run without sudo) + + #+begin_example + docker ps + #+end_example + +3. Clone this repository + + #+begin_example + git clone https://github.com/Akilan1999/p2p-rendering-computation + #+end_example + +4. Install and build the project + + #+begin_example + make install + #+end_example + +- If you look closely you will get outputs such as: + =// Add them to your .bashrc file export P2PRC=//p2p-rendering-computation export PATH=//p2p-rendering-computation:${PATH}= + +5. [@5] Test if it works + + #+begin_example + p2prc -h + #+end_example + + or + + #+begin_example + ./p2prc -h + #+end_example + + [[file:Docs/Installation.md][Read more on the installation and + usage]] + +** Design Architecture +:PROPERTIES: +:CUSTOM_ID: design-architecture +:END: +The design architecture was inspired and based on the linux kernel +design. The project is segmented into various modules. Each module is +responsible for certain tasks in the project. The modules are highly +dependent on each other hence the entire codebase can be considered as a +huge monolithic chuck which acts as its own library + +[[file:Docs/DesignArchtectureIntro.md][Read more on the Design +Architecture]] + +** Implementation +:PROPERTIES: +:CUSTOM_ID: implementation +:END: +The programming language used for this project was Golang. The reason Go +lang was chosen was because it is a compiled language. The entire +codebase is just a single binary file. When distributing to other linux +distributing the only requirement would be the binary file to run the +code. It is easy to write independant modules and be monolithic at the +sametime using Go. Using Go.mod makes it very easy to handle external +libraries and modularise code. The go.mod name for the project is +git.sr.ht/~akilan1999/p2p-rendering-computation. + +[[file:Docs/Implementation.md][Read more on the Implementation]] + +** Find out more +:PROPERTIES: +:CUSTOM_ID: find-out-more +:END: +As we are working on the open source project p2prc (i.e p2p network +designed for computation).If you are interested in participating as a +contributor or just providing feedback on new features to build or even +just curious about new features added to the project. We have decided to +create a discord group.\\ +[[https://discord.gg/b4nRGTjYqy][[[https://discordapp.com/api/guilds/854397492795277322/widget.png?style=banner2]]]] + +[[https://github.com/Gaurav-Gosain][[[https://api.star-history.com/svg?repos=Akilan1999/p2p-rendering-computation&type=Date]]]] From f38b6d2871941e332ac272a34c6828d4ef771562 Mon Sep 17 00:00:00 2001 From: Akilan Date: Sat, 18 Jan 2025 17:28:08 +0000 Subject: [PATCH 02/13] did a base conversion of P2PRC docs files to org mode --- README.md.org | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md.org b/README.md.org index d5dfd73..ef97cb8 100644 --- a/README.md.org +++ b/README.md.org @@ -1,12 +1,12 @@ #+begin_quote -[!TIP] Haskell bindings supported!: +Haskell bindings supported!: [[https://p2prc.akilan.io/Docs/haskell/P2PRC.html][Bindings documentaton]] #+end_quote #+begin_quote -[!NOTE] Fixing documentation to latest changes. If you have any +Fixing documentation to latest changes. If you have any questions setting up P2PRC either [[https://github.com/Akilan1999/p2p-rendering-computation/issues/new/choose][create an issue]] or send me an email (me AT akilan dot io). Currently HEAD is @@ -37,7 +37,7 @@ containers at any point of time. :PROPERTIES: :CUSTOM_ID: latest-tutorial :END: -[[https://www.youtube.com/watch?v=OMwCpedu5cs%22][[[https://i.ytimg.com/vi/OMwCpedu5cs/hqdefault.jpg]]]] +[[https://www.youtube.com/watch?v=OMwCpedu5cs%22][https://i.ytimg.com/vi/OMwCpedu5cs/hqdefault.jpg]] ** Table of contents in the current README :PROPERTIES: @@ -216,7 +216,7 @@ As we are working on the open source project p2prc (i.e p2p network designed for computation).If you are interested in participating as a contributor or just providing feedback on new features to build or even just curious about new features added to the project. We have decided to -create a discord group.\\ -[[https://discord.gg/b4nRGTjYqy][[[https://discordapp.com/api/guilds/854397492795277322/widget.png?style=banner2]]]] +create a discord group. +[[https://discord.gg/b4nRGTjYqy][https://discordapp.com/api/guilds/854397492795277322/widget.png?style=banner2]] -[[https://github.com/Gaurav-Gosain][[[https://api.star-history.com/svg?repos=Akilan1999/p2p-rendering-computation&type=Date]]]] +[[https://github.com/Gaurav-Gosain][https://api.star-history.com/svg?repos=Akilan1999/p2p-rendering-computation&type=Date]] From ca46b20be1ede385cb42e732560141e64e80423f Mon Sep 17 00:00:00 2001 From: Akilan Date: Sat, 18 Jan 2025 17:30:10 +0000 Subject: [PATCH 03/13] did basic conversion to org mode for the docs folder --- Docs/Abstractions.md.org | 35 ++ Docs/Bindings.md.org | 180 +++++++++ Docs/CliImplementation.md.org | 24 ++ Docs/Client.md.org | 33 ++ Docs/ClientArchitecture.md.org | 15 + Docs/ClientImplementation.md.org | 135 +++++++ Docs/ConfigImplementation.md.org | 35 ++ Docs/DesignArchtectureIntro.md.org | 26 ++ Docs/DomainNameMappingsImplementation.md.org | 5 + Docs/Implementation.md.org | 66 ++++ Docs/Installation.md.org | 361 +++++++++++++++++++ Docs/Introduction.md.org | 48 +++ Docs/NAT-Traveral.md.org | 50 +++ Docs/P2P-testing.md.org | 136 +++++++ Docs/P2P.md.org | 45 +++ Docs/P2PArchitecture.md.org | 16 + Docs/P2PImplementation.md.org | 111 ++++++ Docs/PluginImplementation.md.org | 213 +++++++++++ Docs/README.md.org | 18 + Docs/ServerArchitecture.md.org | 14 + Docs/ServerImplementation.md.org | 278 ++++++++++++++ 21 files changed, 1844 insertions(+) create mode 100644 Docs/Abstractions.md.org create mode 100644 Docs/Bindings.md.org create mode 100644 Docs/CliImplementation.md.org create mode 100644 Docs/Client.md.org create mode 100644 Docs/ClientArchitecture.md.org create mode 100644 Docs/ClientImplementation.md.org create mode 100644 Docs/ConfigImplementation.md.org create mode 100644 Docs/DesignArchtectureIntro.md.org create mode 100644 Docs/DomainNameMappingsImplementation.md.org create mode 100644 Docs/Implementation.md.org create mode 100644 Docs/Installation.md.org create mode 100644 Docs/Introduction.md.org create mode 100644 Docs/NAT-Traveral.md.org create mode 100644 Docs/P2P-testing.md.org create mode 100644 Docs/P2P.md.org create mode 100644 Docs/P2PArchitecture.md.org create mode 100644 Docs/P2PImplementation.md.org create mode 100644 Docs/PluginImplementation.md.org create mode 100644 Docs/README.md.org create mode 100644 Docs/ServerArchitecture.md.org create mode 100644 Docs/ServerImplementation.md.org diff --git a/Docs/Abstractions.md.org b/Docs/Abstractions.md.org new file mode 100644 index 0000000..2254b73 --- /dev/null +++ b/Docs/Abstractions.md.org @@ -0,0 +1,35 @@ +* Abstractions +:PROPERTIES: +:CUSTOM_ID: abstractions +:END: +| [[file:Installation.md][◀ Previous]] | [[file:Implementation.md][Next ▶]] | +|--------------------------------------+------------------------------------| + +The Abstractions package consists of black-boxed functions for P2PRC. + +** Functions +:PROPERTIES: +:CUSTOM_ID: functions +:END: +- =Init()=: Initializes P2PRC with all the needed + configurations. +- =Start()=: Starts p2prc as a server and makes it possible to extend by + adding other routes and functionality to P2PRC. +- =MapPort()=: On the local machine the port you want to export + to world. +- =StartContainer()=: The machine on the p2p network where + you want to spin up a docker container. +- =RemoveContainer(,)=: Terminate container + based on the IP address and container name. +- =GetSpecs()=: Get specs of a machine on the network based + on the IP address. +- =ViewIPTable()=: View the IP table which about nodes in the network. +- =UpdateIPTable()=: Force update IP table to learn about new nodes + faster. + +-------------- + +*** Next Chapter: [[file:Implementation.md][Implementation]] +:PROPERTIES: +:CUSTOM_ID: next-chapter-implementation +:END: diff --git a/Docs/Bindings.md.org b/Docs/Bindings.md.org new file mode 100644 index 0000000..fa77c64 --- /dev/null +++ b/Docs/Bindings.md.org @@ -0,0 +1,180 @@ +* Language Bindings +:PROPERTIES: +:CUSTOM_ID: language-bindings +:END: +[[https://en.wikipedia.org/wiki/Language_binding][Language bindings]] +refers to wrappers to bridge 2 programming languages. This is used in +P2PRC to extend calling P2PRC functions in other programming languages. +Currently this is done by generating =.so= and =.h= from the Go +compiler. + +** How to build shared object files +:PROPERTIES: +:CUSTOM_ID: how-to-build-shared-object-files +:END: +**** The easier way +:PROPERTIES: +:CUSTOM_ID: the-easier-way +:END: +#+begin_src sh +# Run +make sharedObjects +#+end_src + +**** Or the direct way +:PROPERTIES: +:CUSTOM_ID: or-the-direct-way +:END: +#+begin_src sh +# Run +cd Bindings && go build -buildmode=c-shared -o p2prc.so +#+end_src + +**** If successfully built: +:PROPERTIES: +:CUSTOM_ID: if-successfully-built +:END: +#+begin_src sh +# Enter into the Bindings directory +cd Bindings +# List files +ls +# Find files +p2prc.h p2prc.so +#+end_src + +** Workings under the hood +:PROPERTIES: +:CUSTOM_ID: workings-under-the-hood +:END: +Below are a sample set of commands to open the bindings implementation. + +#+begin_example +# run +cd Bindings/ +# list files +ls +# search for file +Client.go +#+end_example + +*** In Client go +:PROPERTIES: +:CUSTOM_ID: in-client-go +:END: +There a few things to notice which are different from your standard Go +programs: + +**** 1. We import "C" which means [[https://pkg.go.dev/cmd/cgo][Cgo]] is required. +:PROPERTIES: +:CUSTOM_ID: we-import-c-which-means-cgo-is-required. +:END: +#+begin_src go +import "C" +#+end_src + +**** 2. All functions which are required to be called from other programming languages have comment such as. +:PROPERTIES: +:CUSTOM_ID: all-functions-which-are-required-to-be-called-from-other-programming-languages-have-comment-such-as. +:END: +#+begin_src go +//export + +// ------------ Example ---------------- +// The function below allows to externally +// to call the P2PRC function to start containers +// in a specific node in the know list of nodes +// in the p2p network. +// Note: the comment "//export StartContainer". + +//export StartContainer +func StartContainer(IP string) (output *C.char) { + container, err := client.StartContainer(IP, 0, false, "", "") + if err != nil { + return C.CString(err.Error()) + } + return ConvertStructToJSONString(container) + } +#+end_src + +**** 3. While looking through the file (If 2 files are compared it is pretty trivial to notice a common structure). +:PROPERTIES: +:CUSTOM_ID: while-looking-through-the-file-if-2-files-are-compared-it-is-pretty-trivial-to-notice-a-common-structure. +:END: +#+begin_src go +// --------- Example ------------ + +//export StartContainer +func StartContainer(IP string) (output *C.char) { + container, err := client.StartContainer(IP, 0, false, "", "") + if err != nil { + return C.CString(err.Error()) + } + return ConvertStructToJSONString(container) +} + +//export ViewPlugin +func ViewPlugin() (output *C.char) { + plugins, err := plugin.DetectPlugins() + if err != nil { + return C.CString(err.Error()) + } + return ConvertStructToJSONString(plugins) +} +#+end_src + +**** It is easy to notice that: +:PROPERTIES: +:CUSTOM_ID: it-is-easy-to-notice-that +:END: +- =ConvertStructToJSONString()=: This is a helper function + that convert a go object to JSON string initially and converts it to + =CString=. +- =(output *C.char)=: This is the return type for most of the functions. + +**** A Pseudo code to refer to the common function implementation shape could be represented as: +:PROPERTIES: +:CUSTOM_ID: a-pseudo-code-to-refer-to-the-common-function-implementation-shape-could-be-represented-as +:END: +#+begin_example +func (output *C.char) { + , := () + if != nil { + return C.CString(.Error()) + } + return ConvertStructToJSONString() +} +#+end_example + +** Current languages supported +:PROPERTIES: +:CUSTOM_ID: current-languages-supported +:END: +- Python + +*** Build sample python program +:PROPERTIES: +:CUSTOM_ID: build-sample-python-program +:END: +The easier way + +#+begin_src sh +# Run +make python +# Expected ouput +Output is in the Directory Bindings/python/export/ +# Run +cd Bindings/python/export/ +# list files +ls +# Expected output +SharedObjects/ p2prc.py +#+end_src + +Above shows a generated folder which consists of a folder called +"SharedObjects/" which consists of =p2prc.so= and =p2prc.h= files. +=p2prc.py= refers to a sample python script calling P2PRC go functions. +To start an any project to extend P2PRC with python, This generated +folder can copied and created as a new git repo for P2PRC extensions +scripted or used a reference point as proof of concept that P2PRC can be +called from other programming languages. diff --git a/Docs/CliImplementation.md.org b/Docs/CliImplementation.md.org new file mode 100644 index 0000000..c9940c4 --- /dev/null +++ b/Docs/CliImplementation.md.org @@ -0,0 +1,24 @@ +* Cli module +:PROPERTIES: +:CUSTOM_ID: cli-module +:END: +The Cli (i.e Command Line Interface) is the only one in which the user +can directly interact with the modules in the project. The objective +when building the Cli was to have the least amount of commands as +possible. The cli was built using the library called urfave cli v2 . +They were 2 major files created named as flags.go and actions.go. ### +Flags.go The flags .go file is responsible to create the appropriate +flags for the cli. There are 2 types of flags called boolean and string. +Each of the flags outputs are assigned to a variable to be handled. The +flags can also detect environment variables set. This feature is useful +because if the user wants to call certain flags in a repeated sequence +it only has to be initialized once. + +*** Actions.go +:PROPERTIES: +:CUSTOM_ID: actions.go +:END: +The actions.go file is implemented to call the appropriate functions +when the flags are called. It interacts directly with the modules in the +project. Action.go checks if variables are not empty string or the +boolean value is true. diff --git a/Docs/Client.md.org b/Docs/Client.md.org new file mode 100644 index 0000000..0142853 --- /dev/null +++ b/Docs/Client.md.org @@ -0,0 +1,33 @@ +* Client Module +:PROPERTIES: +:CUSTOM_ID: client-module +:END: +This module is incharge of communicating with the server and receiving +the appropriate information back from the server. + +** Functions of the Client Module +:PROPERTIES: +:CUSTOM_ID: functions-of-the-client-module +:END: + +#+begin_html + +#+end_html + +- [[#decision-maker-on-how-the-ip-table-is-created-or-updated][Decision + maker on how the ip table is created or updated]] + +** Decision maker on how the IP table is created or updated +:PROPERTIES: +:CUSTOM_ID: decision-maker-on-how-the-ip-table-is-created-or-updated +:END: +- Does a local speedtest to verify and see if the server IP's in the IP + table are pingable. +- Tries to ping the servers IP Table addresses. +- If it's pingable then it's added as a new entry in the IP table. +- The following steps occurs in the clients IP table. +- To ensure that the same servers are not being called to update the IP + table. There is a temporary list of IP address which have already been + called in relation to updating the IP table. +- Based on the current implementation there will 3 hops done to update + the IP table. diff --git a/Docs/ClientArchitecture.md.org b/Docs/ClientArchitecture.md.org new file mode 100644 index 0000000..daf1ca6 --- /dev/null +++ b/Docs/ClientArchitecture.md.org @@ -0,0 +1,15 @@ +* Client Module Architecture +:PROPERTIES: +:CUSTOM_ID: client-module-architecture +:END: +The Client Module interacts with the P2P module and Server Module. It is +responsible for interacting with the server module and appropriately +updating the IP table on the client side. It connects to the server +using the server's REST Apis. It is also the primary decision maker on +how the IP table is updated is on the client side. This is because each +user can have requirements like how many number of hops they would want +to do to update their IP table. Hops is the number of times the client +is going to download the IP table from different servers ,once it gets +the IP tables from the previous servers. + +[[file:images/NumOfHops.png]] [[file:images/clientmoduleArch.png]] diff --git a/Docs/ClientImplementation.md.org b/Docs/ClientImplementation.md.org new file mode 100644 index 0000000..2296f73 --- /dev/null +++ b/Docs/ClientImplementation.md.org @@ -0,0 +1,135 @@ +* Client Module Implementation +:PROPERTIES: +:CUSTOM_ID: client-module-implementation +:END: +The Client Module interacts with the P2P module and Server Module. It is +responsible for interacting with the server module and appropriately +updating the IP table on the client side. It connects to the server +using the server's REST Apis. It is also the primary decision maker on +how the IP table is updated is on the client side. This is because each +user can have requirements like how many number of hops they would want +to do to update their IP table. Hops is the number of times the client +is going to download the IP table from different servers ,once it gets +the IP tables from the previous servers. + +[[file:images/NumOfHops.png]] [[file:images/clientmoduleArch.png]] + +** Topics +:PROPERTIES: +:CUSTOM_ID: topics +:END: +1. [[#updating-the-IP-table][Updating the IP table]] +2. [[#reading-server-specifications][Reading server specifications]] +3. [[#Client-creating-and-removing-container][Client creating and + removing container]] +4. [[#Tracking-Containers][Tracking Containers]] +5. [[#Grouping-Containers][Grouping Containers]] + +This section focuses in depth on how the client module works. The client +module is incharge of communicating with different servers based on the +IP addresses provided to the user. The IP addresses are derived from +peer to peer modules. The objective here is how the client module +interacts with peer to peer module and server module. + +*** Updating the IP table +:PROPERTIES: +:CUSTOM_ID: updating-the-ip-table +:END: +The client module calls the peer to peer module to get the local IP +table initially, Based on the servers IP addresses available it calls +the speedtest function from the peer to peer module to update IP +addresses with information such as latencies, download and upload +speeds. Once this is done the client module does a Rest Api call to the +server to download its IP Table. Once the hops are done it writes the +appropriate results to the Local IP table. Once this is done it prints +out the results. To derive parameters such as current the public IP +address the url "http://ip-api.com/json/" was called. This url returns +json response of the current public IP address. This feature will be +used in the future to ensure that the user's current IP address will not +be used for a speed test. Clients IP table is updated to the server +using a form of type multipart. + +*** Reading server specifications +:PROPERTIES: +:CUSTOM_ID: reading-server-specifications +:END: +The client module calls the route /server_specs and reads the json +response. If the json response was successful then it just calls the +pretty print function which just prints the json output in the terminal. + +*** Client creating and removing container +:PROPERTIES: +:CUSTOM_ID: client-creating-and-removing-container +:END: +The client module uses the servers Rest apis to create and delete +containers. To create a container the client requires 3 parameters being +the server ip address, the number of the ports the user wants to open +and if the user wants it connected to the GPU or not. The 3 parameters +are sent as a GET request to the server and the server responds with a +json file which has information such as the container ID, ports open , +SSH username, SSH password, VNC username and VNC password. At the moment +the username and password are hard coded from the server side for both +SSH and VNC. To remove a container the client module only requires the +server IP address and the container ID. The client prints the response +from the server Rest api. + +*** Tracking Containers +:PROPERTIES: +:CUSTOM_ID: tracking-containers +:END: +Clients create docker images in multiple machines. This means if the +client (i.e user) has many containers created there needs to be a way to +track them. To track containers there is a file called +=trackcontainers.json= which tracks all the containers running. The +snippet below show a sample structure of file =trackcontainer.json=. + +#+begin_example +{ + "TrackContainer": [ + { + "ID": "", + "Container": {}, + "IpAddress": "" + } + ] +} +#+end_example + +The default path to the container tracker is +=client/trackcontainers/trackcontainers.json=. + +*** Grouping Containers +:PROPERTIES: +:CUSTOM_ID: grouping-containers +:END: +When starting a set container possibility to be able to group them. The +benefit this would be that when executing plugins the group ID would be +enough to execute plugin in a set of containers. This provides the +possibility to execute repetitive tasks in containers in a single cli +command. To store groups there is a file called +=grouptrackcontainer.json= which tracks all the groups currently present +set by the client. The snippet below show a sample structure of file +=grouptrackcontainer.json=. + +#+begin_example +{ + "Groups": [ + { + "ID": "grp", + "TrackContainer": [{client.TrackContainers struct}] + } + ] +} +#+end_example + +The default path to the container tracker is +=client/trackcontainers/grouptrackcontainer.json=. + +#+begin_quote +[!NOTE] The group id will be auto-generated and will have its own prefix +in the start which will mostly be =grp=.\\ +When a container is removed using the command. +=p2prc --rm --id =. It will be automatically +deleted from the groups it exists in. + +#+end_quote diff --git a/Docs/ConfigImplementation.md.org b/Docs/ConfigImplementation.md.org new file mode 100644 index 0000000..960093d --- /dev/null +++ b/Docs/ConfigImplementation.md.org @@ -0,0 +1,35 @@ +* Config Implementation +:PROPERTIES: +:CUSTOM_ID: config-implementation +:END: +The configuration module is responsible to store basic information of +absolute paths of files being called in the Go code. In a full-fledged +Cli the configuration file can be found in the directory /etc/ and from +there points to location such as where the IP table file is located. In +the future implementation the config file will have information such as +number of hops and other parameters to tweak and to improve the +effectiveness of the peer to peer network. The configuration module was +implemented using the library Viper. The Viper library automates +features such as searching in default paths to find out if the +configuration file is present. If the configuration file is not present +in the default paths then it auto generates the configuration file. The +configurations file can be in any format. In this project the +configuration file was generated using JSON format. + +#+begin_src json +{ + "MachineName": "pc-74-120.customer.ask4.lan", + "IPTable": "/Users/akilan/Documents/p2p-rendering-computation/p2p/iptable/ip_table.json", + "DockerContainers": "/Users/akilan/Documents/p2p-rendering-computation/server/docker/containers/", + "DefaultDockerFile": "/Users/akilan/Documents/p2p-rendering-computation/server/docker/containers/docker-ubuntu-sshd/", + "SpeedTestFile": "/Users/akilan/Documents/p2p-rendering-computation/p2p/50.bin", + "IPV6Address": "", + "PluginPath": "/Users/akilan/Documents/p2p-rendering-computation/plugin/deploy", + "TrackContainersPath": "/Users/akilan/Documents/p2p-rendering-computation/client/trackcontainers/trackcontainers.json", + "ServerPort": "8088", + "GroupTrackContainersPath": "/Users/akilan/Documents/p2p-rendering-computation/client/trackcontainers/grouptrackcontainers.json", + "FRPServerPort": "True", + "BehindNAT": "True", + "CustomConfig": null +} +#+end_src diff --git a/Docs/DesignArchtectureIntro.md.org b/Docs/DesignArchtectureIntro.md.org new file mode 100644 index 0000000..013d61b --- /dev/null +++ b/Docs/DesignArchtectureIntro.md.org @@ -0,0 +1,26 @@ +* Design Architecture +:PROPERTIES: +:CUSTOM_ID: design-architecture +:END: +This chapter focuses on architecture of the dissertation. The objective +would be to have a good understanding on the purpose of each module and +how they interact with each other. The design architecture was inspired +and based on the linux kernel design. The project is segmented into +various modules. Each module is responsible for certain tasks in the +project. The modules are highly dependent on each other hence the entire +codebase can be considered as a huge monolithic chuck which acts as its +own library. The following sub topics below talk about the main modules +and how they function with appropriate diagrams. + +*** 1. [[file:ClientArchitecture.md][Client Module]] +:PROPERTIES: +:CUSTOM_ID: client-module +:END: +*** 2. [[file:P2PArchitecture.md][P2P Module]] +:PROPERTIES: +:CUSTOM_ID: p2p-module +:END: +*** 3. [[file:ServerArchitecture.md][Server Module]] +:PROPERTIES: +:CUSTOM_ID: server-module +:END: diff --git a/Docs/DomainNameMappingsImplementation.md.org b/Docs/DomainNameMappingsImplementation.md.org new file mode 100644 index 0000000..38aca3f --- /dev/null +++ b/Docs/DomainNameMappingsImplementation.md.org @@ -0,0 +1,5 @@ +* Domain name mappings +:PROPERTIES: +:CUSTOM_ID: domain-name-mappings +:END: +This diff --git a/Docs/Implementation.md.org b/Docs/Implementation.md.org new file mode 100644 index 0000000..f797bb8 --- /dev/null +++ b/Docs/Implementation.md.org @@ -0,0 +1,66 @@ +* Implementation +:PROPERTIES: +:CUSTOM_ID: implementation +:END: +| [[file:Introduction.md][◀ Previous]] | [[file:README.md][Back to TOC]] | +|--------------------------------------+---------------------------------| + +This chapter describes how the project was built. It talks in depth of +the implementation performed to give a better understanding of the +project. + +** Programming langauge used +:PROPERTIES: +:CUSTOM_ID: programming-langauge-used +:END: +The programming language used for this project was +[[https://go.dev/][Golang]]. The reason Go lang was chosen was because +it is a compiled language. The entire codebase is just a single binary +file. When distributing to other linux distributing the only requirement +would be the binary file to run the code. It is easy to write +independant modules and be monolithic at the sametime using Go. Using +Go.mod makes it very easy to handle external libraries and modularise +code. The go.mod name for the project is +[[https://git.sr.ht/~akilan1999/p2p-rendering-computation][git.sr.ht/~akilan1999/p2p-rendering-computation]]. + +- + ** [[file:CliImplementation.md][Cli Module]] + :PROPERTIES: + :CUSTOM_ID: cli-module + :END: + +- + ** [[file:ConfigImplementation.md][Config Module]] + :PROPERTIES: + :CUSTOM_ID: config-module + :END: + +- + ** [[file:ServerImplementation.md][Server Module]] + :PROPERTIES: + :CUSTOM_ID: server-module + :END: + +- + ** [[file:ClientImplementation.md][Client Module]] + :PROPERTIES: + :CUSTOM_ID: client-module + :END: + +- + ** [[file:P2PImplementation.md][P2P Module]] + :PROPERTIES: + :CUSTOM_ID: p2p-module + :END: + +- + ** [[file:PluginImplementation.md][Plugin Module]] + :PROPERTIES: + :CUSTOM_ID: plugin-module + :END: + +- + ** [[file:GenerateImplementation.md][Generate Module]] + :PROPERTIES: + :CUSTOM_ID: generate-module + :END: diff --git a/Docs/Installation.md.org b/Docs/Installation.md.org new file mode 100644 index 0000000..5258f75 --- /dev/null +++ b/Docs/Installation.md.org @@ -0,0 +1,361 @@ +* Installation +:PROPERTIES: +:CUSTOM_ID: installation +:END: +| [[file:Introduction.md][◀ Previous]] | [[file:Abstractions.md][Next ▶]] | +|--------------------------------------+----------------------------------| + +Over here we will cover the basic steps to get the server and client +side running. + +** Latest release install +:PROPERTIES: +:CUSTOM_ID: latest-release-install +:END: +https://github.com/Akilan1999/p2p-rendering-computation/releases + +** Install from Github master branch +:PROPERTIES: +:CUSTOM_ID: install-from-github-master-branch +:END: +*** Install Go lang +:PROPERTIES: +:CUSTOM_ID: install-go-lang +:END: +The entire the implementation of this project is done using Go lang. +Thus, we need go lang to compile to code to a binary file. +[[https://golang.org/doc/install][Instructions to install Go lang]] + +*** Install Docker +:PROPERTIES: +:CUSTOM_ID: install-docker +:END: +In this project the choice of virtualization is Docker due to it's wide +usage in the developer community. In the server module we use the Docker +Go API to create and interact with the containers. + +[[https://docs.docker.com/get-docker/][Instructions to install docker]] + +[[https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker][Instructions +to install docker GPU]] + +#+begin_example +// Do ensure that the docker command does not need sudo to run +sudo chmod 666 /var/run/docker.sock +#+end_example + +*** Build Project and install project +:PROPERTIES: +:CUSTOM_ID: build-project-and-install-project +:END: +To set up the internal dependencies and build the entire go code into a +single binary + +#+begin_example +make install +#+end_example + +**** For Windows +:PROPERTIES: +:CUSTOM_ID: for-windows +:END: +To set up P2PRC on Windows, simply run this batch file. *Make sure you +are not in admin mode when running this.* + +#+begin_example +.\install.bat +#+end_example + +*** Add appropriate paths to =.bashrc= +:PROPERTIES: +:CUSTOM_ID: add-appropriate-paths-to-.bashrc +:END: +#+begin_example +export P2PRC=//p2p-rendering-computation +export PATH=//p2p-rendering-computation:${PATH} +#+end_example + +*** Set up configuration file +:PROPERTIES: +:CUSTOM_ID: set-up-configuration-file +:END: +#+begin_example +make configfile +#+end_example + +Open the config file =config.json= and add the IPv6 address if you have +one. + +*** Test if binary works +:PROPERTIES: +:CUSTOM_ID: test-if-binary-works +:END: +#+begin_example +p2prc --help +#+end_example + +**** Output: +:PROPERTIES: +:CUSTOM_ID: output +:END: +#+begin_example +NAME: + p2p-rendering-computation - p2p cli application to create and access VMs in other servers + +USAGE: + p2prc [global options] command [command options] [arguments...] + +VERSION: + + +COMMANDS: + help, h Shows a list of commands or help for one command + +GLOBAL OPTIONS: + --Server, -s Starts server (default: false) [$SERVER] + --UpdateServerList, --us Update List of Server available based on servers iptables (default: false) [$UPDATE_SERVER_LIST] + --ListServers, --ls List servers which can render tasks (default: false) [$LIST_SERVERS] + --AddServer value, --as value Adds server IP address to iptables [$ADD_SERVER] + --ViewImages value, --vi value View images available on the server IP address [$VIEW_IMAGES] + --CreateVM value, --touch value Creates Docker container on the selected server [$CREATE_VM] + --ContainerName value, --cn value Specifying the container run on the server side [$CONTAINER_NAME] + --RemoveVM value, --rm value Stop and Remove Docker container (IP:port) accompanied by container ID via --ID or --id [$REMOVE_VM] + --ID value, --id value Docker Container ID [$ID] + --Ports value, -p value Number of ports to open for the Docker Container [$NUM_PORTS] + --GPU, --gpu Create Docker Containers to access GPU (default: false) [$USE_GPU] + --Specification value, --specs value Specs of the server node [$SPECS] + --SetDefaultConfig, --dc Sets a default configuration file (default: false) [$SET_DEFAULT_CONFIG] + --NetworkInterfaces, --ni Shows the network interface in your computer (default: false) [$NETWORK_INTERFACE] + --ViewPlugins, --vp Shows plugins available to be executed (default: false) [$VIEW_PLUGIN] + --TrackedContainers, --tc View (currently running) containers which have been created from the client side (default: false) [$TRACKED_CONTAINERS] + --ExecutePlugin value, --plugin value Plugin which needs to be executed [$EXECUTE_PLUGIN] + --CreateGroup, --cgroup Creates a new group (default: false) [$CREATE_GROUP] + --Group value, --group value group flag with argument group ID [$GROUP] + --Groups, --groups View all groups (default: false) [$GROUPS] + --RemoveContainerGroup, --rmcgroup Remove specific container in the group (default: false) [$REMOVE_CONTAINER_GROUP] + --RemoveGroup value, --rmgroup value Removes the entire group [$REMOVE_GROUP] + --Generate value, --gen value Generates a new copy of P2PRC which can be modified based on your needs [$GENERATE] + --ModuleName value, --mod value New go project module name [$MODULENAME] + --PullPlugin value, --pp value Pulls plugin from git repos [$PULLPLUGIN] + --RemovePlugin value, --rp value Removes plugin [$REMOVEPLUGIN] + --help, -h show help (default: false) + --version, -v print the version (default: false) +#+end_example + +-------------- + +* Using basic commands +:PROPERTIES: +:CUSTOM_ID: using-basic-commands +:END: +*** Start as a server +:PROPERTIES: +:CUSTOM_ID: start-as-a-server +:END: +Do ensure you have Docker installed for this + +#+begin_example +p2prc -s +#+end_example + +*** View server Specification +:PROPERTIES: +:CUSTOM_ID: view-server-specification +:END: +#+begin_example +p2prc --specs= +#+end_example + +*** Run container +:PROPERTIES: +:CUSTOM_ID: run-container +:END: +use the =--gpu= if you know the other machine has a gpu. + +#+begin_example +p2prc --touch= -p --gpu +#+end_example + +*** Remove container +:PROPERTIES: +:CUSTOM_ID: remove-container +:END: +The docker id is present in the output where you create a container + +#+begin_example +p2prc --rm= --id= +#+end_example + +*** Adding servers to ip table +:PROPERTIES: +:CUSTOM_ID: adding-servers-to-ip-table +:END: +#+begin_example +p2prc --as= +#+end_example + +*** Update ip table +:PROPERTIES: +:CUSTOM_ID: update-ip-table +:END: +#+begin_example +p2prc --us +#+end_example + +*** List Servers +:PROPERTIES: +:CUSTOM_ID: list-servers +:END: +#+begin_example +p2prc --ls +#+end_example + +*** View Network interfaces +:PROPERTIES: +:CUSTOM_ID: view-network-interfaces +:END: +#+begin_example +p2prc --ni +#+end_example + +*** Viewing Containers created Client side +:PROPERTIES: +:CUSTOM_ID: viewing-containers-created-client-side +:END: +#+begin_example +p2prc --tc +#+end_example + +[[file:ClientImplementation.md#tracking-containers][read more on +tracking containers]] + +*** Running plugin +:PROPERTIES: +:CUSTOM_ID: running-plugin +:END: +#+begin_example +p2prc --plugin --id +#+end_example + +*** Create group +:PROPERTIES: +:CUSTOM_ID: create-group +:END: +#+begin_example +p2prc --cgroup +#+end_example + +*** Add container to group +:PROPERTIES: +:CUSTOM_ID: add-container-to-group +:END: +#+begin_example +p2prc --group --id +#+end_example + +*** View groups +:PROPERTIES: +:CUSTOM_ID: view-groups +:END: +#+begin_example +p2prc --groups +#+end_example + +*** View specific group +:PROPERTIES: +:CUSTOM_ID: view-specific-group +:END: +#+begin_example +p2prc --group +#+end_example + +*** Delete container from group +:PROPERTIES: +:CUSTOM_ID: delete-container-from-group +:END: +#+begin_example +p2prc --rmcgroup --group --id +#+end_example + +*** Delete entire group +:PROPERTIES: +:CUSTOM_ID: delete-entire-group +:END: +#+begin_example +p2prc --rmgroup +#+end_example + +[[file:ClientImplementation.md#Grouping-Containers][read more on +grouping containers]] ### Extending usecase of P2PRC (Requires a go +compiler to run) + +#+begin_example +p2prc --gen --mod +#+end_example + +[[file:GenerateImplementation.md][read more about the generate module]] + +*** Pulling plugin from a remote repo +:PROPERTIES: +:CUSTOM_ID: pulling-plugin-from-a-remote-repo +:END: +#+begin_example +p2prc --pp +#+end_example + +*** Deleting plugin from the plugin directory +:PROPERTIES: +:CUSTOM_ID: deleting-plugin-from-the-plugin-directory +:END: +#+begin_example +p2prc --rp +#+end_example + +*** Added custom metadata about the current node +:PROPERTIES: +:CUSTOM_ID: added-custom-metadata-about-the-current-node +:END: +#+begin_example +p2prc --amd "custom metadata" +#+end_example + +-------------- + +* Using Plugins +:PROPERTIES: +:CUSTOM_ID: using-plugins +:END: +This feature is still Under Development: +[[file:PluginImplementation.md][Read more on the implementation]] + +**** Dependencies +:PROPERTIES: +:CUSTOM_ID: dependencies +:END: +- Ansible: + - Debian/ubuntu: =sudo apt install ansible= + - Others: + [[https://ansible-tips-and-tricks.readthedocs.io/en/latest/ansible/install/][Installation + link]] + +**** Run Test Cases +:PROPERTIES: +:CUSTOM_ID: run-test-cases +:END: +- Generate Test Case Ansible file + - =make testcases= +- Enter inside plugin directory and run tests. + +#+begin_quote +[!NOTE] That docker needs to installed and needs to run without sudo. +Refer the section [[#install-docker][Install Docker]]. - =cd plugin= - +=go test .= + +#+end_quote + +-------------- + +*** Next Chapter: [[file:Abstractions.md][Abstractions]] +:PROPERTIES: +:CUSTOM_ID: next-chapter-abstractions +:END: diff --git a/Docs/Introduction.md.org b/Docs/Introduction.md.org new file mode 100644 index 0000000..5ded787 --- /dev/null +++ b/Docs/Introduction.md.org @@ -0,0 +1,48 @@ +* Chapter 1: Introduction +:PROPERTIES: +:CUSTOM_ID: chapter-1-introduction +:END: +| [[file:README.md][◀ Back to TOC]] | [[file:Installation.md][Next ▶]] | +|-----------------------------------+----------------------------------| + +** Abstract +:PROPERTIES: +:CUSTOM_ID: abstract +:END: +This project focuses on creating a framework on running heavy tasks that +a regular computer cannot run easily such as graphically demanding video +games, rendering 3D animations , protein folding simulations. In this +project the major focus will not be on the financial incentive part. A +peer to peer network will be created to help run tasks decentrally, +increasing bandwidth for running tasks. To ensure the tasks in the peer +to peer network do not corrupt the server 0S (Operating System), they +will be executed in a virtual environment in the server. + +The main aim of this project was to create a custom peer to peer +network. The user acting as the client has total flexibility on how to +batch the tasks and the user acting as the server has complete +flexibility on tracking the container's usages and killing the +containers at any point of time. + +** Motivation +:PROPERTIES: +:CUSTOM_ID: motivation +:END: +Many of the users rely on our PC / Laptop or servers that belong to a +server farm to run heavy tasks and with the demand of high creativity +requires higher computing power. Buying a powerful computer every few +years to run a bunch of heavy tasks which are not executed as frequently +to reap the benefits can be inefficient utilization of hardware. On the +other end, renting servers to run these heavy tasks can be really +useful. Ethically speaking this is leading to monopolisation of +computing power similar to what is happening in the web server area. By +using peer to peer principles it is possible to remove the +monopolisation factor and increase the bandwidth between the client and +server. + +-------------- + +*** Next Chapter: [[file:Installation.md][Installation]] +:PROPERTIES: +:CUSTOM_ID: next-chapter-installation +:END: diff --git a/Docs/NAT-Traveral.md.org b/Docs/NAT-Traveral.md.org new file mode 100644 index 0000000..d96ea8b --- /dev/null +++ b/Docs/NAT-Traveral.md.org @@ -0,0 +1,50 @@ +* NAT Traversal +:PROPERTIES: +:CUSTOM_ID: nat-traversal +:END: +P2PRC currently supports TURN for NAT traversal. + +** TURN +:PROPERTIES: +:CUSTOM_ID: turn +:END: +The current TURN implementation used is FRP. The TURN server is also +required when a P2PRC node is acting as a Server. The TURN server is +determined based on the Node with the least amount of latency based on +the Nodes available on the IPTable. Once a TURN server is determined +there are 2 actions performed. The first one is =/FRPPort= to the TURN +server to receive a port which is used to generate the external port +from the TURN server. The flow below describes the workflow. + +*** Client mode +:PROPERTIES: +:CUSTOM_ID: client-mode +:END: +- Call =/FRPPort= + +#+begin_example +http://:/FRPport +#+end_example + +- Call the TURN server in the following manner. The following is a + sample code snippet below. + +#+begin_src go +import ( + "github.com/Akilan1999/p2p-rendering-computation/p2p/frp" +) + +func main() { + serverPort, err := frp.GetFRPServerPort("http://" + + ":" + lowestLatencyIpAddress.ServerPort) + if err != nil { + return nil, err + } + // Create 1 second delay to allow FRP server to start + time.Sleep(1 * time.Second) + // Starts FRP as a client with + proxyPort, err := frp.StartFRPClientForServer(, serverPort, ) + if err != nil { + return nil, err + } +} +#+end_src diff --git a/Docs/P2P-testing.md.org b/Docs/P2P-testing.md.org new file mode 100644 index 0000000..67c5be9 --- /dev/null +++ b/Docs/P2P-testing.md.org @@ -0,0 +1,136 @@ +* Testing P2P network +:PROPERTIES: +:CUSTOM_ID: testing-p2p-network +:END: +The objective would be to test the p2p network, and the effectiveness of +updating the ip tables. The objective of would be to give the impression +to the client and server of a Zero configuration setting. For testing +there will be a test network set. In the testing scenario all will be +client and server because the IP table does not store clients IP +addresses. At current number of hopes would be 3 as default. + +*** Test Network Scenario 1 +:PROPERTIES: +:CUSTOM_ID: test-network-scenario-1 +:END: +The test network consists of 5 nodes acting as a client and server. The +objective would be to have the entire IP table Updated in each node with +interacting with only 1 node once. Each node has knowledge of one node +only. + +[[https://user-images.githubusercontent.com/31743758/115069627-e4aa8c80-9f04-11eb-8402-706a3407f0e8.png]] +Fig 1.0 Visual Representation of testnet scenario 1 + +**** Result +:PROPERTIES: +:CUSTOM_ID: result +:END: +All nodes except node 1 where able to have information of IP addresses +in the test net. This was due to the reason of 3 hops set as default. +Node 1 had in it's IP table IP addresses of Node 2, Node 3, Node 4. Once +the number of hops was set to 4 objective of the test was acheived. + +*** Test Network Scenario 2 +:PROPERTIES: +:CUSTOM_ID: test-network-scenario-2 +:END: +The second test network has a scenario of a single peer which all the +other nodes connect too. The scenario being when the other nodes connect +to the single server they download information about nodes that have +connected to the server node before. + +*** Testing Broadcast Module +:PROPERTIES: +:CUSTOM_ID: testing-broadcast-module +:END: +For testing the broadcast module 2 types of servers will be tested. One +with a CPU only , another one with a CPU and GPU. The expected result +being that the appropriate results are visible. + +**** Results (CPU and GPU): +:PROPERTIES: +:CUSTOM_ID: results-cpu-and-gpu +:END: +#+begin_example +{ + "Hostname": "akilan-Lenovo-IdeaPad-Y510P", + "Platform": "ubuntu", + "CPU": "Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz", + "RAM": 7872, + "Disk": 937367, + "GPU": { + "DriveVersion": "390.141", + "Gpu": { + "GpuName": "GeForce GT 755M", + "BiosVersion": "80.07.A8.00.0F", + "FanSpeed": "N/A", + "Utilization": { + "GpuUsage": "N/A", + "MemoryUsage": "N/A" + }, + "Temperature": { + "GpuTemp": "66 C" + }, + "Clock": { + "GpuClock": "N/A", + "GpuMemClock": "N/A" + } + } + } +} +#+end_example + +At the moment of the current implementation v1.0. Nvidia GPU are only +compatible. As the Go code calls the command =nvidia-smi= to get +information about the GPU available. + +**** Results (CPU only) +:PROPERTIES: +:CUSTOM_ID: results-cpu-only +:END: +#+begin_example +{ + "Hostname": "sv-t1.small.x86-01", + "Platform": "ubuntu", + "CPU": "Intel(R) Atom(TM) CPU C2750 @ 2.40GHz", + "RAM": 7944, + "Disk": 138793, + "GPU": null +} +#+end_example + +As the =nvidia-smi= interface was not detected it only broadcasts the +CPU specs available. + +*** SpeedTests +:PROPERTIES: +:CUSTOM_ID: speedtests +:END: +The speed test has 3 parameters which are Ping , upload and download. +The tests check if the results returned are approximately correct. The +ping at the moment returns the correct result. The upload and download +returned are inccorect at the moment, This is due incorrect +implementation in for timer and will be patched in future versions. + +*** Unit tests +:PROPERTIES: +:CUSTOM_ID: unit-tests +:END: +All functions implemented on the P2P module returns type error. The +units test call certain functions and check if the functions return an +error or not. This proved sufficient as the point of the units tests was +code coverage to check if certain functions return an error. + +**** Functions tested +:PROPERTIES: +:CUSTOM_ID: functions-tested +:END: +This sections talks about the function called and represents code +coverage. + +1. =TestServer_SpeedTest=: Function called LocalSpeedTestIpTable() +2. =TestReadIpTable=: Function called ReadIpTable() + +The P2P module has a 100% code coverage in unit tests as both the unit +tests call directly or call within the function all the functions used +in the P2P module. diff --git a/Docs/P2P.md.org b/Docs/P2P.md.org new file mode 100644 index 0000000..8d34d62 --- /dev/null +++ b/Docs/P2P.md.org @@ -0,0 +1,45 @@ +* P2P (Peer to Peer module) +:PROPERTIES: +:CUSTOM_ID: p2p-peer-to-peer-module +:END: +In this repository the P2P module has been designed from sratch at the +point of this implementation. +[[https://pkg.go.dev/git.sr.ht/~akilan1999/p2p-rendering-computation@v0.0.0-20210404191839-6a046babcb02/p2p][More +about function implementation]] + +** Terminology +:PROPERTIES: +:CUSTOM_ID: terminology +:END: +1. IPTable: Refers to a json file which stores information about the + current servers avaliable with the speedtest results ran from the + Node that triggered it. + +#+begin_example +{ +"ip_address": [ + { + "ipv4": "localhost", + "latency": 14981051, + "download": 8142.122540206258, + "upload": 3578.766512629995, + } +] +} +#+end_example + +** Responsibility +:PROPERTIES: +:CUSTOM_ID: responsibility +:END: +- To ensure the IP table has nodes which are pingable +- Taking to nodes behind NAT. [[file:NAT-Traversal][More about the + implementation]]... + +#+begin_quote +[!NOTE] If you are running in server mode it is recommended to use +[[https://routerguide.net/when-and-how-to-setup-dmz-host-for-home-use/][DMZ]] +to bypass the +[[https://en.wikipedia.org/wiki/Network_address_translation][NAT]]. + +#+end_quote diff --git a/Docs/P2PArchitecture.md.org b/Docs/P2PArchitecture.md.org new file mode 100644 index 0000000..c7a3ad4 --- /dev/null +++ b/Docs/P2PArchitecture.md.org @@ -0,0 +1,16 @@ +* P2P Module Architecture +:PROPERTIES: +:CUSTOM_ID: p2p-module-architecture +:END: +The P2P module (i.e Peer to Peer Module) is responsible for storing the +IP table and interacting with the IP table. In the following +implementation of the P2P module ,the IP table stores information about +servers available in the network. The other functionality the P2P module +takes care of is doing the appropriate speed tests to the servers in the +IP table. This is for informing the users about nodes which are close by +and nodes which have quicker uploads and downloads speeds. The module is +responsible to ensure that there are no duplicate server IPs in the IP +table and to remove all server IPs which are not pingable. + +#+caption: UML diagram of P2P module +[[file:images/p2pmoduleArch.png]] diff --git a/Docs/P2PImplementation.md.org b/Docs/P2PImplementation.md.org new file mode 100644 index 0000000..344fff8 --- /dev/null +++ b/Docs/P2PImplementation.md.org @@ -0,0 +1,111 @@ +* P2P Module Implementation +:PROPERTIES: +:CUSTOM_ID: p2p-module-implementation +:END: +The P2P module (i.e Peer to Peer Module) is responsible for storing the +IP table and interacting with the IP table. In the following +implementation of the P2P module ,the IP table stores information about +servers available in the network. The other functionality the P2P module +takes care of is doing the appropriate speed tests to the servers in the +IP table. This is for informing the users about nodes which are close by +and nodes which have quicker uploads and downloads speeds. The module is +responsible to ensure that there are no duplicate server IPs in the IP +table and to remove all server IPs which are not pingable. + +#+caption: UML diagram of P2P module +[[file:images/p2pmoduleArch.png]] + +The peer to peer implementation was built from scratch. This is because +other peer to peer libraries were on the implementation of the +Distributed hash table. At the current moment all those heavy features +are not needed because the objective is to search and list all possible +servers available. The limitation being that to be a part of the network +the user has to know at least 1 server. The advantage of building from +scratch makes the module super light and possibility for custom +functions and structs. The sub topics below will mention the +implementations of each functionality in depth. + +** IP Table +:PROPERTIES: +:CUSTOM_ID: ip-table +:END: +The ip table file is a json as the format with a list of servers ip +addresses, latencies, downloads and uploads speeds. The functions +implemented include read file, write file and remove duplicate IP +addresses. The remove duplicate IP address function exists because +sometimes servers IP tables can have the same ip addresses as what the +client has. The path of the IP table json file is received from the +configuration module. + +#+begin_src json +{ + "ip_address": [ + { + "ipv4": "", + "latency": "", + "download": "", + "upload": "" + "port no": "", + } + ] +} +#+end_src + +*** Latency +:PROPERTIES: +:CUSTOM_ID: latency +:END: +The latency is measured in milliseconds. The route /server_info is +called from the server and time it takes to provide a json response is +recorded. + +** NAT Traversal +:PROPERTIES: +:CUSTOM_ID: nat-traversal +:END: +P2PRC currently supports TURN for NAT traversal. + +** TURN +:PROPERTIES: +:CUSTOM_ID: turn +:END: +The current TURN implementation used is FRP. The TURN server is also +required when a P2PRC node is acting as a Server. The TURN server is +determined based on the Node with the least amount of latency based on +the Nodes available on the IPTable. Once a TURN server is determined +there are 2 actions performed. The first one is =/FRPPort= to the TURN +server to receive a port which is used to generate the external port +from the TURN server. The flow below describes the workflow. + +*** Client mode +:PROPERTIES: +:CUSTOM_ID: client-mode +:END: +- Call =/FRPPort= + +#+begin_example +http://:/FRPport +#+end_example + +- Call the TURN server in the following manner. The following is a + sample code snippet below. + +#+begin_src go +import ( + "github.com/Akilan1999/p2p-rendering-computation/p2p/frp" +) + +func main() { + serverPort, err := frp.GetFRPServerPort("http://" + + ":" + lowestLatencyIpAddress.ServerPort) + if err != nil { + return nil, err + } + // Create 1 second delay to allow FRP server to start + time.Sleep(1 * time.Second) + // Starts FRP as a client with + proxyPort, err := frp.StartFRPClientForServer(, serverPort, ) + if err != nil { + return nil, err + } +} +#+end_src diff --git a/Docs/PluginImplementation.md.org b/Docs/PluginImplementation.md.org new file mode 100644 index 0000000..cca9688 --- /dev/null +++ b/Docs/PluginImplementation.md.org @@ -0,0 +1,213 @@ +* Plugin Module Implementation +:PROPERTIES: +:CUSTOM_ID: plugin-module-implementation +:END: +** Topics +:PROPERTIES: +:CUSTOM_ID: topics +:END: +1. [[#introduction][Introduciton]] +2. [[#site-File-Template][Site.yml]] +3. [[#hosts-file][Host]] +4. [[#description-file][Description]] +5. [[#automatic-port-allocations][Automatic port allocations]] +6. [[#sample-plugins-implemented][Sample plugins implemented]] + +** Introduction +:PROPERTIES: +:CUSTOM_ID: introduction +:END: +The plugin module is designed to ensure clients can execute instructions +in a declarative manner across different containers created. This means +the user (i.e client) needs to write the instruction only once, and +these instructions can be executed across different nodes in a +repetitive manner. + +In the scenario of this project Ansibles will be used as the way the +users can create these instructions. + +- [[file:Installation.md#Using-Plugins][Setup instruction]] + +The plugin module introduces a new path to the config file known as +pluginpath. This path by defaults points to =${P2PRC}/plugin/deploy=. +Any file/folder inside =plugin/deploy= is part of the .gitginore. +Plugins are detected by folder names inside the =plugin/deploy=. + +#+begin_example +plugin +|___ Deploy + |___ + |___ site.yml + |___ hosts + |___ ports.json + |___ description.txt + . + . + . + n: n number of plugins possible +#+end_example + +** Site File Template +:PROPERTIES: +:CUSTOM_ID: site-file-template +:END: +The site file is also known as the Ansible playbook and is incharge of +executing instructions in a declarative manner. The below example +specifies how to make one. + +#+begin_example +- hosts: all + + tasks: + - name: + + debug: + msg: +#+end_example + +Read more about ansible tasks: +https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html#about-playbooks + +** Hosts file +:PROPERTIES: +:CUSTOM_ID: hosts-file +:END: +hosts file is also known as the inventory file. This file consists of +all the information required to connect to other nodes to execute +Ansible instructions. In this project this file needs to be set in a +certain configuration because the go code or binary will populate this +file automatically with the appropriate information required to connect +to local or remote containers. + +#+begin_quote +[!NOTE] Add as exactly specified below: + +#+begin_example +all: + vars: + ansible_python_interpreter: /usr/bin/python3 // Path to your python 3 interpreter +main: + hosts: + host1: + // Note: These values will be automatically overwritten + // by the Go functions + ansible_host: 0.0.0.0 + ansible_port: 39269 + ansible_user: master + ansible_ssh_pass: password + ansible_sudo_pass: password +#+end_example + +#+end_quote + +** Ports.json +:PROPERTIES: +:CUSTOM_ID: ports.json +:END: +The =ports.json= file is intended to mention the number of ports +required by the plugin. + +#+begin_example +{ + "NumOfPorts": +} +#+end_example + +** Description file +:PROPERTIES: +:CUSTOM_ID: description-file +:END: +This is a simple text file used to describe what the module does. When +the client is looking at various commands via the ClI. The description +is displayed along-side the plugin name. + +Ex: When the flag =--ViewPlugins= or =--vp= is called + +#+begin_example +{ + "PluginsDetected": [ + { + "FolderName": "", + "PluginDescription": "" + } + ] +} +#+end_example + +** Automatic port allocations +:PROPERTIES: +:CUSTOM_ID: automatic-port-allocations +:END: +P2PRC would be in-charge to set to the ports to various TCP ports +opened. Due to this implementation the plugin being executed is copied +to the tmp directory with a unique UUID. + +#+begin_example +Command: ls /tmp +output: Semantic _ +2e6d76c4-0ed1-4b55-9385-79a58d4f0492_p2prc-vscode-browser +7b631e08-62ee-4c1c-a2a4-c05857b9aa7d_p2prc-vscode-browser +#+end_example + +Once the copy of the plugin is added to the /tmp directory the site.yml +file inside the appropriate yaml is modified with the appropriate ports +assigned to the container. + +*** Ex: +:PROPERTIES: +:CUSTOM_ID: ex +:END: +1. Create container called c1 with an automatic generated TCP port 3313 + (external) - 3313 (internal) +2. Assumption of plugin p1 exists. p1 has one server which needs to be + mapped to a free open TCP port in container c1. Below shows an + implementation of a sample site.yml file. + +#+begin_example +--- +- hosts: all + tasks: + - name: start vscode code server + shell: sh server.sh 0.0.0.0:{{index . 0}} +#+end_example + +Notice there is the following {{index . 0}}. {{index . 0}} does not +belong to Ansible but rather is a way to mention where to add the +external free port of the container. We use the golang +[[https://pkg.go.dev/text/template][template library]] to parse and +populate the site.yml with the appropriate open ports. An array of ints +which consists of open free ports are sent to the site.yml. 0 in +{{index . 0}} refers to the index in the int array passed on. + +After the port is automatically it's ready to run ! + +#+begin_example +--- +- hosts: all + tasks: + - name: start vscode code server + shell: sh server.sh 0.0.0.0:3313 +#+end_example + +*** Sample plugins implemented: +:PROPERTIES: +:CUSTOM_ID: sample-plugins-implemented +:END: +- [[https://github.com/Akilan1999/p2prc-vscode-browser][VSCode Plugin]] + +** Pull Plugins +:PROPERTIES: +:CUSTOM_ID: pull-plugins +:END: +The following allows us to pull plugins from a remote git repository and +store them in the default plugins directory. The implementation uses a +Go git library to pull the git repo and automatically save it as a +folder in the plugin path. + +** Delete Plugins +:PROPERTIES: +:CUSTOM_ID: delete-plugins +:END: +We delete the plugin folder based on the plugin name provided as an +argument on the cli command. Once the folder is deleted, the plugin +manager automatically knows that the plugin does not exist anymore. diff --git a/Docs/README.md.org b/Docs/README.md.org new file mode 100644 index 0000000..1659f36 --- /dev/null +++ b/Docs/README.md.org @@ -0,0 +1,18 @@ +* Table of contents +:PROPERTIES: +:CUSTOM_ID: table-of-contents +:END: +1. [[file:Introduction.md][Introduction]] +2. [[file:Installation.md][Installation]] +3. [[file:Abstractions.md][Abstractions]] +4. [[file:Implementation.md][Implementation]] + 1. [[file:ClientImplementation.md][Client Module]] + 2. [[file:P2PImplementation.md][P2P Module]] + 3. [[file:ServerImplementation.md][Server Module]] + 4. [[file:ConfigImplementation.md][Config Module]] + 5. [[file:CliImplementation.md][Cli Module]] + 6. [[file:PluginImplementation.md][Plugin Module]] + 7. [[file:Bindings.md][Language bindings]] + 8. [[file:Bindings.md][Domain name mappings]] +5. Language bindings + 1. [[file:haskell/][Haskell]] diff --git a/Docs/ServerArchitecture.md.org b/Docs/ServerArchitecture.md.org new file mode 100644 index 0000000..caf1cca --- /dev/null +++ b/Docs/ServerArchitecture.md.org @@ -0,0 +1,14 @@ +* Server Module Architecture +:PROPERTIES: +:CUSTOM_ID: server-module-architecture +:END: +The server module takes care of setting and removing the virtualization +environment (i.e containers) for accessing and doing the appropriate +computation. It also interacts with the peer to peer module to update +the IP table on the server side. The server module accesses information +regarding CPU and GPU specifications of the machine running the server +module. To do Speed tests the server has routes which allows it to +upload and download a 50mb. + +#+caption: UML diagram of server module +[[file:images/servermoduleArch.png]] diff --git a/Docs/ServerImplementation.md.org b/Docs/ServerImplementation.md.org new file mode 100644 index 0000000..5e7713c --- /dev/null +++ b/Docs/ServerImplementation.md.org @@ -0,0 +1,278 @@ +* Server Module Implementation +:PROPERTIES: +:CUSTOM_ID: server-module-implementation +:END: +This section focuses on an in-depth understanding of the server module +implementation. To understand the architecture of the server module +refer. The server module can be split into various sections. Each +section will provide information on how a certain feature works. + +The server module takes care of setting and removing the virtualization +environment (i.e containers) for accessing and doing the appropriate +computation. It also interacts with the peer to peer module to update +the IP table on the server side. The server module accesses information +regarding CPU and GPU specifications of the machine running the server +module. To do Speed tests the server has routes which allows it to +upload and download a 50mb. + +#+caption: UML diagram of server module +[[file:images/servermoduleArch.png]] + +** Web framework +:PROPERTIES: +:CUSTOM_ID: web-framework +:END: +The web framework used for the server module is called Gin. The reason +Gin was chosen is due to its wide use and strong documentation available +on the official github repository. The default port used is 8088. For +version 1.0 of the project ,the server needs to keep port 8088 open to +ensure that other clients and servers can detect it. The possible +requests available are GET and POST for this implementation. The +possible responses are either a string or json response or a file. In +the majority of routes a string response refers to an error when calling +the following routes. The following sub topics below will talk about the +route implemented: + +*** /server_info +:PROPERTIES: +:CUSTOM_ID: server_info +:END: +This route is responsible to get information about the specifications of +the server. The response of this route is in json if the call was +successful. + +*** /50 +:PROPERTIES: +:CUSTOM_ID: section +:END: +This route is responsible for returning a randomly generated 50mb file. +This is used to calculate the download speed from the p2p module. + +*** /IpTable +:PROPERTIES: +:CUSTOM_ID: iptable +:END: +This route is a POST request that is responsible to update the server IP +table based on the IP table the client provides. Once the server gets +the IP table it checks if the client is also a server. This is done by +calling the url http://:8088/server_info. If the server_info route from +the client responds back with computer specifications of the client. +Then the server initially appends the clients IP to the struct. After +that the IP table received from the client is uploaded to the struct. +Once this is done the server passes the struct to the peer to peer +module function. The peer to peer module function will return the back +with the new struct with the valid server nodes. The server responds +back to the new struct as a json format. If a string is present in the +response then there is probably an error on the server side. + +*** /startcontainer +:PROPERTIES: +:CUSTOM_ID: startcontainer +:END: +This route takes in a GET request with the number of TCP ports to open +and checks whether the docker container should be hooked to the GPU or +not. This route talks to the docker module implemented as a sub module +in the server module. More information on the docker module in section +5.4.3. This route calls docker the module to start the container for the +client. The docker module returns back a struct. This struct is returned +back to the client as the json response. This struct consists of +information such as docker id, ports numbers open , information +regarding SSH and VNC connections to the docker container created when +the client created this request. + +*** /RemoveContainer +:PROPERTIES: +:CUSTOM_ID: removecontainer +:END: +This route takes in a GET request as the container ID. Based on the +container ID provided ,it calls the docker module which deletes the +container. If the deletion is successful it returns back a string which +says success. + +** Server information/ Specification +:PROPERTIES: +:CUSTOM_ID: server-information-specification +:END: +This section provides information on how the server specifications are +read. There are 2 major implementations. The first implementation +mentions how basic information such as RAM usage, CPU specification are +detected and the second implementation mentions how the GPU drivers are +detected and information is extracted. The client has to assume that the +server is using default docker settings in terms of CPU cycles and other +parameters. + +*** Basic Information +:PROPERTIES: +:CUSTOM_ID: basic-information +:END: +The file name for these functions is called gopsutil.go. This codebase +uses the library gopsutil. Gopsutil has various packages or modules +within the library which have functions implemented to get system +information. The following information is stored in a struct and the +function returns that struct. + +#+begin_src go +type SysInfo struct { + Hostname string `bson:hostname` + Platform string `bson:platform` + CPU string `bson:cpu` + RAM uint64 `bson:ram` + Disk uint64 `bson:disk` + GPU *Query `xml: GpuInfo` +} +#+end_src + +*** GPU Information +:PROPERTIES: +:CUSTOM_ID: gpu-information +:END: +The file name for these functions is called GPU.go. This codebase checks +if the Nvidia driver exists and returns the driver information. To do +this a shell command called nvidia-smi is executed. This shell command +is executed with a --xml as flag to ensure that the output is in the XML +format. If there is an output as a xml format, that means there is an +nvidia driver installed, and the function just reads the output and +stores it to the struct and returns the GPU information. + +#+begin_src go + +type Query struct { + DriveVersion string `xml:"driver_version"` + Gpu Gpu `xml:"gpu"` +} + +type Gpu struct{ + GpuName string `xml:"product_name"` + BiosVersion string `xml:"vbios_version"` + FanSpeed string `xml:"fan_speed"` + Utilization GpuUtilization `xml:"utilization"` + Temperature GpuTemperature `xml:"temperature"` + Clock GpuClock `xml:"clocks"` +} + +type GpuUtilization struct { + GpuUsage string `xml:"gpu_util"` + MemoryUsage string `xml:"memory_util"` +} + +type GpuTemperature struct { + GpuTemp string `xml:"gpu_temp"` +} + +type GpuClock struct { + GpuClock string `xml:"graphics_clock"` + GpuMemClock string `xml:"mem_clock"` +} +#+end_src + +** Docker Module +:PROPERTIES: +:CUSTOM_ID: docker-module +:END: +This section provides information on how the server module interacts +with the docker containers. The server calls 2 routes which either +creates or removes the docker container. Docker has a huge advantage +because it takes less than 20 seconds to spin up a new container once +it's built and executed at least once. For docker operations a separate +module/package has been created. The following subtopics will provide +more information on how this package works. + +*** Docker Api +:PROPERTIES: +:CUSTOM_ID: docker-api +:END: +For this the api has been taken from the official docker repository. To +be more specific it is the client module in the official docker +repository. Docker was built using Go. During this project Docker +functions could be directly called from the docker repository. The +Docker api initially ensures that it can detect the docker environment +variables. Once detected, it can execute various functions from the +docker client module. The reason the docker api was selected was to +detect and handle errors better. + +*** Docker Image +:PROPERTIES: +:CUSTOM_ID: docker-image +:END: +The docker image used to spin up the containers is called +ConSol/docker-headless-vnc-container. The following container was +modified to open SSH ports for an SSH connection. The following docker +image runs ubuntu 16. The reason this image was chosen as a default is +because if the client wants to access the container in the form of a +desktop environment. This image would allow the client to do so from +just a browser. + +*** Build container +:PROPERTIES: +:CUSTOM_ID: build-container +:END: +This function pulls the docker image locally and builds the image. +Initially there is a timeout function to ensure that building the image +does not take too long to build. The next phase would be based on the +path to get the DockerFile. The tag name of the container is set as +p2p-ubuntu as default. Once the following is set then the docker build +command is executed. + +*** Run container +:PROPERTIES: +:CUSTOM_ID: run-container +:END: +After building the container it needs to be executed for the user to +access the container and do certain operations. The docker +package/module has a function to do this. The function takes in the +docker environment as a parameter and also the docker struct. The docker +struct has information such as the TCP ports which are supposed to be +open and whether the docker container should have the GPU hooked to it +or not. Based on the appropriate information provided ,the docker image +gets started. The Image gets started by interacting with the docker +client modules. When hooking the GPU the docker run command is called +from the shell. This is because the docker Api does not support the GPU +module yet. When the container is executed for the first time it takes +more than 10 minutes to build. From the second time onwards it takes +only 10 seconds to run. + +*** Stop and remove container +:PROPERTIES: +:CUSTOM_ID: stop-and-remove-container +:END: +This implementation here ensures that the docker is stopped, and the +container is removed. This is to ensure it does not utilize server +resources when it is not being used, or the task that is intended to be +executed is complete. To run this function all that is needed is the +docker container ID. If the function is successful it returns a string +that says success. + +*** Ports json file +:PROPERTIES: +:CUSTOM_ID: ports-json-file +:END: +This file will help map internal ports inside a container to external +ports inside a container. A common example would be the SSH port which +is port 22 inside the docker container and is mapped to random TCP port +outside container so that any external machines can directly connect +into the container. The below representation mentions of where the +ports.json file is located and also the format of that file. + +#+begin_example +|_ + |_ Dockerfile + |_ description.txt + |_ ports.json // The ports file +#+end_example + +Format of the ports.json file + +#+begin_example +{ + "Port": [ + { + "PortName": "", + "InternalPort": , + "Type": "", + "ExternalPort": , + "IsUsed": "", + "Description": "" + }, ... n + ] +} +#+end_example From fee39d0afa56cc935660dfe6991b4dda5f92d3c5 Mon Sep 17 00:00:00 2001 From: Akilan Date: Sat, 18 Jan 2025 17:57:56 +0000 Subject: [PATCH 04/13] basic fixes to org files --- .../{Abstractions.md.org => Abstractions.org} | 2 +- Docs/{Bindings.md.org => Bindings.org} | 0 ...mentation.md.org => CliImplementation.org} | 0 Docs/{Client.md.org => Client.org} | 0 ...itecture.md.org => ClientArchitecture.org} | 0 ...tation.md.org => ClientImplementation.org} | 11 ---- ...tation.md.org => ConfigImplementation.org} | 0 ...ntro.md.org => DesignArchtectureIntro.org} | 0 ...g => DomainNameMappingsImplementation.org} | 3 +- Docs/Implementation.md.org | 66 ------------------- Docs/Implementation.org | 21 ++++++ .../{Installation.md.org => Installation.org} | 11 +--- .../{Introduction.md.org => Introduction.org} | 11 +--- .../{NAT-Traveral.md.org => NAT-Traveral.org} | 0 Docs/{P2P-testing.md.org => P2P-testing.org} | 0 Docs/{P2P.md.org => P2P.org} | 0 ...rchitecture.md.org => P2PArchitecture.org} | 0 ...mentation.md.org => P2PImplementation.org} | 0 ...tation.md.org => PluginImplementation.org} | 10 --- Docs/README.md.org | 18 ----- Docs/README.org | 18 +++++ 21 files changed, 44 insertions(+), 127 deletions(-) rename Docs/{Abstractions.md.org => Abstractions.org} (95%) rename Docs/{Bindings.md.org => Bindings.org} (100%) rename Docs/{CliImplementation.md.org => CliImplementation.org} (100%) rename Docs/{Client.md.org => Client.org} (100%) rename Docs/{ClientArchitecture.md.org => ClientArchitecture.org} (100%) rename Docs/{ClientImplementation.md.org => ClientImplementation.org} (93%) rename Docs/{ConfigImplementation.md.org => ConfigImplementation.org} (100%) rename Docs/{DesignArchtectureIntro.md.org => DesignArchtectureIntro.org} (100%) rename Docs/{DomainNameMappingsImplementation.md.org => DomainNameMappingsImplementation.org} (80%) delete mode 100644 Docs/Implementation.md.org create mode 100644 Docs/Implementation.org rename Docs/{Installation.md.org => Installation.org} (96%) rename Docs/{Introduction.md.org => Introduction.org} (85%) rename Docs/{NAT-Traveral.md.org => NAT-Traveral.org} (100%) rename Docs/{P2P-testing.md.org => P2P-testing.org} (100%) rename Docs/{P2P.md.org => P2P.org} (100%) rename Docs/{P2PArchitecture.md.org => P2PArchitecture.org} (100%) rename Docs/{P2PImplementation.md.org => P2PImplementation.org} (100%) rename Docs/{PluginImplementation.md.org => PluginImplementation.org} (94%) delete mode 100644 Docs/README.md.org create mode 100644 Docs/README.org diff --git a/Docs/Abstractions.md.org b/Docs/Abstractions.org similarity index 95% rename from Docs/Abstractions.md.org rename to Docs/Abstractions.org index 2254b73..d0d8e6f 100644 --- a/Docs/Abstractions.md.org +++ b/Docs/Abstractions.org @@ -29,7 +29,7 @@ The Abstractions package consists of black-boxed functions for P2PRC. -------------- -*** Next Chapter: [[file:Implementation.md][Implementation]] +*** Next Chapter: [[file:Implementation.org][Implementation]] :PROPERTIES: :CUSTOM_ID: next-chapter-implementation :END: diff --git a/Docs/Bindings.md.org b/Docs/Bindings.org similarity index 100% rename from Docs/Bindings.md.org rename to Docs/Bindings.org diff --git a/Docs/CliImplementation.md.org b/Docs/CliImplementation.org similarity index 100% rename from Docs/CliImplementation.md.org rename to Docs/CliImplementation.org diff --git a/Docs/Client.md.org b/Docs/Client.org similarity index 100% rename from Docs/Client.md.org rename to Docs/Client.org diff --git a/Docs/ClientArchitecture.md.org b/Docs/ClientArchitecture.org similarity index 100% rename from Docs/ClientArchitecture.md.org rename to Docs/ClientArchitecture.org diff --git a/Docs/ClientImplementation.md.org b/Docs/ClientImplementation.org similarity index 93% rename from Docs/ClientImplementation.md.org rename to Docs/ClientImplementation.org index 2296f73..0300525 100644 --- a/Docs/ClientImplementation.md.org +++ b/Docs/ClientImplementation.org @@ -14,17 +14,6 @@ the IP tables from the previous servers. [[file:images/NumOfHops.png]] [[file:images/clientmoduleArch.png]] -** Topics -:PROPERTIES: -:CUSTOM_ID: topics -:END: -1. [[#updating-the-IP-table][Updating the IP table]] -2. [[#reading-server-specifications][Reading server specifications]] -3. [[#Client-creating-and-removing-container][Client creating and - removing container]] -4. [[#Tracking-Containers][Tracking Containers]] -5. [[#Grouping-Containers][Grouping Containers]] - This section focuses in depth on how the client module works. The client module is incharge of communicating with different servers based on the IP addresses provided to the user. The IP addresses are derived from diff --git a/Docs/ConfigImplementation.md.org b/Docs/ConfigImplementation.org similarity index 100% rename from Docs/ConfigImplementation.md.org rename to Docs/ConfigImplementation.org diff --git a/Docs/DesignArchtectureIntro.md.org b/Docs/DesignArchtectureIntro.org similarity index 100% rename from Docs/DesignArchtectureIntro.md.org rename to Docs/DesignArchtectureIntro.org diff --git a/Docs/DomainNameMappingsImplementation.md.org b/Docs/DomainNameMappingsImplementation.org similarity index 80% rename from Docs/DomainNameMappingsImplementation.md.org rename to Docs/DomainNameMappingsImplementation.org index 38aca3f..69f504a 100644 --- a/Docs/DomainNameMappingsImplementation.md.org +++ b/Docs/DomainNameMappingsImplementation.org @@ -2,4 +2,5 @@ :PROPERTIES: :CUSTOM_ID: domain-name-mappings :END: -This + +Todo be written. diff --git a/Docs/Implementation.md.org b/Docs/Implementation.md.org deleted file mode 100644 index f797bb8..0000000 --- a/Docs/Implementation.md.org +++ /dev/null @@ -1,66 +0,0 @@ -* Implementation -:PROPERTIES: -:CUSTOM_ID: implementation -:END: -| [[file:Introduction.md][◀ Previous]] | [[file:README.md][Back to TOC]] | -|--------------------------------------+---------------------------------| - -This chapter describes how the project was built. It talks in depth of -the implementation performed to give a better understanding of the -project. - -** Programming langauge used -:PROPERTIES: -:CUSTOM_ID: programming-langauge-used -:END: -The programming language used for this project was -[[https://go.dev/][Golang]]. The reason Go lang was chosen was because -it is a compiled language. The entire codebase is just a single binary -file. When distributing to other linux distributing the only requirement -would be the binary file to run the code. It is easy to write -independant modules and be monolithic at the sametime using Go. Using -Go.mod makes it very easy to handle external libraries and modularise -code. The go.mod name for the project is -[[https://git.sr.ht/~akilan1999/p2p-rendering-computation][git.sr.ht/~akilan1999/p2p-rendering-computation]]. - -- - ** [[file:CliImplementation.md][Cli Module]] - :PROPERTIES: - :CUSTOM_ID: cli-module - :END: - -- - ** [[file:ConfigImplementation.md][Config Module]] - :PROPERTIES: - :CUSTOM_ID: config-module - :END: - -- - ** [[file:ServerImplementation.md][Server Module]] - :PROPERTIES: - :CUSTOM_ID: server-module - :END: - -- - ** [[file:ClientImplementation.md][Client Module]] - :PROPERTIES: - :CUSTOM_ID: client-module - :END: - -- - ** [[file:P2PImplementation.md][P2P Module]] - :PROPERTIES: - :CUSTOM_ID: p2p-module - :END: - -- - ** [[file:PluginImplementation.md][Plugin Module]] - :PROPERTIES: - :CUSTOM_ID: plugin-module - :END: - -- - ** [[file:GenerateImplementation.md][Generate Module]] - :PROPERTIES: - :CUSTOM_ID: generate-module - :END: diff --git a/Docs/Implementation.org b/Docs/Implementation.org new file mode 100644 index 0000000..5c10ab2 --- /dev/null +++ b/Docs/Implementation.org @@ -0,0 +1,21 @@ +* Implementation +:PROPERTIES: +:CUSTOM_ID: implementation +:END +This chapter describes how the project was built. It talks in depth of +the implementation performed to give a better understanding of the +project. + +** Programming language used +:PROPERTIES: +:CUSTOM_ID: programming-langauge-used +:END: +The programming language used for this project was +[[https://go.dev/][Golang]]. The reason Go lang was chosen was because +it is a compiled language. The entire codebase is just a single binary +file. When distributing to other linux distributing the only requirement +would be the binary file to run the code. It is easy to write +independant modules and be monolithic at the sametime using Go. Using +Go.mod makes it very easy to handle external libraries and modularise +code. The go.mod name for the project is +[[https://git.sr.ht/~akilan1999/p2p-rendering-computation][git.sr.ht/~akilan1999/p2p-rendering-computation]]. diff --git a/Docs/Installation.md.org b/Docs/Installation.org similarity index 96% rename from Docs/Installation.md.org rename to Docs/Installation.org index 5258f75..27adec3 100644 --- a/Docs/Installation.md.org +++ b/Docs/Installation.org @@ -2,8 +2,6 @@ :PROPERTIES: :CUSTOM_ID: installation :END: -| [[file:Introduction.md][◀ Previous]] | [[file:Abstractions.md][Next ▶]] | -|--------------------------------------+----------------------------------| Over here we will cover the basic steps to get the server and client side running. @@ -351,11 +349,4 @@ This feature is still Under Development: Refer the section [[#install-docker][Install Docker]]. - =cd plugin= - =go test .= -#+end_quote - --------------- - -*** Next Chapter: [[file:Abstractions.md][Abstractions]] -:PROPERTIES: -:CUSTOM_ID: next-chapter-abstractions -:END: +#+end_quote \ No newline at end of file diff --git a/Docs/Introduction.md.org b/Docs/Introduction.org similarity index 85% rename from Docs/Introduction.md.org rename to Docs/Introduction.org index 5ded787..00b46d7 100644 --- a/Docs/Introduction.md.org +++ b/Docs/Introduction.org @@ -2,8 +2,6 @@ :PROPERTIES: :CUSTOM_ID: chapter-1-introduction :END: -| [[file:README.md][◀ Back to TOC]] | [[file:Installation.md][Next ▶]] | -|-----------------------------------+----------------------------------| ** Abstract :PROPERTIES: @@ -38,11 +36,4 @@ useful. Ethically speaking this is leading to monopolisation of computing power similar to what is happening in the web server area. By using peer to peer principles it is possible to remove the monopolisation factor and increase the bandwidth between the client and -server. - --------------- - -*** Next Chapter: [[file:Installation.md][Installation]] -:PROPERTIES: -:CUSTOM_ID: next-chapter-installation -:END: +server. \ No newline at end of file diff --git a/Docs/NAT-Traveral.md.org b/Docs/NAT-Traveral.org similarity index 100% rename from Docs/NAT-Traveral.md.org rename to Docs/NAT-Traveral.org diff --git a/Docs/P2P-testing.md.org b/Docs/P2P-testing.org similarity index 100% rename from Docs/P2P-testing.md.org rename to Docs/P2P-testing.org diff --git a/Docs/P2P.md.org b/Docs/P2P.org similarity index 100% rename from Docs/P2P.md.org rename to Docs/P2P.org diff --git a/Docs/P2PArchitecture.md.org b/Docs/P2PArchitecture.org similarity index 100% rename from Docs/P2PArchitecture.md.org rename to Docs/P2PArchitecture.org diff --git a/Docs/P2PImplementation.md.org b/Docs/P2PImplementation.org similarity index 100% rename from Docs/P2PImplementation.md.org rename to Docs/P2PImplementation.org diff --git a/Docs/PluginImplementation.md.org b/Docs/PluginImplementation.org similarity index 94% rename from Docs/PluginImplementation.md.org rename to Docs/PluginImplementation.org index cca9688..fb456a0 100644 --- a/Docs/PluginImplementation.md.org +++ b/Docs/PluginImplementation.org @@ -2,16 +2,6 @@ :PROPERTIES: :CUSTOM_ID: plugin-module-implementation :END: -** Topics -:PROPERTIES: -:CUSTOM_ID: topics -:END: -1. [[#introduction][Introduciton]] -2. [[#site-File-Template][Site.yml]] -3. [[#hosts-file][Host]] -4. [[#description-file][Description]] -5. [[#automatic-port-allocations][Automatic port allocations]] -6. [[#sample-plugins-implemented][Sample plugins implemented]] ** Introduction :PROPERTIES: diff --git a/Docs/README.md.org b/Docs/README.md.org deleted file mode 100644 index 1659f36..0000000 --- a/Docs/README.md.org +++ /dev/null @@ -1,18 +0,0 @@ -* Table of contents -:PROPERTIES: -:CUSTOM_ID: table-of-contents -:END: -1. [[file:Introduction.md][Introduction]] -2. [[file:Installation.md][Installation]] -3. [[file:Abstractions.md][Abstractions]] -4. [[file:Implementation.md][Implementation]] - 1. [[file:ClientImplementation.md][Client Module]] - 2. [[file:P2PImplementation.md][P2P Module]] - 3. [[file:ServerImplementation.md][Server Module]] - 4. [[file:ConfigImplementation.md][Config Module]] - 5. [[file:CliImplementation.md][Cli Module]] - 6. [[file:PluginImplementation.md][Plugin Module]] - 7. [[file:Bindings.md][Language bindings]] - 8. [[file:Bindings.md][Domain name mappings]] -5. Language bindings - 1. [[file:haskell/][Haskell]] diff --git a/Docs/README.org b/Docs/README.org new file mode 100644 index 0000000..ebe24e0 --- /dev/null +++ b/Docs/README.org @@ -0,0 +1,18 @@ +* Table of contents +:PROPERTIES: +:CUSTOM_ID: table-of-contents +:END: +1.[[file:Introduction.org][ Introduction]] +2. [[file:Installation.org][Installation]] +3. [[file:Abstractions.org][Abstractions]] +4. [[file:Implementation.org][Implementation]] + 1. [[file:ClientImplementation.org][Client Module]] + 2. [[file:P2PImplementation.org][P2P Module]] + 3. [[file:ServerImplementation.org][Server Module]] + 4. [[file:ConfigImplementation.org][Config Module]] + 5. [[file:CliImplementation.org][Cli Module]] + 6. [[file:PluginImplementation.org][Plugin Module]] + 7. [[file:Bindings.org][Language bindings]] + 8. [[file:Bindings.org][Domain name mappings]] +5. Language bindings + 1. [[file:haskell/][Haskell]] From 6863b1386b59f53ea63671a42e9cf60b11be56fe Mon Sep 17 00:00:00 2001 From: Akilan Date: Sun, 19 Jan 2025 01:02:45 +0000 Subject: [PATCH 05/13] converted entire docs to org mode --- Docs/.gitignore | 73 ++ Docs/{ => DocsDeprecated}/Abstractions.md | 0 Docs/{ => DocsDeprecated}/Abstractions.org | 0 Docs/{ => DocsDeprecated}/Bindings.md | 0 Docs/{ => DocsDeprecated}/Bindings.org | 0 .../{ => DocsDeprecated}/CliImplementation.md | 0 .../CliImplementation.org | 0 Docs/{ => DocsDeprecated}/Client.md | 0 Docs/{ => DocsDeprecated}/Client.org | 0 .../ClientArchitecture.md | 0 .../ClientArchitecture.org | 0 .../ClientImplementation.md | 0 .../ClientImplementation.org | 0 .../ConfigImplementation.md | 0 .../ConfigImplementation.org | 0 .../DesignArchtectureIntro.md | 0 .../DesignArchtectureIntro.org | 0 .../DomainNameMappingsImplementation.md | 0 .../DomainNameMappingsImplementation.org | 0 Docs/{ => DocsDeprecated}/Implementation.md | 0 Docs/{ => DocsDeprecated}/Implementation.org | 0 Docs/{ => DocsDeprecated}/Installation.md | 0 Docs/{ => DocsDeprecated}/Installation.org | 0 Docs/{ => DocsDeprecated}/Introduction.md | 0 Docs/{ => DocsDeprecated}/Introduction.org | 0 Docs/{ => DocsDeprecated}/NAT-Traveral.md | 0 Docs/{ => DocsDeprecated}/NAT-Traveral.org | 0 Docs/{ => DocsDeprecated}/P2P-testing.md | 0 Docs/{ => DocsDeprecated}/P2P-testing.org | 0 Docs/{ => DocsDeprecated}/P2P.md | 0 Docs/{ => DocsDeprecated}/P2P.org | 0 Docs/{ => DocsDeprecated}/P2PArchitecture.md | 0 Docs/{ => DocsDeprecated}/P2PArchitecture.org | 0 .../{ => DocsDeprecated}/P2PImplementation.md | 0 .../P2PImplementation.org | 0 .../PluginImplementation.md | 0 .../PluginImplementation.org | 0 README.md => Docs/DocsDeprecated/README.md | 0 Docs/{ => DocsDeprecated}/README.org | 0 .../ServerArchitecture.md | 0 .../ServerArchitecture.md.org | 0 .../ServerImplementation.md | 0 .../ServerImplementation.md.org | 0 Docs/{ => DocsDeprecated}/Virtualization | 0 Docs/DocsDeprecated/docs.org | 800 ++++++++++++++++++ Docs/README.md | 21 - Docs/docs.org | 800 ++++++++++++++++++ README.md.pdf | Bin 0 -> 148458 bytes README.md.tex | 202 +++++ README.md.org => README.org | 64 +- 50 files changed, 1886 insertions(+), 74 deletions(-) create mode 100644 Docs/.gitignore rename Docs/{ => DocsDeprecated}/Abstractions.md (100%) rename Docs/{ => DocsDeprecated}/Abstractions.org (100%) rename Docs/{ => DocsDeprecated}/Bindings.md (100%) rename Docs/{ => DocsDeprecated}/Bindings.org (100%) rename Docs/{ => DocsDeprecated}/CliImplementation.md (100%) rename Docs/{ => DocsDeprecated}/CliImplementation.org (100%) rename Docs/{ => DocsDeprecated}/Client.md (100%) rename Docs/{ => DocsDeprecated}/Client.org (100%) rename Docs/{ => DocsDeprecated}/ClientArchitecture.md (100%) rename Docs/{ => DocsDeprecated}/ClientArchitecture.org (100%) rename Docs/{ => DocsDeprecated}/ClientImplementation.md (100%) rename Docs/{ => DocsDeprecated}/ClientImplementation.org (100%) rename Docs/{ => DocsDeprecated}/ConfigImplementation.md (100%) rename Docs/{ => DocsDeprecated}/ConfigImplementation.org (100%) rename Docs/{ => DocsDeprecated}/DesignArchtectureIntro.md (100%) rename Docs/{ => DocsDeprecated}/DesignArchtectureIntro.org (100%) rename Docs/{ => DocsDeprecated}/DomainNameMappingsImplementation.md (100%) rename Docs/{ => DocsDeprecated}/DomainNameMappingsImplementation.org (100%) rename Docs/{ => DocsDeprecated}/Implementation.md (100%) rename Docs/{ => DocsDeprecated}/Implementation.org (100%) rename Docs/{ => DocsDeprecated}/Installation.md (100%) rename Docs/{ => DocsDeprecated}/Installation.org (100%) rename Docs/{ => DocsDeprecated}/Introduction.md (100%) rename Docs/{ => DocsDeprecated}/Introduction.org (100%) rename Docs/{ => DocsDeprecated}/NAT-Traveral.md (100%) rename Docs/{ => DocsDeprecated}/NAT-Traveral.org (100%) rename Docs/{ => DocsDeprecated}/P2P-testing.md (100%) rename Docs/{ => DocsDeprecated}/P2P-testing.org (100%) rename Docs/{ => DocsDeprecated}/P2P.md (100%) rename Docs/{ => DocsDeprecated}/P2P.org (100%) rename Docs/{ => DocsDeprecated}/P2PArchitecture.md (100%) rename Docs/{ => DocsDeprecated}/P2PArchitecture.org (100%) rename Docs/{ => DocsDeprecated}/P2PImplementation.md (100%) rename Docs/{ => DocsDeprecated}/P2PImplementation.org (100%) rename Docs/{ => DocsDeprecated}/PluginImplementation.md (100%) rename Docs/{ => DocsDeprecated}/PluginImplementation.org (100%) rename README.md => Docs/DocsDeprecated/README.md (100%) rename Docs/{ => DocsDeprecated}/README.org (100%) rename Docs/{ => DocsDeprecated}/ServerArchitecture.md (100%) rename Docs/{ => DocsDeprecated}/ServerArchitecture.md.org (100%) rename Docs/{ => DocsDeprecated}/ServerImplementation.md (100%) rename Docs/{ => DocsDeprecated}/ServerImplementation.md.org (100%) rename Docs/{ => DocsDeprecated}/Virtualization (100%) create mode 100644 Docs/DocsDeprecated/docs.org delete mode 100644 Docs/README.md create mode 100644 Docs/docs.org create mode 100644 README.md.pdf create mode 100644 README.md.tex rename README.md.org => README.org (71%) diff --git a/Docs/.gitignore b/Docs/.gitignore new file mode 100644 index 0000000..e70658e --- /dev/null +++ b/Docs/.gitignore @@ -0,0 +1,73 @@ +# Don't bother tracking a bunch of stuff when building and installing +# Org from the master git repository. + +# ...by ignoring everything created by 'make', 'make doc', `make info' +# `make html_manual', `make release' + +*.aux +*.bak +*.cp +*.cps +*.diff +*.dvi +*.elc +*.fn +*.fns +*.html +*.info +*.ky +*.kys +*.log +*.patch +*.pdf +*.pg +*.pgs +*.ps +*.toc +*.tex +*.tp +*.vr +*.vrs +orgcard_letter.tex +orgcard.txt +org +org-loaddefs.el +org-version.el +doc/org-version.inc +org-*.tar* +orgplus-*.tar* +org-*.zip +version.mk +manual +org_dual_license.texi +ORGWEBPAGE/Changes.txt +local*.mk +.gitattributes +mk/x11idle + +# texi2pdf --tidy + +doc/*.t2d + +# aspell word and replacement lists +.aspell.org.pws +.aspell.org.prepl + +# allow tmp and test directories that will not be tracked + +test +t +auto +tmp +TODO + +# and collateral damage from Emacs + +*~ +.DS_Store +*# +.#* + +# +# Local variables: +# End: diff --git a/Docs/Abstractions.md b/Docs/DocsDeprecated/Abstractions.md similarity index 100% rename from Docs/Abstractions.md rename to Docs/DocsDeprecated/Abstractions.md diff --git a/Docs/Abstractions.org b/Docs/DocsDeprecated/Abstractions.org similarity index 100% rename from Docs/Abstractions.org rename to Docs/DocsDeprecated/Abstractions.org diff --git a/Docs/Bindings.md b/Docs/DocsDeprecated/Bindings.md similarity index 100% rename from Docs/Bindings.md rename to Docs/DocsDeprecated/Bindings.md diff --git a/Docs/Bindings.org b/Docs/DocsDeprecated/Bindings.org similarity index 100% rename from Docs/Bindings.org rename to Docs/DocsDeprecated/Bindings.org diff --git a/Docs/CliImplementation.md b/Docs/DocsDeprecated/CliImplementation.md similarity index 100% rename from Docs/CliImplementation.md rename to Docs/DocsDeprecated/CliImplementation.md diff --git a/Docs/CliImplementation.org b/Docs/DocsDeprecated/CliImplementation.org similarity index 100% rename from Docs/CliImplementation.org rename to Docs/DocsDeprecated/CliImplementation.org diff --git a/Docs/Client.md b/Docs/DocsDeprecated/Client.md similarity index 100% rename from Docs/Client.md rename to Docs/DocsDeprecated/Client.md diff --git a/Docs/Client.org b/Docs/DocsDeprecated/Client.org similarity index 100% rename from Docs/Client.org rename to Docs/DocsDeprecated/Client.org diff --git a/Docs/ClientArchitecture.md b/Docs/DocsDeprecated/ClientArchitecture.md similarity index 100% rename from Docs/ClientArchitecture.md rename to Docs/DocsDeprecated/ClientArchitecture.md diff --git a/Docs/ClientArchitecture.org b/Docs/DocsDeprecated/ClientArchitecture.org similarity index 100% rename from Docs/ClientArchitecture.org rename to Docs/DocsDeprecated/ClientArchitecture.org diff --git a/Docs/ClientImplementation.md b/Docs/DocsDeprecated/ClientImplementation.md similarity index 100% rename from Docs/ClientImplementation.md rename to Docs/DocsDeprecated/ClientImplementation.md diff --git a/Docs/ClientImplementation.org b/Docs/DocsDeprecated/ClientImplementation.org similarity index 100% rename from Docs/ClientImplementation.org rename to Docs/DocsDeprecated/ClientImplementation.org diff --git a/Docs/ConfigImplementation.md b/Docs/DocsDeprecated/ConfigImplementation.md similarity index 100% rename from Docs/ConfigImplementation.md rename to Docs/DocsDeprecated/ConfigImplementation.md diff --git a/Docs/ConfigImplementation.org b/Docs/DocsDeprecated/ConfigImplementation.org similarity index 100% rename from Docs/ConfigImplementation.org rename to Docs/DocsDeprecated/ConfigImplementation.org diff --git a/Docs/DesignArchtectureIntro.md b/Docs/DocsDeprecated/DesignArchtectureIntro.md similarity index 100% rename from Docs/DesignArchtectureIntro.md rename to Docs/DocsDeprecated/DesignArchtectureIntro.md diff --git a/Docs/DesignArchtectureIntro.org b/Docs/DocsDeprecated/DesignArchtectureIntro.org similarity index 100% rename from Docs/DesignArchtectureIntro.org rename to Docs/DocsDeprecated/DesignArchtectureIntro.org diff --git a/Docs/DomainNameMappingsImplementation.md b/Docs/DocsDeprecated/DomainNameMappingsImplementation.md similarity index 100% rename from Docs/DomainNameMappingsImplementation.md rename to Docs/DocsDeprecated/DomainNameMappingsImplementation.md diff --git a/Docs/DomainNameMappingsImplementation.org b/Docs/DocsDeprecated/DomainNameMappingsImplementation.org similarity index 100% rename from Docs/DomainNameMappingsImplementation.org rename to Docs/DocsDeprecated/DomainNameMappingsImplementation.org diff --git a/Docs/Implementation.md b/Docs/DocsDeprecated/Implementation.md similarity index 100% rename from Docs/Implementation.md rename to Docs/DocsDeprecated/Implementation.md diff --git a/Docs/Implementation.org b/Docs/DocsDeprecated/Implementation.org similarity index 100% rename from Docs/Implementation.org rename to Docs/DocsDeprecated/Implementation.org diff --git a/Docs/Installation.md b/Docs/DocsDeprecated/Installation.md similarity index 100% rename from Docs/Installation.md rename to Docs/DocsDeprecated/Installation.md diff --git a/Docs/Installation.org b/Docs/DocsDeprecated/Installation.org similarity index 100% rename from Docs/Installation.org rename to Docs/DocsDeprecated/Installation.org diff --git a/Docs/Introduction.md b/Docs/DocsDeprecated/Introduction.md similarity index 100% rename from Docs/Introduction.md rename to Docs/DocsDeprecated/Introduction.md diff --git a/Docs/Introduction.org b/Docs/DocsDeprecated/Introduction.org similarity index 100% rename from Docs/Introduction.org rename to Docs/DocsDeprecated/Introduction.org diff --git a/Docs/NAT-Traveral.md b/Docs/DocsDeprecated/NAT-Traveral.md similarity index 100% rename from Docs/NAT-Traveral.md rename to Docs/DocsDeprecated/NAT-Traveral.md diff --git a/Docs/NAT-Traveral.org b/Docs/DocsDeprecated/NAT-Traveral.org similarity index 100% rename from Docs/NAT-Traveral.org rename to Docs/DocsDeprecated/NAT-Traveral.org diff --git a/Docs/P2P-testing.md b/Docs/DocsDeprecated/P2P-testing.md similarity index 100% rename from Docs/P2P-testing.md rename to Docs/DocsDeprecated/P2P-testing.md diff --git a/Docs/P2P-testing.org b/Docs/DocsDeprecated/P2P-testing.org similarity index 100% rename from Docs/P2P-testing.org rename to Docs/DocsDeprecated/P2P-testing.org diff --git a/Docs/P2P.md b/Docs/DocsDeprecated/P2P.md similarity index 100% rename from Docs/P2P.md rename to Docs/DocsDeprecated/P2P.md diff --git a/Docs/P2P.org b/Docs/DocsDeprecated/P2P.org similarity index 100% rename from Docs/P2P.org rename to Docs/DocsDeprecated/P2P.org diff --git a/Docs/P2PArchitecture.md b/Docs/DocsDeprecated/P2PArchitecture.md similarity index 100% rename from Docs/P2PArchitecture.md rename to Docs/DocsDeprecated/P2PArchitecture.md diff --git a/Docs/P2PArchitecture.org b/Docs/DocsDeprecated/P2PArchitecture.org similarity index 100% rename from Docs/P2PArchitecture.org rename to Docs/DocsDeprecated/P2PArchitecture.org diff --git a/Docs/P2PImplementation.md b/Docs/DocsDeprecated/P2PImplementation.md similarity index 100% rename from Docs/P2PImplementation.md rename to Docs/DocsDeprecated/P2PImplementation.md diff --git a/Docs/P2PImplementation.org b/Docs/DocsDeprecated/P2PImplementation.org similarity index 100% rename from Docs/P2PImplementation.org rename to Docs/DocsDeprecated/P2PImplementation.org diff --git a/Docs/PluginImplementation.md b/Docs/DocsDeprecated/PluginImplementation.md similarity index 100% rename from Docs/PluginImplementation.md rename to Docs/DocsDeprecated/PluginImplementation.md diff --git a/Docs/PluginImplementation.org b/Docs/DocsDeprecated/PluginImplementation.org similarity index 100% rename from Docs/PluginImplementation.org rename to Docs/DocsDeprecated/PluginImplementation.org diff --git a/README.md b/Docs/DocsDeprecated/README.md similarity index 100% rename from README.md rename to Docs/DocsDeprecated/README.md diff --git a/Docs/README.org b/Docs/DocsDeprecated/README.org similarity index 100% rename from Docs/README.org rename to Docs/DocsDeprecated/README.org diff --git a/Docs/ServerArchitecture.md b/Docs/DocsDeprecated/ServerArchitecture.md similarity index 100% rename from Docs/ServerArchitecture.md rename to Docs/DocsDeprecated/ServerArchitecture.md diff --git a/Docs/ServerArchitecture.md.org b/Docs/DocsDeprecated/ServerArchitecture.md.org similarity index 100% rename from Docs/ServerArchitecture.md.org rename to Docs/DocsDeprecated/ServerArchitecture.md.org diff --git a/Docs/ServerImplementation.md b/Docs/DocsDeprecated/ServerImplementation.md similarity index 100% rename from Docs/ServerImplementation.md rename to Docs/DocsDeprecated/ServerImplementation.md diff --git a/Docs/ServerImplementation.md.org b/Docs/DocsDeprecated/ServerImplementation.md.org similarity index 100% rename from Docs/ServerImplementation.md.org rename to Docs/DocsDeprecated/ServerImplementation.md.org diff --git a/Docs/Virtualization b/Docs/DocsDeprecated/Virtualization similarity index 100% rename from Docs/Virtualization rename to Docs/DocsDeprecated/Virtualization diff --git a/Docs/DocsDeprecated/docs.org b/Docs/DocsDeprecated/docs.org new file mode 100644 index 0000000..47b2386 --- /dev/null +++ b/Docs/DocsDeprecated/docs.org @@ -0,0 +1,800 @@ +yes* Chapter 1: Introduction +:PROPERTIES: +:CUSTOM_ID: chapter-1-introduction +:END: + +** Abstract +:PROPERTIES: +:CUSTOM_ID: abstract +:END: +This project focuses on creating a framework on running heavy tasks that +a regular computer cannot run easily such as graphically demanding video +games, rendering 3D animations , protein folding simulations. In this +project the major focus will not be on the financial incentive part. A +peer to peer network will be created to help run tasks decentrally, +increasing bandwidth for running tasks. To ensure the tasks in the peer +to peer network do not corrupt the server 0S (Operating System), they +will be executed in a virtual environment in the server. + +The main aim of this project was to create a custom peer to peer +network. The user acting as the client has total flexibility on how to +batch the tasks and the user acting as the server has complete +flexibility on tracking the container's usages and killing the +containers at any point of time. + +** Motivation +:PROPERTIES: +:CUSTOM_ID: motivation +:END: +Many of the users rely on our PC / Laptop or servers that belong to a +server farm to run heavy tasks and with the demand of high creativity +requires higher computing power. Buying a powerful computer every few +years to run a bunch of heavy tasks which are not executed as frequently +to reap the benefits can be inefficient utilization of hardware. On the +other end, renting servers to run these heavy tasks can be really +useful. Ethically speaking this is leading to monopolisation of +computing power similar to what is happening in the web server area. By +using peer to peer principles it is possible to remove the +monopolisation factor and increase the bandwidth between the client and +server. + +* Installation +:PROPERTIES: +:CUSTOM_ID: installation +:END: + +Over here we will cover the basic steps to get the server and client +side running. + +** Latest release install +:PROPERTIES: +:CUSTOM_ID: latest-release-install +:END: +https://github.com/Akilan1999/p2p-rendering-computation/releases + +** Install from Github master branch +:PROPERTIES: +:CUSTOM_ID: install-from-github-master-branch +:END: +*** Install Go lang +:PROPERTIES: +:CUSTOM_ID: install-go-lang +:END: +The entire the implementation of this project is done using Go lang. +Thus, we need go lang to compile to code to a binary file. +[[https://golang.org/doc/install][Instructions to install Go lang]] + +*** Install Docker +:PROPERTIES: +:CUSTOM_ID: install-docker +:END: +In this project the choice of virtualization is Docker due to it's wide +usage in the developer community. In the server module we use the Docker +Go API to create and interact with the containers. + +[[https://docs.docker.com/get-docker/][Instructions to install docker]] + +[[https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker][Instructions +to install docker GPU]] + +#+begin_example +// Do ensure that the docker command does not need sudo to run +sudo chmod 666 /var/run/docker.sock +#+end_example + +*** Build Project and install project +:PROPERTIES: +:CUSTOM_ID: build-project-and-install-project +:END: +To set up the internal dependencies and build the entire go code into a +single binary + +#+begin_example +make install +#+end_example + +**** For Windows +:PROPERTIES: +:CUSTOM_ID: for-windows +:END: +To set up P2PRC on Windows, simply run this batch file. *Make sure you +are not in admin mode when running this.* + +#+begin_example +.\install.bat +#+end_example + +*** Add appropriate paths to =.bashrc= +:PROPERTIES: +:CUSTOM_ID: add-appropriate-paths-to-.bashrc +:END: +#+begin_example +export P2PRC=//p2p-rendering-computation +export PATH=//p2p-rendering-computation:${PATH} +#+end_example + +*** Set up configuration file +:PROPERTIES: +:CUSTOM_ID: set-up-configuration-file +:END: +#+begin_example +make configfile +#+end_example + +Open the config file =config.json= and add the IPv6 address if you have +one. + +*** Test if binary works +:PROPERTIES: +:CUSTOM_ID: test-if-binary-works +:END: +#+begin_example +p2prc --help +#+end_example + +**** Output: +:PROPERTIES: +:CUSTOM_ID: output +:END: +#+begin_example +NAME: + p2p-rendering-computation - p2p cli application to create and access VMs in other servers + +USAGE: + p2prc [global options] command [command options] [arguments...] + +VERSION: + + +COMMANDS: + help, h Shows a list of commands or help for one command + +GLOBAL OPTIONS: + --Server, -s Starts server (default: false) [$SERVER] + --UpdateServerList, --us Update List of Server available based on servers iptables (default: false) [$UPDATE_SERVER_LIST] + --ListServers, --ls List servers which can render tasks (default: false) [$LIST_SERVERS] + --AddServer value, --as value Adds server IP address to iptables [$ADD_SERVER] + --ViewImages value, --vi value View images available on the server IP address [$VIEW_IMAGES] + --CreateVM value, --touch value Creates Docker container on the selected server [$CREATE_VM] + --ContainerName value, --cn value Specifying the container run on the server side [$CONTAINER_NAME] + --RemoveVM value, --rm value Stop and Remove Docker container (IP:port) accompanied by container ID via --ID or --id [$REMOVE_VM] + --ID value, --id value Docker Container ID [$ID] + --Ports value, -p value Number of ports to open for the Docker Container [$NUM_PORTS] + --GPU, --gpu Create Docker Containers to access GPU (default: false) [$USE_GPU] + --Specification value, --specs value Specs of the server node [$SPECS] + --SetDefaultConfig, --dc Sets a default configuration file (default: false) [$SET_DEFAULT_CONFIG] + --NetworkInterfaces, --ni Shows the network interface in your computer (default: false) [$NETWORK_INTERFACE] + --ViewPlugins, --vp Shows plugins available to be executed (default: false) [$VIEW_PLUGIN] + --TrackedContainers, --tc View (currently running) containers which have been created from the client side (default: false) [$TRACKED_CONTAINERS] + --ExecutePlugin value, --plugin value Plugin which needs to be executed [$EXECUTE_PLUGIN] + --CreateGroup, --cgroup Creates a new group (default: false) [$CREATE_GROUP] + --Group value, --group value group flag with argument group ID [$GROUP] + --Groups, --groups View all groups (default: false) [$GROUPS] + --RemoveContainerGroup, --rmcgroup Remove specific container in the group (default: false) [$REMOVE_CONTAINER_GROUP] + --RemoveGroup value, --rmgroup value Removes the entire group [$REMOVE_GROUP] + --Generate value, --gen value Generates a new copy of P2PRC which can be modified based on your needs [$GENERATE] + --ModuleName value, --mod value New go project module name [$MODULENAME] + --PullPlugin value, --pp value Pulls plugin from git repos [$PULLPLUGIN] + --RemovePlugin value, --rp value Removes plugin [$REMOVEPLUGIN] + --help, -h show help (default: false) + --version, -v print the version (default: false) +#+end_example + +-------------- + +* Using basic commands +:PROPERTIES: +:CUSTOM_ID: using-basic-commands +:END: +*** Start as a server +:PROPERTIES: +:CUSTOM_ID: start-as-a-server +:END: +Do ensure you have Docker installed for this + +#+begin_example +p2prc -s +#+end_example + +*** View server Specification +:PROPERTIES: +:CUSTOM_ID: view-server-specification +:END: +#+begin_example +p2prc --specs= +#+end_example + +*** Run container +:PROPERTIES: +:CUSTOM_ID: run-container +:END: +use the =--gpu= if you know the other machine has a gpu. + +#+begin_example +p2prc --touch= -p --gpu +#+end_example + +*** Remove container +:PROPERTIES: +:CUSTOM_ID: remove-container +:END: +The docker id is present in the output where you create a container + +#+begin_example +p2prc --rm= --id= +#+end_example + +*** Adding servers to ip table +:PROPERTIES: +:CUSTOM_ID: adding-servers-to-ip-table +:END: +#+begin_example +p2prc --as= +#+end_example + +*** Update ip table +:PROPERTIES: +:CUSTOM_ID: update-ip-table +:END: +#+begin_example +p2prc --us +#+end_example + +*** List Servers +:PROPERTIES: +:CUSTOM_ID: list-servers +:END: +#+begin_example +p2prc --ls +#+end_example + +*** View Network interfaces +:PROPERTIES: +:CUSTOM_ID: view-network-interfaces +:END: +#+begin_example +p2prc --ni +#+end_example + +*** Viewing Containers created Client side +:PROPERTIES: +:CUSTOM_ID: viewing-containers-created-client-side +:END: +#+begin_example +p2prc --tc +#+end_example + +[[file:ClientImplementation.md#tracking-containers][read more on +tracking containers]] + +*** Running plugin +:PROPERTIES: +:CUSTOM_ID: running-plugin +:END: +#+begin_example +p2prc --plugin --id +#+end_example + +*** Create group +:PROPERTIES: +:CUSTOM_ID: create-group +:END: +#+begin_example +p2prc --cgroup +#+end_example + +*** Add container to group +:PROPERTIES: +:CUSTOM_ID: add-container-to-group +:END: +#+begin_example +p2prc --group --id +#+end_example + +*** View groups +:PROPERTIES: +:CUSTOM_ID: view-groups +:END: +#+begin_example +p2prc --groups +#+end_example + +*** View specific group +:PROPERTIES: +:CUSTOM_ID: view-specific-group +:END: +#+begin_example +p2prc --group +#+end_example + +*** Delete container from group +:PROPERTIES: +:CUSTOM_ID: delete-container-from-group +:END: +#+begin_example +p2prc --rmcgroup --group --id +#+end_example + +*** Delete entire group +:PROPERTIES: +:CUSTOM_ID: delete-entire-group +:END: +#+begin_example +p2prc --rmgroup +#+end_example + +[[file:ClientImplementation.md#Grouping-Containers][read more on +grouping containers]] ### Extending usecase of P2PRC (Requires a go +compiler to run) + +#+begin_example +p2prc --gen --mod +#+end_example + +[[file:GenerateImplementation.md][read more about the generate module]] + +*** Pulling plugin from a remote repo +:PROPERTIES: +:CUSTOM_ID: pulling-plugin-from-a-remote-repo +:END: +#+begin_example +p2prc --pp +#+end_example + +*** Deleting plugin from the plugin directory +:PROPERTIES: +:CUSTOM_ID: deleting-plugin-from-the-plugin-directory +:END: +#+begin_example +p2prc --rp +#+end_example + +*** Added custom metadata about the current node +:PROPERTIES: +:CUSTOM_ID: added-custom-metadata-about-the-current-node +:END: +#+begin_example +p2prc --amd "custom metadata" +#+end_example + +-------------- + +* Using Plugins +:PROPERTIES: +:CUSTOM_ID: using-plugins +:END: +This feature is still Under Development: +[[file:PluginImplementation.md][Read more on the implementation]] + +**** Dependencies +:PROPERTIES: +:CUSTOM_ID: dependencies +:END: +- Ansible: + - Debian/ubuntu: =sudo apt install ansible= + - Others: + [[https://ansible-tips-and-tricks.readthedocs.io/en/latest/ansible/install/][Installation + link]] + +**** Run Test Cases +:PROPERTIES: +:CUSTOM_ID: run-test-cases +:END: +- Generate Test Case Ansible file + - =make testcases= +- Enter inside plugin directory and run tests. + +#+begin_quote +[!NOTE] That docker needs to installed and needs to run without sudo. +Refer the section [[#install-docker][Install Docker]]. - =cd plugin= - +=go test .= + +#+end_quote + +* P2P Module Implementation +:PROPERTIES: +:CUSTOM_ID: p2p-module-implementation +:END: +The P2P module (i.e Peer to Peer Module) is responsible for storing the +IP table and interacting with the IP table. In the following +implementation of the P2P module ,the IP table stores information about +servers available in the network. The other functionality the P2P module +takes care of is doing the appropriate speed tests to the servers in the +IP table. This is for informing the users about nodes which are close by +and nodes which have quicker uploads and downloads speeds. The module is +responsible to ensure that there are no duplicate server IPs in the IP +table and to remove all server IPs which are not pingable. + +#+caption: UML diagram of P2P module +[[file:images/p2pmoduleArch.png]] + +The peer to peer implementation was built from scratch. This is because +other peer to peer libraries were on the implementation of the +Distributed hash table. At the current moment all those heavy features +are not needed because the objective is to search and list all possible +servers available. The limitation being that to be a part of the network +the user has to know at least 1 server. The advantage of building from +scratch makes the module super light and possibility for custom +functions and structs. The sub topics below will mention the +implementations of each functionality in depth. + +** IP Table +:PROPERTIES: +:CUSTOM_ID: ip-table +:END: +The ip table file is a json as the format with a list of servers ip +addresses, latencies, downloads and uploads speeds. The functions +implemented include read file, write file and remove duplicate IP +addresses. The remove duplicate IP address function exists because +sometimes servers IP tables can have the same ip addresses as what the +client has. The path of the IP table json file is received from the +configuration module. + +#+begin_src json +{ + "ip_address": [ + { + "ipv4": "", + "latency": "", + "download": "", + "upload": "" + "port no": "", + } + ] +} +#+end_src + +*** Latency +:PROPERTIES: +:CUSTOM_ID: latency +:END: +The latency is measured in milliseconds. The route /server_info is +called from the server and time it takes to provide a json response is +recorded. + +** NAT Traversal +:PROPERTIES: +:CUSTOM_ID: nat-traversal +:END: +P2PRC currently supports TURN for NAT traversal. + +** TURN +:PROPERTIES: +:CUSTOM_ID: turn +:END: +The current TURN implementation used is FRP. The TURN server is also +required when a P2PRC node is acting as a Server. The TURN server is +determined based on the Node with the least amount of latency based on +the Nodes available on the IPTable. Once a TURN server is determined +there are 2 actions performed. The first one is =/FRPPort= to the TURN +server to receive a port which is used to generate the external port +from the TURN server. The flow below describes the workflow. + +*** Client mode +:PROPERTIES: +:CUSTOM_ID: client-mode +:END: +- Call =/FRPPort= + +#+begin_example +http://:/FRPport +#+end_example + +- Call the TURN server in the following manner. The following is a + sample code snippet below. + +#+begin_src go +import ( + "github.com/Akilan1999/p2p-rendering-computation/p2p/frp" +) + +func main() { + serverPort, err := frp.GetFRPServerPort("http://" + + ":" + lowestLatencyIpAddress.ServerPort) + if err != nil { + return nil, err + } + // Create 1 second delay to allow FRP server to start + time.Sleep(1 * time.Second) + // Starts FRP as a client with + proxyPort, err := frp.StartFRPClientForServer(, serverPort, ) + if err != nil { + return nil, err + } +} +#+end_src + +* Language Bindings +:PROPERTIES: +:CUSTOM_ID: language-bindings +:END: +[[https://en.wikipedia.org/wiki/Language_binding][Language bindings]] +refers to wrappers to bridge 2 programming languages. This is used in +P2PRC to extend calling P2PRC functions in other programming languages. +Currently this is done by generating =.so= and =.h= from the Go +compiler. + +** How to build shared object files +:PROPERTIES: +:CUSTOM_ID: how-to-build-shared-object-files +:END: +**** The easier way +:PROPERTIES: +:CUSTOM_ID: the-easier-way +:END: +#+begin_src sh +# Run +make sharedObjects +#+end_src + +**** Or the direct way +:PROPERTIES: +:CUSTOM_ID: or-the-direct-way +:END: +#+begin_src sh +# Run +cd Bindings && go build -buildmode=c-shared -o p2prc.so +#+end_src + +**** If successfully built: +:PROPERTIES: +:CUSTOM_ID: if-successfully-built +:END: +#+begin_src sh +# Enter into the Bindings directory +cd Bindings +# List files +ls +# Find files +p2prc.h p2prc.so +#+end_src + +** Workings under the hood +:PROPERTIES: +:CUSTOM_ID: workings-under-the-hood +:END: +Below are a sample set of commands to open the bindings implementation. + +#+begin_example +# run +cd Bindings/ +# list files +ls +# search for file +Client.go +#+end_example + +*** In Client go +:PROPERTIES: +:CUSTOM_ID: in-client-go +:END: +There a few things to notice which are different from your standard Go +programs: + +**** 1. We import "C" which means [[https://pkg.go.dev/cmd/cgo][Cgo]] is required. +:PROPERTIES: +:CUSTOM_ID: we-import-c-which-means-cgo-is-required. +:END: +#+begin_src go +import "C" +#+end_src + +**** 2. All functions which are required to be called from other programming languages have comment such as. +:PROPERTIES: +:CUSTOM_ID: all-functions-which-are-required-to-be-called-from-other-programming-languages-have-comment-such-as. +:END: +#+begin_src go +//export + +// ------------ Example ---------------- +// The function below allows to externally +// to call the P2PRC function to start containers +// in a specific node in the know list of nodes +// in the p2p network. +// Note: the comment "//export StartContainer". + +//export StartContainer +func StartContainer(IP string) (output *C.char) { + container, err := client.StartContainer(IP, 0, false, "", "") + if err != nil { + return C.CString(err.Error()) + } + return ConvertStructToJSONString(container) + } +#+end_src + +**** 3. While looking through the file (If 2 files are compared it is pretty trivial to notice a common structure). +:PROPERTIES: +:CUSTOM_ID: while-looking-through-the-file-if-2-files-are-compared-it-is-pretty-trivial-to-notice-a-common-structure. +:END: +#+begin_src go +// --------- Example ------------ + +//export StartContainer +func StartContainer(IP string) (output *C.char) { + container, err := client.StartContainer(IP, 0, false, "", "") + if err != nil { + return C.CString(err.Error()) + } + return ConvertStructToJSONString(container) +} + +//export ViewPlugin +func ViewPlugin() (output *C.char) { + plugins, err := plugin.DetectPlugins() + if err != nil { + return C.CString(err.Error()) + } + return ConvertStructToJSONString(plugins) +} +#+end_src + +**** It is easy to notice that: +:PROPERTIES: +:CUSTOM_ID: it-is-easy-to-notice-that +:END: +- =ConvertStructToJSONString()=: This is a helper function + that convert a go object to JSON string initially and converts it to + =CString=. +- =(output *C.char)=: This is the return type for most of the functions. + +**** A Pseudo code to refer to the common function implementation shape could be represented as: +:PROPERTIES: +:CUSTOM_ID: a-pseudo-code-to-refer-to-the-common-function-implementation-shape-could-be-represented-as +:END: +#+begin_example +func (output *C.char) { + , := () + if != nil { + return C.CString(.Error()) + } + return ConvertStructToJSONString() +} +#+end_example + +** Current languages supported +:PROPERTIES: +:CUSTOM_ID: current-languages-supported +:END: +- Python + +*** Build sample python program +:PROPERTIES: +:CUSTOM_ID: build-sample-python-program +:END: +The easier way + +#+begin_src sh +# Run +make python +# Expected ouput +Output is in the Directory Bindings/python/export/ +# Run +cd Bindings/python/export/ +# list files +ls +# Expected output +SharedObjects/ p2prc.py +#+end_src + +Above shows a generated folder which consists of a folder called +"SharedObjects/" which consists of =p2prc.so= and =p2prc.h= files. +=p2prc.py= refers to a sample python script calling P2PRC go functions. +To start an any project to extend P2PRC with python, This generated +folder can copied and created as a new git repo for P2PRC extensions +scripted or used a reference point as proof of concept that P2PRC can be +called from other programming languages. + + +* Config Implementation +:PROPERTIES: +:CUSTOM_ID: config-implementation +:END: +The configuration module is responsible to store basic information of +absolute paths of files being called in the Go code. In a full-fledged +Cli the configuration file can be found in the directory /etc/ and from +there points to location such as where the IP table file is located. In +the future implementation the config file will have information such as +number of hops and other parameters to tweak and to improve the +effectiveness of the peer to peer network. The configuration module was +implemented using the library Viper. The Viper library automates +features such as searching in default paths to find out if the +configuration file is present. If the configuration file is not present +in the default paths then it auto generates the configuration file. The +configurations file can be in any format. In this project the +configuration file was generated using JSON format. + +#+begin_src json +{ + "MachineName": "pc-74-120.customer.ask4.lan", + "IPTable": "/Users/akilan/Documents/p2p-rendering-computation/p2p/iptable/ip_table.json", + "DockerContainers": "/Users/akilan/Documents/p2p-rendering-computation/server/docker/containers/", + "DefaultDockerFile": "/Users/akilan/Documents/p2p-rendering-computation/server/docker/containers/docker-ubuntu-sshd/", + "SpeedTestFile": "/Users/akilan/Documents/p2p-rendering-computation/p2p/50.bin", + "IPV6Address": "", + "PluginPath": "/Users/akilan/Documents/p2p-rendering-computation/plugin/deploy", + "TrackContainersPath": "/Users/akilan/Documents/p2p-rendering-computation/client/trackcontainers/trackcontainers.json", + "ServerPort": "8088", + "GroupTrackContainersPath": "/Users/akilan/Documents/p2p-rendering-computation/client/trackcontainers/grouptrackcontainers.json", + "FRPServerPort": "True", + "BehindNAT": "True", + "CustomConfig": null +} +#+end_src + +* Abstractions +:PROPERTIES: +:CUSTOM_ID: abstractions +:END: + +The Abstractions package consists of black-boxed functions for P2PRC. + +** Functions +:PROPERTIES: +:CUSTOM_ID: functions +:END: +- =Init()=: Initializes P2PRC with all the needed + configurations. +- =Start()=: Starts p2prc as a server and makes it possible to extend by + adding other routes and functionality to P2PRC. +- =MapPort()=: On the local machine the port you want to export + to world. +- =StartContainer()=: The machine on the p2p network where + you want to spin up a docker container. +- =RemoveContainer(,)=: Terminate container + based on the IP address and container name. +- =GetSpecs()=: Get specs of a machine on the network based + on the IP address. +- =ViewIPTable()=: View the IP table which about nodes in the network. +- =UpdateIPTable()=: Force update IP table to learn about new nodes + faster. + +* NAT Traversal +:PROPERTIES: +:CUSTOM_ID: nat-traversal +:END: +P2PRC currently supports TURN for NAT traversal. + +** TURN +:PROPERTIES: +:CUSTOM_ID: turn +:END: +The current TURN implementation used is FRP. The TURN server is also +required when a P2PRC node is acting as a Server. The TURN server is +determined based on the Node with the least amount of latency based on +the Nodes available on the IPTable. Once a TURN server is determined +there are 2 actions performed. The first one is =/FRPPort= to the TURN +server to receive a port which is used to generate the external port +from the TURN server. The flow below describes the workflow. + +*** Client mode +:PROPERTIES: +:CUSTOM_ID: client-mode +:END: +- Call =/FRPPort= + +#+begin_example +http://:/FRPport +#+end_example + +- Call the TURN server in the following manner. The following is a + sample code snippet below. + +#+begin_src go +import ( + "github.com/Akilan1999/p2p-rendering-computation/p2p/frp" +) + +func main() { + serverPort, err := frp.GetFRPServerPort("http://" + + ":" + lowestLatencyIpAddress.ServerPort) + if err != nil { + return nil, err + } + // Create 1 second delay to allow FRP server to start + time.Sleep(1 * time.Second) + // Starts FRP as a client with + proxyPort, err := frp.StartFRPClientForServer(, serverPort, ) + if err != nil { + return nil, err + } +} +#+end_src diff --git a/Docs/README.md b/Docs/README.md deleted file mode 100644 index 9c85313..0000000 --- a/Docs/README.md +++ /dev/null @@ -1,21 +0,0 @@ - -# Table of contents -1. [Introduction](Introduction.md) -2. [Installation](Installation.md) -3. [Abstractions](Abstractions.md) - -4. [Implementation](Implementation.md) - 1. [Client Module](ClientImplementation.md) - 2. [P2P Module](P2PImplementation.md) - 3. [Server Module](ServerImplementation.md) - 4. [Config Module](ConfigImplementation.md) - 5. [Cli Module](CliImplementation.md) - 6. [Plugin Module](PluginImplementation.md) - 7. [Language bindings](Bindings.md) - 8. [Domain name mappings](Bindings.md) -5. Language bindings - 1. [Haskell](haskell/) - diff --git a/Docs/docs.org b/Docs/docs.org new file mode 100644 index 0000000..47b2386 --- /dev/null +++ b/Docs/docs.org @@ -0,0 +1,800 @@ +yes* Chapter 1: Introduction +:PROPERTIES: +:CUSTOM_ID: chapter-1-introduction +:END: + +** Abstract +:PROPERTIES: +:CUSTOM_ID: abstract +:END: +This project focuses on creating a framework on running heavy tasks that +a regular computer cannot run easily such as graphically demanding video +games, rendering 3D animations , protein folding simulations. In this +project the major focus will not be on the financial incentive part. A +peer to peer network will be created to help run tasks decentrally, +increasing bandwidth for running tasks. To ensure the tasks in the peer +to peer network do not corrupt the server 0S (Operating System), they +will be executed in a virtual environment in the server. + +The main aim of this project was to create a custom peer to peer +network. The user acting as the client has total flexibility on how to +batch the tasks and the user acting as the server has complete +flexibility on tracking the container's usages and killing the +containers at any point of time. + +** Motivation +:PROPERTIES: +:CUSTOM_ID: motivation +:END: +Many of the users rely on our PC / Laptop or servers that belong to a +server farm to run heavy tasks and with the demand of high creativity +requires higher computing power. Buying a powerful computer every few +years to run a bunch of heavy tasks which are not executed as frequently +to reap the benefits can be inefficient utilization of hardware. On the +other end, renting servers to run these heavy tasks can be really +useful. Ethically speaking this is leading to monopolisation of +computing power similar to what is happening in the web server area. By +using peer to peer principles it is possible to remove the +monopolisation factor and increase the bandwidth between the client and +server. + +* Installation +:PROPERTIES: +:CUSTOM_ID: installation +:END: + +Over here we will cover the basic steps to get the server and client +side running. + +** Latest release install +:PROPERTIES: +:CUSTOM_ID: latest-release-install +:END: +https://github.com/Akilan1999/p2p-rendering-computation/releases + +** Install from Github master branch +:PROPERTIES: +:CUSTOM_ID: install-from-github-master-branch +:END: +*** Install Go lang +:PROPERTIES: +:CUSTOM_ID: install-go-lang +:END: +The entire the implementation of this project is done using Go lang. +Thus, we need go lang to compile to code to a binary file. +[[https://golang.org/doc/install][Instructions to install Go lang]] + +*** Install Docker +:PROPERTIES: +:CUSTOM_ID: install-docker +:END: +In this project the choice of virtualization is Docker due to it's wide +usage in the developer community. In the server module we use the Docker +Go API to create and interact with the containers. + +[[https://docs.docker.com/get-docker/][Instructions to install docker]] + +[[https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker][Instructions +to install docker GPU]] + +#+begin_example +// Do ensure that the docker command does not need sudo to run +sudo chmod 666 /var/run/docker.sock +#+end_example + +*** Build Project and install project +:PROPERTIES: +:CUSTOM_ID: build-project-and-install-project +:END: +To set up the internal dependencies and build the entire go code into a +single binary + +#+begin_example +make install +#+end_example + +**** For Windows +:PROPERTIES: +:CUSTOM_ID: for-windows +:END: +To set up P2PRC on Windows, simply run this batch file. *Make sure you +are not in admin mode when running this.* + +#+begin_example +.\install.bat +#+end_example + +*** Add appropriate paths to =.bashrc= +:PROPERTIES: +:CUSTOM_ID: add-appropriate-paths-to-.bashrc +:END: +#+begin_example +export P2PRC=//p2p-rendering-computation +export PATH=//p2p-rendering-computation:${PATH} +#+end_example + +*** Set up configuration file +:PROPERTIES: +:CUSTOM_ID: set-up-configuration-file +:END: +#+begin_example +make configfile +#+end_example + +Open the config file =config.json= and add the IPv6 address if you have +one. + +*** Test if binary works +:PROPERTIES: +:CUSTOM_ID: test-if-binary-works +:END: +#+begin_example +p2prc --help +#+end_example + +**** Output: +:PROPERTIES: +:CUSTOM_ID: output +:END: +#+begin_example +NAME: + p2p-rendering-computation - p2p cli application to create and access VMs in other servers + +USAGE: + p2prc [global options] command [command options] [arguments...] + +VERSION: + + +COMMANDS: + help, h Shows a list of commands or help for one command + +GLOBAL OPTIONS: + --Server, -s Starts server (default: false) [$SERVER] + --UpdateServerList, --us Update List of Server available based on servers iptables (default: false) [$UPDATE_SERVER_LIST] + --ListServers, --ls List servers which can render tasks (default: false) [$LIST_SERVERS] + --AddServer value, --as value Adds server IP address to iptables [$ADD_SERVER] + --ViewImages value, --vi value View images available on the server IP address [$VIEW_IMAGES] + --CreateVM value, --touch value Creates Docker container on the selected server [$CREATE_VM] + --ContainerName value, --cn value Specifying the container run on the server side [$CONTAINER_NAME] + --RemoveVM value, --rm value Stop and Remove Docker container (IP:port) accompanied by container ID via --ID or --id [$REMOVE_VM] + --ID value, --id value Docker Container ID [$ID] + --Ports value, -p value Number of ports to open for the Docker Container [$NUM_PORTS] + --GPU, --gpu Create Docker Containers to access GPU (default: false) [$USE_GPU] + --Specification value, --specs value Specs of the server node [$SPECS] + --SetDefaultConfig, --dc Sets a default configuration file (default: false) [$SET_DEFAULT_CONFIG] + --NetworkInterfaces, --ni Shows the network interface in your computer (default: false) [$NETWORK_INTERFACE] + --ViewPlugins, --vp Shows plugins available to be executed (default: false) [$VIEW_PLUGIN] + --TrackedContainers, --tc View (currently running) containers which have been created from the client side (default: false) [$TRACKED_CONTAINERS] + --ExecutePlugin value, --plugin value Plugin which needs to be executed [$EXECUTE_PLUGIN] + --CreateGroup, --cgroup Creates a new group (default: false) [$CREATE_GROUP] + --Group value, --group value group flag with argument group ID [$GROUP] + --Groups, --groups View all groups (default: false) [$GROUPS] + --RemoveContainerGroup, --rmcgroup Remove specific container in the group (default: false) [$REMOVE_CONTAINER_GROUP] + --RemoveGroup value, --rmgroup value Removes the entire group [$REMOVE_GROUP] + --Generate value, --gen value Generates a new copy of P2PRC which can be modified based on your needs [$GENERATE] + --ModuleName value, --mod value New go project module name [$MODULENAME] + --PullPlugin value, --pp value Pulls plugin from git repos [$PULLPLUGIN] + --RemovePlugin value, --rp value Removes plugin [$REMOVEPLUGIN] + --help, -h show help (default: false) + --version, -v print the version (default: false) +#+end_example + +-------------- + +* Using basic commands +:PROPERTIES: +:CUSTOM_ID: using-basic-commands +:END: +*** Start as a server +:PROPERTIES: +:CUSTOM_ID: start-as-a-server +:END: +Do ensure you have Docker installed for this + +#+begin_example +p2prc -s +#+end_example + +*** View server Specification +:PROPERTIES: +:CUSTOM_ID: view-server-specification +:END: +#+begin_example +p2prc --specs= +#+end_example + +*** Run container +:PROPERTIES: +:CUSTOM_ID: run-container +:END: +use the =--gpu= if you know the other machine has a gpu. + +#+begin_example +p2prc --touch= -p --gpu +#+end_example + +*** Remove container +:PROPERTIES: +:CUSTOM_ID: remove-container +:END: +The docker id is present in the output where you create a container + +#+begin_example +p2prc --rm= --id= +#+end_example + +*** Adding servers to ip table +:PROPERTIES: +:CUSTOM_ID: adding-servers-to-ip-table +:END: +#+begin_example +p2prc --as= +#+end_example + +*** Update ip table +:PROPERTIES: +:CUSTOM_ID: update-ip-table +:END: +#+begin_example +p2prc --us +#+end_example + +*** List Servers +:PROPERTIES: +:CUSTOM_ID: list-servers +:END: +#+begin_example +p2prc --ls +#+end_example + +*** View Network interfaces +:PROPERTIES: +:CUSTOM_ID: view-network-interfaces +:END: +#+begin_example +p2prc --ni +#+end_example + +*** Viewing Containers created Client side +:PROPERTIES: +:CUSTOM_ID: viewing-containers-created-client-side +:END: +#+begin_example +p2prc --tc +#+end_example + +[[file:ClientImplementation.md#tracking-containers][read more on +tracking containers]] + +*** Running plugin +:PROPERTIES: +:CUSTOM_ID: running-plugin +:END: +#+begin_example +p2prc --plugin --id +#+end_example + +*** Create group +:PROPERTIES: +:CUSTOM_ID: create-group +:END: +#+begin_example +p2prc --cgroup +#+end_example + +*** Add container to group +:PROPERTIES: +:CUSTOM_ID: add-container-to-group +:END: +#+begin_example +p2prc --group --id +#+end_example + +*** View groups +:PROPERTIES: +:CUSTOM_ID: view-groups +:END: +#+begin_example +p2prc --groups +#+end_example + +*** View specific group +:PROPERTIES: +:CUSTOM_ID: view-specific-group +:END: +#+begin_example +p2prc --group +#+end_example + +*** Delete container from group +:PROPERTIES: +:CUSTOM_ID: delete-container-from-group +:END: +#+begin_example +p2prc --rmcgroup --group --id +#+end_example + +*** Delete entire group +:PROPERTIES: +:CUSTOM_ID: delete-entire-group +:END: +#+begin_example +p2prc --rmgroup +#+end_example + +[[file:ClientImplementation.md#Grouping-Containers][read more on +grouping containers]] ### Extending usecase of P2PRC (Requires a go +compiler to run) + +#+begin_example +p2prc --gen --mod +#+end_example + +[[file:GenerateImplementation.md][read more about the generate module]] + +*** Pulling plugin from a remote repo +:PROPERTIES: +:CUSTOM_ID: pulling-plugin-from-a-remote-repo +:END: +#+begin_example +p2prc --pp +#+end_example + +*** Deleting plugin from the plugin directory +:PROPERTIES: +:CUSTOM_ID: deleting-plugin-from-the-plugin-directory +:END: +#+begin_example +p2prc --rp +#+end_example + +*** Added custom metadata about the current node +:PROPERTIES: +:CUSTOM_ID: added-custom-metadata-about-the-current-node +:END: +#+begin_example +p2prc --amd "custom metadata" +#+end_example + +-------------- + +* Using Plugins +:PROPERTIES: +:CUSTOM_ID: using-plugins +:END: +This feature is still Under Development: +[[file:PluginImplementation.md][Read more on the implementation]] + +**** Dependencies +:PROPERTIES: +:CUSTOM_ID: dependencies +:END: +- Ansible: + - Debian/ubuntu: =sudo apt install ansible= + - Others: + [[https://ansible-tips-and-tricks.readthedocs.io/en/latest/ansible/install/][Installation + link]] + +**** Run Test Cases +:PROPERTIES: +:CUSTOM_ID: run-test-cases +:END: +- Generate Test Case Ansible file + - =make testcases= +- Enter inside plugin directory and run tests. + +#+begin_quote +[!NOTE] That docker needs to installed and needs to run without sudo. +Refer the section [[#install-docker][Install Docker]]. - =cd plugin= - +=go test .= + +#+end_quote + +* P2P Module Implementation +:PROPERTIES: +:CUSTOM_ID: p2p-module-implementation +:END: +The P2P module (i.e Peer to Peer Module) is responsible for storing the +IP table and interacting with the IP table. In the following +implementation of the P2P module ,the IP table stores information about +servers available in the network. The other functionality the P2P module +takes care of is doing the appropriate speed tests to the servers in the +IP table. This is for informing the users about nodes which are close by +and nodes which have quicker uploads and downloads speeds. The module is +responsible to ensure that there are no duplicate server IPs in the IP +table and to remove all server IPs which are not pingable. + +#+caption: UML diagram of P2P module +[[file:images/p2pmoduleArch.png]] + +The peer to peer implementation was built from scratch. This is because +other peer to peer libraries were on the implementation of the +Distributed hash table. At the current moment all those heavy features +are not needed because the objective is to search and list all possible +servers available. The limitation being that to be a part of the network +the user has to know at least 1 server. The advantage of building from +scratch makes the module super light and possibility for custom +functions and structs. The sub topics below will mention the +implementations of each functionality in depth. + +** IP Table +:PROPERTIES: +:CUSTOM_ID: ip-table +:END: +The ip table file is a json as the format with a list of servers ip +addresses, latencies, downloads and uploads speeds. The functions +implemented include read file, write file and remove duplicate IP +addresses. The remove duplicate IP address function exists because +sometimes servers IP tables can have the same ip addresses as what the +client has. The path of the IP table json file is received from the +configuration module. + +#+begin_src json +{ + "ip_address": [ + { + "ipv4": "", + "latency": "", + "download": "", + "upload": "" + "port no": "", + } + ] +} +#+end_src + +*** Latency +:PROPERTIES: +:CUSTOM_ID: latency +:END: +The latency is measured in milliseconds. The route /server_info is +called from the server and time it takes to provide a json response is +recorded. + +** NAT Traversal +:PROPERTIES: +:CUSTOM_ID: nat-traversal +:END: +P2PRC currently supports TURN for NAT traversal. + +** TURN +:PROPERTIES: +:CUSTOM_ID: turn +:END: +The current TURN implementation used is FRP. The TURN server is also +required when a P2PRC node is acting as a Server. The TURN server is +determined based on the Node with the least amount of latency based on +the Nodes available on the IPTable. Once a TURN server is determined +there are 2 actions performed. The first one is =/FRPPort= to the TURN +server to receive a port which is used to generate the external port +from the TURN server. The flow below describes the workflow. + +*** Client mode +:PROPERTIES: +:CUSTOM_ID: client-mode +:END: +- Call =/FRPPort= + +#+begin_example +http://:/FRPport +#+end_example + +- Call the TURN server in the following manner. The following is a + sample code snippet below. + +#+begin_src go +import ( + "github.com/Akilan1999/p2p-rendering-computation/p2p/frp" +) + +func main() { + serverPort, err := frp.GetFRPServerPort("http://" + + ":" + lowestLatencyIpAddress.ServerPort) + if err != nil { + return nil, err + } + // Create 1 second delay to allow FRP server to start + time.Sleep(1 * time.Second) + // Starts FRP as a client with + proxyPort, err := frp.StartFRPClientForServer(, serverPort, ) + if err != nil { + return nil, err + } +} +#+end_src + +* Language Bindings +:PROPERTIES: +:CUSTOM_ID: language-bindings +:END: +[[https://en.wikipedia.org/wiki/Language_binding][Language bindings]] +refers to wrappers to bridge 2 programming languages. This is used in +P2PRC to extend calling P2PRC functions in other programming languages. +Currently this is done by generating =.so= and =.h= from the Go +compiler. + +** How to build shared object files +:PROPERTIES: +:CUSTOM_ID: how-to-build-shared-object-files +:END: +**** The easier way +:PROPERTIES: +:CUSTOM_ID: the-easier-way +:END: +#+begin_src sh +# Run +make sharedObjects +#+end_src + +**** Or the direct way +:PROPERTIES: +:CUSTOM_ID: or-the-direct-way +:END: +#+begin_src sh +# Run +cd Bindings && go build -buildmode=c-shared -o p2prc.so +#+end_src + +**** If successfully built: +:PROPERTIES: +:CUSTOM_ID: if-successfully-built +:END: +#+begin_src sh +# Enter into the Bindings directory +cd Bindings +# List files +ls +# Find files +p2prc.h p2prc.so +#+end_src + +** Workings under the hood +:PROPERTIES: +:CUSTOM_ID: workings-under-the-hood +:END: +Below are a sample set of commands to open the bindings implementation. + +#+begin_example +# run +cd Bindings/ +# list files +ls +# search for file +Client.go +#+end_example + +*** In Client go +:PROPERTIES: +:CUSTOM_ID: in-client-go +:END: +There a few things to notice which are different from your standard Go +programs: + +**** 1. We import "C" which means [[https://pkg.go.dev/cmd/cgo][Cgo]] is required. +:PROPERTIES: +:CUSTOM_ID: we-import-c-which-means-cgo-is-required. +:END: +#+begin_src go +import "C" +#+end_src + +**** 2. All functions which are required to be called from other programming languages have comment such as. +:PROPERTIES: +:CUSTOM_ID: all-functions-which-are-required-to-be-called-from-other-programming-languages-have-comment-such-as. +:END: +#+begin_src go +//export + +// ------------ Example ---------------- +// The function below allows to externally +// to call the P2PRC function to start containers +// in a specific node in the know list of nodes +// in the p2p network. +// Note: the comment "//export StartContainer". + +//export StartContainer +func StartContainer(IP string) (output *C.char) { + container, err := client.StartContainer(IP, 0, false, "", "") + if err != nil { + return C.CString(err.Error()) + } + return ConvertStructToJSONString(container) + } +#+end_src + +**** 3. While looking through the file (If 2 files are compared it is pretty trivial to notice a common structure). +:PROPERTIES: +:CUSTOM_ID: while-looking-through-the-file-if-2-files-are-compared-it-is-pretty-trivial-to-notice-a-common-structure. +:END: +#+begin_src go +// --------- Example ------------ + +//export StartContainer +func StartContainer(IP string) (output *C.char) { + container, err := client.StartContainer(IP, 0, false, "", "") + if err != nil { + return C.CString(err.Error()) + } + return ConvertStructToJSONString(container) +} + +//export ViewPlugin +func ViewPlugin() (output *C.char) { + plugins, err := plugin.DetectPlugins() + if err != nil { + return C.CString(err.Error()) + } + return ConvertStructToJSONString(plugins) +} +#+end_src + +**** It is easy to notice that: +:PROPERTIES: +:CUSTOM_ID: it-is-easy-to-notice-that +:END: +- =ConvertStructToJSONString()=: This is a helper function + that convert a go object to JSON string initially and converts it to + =CString=. +- =(output *C.char)=: This is the return type for most of the functions. + +**** A Pseudo code to refer to the common function implementation shape could be represented as: +:PROPERTIES: +:CUSTOM_ID: a-pseudo-code-to-refer-to-the-common-function-implementation-shape-could-be-represented-as +:END: +#+begin_example +func (output *C.char) { + , := () + if != nil { + return C.CString(.Error()) + } + return ConvertStructToJSONString() +} +#+end_example + +** Current languages supported +:PROPERTIES: +:CUSTOM_ID: current-languages-supported +:END: +- Python + +*** Build sample python program +:PROPERTIES: +:CUSTOM_ID: build-sample-python-program +:END: +The easier way + +#+begin_src sh +# Run +make python +# Expected ouput +Output is in the Directory Bindings/python/export/ +# Run +cd Bindings/python/export/ +# list files +ls +# Expected output +SharedObjects/ p2prc.py +#+end_src + +Above shows a generated folder which consists of a folder called +"SharedObjects/" which consists of =p2prc.so= and =p2prc.h= files. +=p2prc.py= refers to a sample python script calling P2PRC go functions. +To start an any project to extend P2PRC with python, This generated +folder can copied and created as a new git repo for P2PRC extensions +scripted or used a reference point as proof of concept that P2PRC can be +called from other programming languages. + + +* Config Implementation +:PROPERTIES: +:CUSTOM_ID: config-implementation +:END: +The configuration module is responsible to store basic information of +absolute paths of files being called in the Go code. In a full-fledged +Cli the configuration file can be found in the directory /etc/ and from +there points to location such as where the IP table file is located. In +the future implementation the config file will have information such as +number of hops and other parameters to tweak and to improve the +effectiveness of the peer to peer network. The configuration module was +implemented using the library Viper. The Viper library automates +features such as searching in default paths to find out if the +configuration file is present. If the configuration file is not present +in the default paths then it auto generates the configuration file. The +configurations file can be in any format. In this project the +configuration file was generated using JSON format. + +#+begin_src json +{ + "MachineName": "pc-74-120.customer.ask4.lan", + "IPTable": "/Users/akilan/Documents/p2p-rendering-computation/p2p/iptable/ip_table.json", + "DockerContainers": "/Users/akilan/Documents/p2p-rendering-computation/server/docker/containers/", + "DefaultDockerFile": "/Users/akilan/Documents/p2p-rendering-computation/server/docker/containers/docker-ubuntu-sshd/", + "SpeedTestFile": "/Users/akilan/Documents/p2p-rendering-computation/p2p/50.bin", + "IPV6Address": "", + "PluginPath": "/Users/akilan/Documents/p2p-rendering-computation/plugin/deploy", + "TrackContainersPath": "/Users/akilan/Documents/p2p-rendering-computation/client/trackcontainers/trackcontainers.json", + "ServerPort": "8088", + "GroupTrackContainersPath": "/Users/akilan/Documents/p2p-rendering-computation/client/trackcontainers/grouptrackcontainers.json", + "FRPServerPort": "True", + "BehindNAT": "True", + "CustomConfig": null +} +#+end_src + +* Abstractions +:PROPERTIES: +:CUSTOM_ID: abstractions +:END: + +The Abstractions package consists of black-boxed functions for P2PRC. + +** Functions +:PROPERTIES: +:CUSTOM_ID: functions +:END: +- =Init()=: Initializes P2PRC with all the needed + configurations. +- =Start()=: Starts p2prc as a server and makes it possible to extend by + adding other routes and functionality to P2PRC. +- =MapPort()=: On the local machine the port you want to export + to world. +- =StartContainer()=: The machine on the p2p network where + you want to spin up a docker container. +- =RemoveContainer(,)=: Terminate container + based on the IP address and container name. +- =GetSpecs()=: Get specs of a machine on the network based + on the IP address. +- =ViewIPTable()=: View the IP table which about nodes in the network. +- =UpdateIPTable()=: Force update IP table to learn about new nodes + faster. + +* NAT Traversal +:PROPERTIES: +:CUSTOM_ID: nat-traversal +:END: +P2PRC currently supports TURN for NAT traversal. + +** TURN +:PROPERTIES: +:CUSTOM_ID: turn +:END: +The current TURN implementation used is FRP. The TURN server is also +required when a P2PRC node is acting as a Server. The TURN server is +determined based on the Node with the least amount of latency based on +the Nodes available on the IPTable. Once a TURN server is determined +there are 2 actions performed. The first one is =/FRPPort= to the TURN +server to receive a port which is used to generate the external port +from the TURN server. The flow below describes the workflow. + +*** Client mode +:PROPERTIES: +:CUSTOM_ID: client-mode +:END: +- Call =/FRPPort= + +#+begin_example +http://:/FRPport +#+end_example + +- Call the TURN server in the following manner. The following is a + sample code snippet below. + +#+begin_src go +import ( + "github.com/Akilan1999/p2p-rendering-computation/p2p/frp" +) + +func main() { + serverPort, err := frp.GetFRPServerPort("http://" + + ":" + lowestLatencyIpAddress.ServerPort) + if err != nil { + return nil, err + } + // Create 1 second delay to allow FRP server to start + time.Sleep(1 * time.Second) + // Starts FRP as a client with + proxyPort, err := frp.StartFRPClientForServer(, serverPort, ) + if err != nil { + return nil, err + } +} +#+end_src diff --git a/README.md.pdf b/README.md.pdf new file mode 100644 index 0000000000000000000000000000000000000000..52be7cdf20a9140726ceaadcc96be273ede81f94 GIT binary patch literal 148458 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 P&A|dkNhzWD4etK|k^5-3 literal 0 HcmV?d00001 diff --git a/README.md.tex b/README.md.tex new file mode 100644 index 0000000..9f63174 --- /dev/null +++ b/README.md.tex @@ -0,0 +1,202 @@ +% Created 2025-01-19 Sun 00:17 +% Intended LaTeX compiler: pdflatex +\documentclass[11pt]{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{wrapfig} +\usepackage{rotating} +\usepackage[normalem]{ulem} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{capt-of} +\usepackage{hyperref} +\author{Akilan} +\date{\today} +\title{} +\hypersetup{ + pdfauthor={Akilan}, + pdftitle={}, + pdfkeywords={}, + pdfsubject={}, + pdfcreator={Emacs 29.1 (Org mode 9.6.6)}, + pdflang={English}} +\begin{document} + +\tableofcontents + +\begin{center} +\includegraphics[width=.9\linewidth]{/Users/akilan/.cache/org-persist/3a/9e0d0c-d34d-4242-92ac-49f332af6af0-8b003edff282ad2da5830ec63041260a.png} +\end{center}]] + +The main aim of this project was to create a custom peer to peer +network. The user acting as the client has total flexibility on how to +batch the tasks and the user acting as the server has complete +flexibility on tracking the container's usages and killing the +containers at any point of time. + +\subsection{Latest tutorial} +\label{sec:org9129ee1} +\href{https://www.youtube.com/watch?v=OMwCpedu5cs\%22}{\includegraphics[width=.9\linewidth]{/Users/akilan/.cache/org-persist/17/01b895-4c8f-4c97-8b7a-76bde31f87cd-8dfdb3583a175929dac0d44b86acf5b3.jpg}} + +\section{Table of contents in the Docs folder} +\label{sec:org881a67e} +\begin{enumerate} +\item \href{Docs/Introduction.org}{Introduction} +\item \href{Docs/Installation.org}{Installation} +\item \href{Docs/Abstractions.org}{Abstractions} +\item \href{Docs/Implementation.org}{Implementation} +\begin{enumerate} +\item \href{Docs/ClientImplementation.org}{Client Module} +\item \href{Docs/P2PImplementation.org}{P2P Module} +\item \href{Docs/ServerImplementation.org}{Server Module} +\item \href{Docs/ConfigImplementation.org}{Config Module} +\item \href{Docs/CliImplementation.org}{Cli Module} +\item \href{Docs/PluginImplementation.org}{Plugin Module} +\end{enumerate} +\item Language bindings +\begin{enumerate} +\item \href{Docs/haskell/}{Haskell} +\end{enumerate} +\end{enumerate} + +\subsection{Introduction} +\label{sec:org00598fd} +This project aims to create a peer to peer (p2p) network, where a user +can use the p2p network to act as a client (i.e sending tasks) or the +server (i.e executing the tasks). A prototype application will be +developed, which comes bundled with a p2p module and possible to execute +docker containers or virtual environments across selected nodes. + +\subsubsection{Objectives} +\label{sec:org385b937} +\begin{itemize} +\item Background review on peer to peer network, virtual environments, +decentralized rendering tools and tools to batch any sort of tasks. +\item Creating p2p network +\item Server to create a containerised environment +\item The client node to run tasks on Server containerised node +\end{itemize} + +\href{Docs/Introduction.md}{Read more on the introduction} + +\subsection{Extend your application with P2PRC} +\label{sec:orgcab50f2} +\begin{verbatim} +package main + +import ( + "fmt" + "github.com/Akilan1999/p2p-rendering-computation/abstractions" +) + +func main() { + _, err := abstractions.Init(nil) + if err != nil { + fmt.Println(err) + return + } + + // start p2prc + _, err = abstractions.Start() + if err != nil { + fmt.Println(err) + return + } + + // Run server till termination + for { + + } +} +\end{verbatim} + +\subsubsection{Export once this is added export P2PRC as environment paths} +\label{sec:orgd4e7f7c} +\begin{verbatim} +export P2PRC= +export PATH=:${PATH} +\end{verbatim} + +\href{Docs/Abstractions.md}{Read more} \ldots{} + +\subsection{Installation from source} +\label{sec:org6f12be0} +\begin{enumerate} +\item Ensure the Go compiler is installed + +\begin{verbatim} +go version +\end{verbatim} + +\item Ensure docker is installed (Should run without sudo) + +\begin{verbatim} +docker ps +\end{verbatim} + +\item Clone this repository + +\begin{verbatim} +git clone https://github.com/Akilan1999/p2p-rendering-computation +\end{verbatim} + +\item Install and build the project + +\begin{verbatim} +make install +\end{verbatim} + +\item If you look closely you will get outputs such as: +\texttt{// Add them to your .bashrc file export P2PRC=//p2p-rendering-computation export PATH=//p2p-rendering-computation:\$\{PATH\}} + +\setcounter{enumi}{4} +\item Test if it works + +\begin{verbatim} +p2prc -h +\end{verbatim} + +or + +\begin{verbatim} +./p2prc -h +\end{verbatim} + +\href{Docs/Installation.md}{Read more on the installation and +usage} +\end{enumerate} + +\subsection{Design Architecture} +\label{sec:org2e297a7} +The design architecture was inspired and based on the linux kernel +design. The project is segmented into various modules. Each module is +responsible for certain tasks in the project. The modules are highly +dependent on each other hence the entire codebase can be considered as a +huge monolithic chuck which acts as its own library + +\href{Docs/DesignArchtectureIntro.md}{Read more on the Design +Architecture} + +\subsection{Implementation} +\label{sec:orgd4b0943} +The programming language used for this project was Golang. The reason Go +lang was chosen was because it is a compiled language. The entire +codebase is just a single binary file. When distributing to other linux +distributing the only requirement would be the binary file to run the +code. It is easy to write independant modules and be monolithic at the +sametime using Go. Using Go.mod makes it very easy to handle external +libraries and modularise code. The go.mod name for the project is +git.sr.ht/\textasciitilde{}akilan1999/p2p-rendering-computation. + +\href{Docs/Implementation.md}{Read more on the Implementation} + +\subsection{Find out more} +\label{sec:orge8fec0a} +As we are working on the open source project p2prc (i.e p2p network +designed for computation).If you are interested in participating as a +contributor or just providing feedback on new features to build or even +just curious about new features added to the project. We have decided to +create a discord group. +\end{document} \ No newline at end of file diff --git a/README.md.org b/README.org similarity index 71% rename from README.md.org rename to README.org index ef97cb8..34b1188 100644 --- a/README.md.org +++ b/README.org @@ -1,31 +1,4 @@ -#+begin_quote -Haskell bindings supported!: -[[https://p2prc.akilan.io/Docs/haskell/P2PRC.html][Bindings -documentaton]] - -#+end_quote - -#+begin_quote -Fixing documentation to latest changes. If you have any -questions setting up P2PRC either -[[https://github.com/Akilan1999/p2p-rendering-computation/issues/new/choose][create -an issue]] or send me an email (me AT akilan dot io). Currently HEAD is -always intended to stay on a working state. It is recommended to always -use HEAD in your go.mod file. - -#+end_quote - -#+begin_html -

-#+end_html - -#+begin_html -

-#+end_html - -#+begin_html - -#+end_html +https://raw.githubusercontent.com/Akilan1999/p2p-rendering-computation/master/Docs/images/p2prclogo.png]] The main aim of this project was to create a custom peer to peer network. The user acting as the client has total flexibility on how to @@ -39,32 +12,20 @@ containers at any point of time. :END: [[https://www.youtube.com/watch?v=OMwCpedu5cs%22][https://i.ytimg.com/vi/OMwCpedu5cs/hqdefault.jpg]] -** Table of contents in the current README -:PROPERTIES: -:CUSTOM_ID: table-of-contents-in-the-current-readme -:END: -1. [[#Introduction][Introduction]] -2. [[#extend-your-application-with-p2prc][Installation]] -3. [[#Design-Architecture][Design Architecture]] -4. [[#Implementation][Implementation]] -5. [[#Find-out-more][Find out more]] - * Table of contents in the Docs folder :PROPERTIES: :CUSTOM_ID: table-of-contents-in-the-docs-folder :END: -1. [[file:Docs/Introduction.md][Introduction]] -2. [[file:Docs/Installation.md][Installation]] -3. [[file:Docs/Abstractions.md][Abstractions]] -4. [[file:Docs/Implementation.md][Implementation]] - 1. [[file:Docs/ClientImplementation.md][Client Module]] - 2. [[file:Docs/P2PImplementation.md][P2P Module]] - 3. [[file:Docs/ServerImplementation.md][Server Module]] - 4. [[file:Docs/ConfigImplementation.md][Config Module]] - 5. [[file:Docs/CliImplementation.md][Cli Module]] - 6. [[file:Docs/PluginImplementation.md][Plugin Module]] - 7. [[file:Docs/Bindings.md][Language bindings]] - 8. [[file:Docs/Bindings.md][Domain name mappings]] +1. [[file:Docs/Introduction.org][Introduction]] +2. [[file:Docs/Installation.org][Installation]] +3. [[file:Docs/Abstractions.org][Abstractions]] +4. [[file:Docs/Implementation.org][Implementation]] + 1. [[file:Docs/ClientImplementation.org][Client Module]] + 2. [[file:Docs/P2PImplementation.org][P2P Module]] + 3. [[file:Docs/ServerImplementation.org][Server Module]] + 4. [[file:Docs/ConfigImplementation.org][Config Module]] + 5. [[file:Docs/CliImplementation.org][Cli Module]] + 6. [[file:Docs/PluginImplementation.org][Plugin Module]] 5. Language bindings 1. [[file:Docs/haskell/][Haskell]] @@ -217,6 +178,3 @@ designed for computation).If you are interested in participating as a contributor or just providing feedback on new features to build or even just curious about new features added to the project. We have decided to create a discord group. -[[https://discord.gg/b4nRGTjYqy][https://discordapp.com/api/guilds/854397492795277322/widget.png?style=banner2]] - -[[https://github.com/Gaurav-Gosain][https://api.star-history.com/svg?repos=Akilan1999/p2p-rendering-computation&type=Date]] From 1952010aa2b962acfb2f41396f9a7c0f115c950b Mon Sep 17 00:00:00 2001 From: Akilan Selvacoumar <31743758+Akilan1999@users.noreply.github.com> Date: Sun, 19 Jan 2025 01:03:43 +0000 Subject: [PATCH 06/13] Update README.org --- README.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.org b/README.org index 34b1188..247dfea 100644 --- a/README.org +++ b/README.org @@ -1,4 +1,4 @@ -https://raw.githubusercontent.com/Akilan1999/p2p-rendering-computation/master/Docs/images/p2prclogo.png]] +[[https://raw.githubusercontent.com/Akilan1999/p2p-rendering-computation/master/Docs/images/p2prclogo.png]] The main aim of this project was to create a custom peer to peer network. The user acting as the client has total flexibility on how to From 861ed0cb2b15d635e16739e252e43b4fcccd0b7e Mon Sep 17 00:00:00 2001 From: Akilan Selvacoumar <31743758+Akilan1999@users.noreply.github.com> Date: Sun, 19 Jan 2025 01:04:26 +0000 Subject: [PATCH 07/13] Update docs.org --- Docs/docs.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docs/docs.org b/Docs/docs.org index 47b2386..8417ed6 100644 --- a/Docs/docs.org +++ b/Docs/docs.org @@ -1,4 +1,4 @@ -yes* Chapter 1: Introduction +* Chapter 1: Introduction :PROPERTIES: :CUSTOM_ID: chapter-1-introduction :END: From df50c0157ea683c5d75448a5186559d114bc15af Mon Sep 17 00:00:00 2001 From: Akilan Date: Sun, 19 Jan 2025 22:31:10 +0000 Subject: [PATCH 08/13] added changes to README --- README.md | 170 ++++++++++++++++++++++++++++++++++++++++++ README.md.pdf | Bin 148458 -> 0 bytes README.md.tex | 202 -------------------------------------------------- README.org | 180 -------------------------------------------- 4 files changed, 170 insertions(+), 382 deletions(-) create mode 100644 README.md delete mode 100644 README.md.pdf delete mode 100644 README.md.tex delete mode 100644 README.org diff --git a/README.md b/README.md new file mode 100644 index 0000000..0c5efc5 --- /dev/null +++ b/README.md @@ -0,0 +1,170 @@ +> [!TIP] +> Haskell bindings supported!: [Bindings documentaton](https://p2prc.akilan.io/Docs/haskell/P2PRC.html) + +> [!NOTE] +> Fixing documentation to latest changes. If you have any questions setting up P2PRC either [create an issue](https://github.com/Akilan1999/p2p-rendering-computation/issues/new/choose) or send me an email (me AT akilan dot io). +> Currently HEAD is always intended to stay on a working state. It is recommended to always use HEAD in your go.mod file. + +

+
+
p2prc +
+

+ + + +
+ GPLv2 license + Maintenance + made-with-Go + GoDoc reference example +
+ +The main aim of this project was to create a custom peer to peer network. The user acting as the +client has total flexibility on how to batch the tasks and the user acting as the server has complete +flexibility on tracking the container's usages and killing the containers at any point of time. + +## Latest tutorial +[![IMAGE ALT TEXT](https://i.ytimg.com/vi/OMwCpedu5cs/hqdefault.jpg)](https://www.youtube.com/watch?v=OMwCpedu5cs") + +
+ + + + +
+ + + +
+ +## Introduction +This project aims to create a peer to peer (p2p) network, where a user can use the p2p network to act as a client (i.e sending tasks) or the server (i.e executing the tasks). A prototype application will be developed, which comes bundled with a p2p module and possible to execute docker containers or virtual environments across selected nodes. + +### Objectives +- Background review on peer to peer network, virtual environments, decentralized rendering tools and tools to batch any sort of tasks. +- Creating p2p network +- Server to create a containerised environment +- The client node to run tasks on Server containerised node + +[Read more on the introduction](Docs/Introduction.md) + +
+ +## Extend your application with P2PRC +```go +package main + +import ( + "fmt" + "github.com/Akilan1999/p2p-rendering-computation/abstractions" +) + +func main() { + _, err := abstractions.Init(nil) + if err != nil { + fmt.Println(err) + return + } + + // start p2prc + _, err = abstractions.Start() + if err != nil { + fmt.Println(err) + return + } + + // Run server till termination + for { + + } +} + +``` + + + +## Find out more +As we are working on the open source project p2prc (i.e p2p network designed for computation).If you are interested in participating as a contributor +or just providing feedback on new features to build or even just curious about new features added to the project. We have decided to create a discord group. +[![Support Server](https://discordapp.com/api/guilds/854397492795277322/widget.png?style=banner2)](https://discord.gg/b4nRGTjYqy) + +[![Star History Chart](https://api.star-history.com/svg?repos=Akilan1999/p2p-rendering-computation&type=Date)](https://github.com/Gaurav-Gosain) diff --git a/README.md.pdf b/README.md.pdf deleted file mode 100644 index 52be7cdf20a9140726ceaadcc96be273ede81f94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148458 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 P&A|dkNhzWD4etK|k^5-3 diff --git a/README.md.tex b/README.md.tex deleted file mode 100644 index 9f63174..0000000 --- a/README.md.tex +++ /dev/null @@ -1,202 +0,0 @@ -% Created 2025-01-19 Sun 00:17 -% Intended LaTeX compiler: pdflatex -\documentclass[11pt]{article} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{graphicx} -\usepackage{longtable} -\usepackage{wrapfig} -\usepackage{rotating} -\usepackage[normalem]{ulem} -\usepackage{amsmath} -\usepackage{amssymb} -\usepackage{capt-of} -\usepackage{hyperref} -\author{Akilan} -\date{\today} -\title{} -\hypersetup{ - pdfauthor={Akilan}, - pdftitle={}, - pdfkeywords={}, - pdfsubject={}, - pdfcreator={Emacs 29.1 (Org mode 9.6.6)}, - pdflang={English}} -\begin{document} - -\tableofcontents - -\begin{center} -\includegraphics[width=.9\linewidth]{/Users/akilan/.cache/org-persist/3a/9e0d0c-d34d-4242-92ac-49f332af6af0-8b003edff282ad2da5830ec63041260a.png} -\end{center}]] - -The main aim of this project was to create a custom peer to peer -network. The user acting as the client has total flexibility on how to -batch the tasks and the user acting as the server has complete -flexibility on tracking the container's usages and killing the -containers at any point of time. - -\subsection{Latest tutorial} -\label{sec:org9129ee1} -\href{https://www.youtube.com/watch?v=OMwCpedu5cs\%22}{\includegraphics[width=.9\linewidth]{/Users/akilan/.cache/org-persist/17/01b895-4c8f-4c97-8b7a-76bde31f87cd-8dfdb3583a175929dac0d44b86acf5b3.jpg}} - -\section{Table of contents in the Docs folder} -\label{sec:org881a67e} -\begin{enumerate} -\item \href{Docs/Introduction.org}{Introduction} -\item \href{Docs/Installation.org}{Installation} -\item \href{Docs/Abstractions.org}{Abstractions} -\item \href{Docs/Implementation.org}{Implementation} -\begin{enumerate} -\item \href{Docs/ClientImplementation.org}{Client Module} -\item \href{Docs/P2PImplementation.org}{P2P Module} -\item \href{Docs/ServerImplementation.org}{Server Module} -\item \href{Docs/ConfigImplementation.org}{Config Module} -\item \href{Docs/CliImplementation.org}{Cli Module} -\item \href{Docs/PluginImplementation.org}{Plugin Module} -\end{enumerate} -\item Language bindings -\begin{enumerate} -\item \href{Docs/haskell/}{Haskell} -\end{enumerate} -\end{enumerate} - -\subsection{Introduction} -\label{sec:org00598fd} -This project aims to create a peer to peer (p2p) network, where a user -can use the p2p network to act as a client (i.e sending tasks) or the -server (i.e executing the tasks). A prototype application will be -developed, which comes bundled with a p2p module and possible to execute -docker containers or virtual environments across selected nodes. - -\subsubsection{Objectives} -\label{sec:org385b937} -\begin{itemize} -\item Background review on peer to peer network, virtual environments, -decentralized rendering tools and tools to batch any sort of tasks. -\item Creating p2p network -\item Server to create a containerised environment -\item The client node to run tasks on Server containerised node -\end{itemize} - -\href{Docs/Introduction.md}{Read more on the introduction} - -\subsection{Extend your application with P2PRC} -\label{sec:orgcab50f2} -\begin{verbatim} -package main - -import ( - "fmt" - "github.com/Akilan1999/p2p-rendering-computation/abstractions" -) - -func main() { - _, err := abstractions.Init(nil) - if err != nil { - fmt.Println(err) - return - } - - // start p2prc - _, err = abstractions.Start() - if err != nil { - fmt.Println(err) - return - } - - // Run server till termination - for { - - } -} -\end{verbatim} - -\subsubsection{Export once this is added export P2PRC as environment paths} -\label{sec:orgd4e7f7c} -\begin{verbatim} -export P2PRC= -export PATH=:${PATH} -\end{verbatim} - -\href{Docs/Abstractions.md}{Read more} \ldots{} - -\subsection{Installation from source} -\label{sec:org6f12be0} -\begin{enumerate} -\item Ensure the Go compiler is installed - -\begin{verbatim} -go version -\end{verbatim} - -\item Ensure docker is installed (Should run without sudo) - -\begin{verbatim} -docker ps -\end{verbatim} - -\item Clone this repository - -\begin{verbatim} -git clone https://github.com/Akilan1999/p2p-rendering-computation -\end{verbatim} - -\item Install and build the project - -\begin{verbatim} -make install -\end{verbatim} - -\item If you look closely you will get outputs such as: -\texttt{// Add them to your .bashrc file export P2PRC=//p2p-rendering-computation export PATH=//p2p-rendering-computation:\$\{PATH\}} - -\setcounter{enumi}{4} -\item Test if it works - -\begin{verbatim} -p2prc -h -\end{verbatim} - -or - -\begin{verbatim} -./p2prc -h -\end{verbatim} - -\href{Docs/Installation.md}{Read more on the installation and -usage} -\end{enumerate} - -\subsection{Design Architecture} -\label{sec:org2e297a7} -The design architecture was inspired and based on the linux kernel -design. The project is segmented into various modules. Each module is -responsible for certain tasks in the project. The modules are highly -dependent on each other hence the entire codebase can be considered as a -huge monolithic chuck which acts as its own library - -\href{Docs/DesignArchtectureIntro.md}{Read more on the Design -Architecture} - -\subsection{Implementation} -\label{sec:orgd4b0943} -The programming language used for this project was Golang. The reason Go -lang was chosen was because it is a compiled language. The entire -codebase is just a single binary file. When distributing to other linux -distributing the only requirement would be the binary file to run the -code. It is easy to write independant modules and be monolithic at the -sametime using Go. Using Go.mod makes it very easy to handle external -libraries and modularise code. The go.mod name for the project is -git.sr.ht/\textasciitilde{}akilan1999/p2p-rendering-computation. - -\href{Docs/Implementation.md}{Read more on the Implementation} - -\subsection{Find out more} -\label{sec:orge8fec0a} -As we are working on the open source project p2prc (i.e p2p network -designed for computation).If you are interested in participating as a -contributor or just providing feedback on new features to build or even -just curious about new features added to the project. We have decided to -create a discord group. -\end{document} \ No newline at end of file diff --git a/README.org b/README.org deleted file mode 100644 index 34b1188..0000000 --- a/README.org +++ /dev/null @@ -1,180 +0,0 @@ -https://raw.githubusercontent.com/Akilan1999/p2p-rendering-computation/master/Docs/images/p2prclogo.png]] - -The main aim of this project was to create a custom peer to peer -network. The user acting as the client has total flexibility on how to -batch the tasks and the user acting as the server has complete -flexibility on tracking the container's usages and killing the -containers at any point of time. - -** Latest tutorial -:PROPERTIES: -:CUSTOM_ID: latest-tutorial -:END: -[[https://www.youtube.com/watch?v=OMwCpedu5cs%22][https://i.ytimg.com/vi/OMwCpedu5cs/hqdefault.jpg]] - -* Table of contents in the Docs folder -:PROPERTIES: -:CUSTOM_ID: table-of-contents-in-the-docs-folder -:END: -1. [[file:Docs/Introduction.org][Introduction]] -2. [[file:Docs/Installation.org][Installation]] -3. [[file:Docs/Abstractions.org][Abstractions]] -4. [[file:Docs/Implementation.org][Implementation]] - 1. [[file:Docs/ClientImplementation.org][Client Module]] - 2. [[file:Docs/P2PImplementation.org][P2P Module]] - 3. [[file:Docs/ServerImplementation.org][Server Module]] - 4. [[file:Docs/ConfigImplementation.org][Config Module]] - 5. [[file:Docs/CliImplementation.org][Cli Module]] - 6. [[file:Docs/PluginImplementation.org][Plugin Module]] -5. Language bindings - 1. [[file:Docs/haskell/][Haskell]] - -** Introduction -:PROPERTIES: -:CUSTOM_ID: introduction -:END: -This project aims to create a peer to peer (p2p) network, where a user -can use the p2p network to act as a client (i.e sending tasks) or the -server (i.e executing the tasks). A prototype application will be -developed, which comes bundled with a p2p module and possible to execute -docker containers or virtual environments across selected nodes. - -*** Objectives -:PROPERTIES: -:CUSTOM_ID: objectives -:END: -- Background review on peer to peer network, virtual environments, - decentralized rendering tools and tools to batch any sort of tasks. -- Creating p2p network -- Server to create a containerised environment -- The client node to run tasks on Server containerised node - -[[file:Docs/Introduction.md][Read more on the introduction]] - -** Extend your application with P2PRC -:PROPERTIES: -:CUSTOM_ID: extend-your-application-with-p2prc -:END: -#+begin_src go -package main - -import ( - "fmt" - "github.com/Akilan1999/p2p-rendering-computation/abstractions" -) - -func main() { - _, err := abstractions.Init(nil) - if err != nil { - fmt.Println(err) - return - } - - // start p2prc - _, err = abstractions.Start() - if err != nil { - fmt.Println(err) - return - } - - // Run server till termination - for { - - } -} -#+end_src - -*** Export once this is added export P2PRC as environment paths -:PROPERTIES: -:CUSTOM_ID: export-once-this-is-added-export-p2prc-as-environment-paths -:END: -#+begin_example -export P2PRC= -export PATH=:${PATH} -#+end_example - -[[file:Docs/Abstractions.md][Read more]] ... - -** Installation from source -:PROPERTIES: -:CUSTOM_ID: installation-from-source -:END: -1. Ensure the Go compiler is installed - - #+begin_example - go version - #+end_example - -2. Ensure docker is installed (Should run without sudo) - - #+begin_example - docker ps - #+end_example - -3. Clone this repository - - #+begin_example - git clone https://github.com/Akilan1999/p2p-rendering-computation - #+end_example - -4. Install and build the project - - #+begin_example - make install - #+end_example - -- If you look closely you will get outputs such as: - =// Add them to your .bashrc file export P2PRC=//p2p-rendering-computation export PATH=//p2p-rendering-computation:${PATH}= - -5. [@5] Test if it works - - #+begin_example - p2prc -h - #+end_example - - or - - #+begin_example - ./p2prc -h - #+end_example - - [[file:Docs/Installation.md][Read more on the installation and - usage]] - -** Design Architecture -:PROPERTIES: -:CUSTOM_ID: design-architecture -:END: -The design architecture was inspired and based on the linux kernel -design. The project is segmented into various modules. Each module is -responsible for certain tasks in the project. The modules are highly -dependent on each other hence the entire codebase can be considered as a -huge monolithic chuck which acts as its own library - -[[file:Docs/DesignArchtectureIntro.md][Read more on the Design -Architecture]] - -** Implementation -:PROPERTIES: -:CUSTOM_ID: implementation -:END: -The programming language used for this project was Golang. The reason Go -lang was chosen was because it is a compiled language. The entire -codebase is just a single binary file. When distributing to other linux -distributing the only requirement would be the binary file to run the -code. It is easy to write independant modules and be monolithic at the -sametime using Go. Using Go.mod makes it very easy to handle external -libraries and modularise code. The go.mod name for the project is -git.sr.ht/~akilan1999/p2p-rendering-computation. - -[[file:Docs/Implementation.md][Read more on the Implementation]] - -** Find out more -:PROPERTIES: -:CUSTOM_ID: find-out-more -:END: -As we are working on the open source project p2prc (i.e p2p network -designed for computation).If you are interested in participating as a -contributor or just providing feedback on new features to build or even -just curious about new features added to the project. We have decided to -create a discord group. From 7ff0607801fb4dbc38091e94e7d7b46763d731dc Mon Sep 17 00:00:00 2001 From: Akilan Date: Sun, 19 Jan 2025 22:56:17 +0000 Subject: [PATCH 09/13] modified README --- README.md | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0c5efc5..11e606c 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,32 @@ GoDoc reference example -The main aim of this project was to create a custom peer to peer network. The user acting as the + + + +This project aims to simplify self-hosting servers and streamline the creation of distributed systems. The primary focus is to enable users to design custom peer-to-peer networks for distributed computing, offering full flexibility and control while abstracting away the complexities of networking. + +## Key Features +Simplified Self-Hosting +Empower users to easily host nodes, whether on personal computers behind NAT, custom hardware, or cloud-based infrastructure. + +### Custom Peer-to-Peer Networks +Build a decentralised network tailored to user requirements, enabling distributed task execution without the need for in-depth networking knowledge. + +### Heterogeneous Node Support +Harness a diverse array of nodes—from personal computers to specialised hardware—seamlessly integrated into a global node list. + +### Abstracted Networking Layer +Networking details are completely abstracted, enabling users to focus on developing bespoke task orchestration systems. No more manual configuration of IPs, ports, or connection logic. + +### Flexible Task Distribution +Users acting as clients retain full control over how tasks are batched and assigned to nodes, creating endless possibilities for optimising performance based on specific use cases. ## Latest tutorial [![IMAGE ALT TEXT](https://i.ytimg.com/vi/OMwCpedu5cs/hqdefault.jpg)](https://www.youtube.com/watch?v=OMwCpedu5cs") From 8f5a45362ad6c01f1e3ba7f4b4441eda0cb4e301 Mon Sep 17 00:00:00 2001 From: Akilan Date: Mon, 20 Jan 2025 17:45:46 +0000 Subject: [PATCH 10/13] added test doc.md --- Docs/docs.org | 93 ++++++++++++++------------------------------------- README.md | 18 +++++----- doc.md | 34 +++++++++++++++++++ 3 files changed, 68 insertions(+), 77 deletions(-) create mode 100644 doc.md diff --git a/Docs/docs.org b/Docs/docs.org index 8417ed6..dc66668 100644 --- a/Docs/docs.org +++ b/Docs/docs.org @@ -7,20 +7,17 @@ :PROPERTIES: :CUSTOM_ID: abstract :END: -This project focuses on creating a framework on running heavy tasks that -a regular computer cannot run easily such as graphically demanding video -games, rendering 3D animations , protein folding simulations. In this -project the major focus will not be on the financial incentive part. A -peer to peer network will be created to help run tasks decentrally, -increasing bandwidth for running tasks. To ensure the tasks in the peer -to peer network do not corrupt the server 0S (Operating System), they -will be executed in a virtual environment in the server. +This project focuses on creating a framework for running heavy computational tasks that a regular +computer cannot handle easily. These tasks may include graphically demanding video games, rendering +3D animations, and performing complex protein folding simulations. The major focus of this project +is not on financial incentives but rather on building a robust and efficient peer-to-peer (P2P) +network to decentralise task execution and increase the computational bandwidth available for +such tasks. -The main aim of this project was to create a custom peer to peer -network. The user acting as the client has total flexibility on how to -batch the tasks and the user acting as the server has complete -flexibility on tracking the container's usages and killing the -containers at any point of time. +The P2PRC framework serves as a foundation for decentralised rendering and computation, +providing insights into how tasks can be distributed efficiently across a network of peers. +Leveraging the P2PRC approach, this project extends its capabilities to handle a +wider range of computationally intensive tasks. ** Motivation :PROPERTIES: @@ -144,7 +141,7 @@ USAGE: p2prc [global options] command [command options] [arguments...] VERSION: - + 2.0.0 COMMANDS: help, h Shows a list of commands or help for one command @@ -157,6 +154,7 @@ GLOBAL OPTIONS: --ViewImages value, --vi value View images available on the server IP address [$VIEW_IMAGES] --CreateVM value, --touch value Creates Docker container on the selected server [$CREATE_VM] --ContainerName value, --cn value Specifying the container run on the server side [$CONTAINER_NAME] + --BaseImage value, --bi value Specifying the docker base image to template the dockerfile [$CONTAINER_NAME] --RemoveVM value, --rm value Stop and Remove Docker container (IP:port) accompanied by container ID via --ID or --id [$REMOVE_VM] --ID value, --id value Docker Container ID [$ID] --Ports value, -p value Number of ports to open for the Docker Container [$NUM_PORTS] @@ -172,10 +170,13 @@ GLOBAL OPTIONS: --Groups, --groups View all groups (default: false) [$GROUPS] --RemoveContainerGroup, --rmcgroup Remove specific container in the group (default: false) [$REMOVE_CONTAINER_GROUP] --RemoveGroup value, --rmgroup value Removes the entire group [$REMOVE_GROUP] + --MAPPort value, --mp value Maps port for a specific port provided as the parameter [$MAPPORT] + --DomainName value, --dn value While mapping ports allows to set a domain name to create a mapping in the proxy server [$DOMAINNAME] --Generate value, --gen value Generates a new copy of P2PRC which can be modified based on your needs [$GENERATE] --ModuleName value, --mod value New go project module name [$MODULENAME] --PullPlugin value, --pp value Pulls plugin from git repos [$PULLPLUGIN] --RemovePlugin value, --rp value Removes plugin [$REMOVEPLUGIN] + --AddMetaData value, --amd value Adds metadata about the current node in the p2p network which is then propagated through the network [$ADDMETADATA] --help, -h show help (default: false) --version, -v print the version (default: false) #+end_example @@ -264,9 +265,6 @@ p2prc --ni p2prc --tc #+end_example -[[file:ClientImplementation.md#tracking-containers][read more on -tracking containers]] - *** Running plugin :PROPERTIES: :CUSTOM_ID: running-plugin @@ -323,16 +321,6 @@ p2prc --rmcgroup --group --id p2prc --rmgroup #+end_example -[[file:ClientImplementation.md#Grouping-Containers][read more on -grouping containers]] ### Extending usecase of P2PRC (Requires a go -compiler to run) - -#+begin_example -p2prc --gen --mod -#+end_example - -[[file:GenerateImplementation.md][read more about the generate module]] - *** Pulling plugin from a remote repo :PROPERTIES: :CUSTOM_ID: pulling-plugin-from-a-remote-repo @@ -357,53 +345,22 @@ p2prc --rp p2prc --amd "custom metadata" #+end_example +*** MapPort and link to domain name +#+begin_example +p2prc --mp --dn +#+end_example + -------------- -* Using Plugins -:PROPERTIES: -:CUSTOM_ID: using-plugins -:END: -This feature is still Under Development: -[[file:PluginImplementation.md][Read more on the implementation]] - -**** Dependencies -:PROPERTIES: -:CUSTOM_ID: dependencies -:END: -- Ansible: - - Debian/ubuntu: =sudo apt install ansible= - - Others: - [[https://ansible-tips-and-tricks.readthedocs.io/en/latest/ansible/install/][Installation - link]] - -**** Run Test Cases -:PROPERTIES: -:CUSTOM_ID: run-test-cases -:END: -- Generate Test Case Ansible file - - =make testcases= -- Enter inside plugin directory and run tests. - -#+begin_quote -[!NOTE] That docker needs to installed and needs to run without sudo. -Refer the section [[#install-docker][Install Docker]]. - =cd plugin= - -=go test .= - -#+end_quote - * P2P Module Implementation :PROPERTIES: :CUSTOM_ID: p2p-module-implementation :END: -The P2P module (i.e Peer to Peer Module) is responsible for storing the -IP table and interacting with the IP table. In the following -implementation of the P2P module ,the IP table stores information about -servers available in the network. The other functionality the P2P module -takes care of is doing the appropriate speed tests to the servers in the -IP table. This is for informing the users about nodes which are close by -and nodes which have quicker uploads and downloads speeds. The module is -responsible to ensure that there are no duplicate server IPs in the IP -table and to remove all server IPs which are not pingable. +The P2P module is for managing server information within the network. +It maintains and updates the IP table, ensuring accuracy by preventing duplicates and removing +entries for unreachable servers. Furthermore, the module conducts speed tests on the listed servers +to determine upload and download speeds. This valuable information enables users to identify nearby +servers with optimal performance, enhancing their overall network experience. #+caption: UML diagram of P2P module [[file:images/p2pmoduleArch.png]] diff --git a/README.md b/README.md index 11e606c..7ef4c35 100644 --- a/README.md +++ b/README.md @@ -23,9 +23,9 @@ - @@ -39,7 +39,7 @@ Empower users to easily host nodes, whether on personal computers behind NAT, cu Build a decentralised network tailored to user requirements, enabling distributed task execution without the need for in-depth networking knowledge. ### Heterogeneous Node Support -Harness a diverse array of nodes—from personal computers to specialised hardware—seamlessly integrated into a global node list. +Harness a diverse array of nodes from personal computers to specialised hardware—seamlessly integrated into a global node list. ### Abstracted Networking Layer Networking details are completely abstracted, enabling users to focus on developing bespoke task orchestration systems. No more manual configuration of IPs, ports, or connection logic. @@ -84,6 +84,7 @@ Users acting as clients retain full control over how tasks are batched and assig
+ -[Read more on the introduction](Docs/Introduction.md) + -
+ ## Extend your application with P2PRC ```go @@ -187,7 +188,6 @@ The programming language used for this project was Golang. The reason Go lang wa ## Find out more As we are working on the open source project p2prc (i.e p2p network designed for computation).If you are interested in participating as a contributor -or just providing feedback on new features to build or even just curious about new features added to the project. We have decided to create a discord group. -[![Support Server](https://discordapp.com/api/guilds/854397492795277322/widget.png?style=banner2)](https://discord.gg/b4nRGTjYqy) +or just providing feedback on new features to build or even just curious about new features added to the project do file an Issue or send an email to me@akilan.io. [![Star History Chart](https://api.star-history.com/svg?repos=Akilan1999/p2p-rendering-computation&type=Date)](https://github.com/Gaurav-Gosain) diff --git a/doc.md b/doc.md new file mode 100644 index 0000000..72aa90b --- /dev/null +++ b/doc.md @@ -0,0 +1,34 @@ + + +# p2p\-rendering\-computation + +```go +import "github.com/Akilan1999/p2p-rendering-computation" +``` + +## Index + +- [Variables](<#variables>) + + +## Variables + + + +```go +var List_servers, Ip_table bool +``` + +Varaibles if mode is client + +```go +var OS, Pull_location, Run_script string +``` + +VERSION specifies the version of the platform + +```go +var VERSION = "2.0.0" +``` + +Generated by [gomarkdoc]() From 1bd3a3599275c0d76ae9d336e87bfe3842edb014 Mon Sep 17 00:00:00 2001 From: Akilan Date: Tue, 21 Jan 2025 15:29:39 +0000 Subject: [PATCH 11/13] added future idea docs, apologies if there are any typos will be fixed in future versions --- Docs/diagrams/P2PRCRemoteNodes.drawio | 82 ++++++++++++++++++++++ Docs/docs.odt | Bin 0 -> 321360 bytes Docs/docs.org | 96 +++++++++++++++++++++++--- Docs/images/P2PRCRemoteNodes.png | Bin 0 -> 35243 bytes Docs/style.css | 25 +++++++ 5 files changed, 192 insertions(+), 11 deletions(-) create mode 100644 Docs/diagrams/P2PRCRemoteNodes.drawio create mode 100644 Docs/docs.odt create mode 100644 Docs/images/P2PRCRemoteNodes.png create mode 100644 Docs/style.css diff --git a/Docs/diagrams/P2PRCRemoteNodes.drawio b/Docs/diagrams/P2PRCRemoteNodes.drawio new file mode 100644 index 0000000..cd57727 --- /dev/null +++ b/Docs/diagrams/P2PRCRemoteNodes.drawio @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Docs/docs.odt b/Docs/docs.odt new file mode 100644 index 0000000000000000000000000000000000000000..c2aa4205e9f6280477e4aaf0ad3a938c55d443ec GIT binary patch literal 321360 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

DMCG^7-F+^Q58~*|Vs3YC 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�IY|M}3V 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

gi@^4!!ac0t>5B*V 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�(%`8>gmt${$a{fLi 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 +#+HTML_HEAD: + + +#+ATTR_HTML: :align right +#+ATTR_ORG: :align center +#+ATTR_ORG: :width +[[../artwork/p2prc-logos/Colored-On-Light-Image.png]] + + +* Introduction :PROPERTIES: -:CUSTOM_ID: chapter-1-introduction +:CUSTOM_ID: chapter1-introduction :END: ** Abstract @@ -191,7 +203,6 @@ GLOBAL OPTIONS: :PROPERTIES: :CUSTOM_ID: start-as-a-server :END: -Do ensure you have Docker installed for this #+begin_example p2prc -s @@ -391,12 +402,23 @@ configuration module. { "ip_address": [ { - "ipv4": "", - "latency": "", - "download": "", - "upload": "" - "port no": "", - } + "Name": "", + "MachineUsername": "", + "IPV4": "", + "IPV6": "", + "Latency": , + "Download": , + "Upload": , + "ServerPort": "", + "BareMetalSSHPort": "", + "NAT": "", + "EscapeImplementation": "", + "ProxyServer": "", + "UnSafeMode": ", + "PublicKey": "", + "CustomInformation": "" + } ] } #+end_src @@ -704,7 +726,7 @@ The Abstractions package consists of black-boxed functions for P2PRC. - =ViewIPTable()=: View the IP table which about nodes in the network. - =UpdateIPTable()=: Force update IP table to learn about new nodes faster. - + * NAT Traversal :PROPERTIES: :CUSTOM_ID: nat-traversal @@ -723,7 +745,7 @@ there are 2 actions performed. The first one is =/FRPPort= to the TURN server to receive a port which is used to generate the external port from the TURN server. The flow below describes the workflow. -*** Client mode +* Client mode :PROPERTIES: :CUSTOM_ID: client-mode :END: @@ -755,3 +777,55 @@ func main() { } } #+end_src + + + + + +* Ideas for future potencial features +Consists of personal loideas for the future of P2PRC. +At moment only has main contributors writiing to this. + +** To support hetrogenous set of Nodes that cannot run P2PRC +This stems from a personal issue I have when doing research +on [[https://github.com/CTSRD-CHERI/cheribsd][CheriBSD]] kernel. For my research I am using the ARM morello +which is a 128bit ARMv8 processor. At the moment Go programs +can cannot compile and run inside the CPU. This means I cannot +run P2PRC at the moment inside the ARM morello to remotely access +it when it's behind NAT using P2PRC. This would indeed be a common +problem when running against various Architectures that do not +support running P2PRC. As you will see soon this also creates +oppurtunity space to scale faster to nodes in a local network +and would introduce a new layer fault tolerance within a local +network nodes. + +*** Assumptions: + - I have a Morello board that cannot run P2PRC + - The Morello has a local IP address (ex: 192.168.0.10) + - I have 2 laptops running P2PRC in that local network. + - This means I have 2 ways to access the Morello board: Which is to SSH + into either 2 laptops and then SSH into 192.168.0.10 to gain access + to the board. Wouldn't it be great to automate this whole layer and + as well look into custom tasks into the hetrogenous hardware. +*** Set of interesting possible: + We build a cool set possibilities before and use this to build up the implementation + plan. + - We can use P2PRC access the morello board remotely in a single command. + - We can use the P2PRC protocol to run servers inside the morello board via traversed + node locally which can access that Node. + - Spin servers on node not running P2PRC using the P2PRC standard abstractions. + - Auto-setup P2PRC nodes with just SSH access via potencially a DSL. + - A neat use case for CHERI for instance would be use the architecture to run light + weight hypervisors. +*** Implementation + - To use implementations similar to [[https://linux.die.net/man/1/socat][socat]] to ensure we can bind address of local + nodes to a node running P2PRC and the node running P2PRC can do a local map port. + - We are working on hardening the implementation of the --mp (Map port) to even + map ports to machines which remotely running P2PRC. This means of instance I + can issue a command to the Morello board without the morello board being in + my local network. + - We would want to implement the exsisting P2PRC public key mechanism as well so that + other nodes can access the Morello board who have permission access. + +#+CAPTION: Implementation idea (To be improved upon) + [[./images/P2PRCRemoteNodes.png]] diff --git a/Docs/images/P2PRCRemoteNodes.png b/Docs/images/P2PRCRemoteNodes.png new file mode 100644 index 0000000000000000000000000000000000000000..d19e3e601838ec40ee137e141be1eda964506996 GIT binary patch literal 35243 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 literal 0 HcmV?d00001 diff --git a/Docs/style.css b/Docs/style.css new file mode 100644 index 0000000..8e9554d --- /dev/null +++ b/Docs/style.css @@ -0,0 +1,25 @@ +#table-of-contents h2{ + z-index: 200; + background-color: #b96c29; + text-align: center; + padding: 0.809em; + display: block; + color: #fcfcfc; + font-size: 100%; + margin-bottom: 0.809em; +} + +#search-results li { + background-color: #b96c29; + color: white; + margin-bottom: 5px; + padding: 5px; + border-radius: 4px; + cursor: pointer; + font-size: 14px; +} + +h4,h5,h6{ + color: #b96c29; + font-weight:300; +} From a07f9588fb7652d08cdb7b9bfb48223d46c2099b Mon Sep 17 00:00:00 2001 From: Akilan Date: Tue, 21 Jan 2025 21:08:22 +0000 Subject: [PATCH 12/13] pushed final docs for initial merge --- .DS_Store | Bin 14340 -> 14340 bytes Bindings/docs.md | 113 ++++++++ Docs/docs.org | 6 - README.md.org | 252 +++++++++++++++++ abstractions/docs.md | 93 +++++++ client/clientIPTable/docs.md | 63 +++++ client/docs.md | 357 ++++++++++++++++++++++++ cmd/docs.md | 523 +++++++++++++++++++++++++++++++++++ config/docs.md | 116 ++++++++ config/generate/docs.md | 176 ++++++++++++ doc.md => main.md | 0 main.md.org | 40 +++ p2p/docs.md | 303 ++++++++++++++++++++ p2p/frp/docs.md | 113 ++++++++ plugin/docs.md | 224 +++++++++++++++ server/docker/docs.md | 174 ++++++++++++ server/docs.md | 227 +++++++++++++++ 17 files changed, 2774 insertions(+), 6 deletions(-) create mode 100644 Bindings/docs.md create mode 100644 README.md.org create mode 100644 abstractions/docs.md create mode 100644 client/clientIPTable/docs.md create mode 100644 client/docs.md create mode 100644 cmd/docs.md create mode 100644 config/docs.md create mode 100644 config/generate/docs.md rename doc.md => main.md (100%) create mode 100644 main.md.org create mode 100644 p2p/docs.md create mode 100644 p2p/frp/docs.md create mode 100644 plugin/docs.md create mode 100644 server/docker/docs.md create mode 100644 server/docs.md diff --git a/.DS_Store b/.DS_Store index 6a4aff2cdeb40a91840b7c3c08f915b8a92f689b..441d6f594fcb084c465557bf0f40b6bcbb15b74b 100644 GIT binary patch delta 695 zcmbu*Ur3W-6vy%NeTp`ngyH6FBrZn=!)ORKONc>&ier|}m_(^tLgL(}E1}j{gi-dF z_1;9QZn`Lvz?x*#Wn~lY|&VsMofn?t-41^W%9qJm-8yW23Q&)>5W4 zZ|P8tHIZ=FxoYjJT*+E{KGwU}B$Gu(i(_>|d-p(iFcKZpOtz|}M?_?yG)h!L5)a2m zHU`7dpvVHJ=BX|>*!-RTEhPc%RkcNXvSN=d&>xCMI{Nqanf10m582rzaZPzyx`^f2$IZ8Mv=@Jnu4 zQ*%>GN$WqzX*+8Mw6rDje|WQ!lXvo2zUg?2DWigwxTt3X&G=~3xjN`%JKgl^Xmex{ zVhj;yA4y$pKV1hn$}vuGlC(~j(edW!E^(Q0u5g_xZg7*^++mt~+}AOm@`Bgo@)q+% h-oJ_XkhNOB7}GP>tjX>(W@8l@LwcqxYjAxx`~*i9l=uJu delta 424 zcmYk%Pe{{o7{~GN`!Vi?quHiOE$-RK_VK{H;nK z_AoMFJ^!@2c*18igd@?I{jw!|qeo7T>ZguZ{~^P=+~`aNI75g_ge^#%EA)^gWpOH) zVQw+PZKk+mf$njiSqePl5sxjDwpbO^Yu+-?drB;`!YXT&S!Y8xo${}`zT3>B-Y%Qj M;Vv1b5%^{N0rxFq{Qv*} diff --git a/Bindings/docs.md b/Bindings/docs.md new file mode 100644 index 0000000..8c87483 --- /dev/null +++ b/Bindings/docs.md @@ -0,0 +1,113 @@ + + +# Bindings + +```go +import "github.com/Akilan1999/p2p-rendering-computation/Bindings" +``` + +## Index + +- [func ConvertStructToJSONString\(Struct interface\{\}\) \*C.char](<#ConvertStructToJSONString>) +- [func EscapeFirewall\(HostOutsideNATIP string, HostOutsideNATPort string, internalPort string\) \(output \*C.char\)](<#EscapeFirewall>) +- [func GetSpecs\(IP string\) \(output \*C.char\)](<#GetSpecs>) +- [func Init\(customConfig string\) \(output \*C.char\)](<#Init>) +- [func MapPort\(Port string, DomainName string, ServerAddress string\) \*C.char](<#MapPort>) +- [func RemoveContainer\(IP string, ID string\) \(output \*C.char\)](<#RemoveContainer>) +- [func Server\(\) \(output \*C.char\)](<#Server>) +- [func StartContainer\(IP string\) \(output \*C.char\)](<#StartContainer>) +- [func UpdateIPTable\(\) \(output \*C.char\)](<#UpdateIPTable>) +- [func ViewIPTable\(\) \(output \*C.char\)](<#ViewIPTable>) + + +
+## func [ConvertStructToJSONString]() + +```go +func ConvertStructToJSONString(Struct interface{}) *C.char +``` + + + + +## func [EscapeFirewall]() + +```go +func EscapeFirewall(HostOutsideNATIP string, HostOutsideNATPort string, internalPort string) (output *C.char) +``` + + + + +## func [GetSpecs]() + +```go +func GetSpecs(IP string) (output *C.char) +``` + + + + +## func [Init]() + +```go +func Init(customConfig string) (output *C.char) +``` + + + + +## func [MapPort]() + +```go +func MapPort(Port string, DomainName string, ServerAddress string) *C.char +``` + + + + +## func [RemoveContainer]() + +```go +func RemoveContainer(IP string, ID string) (output *C.char) +``` + + + + +## func [Server]() + +```go +func Server() (output *C.char) +``` + + + + +## func [StartContainer]() + +```go +func StartContainer(IP string) (output *C.char) +``` + + + + +## func [UpdateIPTable]() + +```go +func UpdateIPTable() (output *C.char) +``` + + + + +## func [ViewIPTable]() + +```go +func ViewIPTable() (output *C.char) +``` + + + +Generated by [gomarkdoc]() diff --git a/Docs/docs.org b/Docs/docs.org index 86f2b2d..9e81540 100644 --- a/Docs/docs.org +++ b/Docs/docs.org @@ -4,12 +4,6 @@ #+HTML_HEAD: -#+ATTR_HTML: :align right -#+ATTR_ORG: :align center -#+ATTR_ORG: :width -[[../artwork/p2prc-logos/Colored-On-Light-Image.png]] - - * Introduction :PROPERTIES: :CUSTOM_ID: chapter1-introduction diff --git a/README.md.org b/README.md.org new file mode 100644 index 0000000..c282bc8 --- /dev/null +++ b/README.md.org @@ -0,0 +1,252 @@ +#+begin_quote +[!TIP] Haskell bindings supported!: +[[https://p2prc.akilan.io/Docs/haskell/P2PRC.html][Bindings +documentaton]] + +#+end_quote + +#+begin_quote +[!NOTE] Fixing documentation to latest changes. If you have any +questions setting up P2PRC either +[[https://github.com/Akilan1999/p2p-rendering-computation/issues/new/choose][create +an issue]] or send me an email (me AT akilan dot io). Currently HEAD is +always intended to stay on a working state. It is recommended to always +use HEAD in your go.mod file. + +#+end_quote + +#+begin_html +

+#+end_html + +#+begin_html +

+#+end_html + +#+begin_html + +#+end_html + +#+begin_html + +#+end_html + +#+begin_html + +#+end_html + +This project aims to simplify self-hosting servers and streamline the +creation of distributed systems. The primary focus is to enable users to +design custom peer-to-peer networks for distributed computing, offering +full flexibility and control while abstracting away the complexities of +networking. + +** Key Features +:PROPERTIES: +:CUSTOM_ID: key-features +:END: +Simplified Self-Hosting Empower users to easily host nodes, whether on +personal computers behind NAT, custom hardware, or cloud-based +infrastructure. + +*** Custom Peer-to-Peer Networks +:PROPERTIES: +:CUSTOM_ID: custom-peer-to-peer-networks +:END: +Build a decentralised network tailored to user requirements, enabling +distributed task execution without the need for in-depth networking +knowledge. + +*** Heterogeneous Node Support +:PROPERTIES: +:CUSTOM_ID: heterogeneous-node-support +:END: +Harness a diverse array of nodes from personal computers to specialised +hardware---seamlessly integrated into a global node list. + +*** Abstracted Networking Layer +:PROPERTIES: +:CUSTOM_ID: abstracted-networking-layer +:END: +Networking details are completely abstracted, enabling users to focus on +developing bespoke task orchestration systems. No more manual +configuration of IPs, ports, or connection logic. + +*** Flexible Task Distribution +:PROPERTIES: +:CUSTOM_ID: flexible-task-distribution +:END: +Users acting as clients retain full control over how tasks are batched +and assigned to nodes, creating endless possibilities for optimising +performance based on specific use cases. + +** Latest tutorial +:PROPERTIES: +:CUSTOM_ID: latest-tutorial +:END: +[[https://www.youtube.com/watch?v=OMwCpedu5cs%22][[[https://i.ytimg.com/vi/OMwCpedu5cs/hqdefault.jpg]]]] + +#+begin_html + +#+end_html + +#+begin_html + +#+end_html + +#+begin_html + +#+end_html + +#+begin_html + +#+end_html + +#+begin_html + +#+end_html + +#+begin_html + +#+end_html + +** Extend your application with P2PRC +:PROPERTIES: +:CUSTOM_ID: extend-your-application-with-p2prc +:END: +#+begin_src go +package main + +import ( + "fmt" + "github.com/Akilan1999/p2p-rendering-computation/abstractions" +) + +func main() { + _, err := abstractions.Init(nil) + if err != nil { + fmt.Println(err) + return + } + + // start p2prc + _, err = abstractions.Start() + if err != nil { + fmt.Println(err) + return + } + + // Run server till termination + for { + + } +} +#+end_src + +#+begin_html + +#+end_html + +** Find out more +:PROPERTIES: +:CUSTOM_ID: find-out-more +:END: +As we are working on the open source project p2prc (i.e p2p network +designed for computation).If you are interested in participating as a +contributor or just providing feedback on new features to build or even +just curious about new features added to the project do file an Issue or +send an email to me@akilan.io. + +[[https://github.com/Gaurav-Gosain][[[https://api.star-history.com/svg?repos=Akilan1999/p2p-rendering-computation&type=Date]]]] diff --git a/abstractions/docs.md b/abstractions/docs.md new file mode 100644 index 0000000..7afcfae --- /dev/null +++ b/abstractions/docs.md @@ -0,0 +1,93 @@ + + +# abstractions + +```go +import "github.com/Akilan1999/p2p-rendering-computation/abstractions" +``` + +## Index + +- [func GetSpecs\(IP string\) \(specs \*server.SysInfo, err error\)](<#GetSpecs>) +- [func Init\(customConfig interface\{\}\) \(config \*Config.Config, err error\)](<#Init>) +- [func MapPort\(port string, domainName string, serverAddress string\) \(entireAddress string, mapPort string, err error\)](<#MapPort>) +- [func RemoveContainer\(IP string, ID string\) error](<#RemoveContainer>) +- [func Start\(\) \(\*gin.Engine, error\)](<#Start>) +- [func StartContainer\(IP string\) \(container \*docker.DockerVM, err error\)](<#StartContainer>) +- [func UpdateIPTable\(\) \(err error\)](<#UpdateIPTable>) +- [func ViewIPTable\(\) \(table \*p2p.IpAddresses, err error\)](<#ViewIPTable>) + + + +## func [GetSpecs]() + +```go +func GetSpecs(IP string) (specs *server.SysInfo, err error) +``` + +GetSpecs Get spec information about the remote server + + +## func [Init]() + +```go +func Init(customConfig interface{}) (config *Config.Config, err error) +``` + +Init Initialises p2prc + + +## func [MapPort]() + +```go +func MapPort(port string, domainName string, serverAddress string) (entireAddress string, mapPort string, err error) +``` + +MapPort Creates a reverse proxy connection and maps the appropriate port + + +## func [RemoveContainer]() + +```go +func RemoveContainer(IP string, ID string) error +``` + +RemoveContainer Removes docker container based on the IP address and ID provided + + +## func [Start]() + +```go +func Start() (*gin.Engine, error) +``` + +Start p2prc in a server mode + + +## func [StartContainer]() + +```go +func StartContainer(IP string) (container *docker.DockerVM, err error) +``` + +StartContainer Starts docker container on the remote machine + + +## func [UpdateIPTable]() + +```go +func UpdateIPTable() (err error) +``` + +UpdateIPTable Force updates IP tables based on new new nodes discovered in the network + + +## func [ViewIPTable]() + +```go +func ViewIPTable() (table *p2p.IpAddresses, err error) +``` + +ViewIPTable View information of nodes in the network + +Generated by [gomarkdoc]() diff --git a/client/clientIPTable/docs.md b/client/clientIPTable/docs.md new file mode 100644 index 0000000..7f9d173 --- /dev/null +++ b/client/clientIPTable/docs.md @@ -0,0 +1,63 @@ + + +# clientIPTable + +```go +import "github.com/Akilan1999/p2p-rendering-computation/client/clientIPTable" +``` + +## Index + +- [func AddCustomInformationToIPTable\(text string\) error](<#AddCustomInformationToIPTable>) +- [func RemoveOfflineNodes\(\) error](<#RemoveOfflineNodes>) +- [func UpdateIpTable\(IpAddress string, serverPort string, wg \*sync.WaitGroup\) error](<#UpdateIpTable>) +- [func UpdateIpTableListClient\(\) error](<#UpdateIpTableListClient>) +- [func UploadMultipartFile\(client http.Client, uri, key, path string\) \(\[\]byte, error\)](<#UploadMultipartFile>) + + + +## func [AddCustomInformationToIPTable]() + +```go +func AddCustomInformationToIPTable(text string) error +``` + + + + +## func [RemoveOfflineNodes]() + +```go +func RemoveOfflineNodes() error +``` + + + + +## func [UpdateIpTable]() + +```go +func UpdateIpTable(IpAddress string, serverPort string, wg *sync.WaitGroup) error +``` + +UpdateIpTable Does the following to update it's IP table + + +## func [UpdateIpTableListClient]() + +```go +func UpdateIpTableListClient() error +``` + +UpdateIpTableListClient updates IP tables \(Default 3 hops\) based on server information available on the ip tables + + +## func [UploadMultipartFile]() + +```go +func UploadMultipartFile(client http.Client, uri, key, path string) ([]byte, error) +``` + + + +Generated by [gomarkdoc]() diff --git a/client/docs.md b/client/docs.md new file mode 100644 index 0000000..cbce893 --- /dev/null +++ b/client/docs.md @@ -0,0 +1,357 @@ + + +# client + +```go +import "github.com/Akilan1999/p2p-rendering-computation/client" +``` + +## Index + +- [func AddTrackContainer\(d \*docker.DockerVM, ipAddress string\) error](<#AddTrackContainer>) +- [func CheckID\(ID string\) \(string, error\)](<#CheckID>) +- [func GetServerPort\(IpAddress string\) \(string, error\)](<#GetServerPort>) +- [func GetSpecs\(IP string\) \(\*server.SysInfo, error\)](<#GetSpecs>) +- [func PrettyPrint\(data interface\{\}\)](<#PrettyPrint>) +- [func RemoveContainerGroups\(ContainerID string\) error](<#RemoveContainerGroups>) +- [func RemoveContianer\(IP string, ID string\) error](<#RemoveContianer>) +- [func RemoveGroup\(GroupID string\) error](<#RemoveGroup>) +- [func RemoveTrackedContainer\(id string\) error](<#RemoveTrackedContainer>) +- [func StartContainer\(IP string, NumPorts int, GPU bool, ContainerName string, baseImage string\) \(\*docker.DockerVM, error\)](<#StartContainer>) +- [func ViewContainers\(IP string\) \(\*docker.DockerContainers, error\)](<#ViewContainers>) +- [type Group](<#Group>) + - [func AddContainerToGroup\(ContainerID string, GroupID string\) \(\*Group, error\)](<#AddContainerToGroup>) + - [func CreateGroup\(\) \(\*Group, error\)](<#CreateGroup>) + - [func GetGroup\(GroupID string\) \(\*Group, error\)](<#GetGroup>) + - [func RemoveContainerGroup\(ContainerID string, GroupID string\) \(\*Group, error\)](<#RemoveContainerGroup>) + - [func \(grp \*Group\) AddContainer\(Container \*TrackContainer\) error](<#Group.AddContainer>) + - [func \(grp \*Group\) AddGroupToFile\(\) error](<#Group.AddGroupToFile>) + - [func \(grp \*Group\) RemoveContainerGroup\(Container \*TrackContainer\) error](<#Group.RemoveContainerGroup>) +- [type Groups](<#Groups>) + - [func ReadGroup\(\) \(\*Groups, error\)](<#ReadGroup>) + - [func \(grp \*Groups\) RemoveContainerGroups\(Container \*TrackContainer\) error](<#Groups.RemoveContainerGroups>) + - [func \(grp \*Groups\) WriteGroup\(\) error](<#Groups.WriteGroup>) +- [type ResponseMAPPort](<#ResponseMAPPort>) + - [func MAPPort\(port string, domainName string\) \(\*ResponseMAPPort, error\)](<#MAPPort>) +- [type TrackContainer](<#TrackContainer>) + - [func GetContainerInformation\(ID string\) \(\*TrackContainer, error\)](<#GetContainerInformation>) + - [func \(TC \*TrackContainer\) ModifyContainerGroups\(\) error](<#TrackContainer.ModifyContainerGroups>) + - [func \(TC \*TrackContainer\) ModifyContainerInformation\(\) error](<#TrackContainer.ModifyContainerInformation>) +- [type TrackContainers](<#TrackContainers>) + - [func ReadTrackContainers\(filename string\) \(\*TrackContainers, error\)](<#ReadTrackContainers>) + - [func ViewTrackedContainers\(\) \(error, \*TrackContainers\)](<#ViewTrackedContainers>) + - [func \(TC \*TrackContainers\) WriteContainers\(\) error](<#TrackContainers.WriteContainers>) + + + +## func [AddTrackContainer]() + +```go +func AddTrackContainer(d *docker.DockerVM, ipAddress string) error +``` + +AddTrackContainer Adds new container which has been added to the track container + + +## func [CheckID]() + +```go +func CheckID(ID string) (string, error) +``` + +CheckID Checks if the ID belongs to a group or a single container + + +## func [GetServerPort]() + +```go +func GetServerPort(IpAddress string) (string, error) +``` + +GetServerPort Helper function to do find out server port information + + +## func [GetSpecs]() + +```go +func GetSpecs(IP string) (*server.SysInfo, error) +``` + +GetSpecs Gets Specs from the server such CPU, GPU usage and other basic information which helps set a cluster of computer + + +## func [PrettyPrint]() + +```go +func PrettyPrint(data interface{}) +``` + +PrettyPrint print the contents of the obj \( Reference: https://stackoverflow.com/questions/24512112/how-to-print-struct-variables-in-console + + +## func [RemoveContainerGroups]() + +```go +func RemoveContainerGroups(ContainerID string) error +``` + +RemoveContainerGroups Remove Container from groups \(i.e which ever groups has information about that container\). This is mostly called when a container is deleted or removed from the tracked container list + + +## func [RemoveContianer]() + +```go +func RemoveContianer(IP string, ID string) error +``` + +RemoveContianer Stops and removes container from the server + + +## func [RemoveGroup]() + +```go +func RemoveGroup(GroupID string) error +``` + +RemoveGroup Removes group based on the group ID provided + + +## func [RemoveTrackedContainer]() + +```go +func RemoveTrackedContainer(id string) error +``` + +RemoveTrackedContainer This function removos tracked container from the trackcontainer JSON file + + +## func [StartContainer]() + +```go +func StartContainer(IP string, NumPorts int, GPU bool, ContainerName string, baseImage string) (*docker.DockerVM, error) +``` + +StartContainer Start container using REST api Implementation From the selected server IP address TODO: Test cases for this function Calls URL ex: http://0.0.0.0:8088/startcontainer?ports=0&GPU=false&ContainerName=docker-ubuntu-sshd + + +## func [ViewContainers]() + +```go +func ViewContainers(IP string) (*docker.DockerContainers, error) +``` + +ViewContainers This function displays all containers available on server side + + +## type [Group]() + +Group Information about a single group + +```go +type Group struct { + ID string `json:"ID"` + TrackContainerList []*TrackContainer `json:"TrackContainer"` + // contains filtered or unexported fields +} +``` + + +### func [AddContainerToGroup]() + +```go +func AddContainerToGroup(ContainerID string, GroupID string) (*Group, error) +``` + +AddContainerToGroup Adds container information to the Group based on the Group ID + + +### func [CreateGroup]() + +```go +func CreateGroup() (*Group, error) +``` + +CreateGroup Creates a new group to add a set of track containers + + +### func [GetGroup]() + +```go +func GetGroup(GroupID string) (*Group, error) +``` + +GetGroup Gets group information based on group id provided + + +### func [RemoveContainerGroup]() + +```go +func RemoveContainerGroup(ContainerID string, GroupID string) (*Group, error) +``` + +RemoveContainerGroup Remove Container from the group ID specified + + +### func \(\*Group\) [AddContainer]() + +```go +func (grp *Group) AddContainer(Container *TrackContainer) error +``` + +AddContainer Adds a container to the Tracked container list of the group + + +### func \(\*Group\) [AddGroupToFile]() + +```go +func (grp *Group) AddGroupToFile() error +``` + +AddGroupToFile Adds Group struct to the GroupTrackContainer File + + +### func \(\*Group\) [RemoveContainerGroup]() + +```go +func (grp *Group) RemoveContainerGroup(Container *TrackContainer) error +``` + +RemoveContainerGroup Removes container information from the group + + +## type [Groups]() + +Groups Data Structure type + +```go +type Groups struct { + GroupList []*Group `json:"Groups"` +} +``` + + +### func [ReadGroup]() + +```go +func ReadGroup() (*Groups, error) +``` + +ReadGroup Function reads grouptrackcontainers.json and converts result to Groups + + +### func \(\*Groups\) [RemoveContainerGroups]() + +```go +func (grp *Groups) RemoveContainerGroups(Container *TrackContainer) error +``` + +RemoveContainerGroups removes container found in all groups + + +### func \(\*Groups\) [WriteGroup]() + +```go +func (grp *Groups) WriteGroup() error +``` + +WriteGroup Function to write type Groups to the grouptrackcontainers.json file + + +## type [ResponseMAPPort]() + + + +```go +type ResponseMAPPort struct { + IPAddress string +} +``` + + +### func [MAPPort]() + +```go +func MAPPort(port string, domainName string) (*ResponseMAPPort, error) +``` + + + + +## type [TrackContainer]() + +TrackContainer Stores information of current containers + +```go +type TrackContainer struct { + Id string `json:"ID"` + Container *docker.DockerVM `json:"Container"` + IpAddress string `json:"IpAddress"` +} +``` + + +### func [GetContainerInformation]() + +```go +func GetContainerInformation(ID string) (*TrackContainer, error) +``` + +GetContainerInformation gets information about container based on container ID provided + + +### func \(\*TrackContainer\) [ModifyContainerGroups]() + +```go +func (TC *TrackContainer) ModifyContainerGroups() error +``` + +ModifyContainerGroups Modifies container information is all groups available + + +### func \(\*TrackContainer\) [ModifyContainerInformation]() + +```go +func (TC *TrackContainer) ModifyContainerInformation() error +``` + +ModifyContainerInformation Modifies information inside the container + + +## type [TrackContainers]() + +TrackContainers This struct stores arrays of current containers running + +```go +type TrackContainers struct { + TrackContainerList []TrackContainer `json:"TrackContainer"` +} +``` + + +### func [ReadTrackContainers]() + +```go +func ReadTrackContainers(filename string) (*TrackContainers, error) +``` + +ReadTrackContainers Reads containers which are currently tracked + + +### func [ViewTrackedContainers]() + +```go +func ViewTrackedContainers() (error, *TrackContainers) +``` + +ViewTrackedContainers View Containers currently tracked + + +### func \(\*TrackContainers\) [WriteContainers]() + +```go +func (TC *TrackContainers) WriteContainers() error +``` + +WriteContainers Write information back to the config file + +Generated by [gomarkdoc]() diff --git a/cmd/docs.md b/cmd/docs.md new file mode 100644 index 0000000..bf0d990 --- /dev/null +++ b/cmd/docs.md @@ -0,0 +1,523 @@ + + +# cmd + +```go +import "github.com/Akilan1999/p2p-rendering-computation/cmd" +``` + +## Index + +- [Variables](<#variables>) + + +## Variables + +Variables declared for CLI + +```go +var ( + AddServer string + ViewImages string + CreateVM string + ContainerName string + BaseImage string + Ports string + Server bool + RemoveVM string + ID string + Specs string + GPU bool + UpdateServerList bool + ServerList bool + SetDefaultConfig bool + NetworkInterface bool + ViewPlugin bool + TrackedContainers bool + ExecutePlugin string + CreateGroup bool + Group string + Groups bool + RemoveContainerGroup bool + RemoveGroup string + MAPPort string + DomainName string + //FRPProxy bool + // Generate only allowed in dev release + // -- REMOVE ON REGULAR RELEASE -- + Generate string + Modulename string + //-------------------------------- + PullPlugin string + RemovePlugin string + AddMetaData string +) +``` + + + +```go +var AppConfigFlags = []cli.Flag{ + + &cli.BoolFlag{ + Name: "Server", + Aliases: []string{"s"}, + Usage: "Starts server", + EnvVars: []string{"SERVER"}, + Destination: &Server, + }, + &cli.BoolFlag{ + Name: "UpdateServerList", + Aliases: []string{"us"}, + Usage: "Update List of Server available based on servers iptables", + EnvVars: []string{"UPDATE_SERVER_LIST"}, + Destination: &UpdateServerList, + }, + &cli.BoolFlag{ + Name: "ListServers", + Aliases: []string{"ls"}, + Usage: "List servers which can render tasks", + EnvVars: []string{"LIST_SERVERS"}, + Destination: &ServerList, + }, + &cli.StringFlag{ + Name: "AddServer", + Aliases: []string{"as"}, + Usage: "Adds server IP address to iptables", + EnvVars: []string{"ADD_SERVER"}, + Destination: &AddServer, + }, + &cli.StringFlag{ + Name: "ViewImages", + Aliases: []string{"vi"}, + Usage: "View images available on the server IP address", + EnvVars: []string{"VIEW_IMAGES"}, + Destination: &ViewImages, + }, + &cli.StringFlag{ + Name: "CreateVM", + Aliases: []string{"touch"}, + Usage: "Creates Docker container on the selected server", + EnvVars: []string{"CREATE_VM"}, + Destination: &CreateVM, + }, + &cli.StringFlag{ + Name: "ContainerName", + Aliases: []string{"cn"}, + Usage: "Specifying the container run on the server side", + EnvVars: []string{"CONTAINER_NAME"}, + Destination: &ContainerName, + }, + &cli.StringFlag{ + Name: "BaseImage", + Aliases: []string{"bi"}, + Usage: "Specifying the docker base image to template the dockerfile", + EnvVars: []string{"CONTAINER_NAME"}, + Destination: &BaseImage, + }, + &cli.StringFlag{ + Name: "RemoveVM", + Aliases: []string{"rm"}, + Usage: "Stop and Remove Docker container (IP:port) accompanied by container ID via --ID or --id", + EnvVars: []string{"REMOVE_VM"}, + Destination: &RemoveVM, + }, + &cli.StringFlag{ + Name: "ID", + Aliases: []string{"id"}, + Usage: "Docker Container ID", + EnvVars: []string{"ID"}, + Destination: &ID, + }, + &cli.StringFlag{ + Name: "Ports", + Aliases: []string{"p"}, + Usage: "Number of ports to open for the Docker Container", + EnvVars: []string{"NUM_PORTS"}, + Destination: &Ports, + }, + &cli.BoolFlag{ + Name: "GPU", + Aliases: []string{"gpu"}, + Usage: "Create Docker Containers to access GPU", + EnvVars: []string{"USE_GPU"}, + Destination: &GPU, + }, + &cli.StringFlag{ + Name: "Specification", + Aliases: []string{"specs"}, + Usage: "Specs of the server node", + EnvVars: []string{"SPECS"}, + Destination: &Specs, + }, + &cli.BoolFlag{ + Name: "SetDefaultConfig", + Aliases: []string{"dc"}, + Usage: "Sets a default configuration file", + EnvVars: []string{"SET_DEFAULT_CONFIG"}, + Destination: &SetDefaultConfig, + }, + &cli.BoolFlag{ + Name: "NetworkInterfaces", + Aliases: []string{"ni"}, + Usage: "Shows the network interface in your computer", + EnvVars: []string{"NETWORK_INTERFACE"}, + Destination: &NetworkInterface, + }, + &cli.BoolFlag{ + Name: "ViewPlugins", + Aliases: []string{"vp"}, + Usage: "Shows plugins available to be executed", + EnvVars: []string{"VIEW_PLUGIN"}, + Destination: &ViewPlugin, + }, + &cli.BoolFlag{ + Name: "TrackedContainers", + Aliases: []string{"tc"}, + Usage: "View (currently running) containers which have " + + "been created from the client side ", + EnvVars: []string{"TRACKED_CONTAINERS"}, + Destination: &TrackedContainers, + }, + &cli.StringFlag{ + Name: "ExecutePlugin", + Aliases: []string{"plugin"}, + Usage: "Plugin which needs to be executed", + EnvVars: []string{"EXECUTE_PLUGIN"}, + Destination: &ExecutePlugin, + }, + &cli.BoolFlag{ + Name: "CreateGroup", + Aliases: []string{"cgroup"}, + Usage: "Creates a new group", + EnvVars: []string{"CREATE_GROUP"}, + Destination: &CreateGroup, + }, + &cli.StringFlag{ + Name: "Group", + Aliases: []string{"group"}, + Usage: "group flag with argument group ID", + EnvVars: []string{"GROUP"}, + Destination: &Group, + }, + &cli.BoolFlag{ + Name: "Groups", + Aliases: []string{"groups"}, + Usage: "View all groups", + EnvVars: []string{"GROUPS"}, + Destination: &Groups, + }, + &cli.BoolFlag{ + Name: "RemoveContainerGroup", + Aliases: []string{"rmcgroup"}, + Usage: "Remove specific container in the group", + EnvVars: []string{"REMOVE_CONTAINER_GROUP"}, + Destination: &RemoveContainerGroup, + }, + &cli.StringFlag{ + Name: "RemoveGroup", + Aliases: []string{"rmgroup"}, + Usage: "Removes the entire group", + EnvVars: []string{"REMOVE_GROUP"}, + Destination: &RemoveGroup, + }, + &cli.StringFlag{ + Name: "MAPPort", + Aliases: []string{"mp"}, + Usage: "Maps port for a specific port provided as the parameter", + EnvVars: []string{"MAPPORT"}, + Destination: &MAPPort, + }, + &cli.StringFlag{ + Name: "DomainName", + Aliases: []string{"dn"}, + Usage: "While mapping ports allows to set a domain name to create a mapping in the proxy server", + EnvVars: []string{"DOMAINNAME"}, + Destination: &DomainName, + }, + + &cli.StringFlag{ + Name: "Generate", + Aliases: []string{"gen"}, + Usage: "Generates a new copy of P2PRC which can be modified based on your needs", + EnvVars: []string{"GENERATE"}, + Destination: &Generate, + }, + &cli.StringFlag{ + Name: "ModuleName", + Aliases: []string{"mod"}, + Usage: "New go project module name", + EnvVars: []string{"MODULENAME"}, + Destination: &Modulename, + }, + + &cli.StringFlag{ + Name: "PullPlugin", + Aliases: []string{"pp"}, + Usage: "Pulls plugin from git repos", + EnvVars: []string{"PULLPLUGIN"}, + Destination: &PullPlugin, + }, + &cli.StringFlag{ + Name: "RemovePlugin", + Aliases: []string{"rp"}, + Usage: "Removes plugin", + EnvVars: []string{"REMOVEPLUGIN"}, + Destination: &RemovePlugin, + }, + &cli.StringFlag{ + Name: "AddMetaData", + Aliases: []string{"amd"}, + Usage: "Adds metadata about the current node in the p2p network which is then propagated through the network", + EnvVars: []string{"ADDMETADATA"}, + Destination: &AddMetaData, + }, +} +``` + + + +```go +var CliAction = func(ctx *cli.Context) error { + if Server { + _, err := server.Server() + if err != nil { + fmt.Print(err) + } + + for { + + } + } + + if UpdateServerList { + err := clientIPTable.UpdateIpTableListClient() + if err != nil { + fmt.Print(err) + } + + p2p.PrintIpTable() + } + + if ServerList { + + p2p.PrintIpTable() + } + + if AddServer != "" { + res, err := p2p.ReadIpTable() + if err != nil { + fmt.Println(err) + } + + //Create variable of type IpAddress and set IP address + // to it + var IpAddr p2p.IpAddress + + ip4Orip6 := p2p.Ip4or6(AddServer) + if ip4Orip6 == "version 6" { + IpAddr.Ipv6 = AddServer + } else { + IpAddr.Ipv4 = AddServer + } + + if Ports != "" { + IpAddr.ServerPort = Ports + } else { + IpAddr.ServerPort = "8088" + } + + res.IpAddress = append(res.IpAddress, IpAddr) + + res.WriteIpTable() + + } + + if ViewImages != "" { + imageRes, err := client.ViewContainers(ViewImages) + + if err != nil { + fmt.Print(err) + } + client.PrettyPrint(imageRes) + } + + if RemoveVM != "" { + if ID == "" { + fmt.Println("provide container ID via --ID or --id") + } else { + err := client.RemoveContianer(RemoveVM, ID) + if err != nil { + fmt.Print(err) + } + } + } + + if CreateVM != "" { + + var PortsInt int + + if Ports != "" { + + fmt.Sscanf(Ports, "%d", &PortsInt) + } + + imageRes, err := client.StartContainer(CreateVM, PortsInt, GPU, ContainerName, BaseImage) + + if err != nil { + fmt.Print(err) + } + client.PrettyPrint(imageRes) + } + + if Specs != "" { + specs, err := client.GetSpecs(Specs) + if err != nil { + return err + } + + client.PrettyPrint(specs) + } + + if SetDefaultConfig { + _, err := generate.SetDefaults("P2PRC", false, nil, false) + if err != nil { + fmt.Print(err) + } + } + + if NetworkInterface { + err := p2p.ViewNetworkInterface() + if err != nil { + fmt.Print(err) + } + } + + if ViewPlugin { + plugins, err := plugin.DetectPlugins() + if err != nil { + fmt.Print(err) + } + client.PrettyPrint(plugins) + } + + if TrackedContainers { + err, trackedContainers := client.ViewTrackedContainers() + if err != nil { + fmt.Print(err) + } + client.PrettyPrint(trackedContainers) + } + + if ExecutePlugin != "" { + + if ID != "" { + err := plugin.CheckRunPlugin(ExecutePlugin, ID) + if err != nil { + fmt.Println(err) + } else { + fmt.Println("Success") + } + } else { + fmt.Println("provide container ID via --ID or --id") + } + + } + + if CreateGroup { + group, err := client.CreateGroup() + if err != nil { + return err + } + client.PrettyPrint(group) + } + + if Group != "" { + + if RemoveContainerGroup && ID != "" { + group, err := client.RemoveContainerGroup(ID, Group) + if err != nil { + fmt.Println(err) + } else { + client.PrettyPrint(group) + } + } else if ID != "" { + + group, err := client.AddContainerToGroup(ID, Group) + if err != nil { + fmt.Println(err) + } else { + client.PrettyPrint(group) + } + } else { + group, err := client.GetGroup(Group) + if err != nil { + fmt.Println(err) + } else { + client.PrettyPrint(group) + } + } + } + + if RemoveGroup != "" { + err := client.RemoveGroup(RemoveGroup) + if err != nil { + fmt.Println(err) + } else { + fmt.Println("Group Removed") + } + } + + if Groups { + groups, err := client.ReadGroup() + if err != nil { + fmt.Println(err) + } else { + client.PrettyPrint(groups) + } + } + + if PullPlugin != "" { + err := plugin.DownloadPlugin(PullPlugin) + if err != nil { + fmt.Println(err) + } else { + fmt.Println("Success") + } + } + + if RemovePlugin != "" { + err := plugin.DeletePlugin(RemovePlugin) + if err != nil { + fmt.Println(err) + } else { + fmt.Println("Success") + } + } + + if AddMetaData != "" { + err := clientIPTable.AddCustomInformationToIPTable(AddMetaData) + if err != nil { + fmt.Println(err) + } else { + fmt.Println("Success") + } + } + + if MAPPort != "" { + address, err := client.MAPPort(MAPPort, DomainName) + if err != nil { + return err + } + if err != nil { + fmt.Println(err) + } else { + client.PrettyPrint(address) + } + } + + return nil +} +``` + +Generated by [gomarkdoc]() diff --git a/config/docs.md b/config/docs.md new file mode 100644 index 0000000..85356eb --- /dev/null +++ b/config/docs.md @@ -0,0 +1,116 @@ + + +# config + +```go +import "github.com/Akilan1999/p2p-rendering-computation/config" +``` + +## Index + +- [func GetCurrentPath\(\) \(string, error\)](<#GetCurrentPath>) +- [func GetEnvName\(\) string](<#GetEnvName>) +- [func GetPathP2PRC\(Envname string\) \(string, error\)](<#GetPathP2PRC>) +- [func SetEnvName\(EnvName string\) error](<#SetEnvName>) +- [type Config](<#Config>) + - [func ConfigInit\(defaultsParameter map\[string\]interface\{\}, CustomConfig interface\{\}, envNameOptional ...string\) \(\*Config, error\)](<#ConfigInit>) + - [func \(c \*Config\) GetPublicKey\(\) \(string, error\)](<#Config.GetPublicKey>) + - [func \(c \*Config\) WriteConfig\(\) error](<#Config.WriteConfig>) + + + +## func [GetCurrentPath]() + +```go +func GetCurrentPath() (string, error) +``` + +GetCurrentPath Getting P2PRC Directory from environment variable + + +## func [GetEnvName]() + +```go +func GetEnvName() string +``` + + + + +## func [GetPathP2PRC]() + +```go +func GetPathP2PRC(Envname string) (string, error) +``` + +GetPathP2PRC Getting P2PRC Directory from environment variable + + +## func [SetEnvName]() + +```go +func SetEnvName(EnvName string) error +``` + +SetEnvName Sets the environment name This is to ensure that the Path of your project is detected from your environment variable This is useful when extending the use case of P2PRC + + +## type [Config]() + + + +```go +type Config struct { + MachineName string + IPTable string + DockerContainers string + DefaultDockerFile string + DockerRunLogs string + SpeedTestFile string + IPV6Address string + PluginPath string + TrackContainersPath string + ServerPort string + ProxyPort string + GroupTrackContainersPath string + FRPServerPort string + BehindNAT string + IPTableKey string + PublicKeyFile string + PrivateKeyFile string + PemFile string + KeyFile string + BareMetal bool + UnsafeMode bool + CustomConfig interface{} +} +``` + + +### func [ConfigInit]() + +```go +func ConfigInit(defaultsParameter map[string]interface{}, CustomConfig interface{}, envNameOptional ...string) (*Config, error) +``` + +ConfigInit Pass environment name as an optional parameter + + +### func \(\*Config\) [GetPublicKey]() + +```go +func (c *Config) GetPublicKey() (string, error) +``` + +GetPublicKey Gets public key of the current machine based on the path provided on the config file + + +### func \(\*Config\) [WriteConfig]() + +```go +func (c *Config) WriteConfig() error +``` + + + +Generated by [gomarkdoc]() diff --git a/config/generate/docs.md b/config/generate/docs.md new file mode 100644 index 0000000..e6af169 --- /dev/null +++ b/config/generate/docs.md @@ -0,0 +1,176 @@ + + +# generate + +```go +import "github.com/Akilan1999/p2p-rendering-computation/config/generate" +``` + +## Index + +- [func Copy\(src, dst string\) error](<#Copy>) +- [func CreateIPTableFolderStructure\(\) \(err error\)](<#CreateIPTableFolderStructure>) +- [func FileExists\(path string\) \(bool, error\)](<#FileExists>) +- [func GenerateCertificate\(\) error](<#GenerateCertificate>) +- [func GenerateClientTrackContainers\(\) \(err error\)](<#GenerateClientTrackContainers>) +- [func GenerateDockerFiles\(\) \(err error\)](<#GenerateDockerFiles>) +- [func GenerateFiles\(rootNodes ...p2p.IpAddress\) \(err error\)](<#GenerateFiles>) +- [func GenerateIPTableFile\(rootNodes \[\]p2p.IpAddress\) \(err error\)](<#GenerateIPTableFile>) +- [func GeneratePluginDirectory\(\) \(err error\)](<#GeneratePluginDirectory>) +- [func GetPathP2PRC\(\) \(string, error\)](<#GetPathP2PRC>) +- [func MakeSSHKeyPair\(pubKeyPath, privateKeyPath string\) error](<#MakeSSHKeyPair>) +- [func SetDefaults\(envName string, forceDefault bool, CustomConfig interface\{\}, NoBoilerPlate bool, ConfigUpdate ...\*config.Config\) \(\*config.Config, error\)](<#SetDefaults>) +- [func SetEnvName\(EnvName string\) error](<#SetEnvName>) +- [func String\(length int\) string](<#String>) +- [func StringWithCharset\(length int, charset string\) string](<#StringWithCharset>) +- [type AuthorizedKey](<#AuthorizedKey>) + + + +## func [Copy]() + +```go +func Copy(src, dst string) error +``` + +Copy the src file to dst. Any existing file will be overwritten and will not copy file attributes. Source: https://stackoverflow.com/questions/21060945/simple-way-to-copy-a-file + + +## func [CreateIPTableFolderStructure]() + +```go +func CreateIPTableFolderStructure() (err error) +``` + +CreateIPTableFolderStructure Create folder structure for IPTable + + +## func [FileExists]() + +```go +func FileExists(path string) (bool, error) +``` + +FileExists exists returns whether the given file or directory exists source: https://stackoverflow.com/questions/10510691/how-to-check-whether-a-file-or-directory-exists + + +## func [GenerateCertificate]() + +```go +func GenerateCertificate() error +``` + + + + +## func [GenerateClientTrackContainers]() + +```go +func GenerateClientTrackContainers() (err error) +``` + + + + +## func [GenerateDockerFiles]() + +```go +func GenerateDockerFiles() (err error) +``` + +GenerateDockerFiles Generate default docker files + + +## func [GenerateFiles]() + +```go +func GenerateFiles(rootNodes ...p2p.IpAddress) (err error) +``` + +GenerateFiles Generates all the files needed to setup P2PRC + + +## func [GenerateIPTableFile]() + +```go +func GenerateIPTableFile(rootNodes []p2p.IpAddress) (err error) +``` + +GenerateIPTableFile Generates the IPTable file with the appropirate root node + + +## func [GeneratePluginDirectory]() + +```go +func GeneratePluginDirectory() (err error) +``` + +GeneratePluginDirectory Generates plugin directory structure + + +## func [GetPathP2PRC]() + +```go +func GetPathP2PRC() (string, error) +``` + +GetPathP2PRC Getting P2PRC Directory from environment variable + + +## func [MakeSSHKeyPair]() + +```go +func MakeSSHKeyPair(pubKeyPath, privateKeyPath string) error +``` + +MakeSSHKeyPair make a pair of public and private keys for SSH access. Public key is encoded in the format for inclusion in an OpenSSH authorized\_keys file. Private Key generated is PEM encoded source: https://gist.github.com/goliatone/e9c13e5f046e34cef6e150d06f20a34c + + +## func [SetDefaults]() + +```go +func SetDefaults(envName string, forceDefault bool, CustomConfig interface{}, NoBoilerPlate bool, ConfigUpdate ...*config.Config) (*config.Config, error) +``` + +SetDefaults This function to be called only during a make install + + +## func [SetEnvName]() + +```go +func SetEnvName(EnvName string) error +``` + +SetEnvName Sets the environment name This is to ensure that the Path of your project is detected from your environment variable This is useful when extending the use case of P2PRC + + +## func [String]() + +```go +func String(length int) string +``` + + + + +## func [StringWithCharset]() + +```go +func StringWithCharset(length int, charset string) string +``` + + + + +## type [AuthorizedKey]() + +AuthorizedKey struct represents the structure of an authorized key + +```go +type AuthorizedKey struct { + Username string + Key string +} +``` + +Generated by [gomarkdoc]() diff --git a/doc.md b/main.md similarity index 100% rename from doc.md rename to main.md diff --git a/main.md.org b/main.md.org new file mode 100644 index 0000000..606d3f2 --- /dev/null +++ b/main.md.org @@ -0,0 +1,40 @@ +#+begin_html + +#+end_html + +* p2p-rendering-computation +:PROPERTIES: +:CUSTOM_ID: p2p-rendering-computation +:END: +#+begin_src go +import "github.com/Akilan1999/p2p-rendering-computation" +#+end_src + +** Index +:PROPERTIES: +:CUSTOM_ID: index +:END: +- [[#variables][Variables]] + +** Variables +:PROPERTIES: +:CUSTOM_ID: variables +:END: + +#+begin_src go +var List_servers, Ip_table bool +#+end_src + +Varaibles if mode is client + +#+begin_src go +var OS, Pull_location, Run_script string +#+end_src + +VERSION specifies the version of the platform + +#+begin_src go +var VERSION = "2.0.0" +#+end_src + +Generated by [[https://github.com/princjef/gomarkdoc][gomarkdoc]] diff --git a/p2p/docs.md b/p2p/docs.md new file mode 100644 index 0000000..47aabea --- /dev/null +++ b/p2p/docs.md @@ -0,0 +1,303 @@ + + +# p2p + +```go +import "github.com/Akilan1999/p2p-rendering-computation/p2p" +``` + +## Index + +- [func AddAuthorisationKey\(PublicKey string\) error](<#AddAuthorisationKey>) +- [func AddKeyToAuthorizedKeys\(path, newKey string\) error](<#AddKeyToAuthorizedKeys>) +- [func CurrentPublicIP\(\) \(string, error\)](<#CurrentPublicIP>) +- [func ForwardPort\(port int\) error](<#ForwardPort>) +- [func GenerateHashSHA256\(text string\) \[\]byte](<#GenerateHashSHA256>) +- [func GetAuthorizedKeysPath\(\) \(string, error\)](<#GetAuthorizedKeysPath>) +- [func GetCurrentIPV6\(\) \(string, error\)](<#GetCurrentIPV6>) +- [func Ip4or6\(s string\) string](<#Ip4or6>) +- [func LocalSpeedTestIpTable\(\) error](<#LocalSpeedTestIpTable>) +- [func PrettyPrint\(data interface\{\}\)](<#PrettyPrint>) +- [func PrintIpTable\(\) error](<#PrintIpTable>) +- [func ReadAuthorizedKeys\(path string\) \(map\[string\]bool, error\)](<#ReadAuthorizedKeys>) +- [func RemoveKeyFromAuthorizedKeys\(path, keyToRemove string\) error](<#RemoveKeyFromAuthorizedKeys>) +- [func UnForwardPort\(port int\) error](<#UnForwardPort>) +- [func ValidateHashSHA256\(text string, Hash \[\]byte\) bool](<#ValidateHashSHA256>) +- [func ViewNetworkInterface\(\) error](<#ViewNetworkInterface>) +- [type IP](<#IP>) +- [type IpAddress](<#IpAddress>) + - [func \(s \*IpAddress\) DownloadSpeed\(\) error](<#IpAddress.DownloadSpeed>) + - [func \(s \*IpAddress\) PingTest\(\) error](<#IpAddress.PingTest>) + - [func \(s \*IpAddress\) UploadSpeed\(\) error](<#IpAddress.UploadSpeed>) +- [type IpAddresses](<#IpAddresses>) + - [func ReadIpTable\(\) \(\*IpAddresses, error\)](<#ReadIpTable>) + - [func \(table \*IpAddresses\) RemoveDuplicates\(\) error](<#IpAddresses.RemoveDuplicates>) + - [func \(ip \*IpAddresses\) SpeedTest\(\) error](<#IpAddresses.SpeedTest>) + - [func \(ip \*IpAddresses\) SpeedTestUpdatedIPTable\(\) error](<#IpAddresses.SpeedTestUpdatedIPTable>) + - [func \(i \*IpAddresses\) WriteIpTable\(\) error](<#IpAddresses.WriteIpTable>) + + + +## func [AddAuthorisationKey]() + +```go +func AddAuthorisationKey(PublicKey string) error +``` + +AddAuthorisationKey Adds public key provided to the authorization file so that nodes can SSH into the + + +## func [AddKeyToAuthorizedKeys]() + +```go +func AddKeyToAuthorizedKeys(path, newKey string) error +``` + +AddKeyToAuthorizedKeys adds a new key to the authorized\_keys file if it doesn’t already exist + + +## func [CurrentPublicIP]() + +```go +func CurrentPublicIP() (string, error) +``` + +CurrentPublicIP Get Current Public IP address + + +## func [ForwardPort]() + +```go +func ForwardPort(port int) error +``` + +Port forwarding to the router + + +## func [GenerateHashSHA256]() + +```go +func GenerateHashSHA256(text string) []byte +``` + + + + +## func [GetAuthorizedKeysPath]() + +```go +func GetAuthorizedKeysPath() (string, error) +``` + +GetAuthorizedKeysPath returns the path to the authorized\_keys file + + +## func [GetCurrentIPV6]() + +```go +func GetCurrentIPV6() (string, error) +``` + +GetCurrentIPV6 gets the current IPV6 address based on the interface specified in the config file + + +## func [Ip4or6]() + +```go +func Ip4or6(s string) string +``` + +Ip4or6 Helper function to check if the IP address is IPV4 or IPV6 \(https://socketloop.com/tutorials/golang-check-if-ip-address-is-version-4-or-6\) + + +## func [LocalSpeedTestIpTable]() + +```go +func LocalSpeedTestIpTable() error +``` + +LocalSpeedTestIpTable Runs speed test in iptables locally only + + +## func [PrettyPrint]() + +```go +func PrettyPrint(data interface{}) +``` + + + + +## func [PrintIpTable]() + +```go +func PrintIpTable() error +``` + +PrintIpTable Print Ip table data for Cli + + +## func [ReadAuthorizedKeys]() + +```go +func ReadAuthorizedKeys(path string) (map[string]bool, error) +``` + +ReadAuthorizedKeys reads and returns the current contents of the authorized\_keys file as a map + + +## func [RemoveKeyFromAuthorizedKeys]() + +```go +func RemoveKeyFromAuthorizedKeys(path, keyToRemove string) error +``` + + + + +## func [UnForwardPort]() + +```go +func UnForwardPort(port int) error +``` + +UnForwardPort from router + + +## func [ValidateHashSHA256]() + +```go +func ValidateHashSHA256(text string, Hash []byte) bool +``` + +ValidateHashSHA256 CustomInformationKey the text and check if the text and the hash are the same, if they are then return true SHA256 is the current hashing algorthm used. + + +## func [ViewNetworkInterface]() + +```go +func ViewNetworkInterface() error +``` + +ViewNetworkInterface This function is created to view the network interfaces available + + +## type [IP]() + + + +```go +type IP struct { + Query string +} +``` + + +## type [IpAddress]() + + + +```go +type IpAddress struct { + Name string `json:"Name"` + MachineUsername string `json:"MachineUsername"` + Ipv4 string `json:"IPV4"` + Ipv6 string `json:"IPV6"` + Latency time.Duration `json:"Latency"` + Download float64 `json:"Download"` + Upload float64 `json:"Upload"` + ServerPort string `json:"ServerPort"` + BareMetalSSHPort string `json:"BareMetalSSHPort"` + NAT string `json:"NAT"` + EscapeImplementation string `json:"EscapeImplementation"` + ProxyServer string `json:"ProxyServer"` + UnSafeMode bool `json:"UnSafeMode"` + PublicKey string `json:"PublicKey"` + CustomInformation string `json:"CustomInformation"` +} +``` + + +### func \(\*IpAddress\) [DownloadSpeed]() + +```go +func (s *IpAddress) DownloadSpeed() error +``` + +Download Speed + + +### func \(\*IpAddress\) [PingTest]() + +```go +func (s *IpAddress) PingTest() error +``` + +PingTest executes test to measure latency + + +### func \(\*IpAddress\) [UploadSpeed]() + +```go +func (s *IpAddress) UploadSpeed() error +``` + + + + +## type [IpAddresses]() + + + +```go +type IpAddresses struct { + IpAddress []IpAddress `json:"ip_address"` +} +``` + + +### func [ReadIpTable]() + +```go +func ReadIpTable() (*IpAddresses, error) +``` + +ReadIpTable Read data from Ip tables from json file + + +### func \(\*IpAddresses\) [RemoveDuplicates]() + +```go +func (table *IpAddresses) RemoveDuplicates() error +``` + +RemoveDuplicates This is a temporary fix current functions failing to remove Duplicate IP addresses from local IP table + + +### func \(\*IpAddresses\) [SpeedTest]() + +```go +func (ip *IpAddresses) SpeedTest() error +``` + +SpeedTest Runs a speed test and does updates IP tables accordingly + + +### func \(\*IpAddresses\) [SpeedTestUpdatedIPTable]() + +```go +func (ip *IpAddresses) SpeedTestUpdatedIPTable() error +``` + +SpeedTestUpdatedIPTable Called when ip tables from httpclient/server is also passed on + + +### func \(\*IpAddresses\) [WriteIpTable]() + +```go +func (i *IpAddresses) WriteIpTable() error +``` + +WriteIpTable Write to IP table json file + +Generated by [gomarkdoc]() diff --git a/p2p/frp/docs.md b/p2p/frp/docs.md new file mode 100644 index 0000000..5d723d0 --- /dev/null +++ b/p2p/frp/docs.md @@ -0,0 +1,113 @@ + + +# frp + +```go +import "github.com/Akilan1999/p2p-rendering-computation/p2p/frp" +``` + +## Index + +- [func GetFRPServerPort\(host string\) \(string, error\)](<#GetFRPServerPort>) +- [func StartFRPCDockerContainer\(ipaddress string, port string, Docker \*docker.DockerVM\) \(\*docker.DockerVM, error\)](<#StartFRPCDockerContainer>) +- [func StartFRPClientForServer\(ipaddress string, port string, localport string, remoteport string\) \(string, error\)](<#StartFRPClientForServer>) +- [func StartFRPProxyFromRandom\(\) \(int, error\)](<#StartFRPProxyFromRandom>) +- [type Client](<#Client>) + - [func \(c \*Client\) StartFRPClient\(\) error](<#Client.StartFRPClient>) +- [type ClientMapping](<#ClientMapping>) +- [type Server](<#Server>) + - [func \(s \*Server\) StartFRPServer\(\) error](<#Server.StartFRPServer>) + + + +## func [GetFRPServerPort]() + +```go +func GetFRPServerPort(host string) (string, error) +``` + +GetFRPServerPort Gets the port no from the FRPServer to establish the FRP connection needed. + + +## func [StartFRPCDockerContainer]() + +```go +func StartFRPCDockerContainer(ipaddress string, port string, Docker *docker.DockerVM) (*docker.DockerVM, error) +``` + + + + +## func [StartFRPClientForServer]() + +```go +func StartFRPClientForServer(ipaddress string, port string, localport string, remoteport string) (string, error) +``` + +StartFRPClientForServer Starts Server using FRP server returns back a port remote port is a custom external port a user would want to open. This under the assumption the user knows the exact port available in server doing the TURN connection. + + +## func [StartFRPProxyFromRandom]() + +```go +func StartFRPProxyFromRandom() (int, error) +``` + +StartFRPProxyFromRandom starts reverse proxy server based on a random port generated + + +## type [Client]() + +Client This struct stores client information with server proxy connected + +```go +type Client struct { + Name string + Server *Server + ClientMappings []ClientMapping +} +``` + + +### func \(\*Client\) [StartFRPClient]() + +```go +func (c *Client) StartFRPClient() error +``` + +StartFRPClient Starts FRP client + + +## type [ClientMapping]() + +ClientMapping Stores client mapping ports to proxy server + +```go +type ClientMapping struct { + LocalIP string + LocalPort int + RemotePort int +} +``` + + +## type [Server]() + + + +```go +type Server struct { + // contains filtered or unexported fields +} +``` + + +### func \(\*Server\) [StartFRPServer]() + +```go +func (s *Server) StartFRPServer() error +``` + +StartFRPServer The initial plan is only support reverse proxy for TCP ports This function starts a server that can act as a reverse proxy for nodes behind NAT. + +Generated by [gomarkdoc]() diff --git a/plugin/docs.md b/plugin/docs.md new file mode 100644 index 0000000..e3914c1 --- /dev/null +++ b/plugin/docs.md @@ -0,0 +1,224 @@ + + +# plugin + +```go +import "github.com/Akilan1999/p2p-rendering-computation/plugin" +``` + +## Index + +- [func CheckRunPlugin\(PluginName string, ID string\) error](<#CheckRunPlugin>) +- [func DeletePlugin\(pluginname string\) error](<#DeletePlugin>) +- [func DownloadPlugin\(pluginurl string\) error](<#DownloadPlugin>) +- [func RunPluginContainer\(PluginName string, ContainerID string\) error](<#RunPluginContainer>) +- [type ExecuteIP](<#ExecuteIP>) + - [func \(e \*ExecuteIP\) ModifyHost\(p \*Plugin\) error](<#ExecuteIP.ModifyHost>) + - [func \(e \*ExecuteIP\) RunAnsible\(p \*Plugin\) error](<#ExecuteIP.RunAnsible>) +- [type Host](<#Host>) + - [func ReadHost\(filename string\) \(\*Host, error\)](<#ReadHost>) +- [type Plugin](<#Plugin>) + - [func RunPlugin\(pluginName string, IPAddresses \[\]\*ExecuteIP\) \(\*Plugin, error\)](<#RunPlugin>) + - [func SearchPlugin\(pluginname string\) \(\*Plugin, error\)](<#SearchPlugin>) + - [func \(p \*Plugin\) AutoSetPorts\(containerID string\) error](<#Plugin.AutoSetPorts>) + - [func \(p \*Plugin\) CopyToTmpPlugin\(\) error](<#Plugin.CopyToTmpPlugin>) + - [func \(p \*Plugin\) ExecutePlugin\(\) error](<#Plugin.ExecutePlugin>) + - [func \(p \*Plugin\) NumPorts\(\) error](<#Plugin.NumPorts>) +- [type Plugins](<#Plugins>) + - [func DetectPlugins\(\) \(\*Plugins, error\)](<#DetectPlugins>) + + + +## func [CheckRunPlugin]() + +```go +func CheckRunPlugin(PluginName string, ID string) error +``` + +CheckRunPlugin Checks if the ID belongs to the group or container calls the plugin function the appropriate amount of times + + +## func [DeletePlugin]() + +```go +func DeletePlugin(pluginname string) error +``` + +DeletePlugin The following function deletes a plugin based on the plugin name provided. + + +## func [DownloadPlugin]() + +```go +func DownloadPlugin(pluginurl string) error +``` + +DownloadPlugin This functions downloads package from a git repo. + + +## func [RunPluginContainer]() + +```go +func RunPluginContainer(PluginName string, ContainerID string) error +``` + +RunPluginContainer Runs ansible plugin based on plugin name and container name which is derived from the tracked containers file We pass in the group ID as a parameter because when we modify the ports taken + + +## type [ExecuteIP]() + +ExecuteIP IP Address to execute Ansible instruction + +```go +type ExecuteIP struct { + ContainerID string + IPAddress string + SSHPortNo string + Success bool +} +``` + + +### func \(\*ExecuteIP\) [ModifyHost]() + +```go +func (e *ExecuteIP) ModifyHost(p *Plugin) error +``` + +ModifyHost adds IP address , port no to the config file + + +### func \(\*ExecuteIP\) [RunAnsible]() + +```go +func (e *ExecuteIP) RunAnsible(p *Plugin) error +``` + +RunAnsible Executes based on credentials on the struct + + +## type [Host]() + +Host Struct for ansible host Generated from https://zhwt.github.io/yaml-to-go/ + +```go +type Host struct { + All struct { + Vars struct { + AnsiblePythonInterpreter string `yaml:"ansible_python_interpreter"` + } `yaml:"vars"` + } `yaml:"all"` + Main struct { + Hosts struct { + Host1 struct { + AnsibleHost string `yaml:"ansible_host"` + AnsiblePort int `yaml:"ansible_port"` + AnsibleUser string `yaml:"ansible_user"` + AnsibleSSHPass string `yaml:"ansible_ssh_pass"` + AnsibleSudoPass string `yaml:"ansible_sudo_pass"` + } `yaml:"host1"` + } `yaml:"hosts"` + } `yaml:"main"` +} +``` + + +### func [ReadHost]() + +```go +func ReadHost(filename string) (*Host, error) +``` + +ReadHost Reads host file and adds + + +## type [Plugin]() + +Plugin Information about the plugins available + +```go +type Plugin struct { + FolderName string + PluginDescription string + + Execute []*ExecuteIP + NumOfPorts int + // contains filtered or unexported fields +} +``` + + +### func [RunPlugin]() + +```go +func RunPlugin(pluginName string, IPAddresses []*ExecuteIP) (*Plugin, error) +``` + +RunPlugin Executes plugins based on the plugin name provided + + +### func [SearchPlugin]() + +```go +func SearchPlugin(pluginname string) (*Plugin, error) +``` + +SearchPlugin Detects plugin information based on the name provided on the parameter + + +### func \(\*Plugin\) [AutoSetPorts]() + +```go +func (p *Plugin) AutoSetPorts(containerID string) error +``` + +AutoSetPorts Automatically maps free ports to site.yml file + + +### func \(\*Plugin\) [CopyToTmpPlugin]() + +```go +func (p *Plugin) CopyToTmpPlugin() error +``` + +CopyToTmpPlugin This function would ensure that we create a copy of the plugin in the tmp directory, and it would be executed from there. This due to the reason of automating port allocation when running plugins + + +### func \(\*Plugin\) [ExecutePlugin]() + +```go +func (p *Plugin) ExecutePlugin() error +``` + +ExecutePlugin Function to execute plugins that are called + + +### func \(\*Plugin\) [NumPorts]() + +```go +func (p *Plugin) NumPorts() error +``` + +NumPorts Gets the Number the ports the plugin requires + + +## type [Plugins]() + +Plugins Array of all plugins detected + +```go +type Plugins struct { + PluginsDetected []*Plugin +} +``` + + +### func [DetectPlugins]() + +```go +func DetectPlugins() (*Plugins, error) +``` + +DetectPlugins Detects all the plugins available + +Generated by [gomarkdoc]() diff --git a/server/docker/docs.md b/server/docker/docs.md new file mode 100644 index 0000000..0185ff3 --- /dev/null +++ b/server/docker/docs.md @@ -0,0 +1,174 @@ + + +# docker + +```go +import "github.com/Akilan1999/p2p-rendering-computation/server/docker" +``` + +## Index + +- [func StopAndRemoveContainer\(containername string\) error](<#StopAndRemoveContainer>) +- [type DockerContainer](<#DockerContainer>) +- [type DockerContainers](<#DockerContainers>) + - [func ViewAllContainers\(\) \(\*DockerContainers, error\)](<#ViewAllContainers>) +- [type DockerVM](<#DockerVM>) + - [func BuildRunContainer\(NumPorts int, GPU string, ContainerName string, baseImage string, publicKey string\) \(\*DockerVM, error\)](<#BuildRunContainer>) + - [func \(d \*DockerVM\) CopyToTmpContainer\(\) error](<#DockerVM.CopyToTmpContainer>) + - [func \(d \*DockerVM\) TemplateDockerContainer\(\) error](<#DockerVM.TemplateDockerContainer>) +- [type ErrorDetail](<#ErrorDetail>) +- [type ErrorLine](<#ErrorLine>) +- [type Port](<#Port>) +- [type Ports](<#Ports>) + - [func OpenPortsFile\(filename string\) \(\*Ports, error\)](<#OpenPortsFile>) + + + +## func [StopAndRemoveContainer]() + +```go +func StopAndRemoveContainer(containername string) error +``` + +StopAndRemoveContainer Stop and remove a container Reference \(https://gist.github.com/frikky/e2efcea6c733ea8d8d015b7fe8a91bf6\) + + +## type [DockerContainer]() + + + +```go +type DockerContainer struct { + ContainerName string `json:"DockerContainerName"` + ContainerDescription string `json:"ContainerDescription"` +} +``` + + +## type [DockerContainers]() + + + +```go +type DockerContainers struct { + DockerContainer []DockerContainer `json:"DockerContainer"` +} +``` + + +### func [ViewAllContainers]() + +```go +func ViewAllContainers() (*DockerContainers, error) +``` + +ViewAllContainers returns all containers runnable and which can be built + + +## type [DockerVM]() + + + +```go +type DockerVM struct { + SSHUsername string `json:"SSHUsername"` + SSHPublcKey string `json:"SSHPublicKey"` + ID string `json:"ID"` + TagName string `json:"TagName"` + ImagePath string `json:"ImagePath"` + Ports Ports `json:"Ports"` + GPU string `json:"GPU"` + TempPath string + BaseImage string + LogsPath string + SSHCommand string `json:"SSHCommand"` +} +``` + + +### func [BuildRunContainer]() + +```go +func BuildRunContainer(NumPorts int, GPU string, ContainerName string, baseImage string, publicKey string) (*DockerVM, error) +``` + +BuildRunContainer Function is incharge to invoke building and running contianer and also allocating external ports + + +### func \(\*DockerVM\) [CopyToTmpContainer]() + +```go +func (d *DockerVM) CopyToTmpContainer() error +``` + +CopyToTmpContainer Creates a copy of the docker folder + + +### func \(\*DockerVM\) [TemplateDockerContainer]() + +```go +func (d *DockerVM) TemplateDockerContainer() error +``` + +TemplateDockerContainer This function templates the docker container with the base docker image to use + + +## type [ErrorDetail]() + + + +```go +type ErrorDetail struct { + Message string `json:"message"` +} +``` + + +## type [ErrorLine]() + + + +```go +type ErrorLine struct { + Error string `json:"error"` + ErrorDetail ErrorDetail `json:"errorDetail"` +} +``` + + +## type [Port]() + + + +```go +type Port struct { + PortName string `json:"PortName"` + InternalPort int `json:"InternalPort"` + Type string `json:"Type"` + ExternalPort int `json:"ExternalPort"` + IsUsed bool `json:"IsUsed"` + Description string `json:"Description"` +} +``` + + +## type [Ports]() + + + +```go +type Ports struct { + PortSet []Port `json:"Port"` +} +``` + + +### func [OpenPortsFile]() + +```go +func OpenPortsFile(filename string) (*Ports, error) +``` + + + +Generated by [gomarkdoc]() diff --git a/server/docs.md b/server/docs.md new file mode 100644 index 0000000..8cb94a5 --- /dev/null +++ b/server/docs.md @@ -0,0 +1,227 @@ + + +# server + +```go +import "github.com/Akilan1999/p2p-rendering-computation/server" +``` + +source:https://github.com/afoley587/go-rev-proxy/tree/main + +## Index + +- [Variables](<#variables>) +- [func GetScheme\(c \*gin.Context\) string](<#GetScheme>) +- [func MapPort\(port string, domainName string, serverAddress string\) \(string, string, error\)](<#MapPort>) +- [func Proxy\(c \*gin.Context\)](<#Proxy>) +- [func ProxyRun\(port string\)](<#ProxyRun>) +- [func SaveRegistration\(OutsideHost string, InsideHost string\) error](<#SaveRegistration>) +- [func Server\(\) \(\*gin.Engine, error\)](<#Server>) +- [type Gpu](<#Gpu>) +- [type GpuClock](<#GpuClock>) +- [type GpuTemperature](<#GpuTemperature>) +- [type GpuUtilization](<#GpuUtilization>) +- [type Query](<#Query>) + - [func GPUInfo\(\) \(\*Query, error\)](<#GPUInfo>) +- [type RegistrationRequest](<#RegistrationRequest>) +- [type ReverseProxy](<#ReverseProxy>) +- [type SysInfo](<#SysInfo>) + - [func ServerInfo\(\) \*SysInfo](<#ServerInfo>) + + +## Variables + + + +```go +var ( + //RunPort = 2002 // The server port to run on + //ReverseServerAddr = fmt.Sprint("0.0.0.0:", RunPort) // this is our reverse server ip address + //InsideProxyHostname = fmt.Sprint("proxy:", RunPort) // Requests from private network + //OutsideProxyHostname = fmt.Sprint("registration.localhost:", RunPort) // Requests from public network + KnownAddresses = map[string]string{} // Known Addresses +) +``` + +ReverseProxies Reverse to the map such as ReverseProxies\[\\]ReverseProxy type + +```go +var ReverseProxies map[string]ReverseProxy +``` + + +## func [GetScheme]() + +```go +func GetScheme(c *gin.Context) string +``` + +This function checks if TLS was enabled on the request and translates it to the proper scheme \(http or https\) + + +## func [MapPort]() + +```go +func MapPort(port string, domainName string, serverAddress string) (string, string, error) +``` + + + + +## func [Proxy]() + +```go +func Proxy(c *gin.Context) +``` + +Proxy runs the actual proxy and will look at the hostnames requested from the received request. It will then translate that to the inside hostname and forward the request + + +## func [ProxyRun]() + +```go +func ProxyRun(port string) +``` + + + + +## func [SaveRegistration]() + +```go +func SaveRegistration(OutsideHost string, InsideHost string) error +``` + +SaveRegistration Creates registration of proxy node + + +## func [Server]() + +```go +func Server() (*gin.Engine, error) +``` + + + + +## type [Gpu]() + + + +```go +type Gpu struct { + GpuName string `xml:"product_name"` + BiosVersion string `xml:"vbios_version"` + FanSpeed string `xml:"fan_speed"` + Utilization GpuUtilization `xml:"utilization"` + Temperature GpuTemperature `xml:"temperature"` + Clock GpuClock `xml:"clocks"` +} +``` + + +## type [GpuClock]() + + + +```go +type GpuClock struct { + GpuClock string `xml:"graphics_clock"` + GpuMemClock string `xml:"mem_clock"` +} +``` + + +## type [GpuTemperature]() + + + +```go +type GpuTemperature struct { + GpuTemp string `xml:"gpu_temp"` +} +``` + + +## type [GpuUtilization]() + + + +```go +type GpuUtilization struct { + GpuUsage string `xml:"gpu_util"` + MemoryUsage string `xml:"memory_util"` +} +``` + + +## type [Query]() + + + +```go +type Query struct { + DriveVersion string `xml:"driver_version"` + Gpu Gpu `xml:"gpu"` +} +``` + + +### func [GPUInfo]() + +```go +func GPUInfo() (*Query, error) +``` + +Gets GPU information by calling nvidia\-smi in XML output + + +## type [RegistrationRequest]() + + + +```go +type RegistrationRequest struct { + OutsideHost string // Outside host address. The hostname or IP on the public network. For example foo.bar.com or foo.localhost + InsideHost string // Inside host address. The hostname or IP on the internal network. For example 192.168.10.5 +} +``` + + +## type [ReverseProxy]() + + + +```go +type ReverseProxy struct { + IPAddress string + Port string +} +``` + + +## type [SysInfo]() + +SysInfo saves the basic system information + +```go +type SysInfo struct { + Hostname string `bson:hostname` + Platform string `bson:platform` + CPU string `bson:cpu` + RAM uint64 `bson:ram` + Disk uint64 `bson:disk` + GPU *Query `xml: GpuInfo` +} +``` + + +### func [ServerInfo]() + +```go +func ServerInfo() *SysInfo +``` + + + +Generated by [gomarkdoc]() From 07811b5b3850f721c07965cf9f436f424dfac31a Mon Sep 17 00:00:00 2001 From: Akilan Date: Tue, 21 Jan 2025 21:10:49 +0000 Subject: [PATCH 13/13] removed ODT file --- Docs/docs.odt | Bin 321360 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Docs/docs.odt diff --git a/Docs/docs.odt b/Docs/docs.odt deleted file mode 100644 index c2aa4205e9f6280477e4aaf0ad3a938c55d443ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321360 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
P`RdM8*@Y?NN!gavfl^ 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

DMCG^7-F+^Q58~*|Vs3YC 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�IY|M}3V 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

gi@^4!!ac0t>5B*V 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�(%`8>gmt${$a{fLi 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