added generated docs html

This commit is contained in:
2025-06-03 15:02:14 +01:00
parent 6281b0f532
commit 7d3fc9b25f

View File

@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2025-05-30 Fri 18:05 --> <!-- 2025-06-03 Tue 15:01 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>&lrm;</title> <title>&lrm;</title>
@@ -26,12 +26,12 @@
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc"> <div id="text-table-of-contents" role="doc-toc">
<ul> <ul>
<li><a href="#orga8d6384">1. Guide through video</a> <li><a href="#orgfaa3b51">1. Guide through video</a>
<ul> <ul>
<li> <li>
<ul> <ul>
<li><a href="#org1df53fe">1.0.1. The video below shows the setup and usage of P2PRC.</a></li> <li><a href="#org8ddb088">1.0.1. The video below shows the setup and usage of P2PRC.</a></li>
<li><a href="#orgd08f572">1.0.2. Source code: https://github.com/Akilan1999/p2p-rendering-computation</a></li> <li><a href="#orge377900">1.0.2. Source code: https://github.com/Akilan1999/p2p-rendering-computation</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -78,8 +78,8 @@
<li><a href="#pulling-plugin-from-a-remote-repo">4.0.17. Pulling plugin from a remote repo</a></li> <li><a href="#pulling-plugin-from-a-remote-repo">4.0.17. Pulling plugin from a remote repo</a></li>
<li><a href="#deleting-plugin-from-the-plugin-directory">4.0.18. Deleting plugin from the plugin directory</a></li> <li><a href="#deleting-plugin-from-the-plugin-directory">4.0.18. Deleting plugin from the plugin directory</a></li>
<li><a href="#added-custom-metadata-about-the-current-node">4.0.19. Added custom metadata about the current node</a></li> <li><a href="#added-custom-metadata-about-the-current-node">4.0.19. Added custom metadata about the current node</a></li>
<li><a href="#org966244c">4.0.20. MapPort and link to domain name</a></li> <li><a href="#org634ceeb">4.0.20. MapPort and link to domain name</a></li>
<li><a href="#org2f19c06">4.0.21. Add root node</a></li> <li><a href="#org4a4f315">4.0.21. Add root node</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -109,8 +109,8 @@
</li> </li>
<li><a href="#current-languages-supported">6.3. Current languages supported</a> <li><a href="#current-languages-supported">6.3. Current languages supported</a>
<ul> <ul>
<li><a href="#orgf65d6f6">6.3.1. Python</a></li> <li><a href="#org2ed3aa2">6.3.1. Python</a></li>
<li><a href="#org40fe543">6.3.2. Haskell</a></li> <li><a href="#orgcfc3efa">6.3.2. Haskell</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -127,28 +127,28 @@
</ul> </ul>
</li> </li>
<li><a href="#client-mode">10. Client mode</a></li> <li><a href="#client-mode">10. Client mode</a></li>
<li><a href="#orgfe7fc3c">11. Simulation</a> <li><a href="#orgc92d785">11. Simulation</a>
<ul> <ul>
<li><a href="#org22226ea">11.1. Command</a></li> <li><a href="#org71ba87c">11.1. Command</a></li>
<li><a href="#orga514f52">11.2. Sample bash instructions</a></li> <li><a href="#org8d81b53">11.2. Sample bash instructions</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orga046d58">12. Blog posts</a> <li><a href="#org65dc726">12. Blog posts</a>
<ul> <ul>
<li><a href="#orgec88f20">12.1. Self host within 5 minutes any program</a> <li><a href="#orgb3847be">12.1. Self host within 5 minutes any program</a>
<ul> <ul>
<li><a href="#org07ee6bd">12.1.1. 1. Find a program you want to run</a></li> <li><a href="#orga1d1731">12.1.1. 1. Find a program you want to run</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#orgf31160d">13. Ideas for future potencial features</a> <li><a href="#org37f9f39">13. Ideas for future potencial features</a>
<ul> <ul>
<li><a href="#org1a8a88e">13.1. To support hetrogenous set of Nodes that cannot run P2PRC</a> <li><a href="#org2957f61">13.1. To support hetrogenous set of Nodes that cannot run P2PRC</a>
<ul> <ul>
<li><a href="#org5d2c045">13.1.1. Assumptions:</a></li> <li><a href="#org382a6b1">13.1.1. Assumptions:</a></li>
<li><a href="#orgb55e814">13.1.2. Set of interesting possible:</a></li> <li><a href="#org1d7779e">13.1.2. Set of interesting possible:</a></li>
<li><a href="#org7855189">13.1.3. Implementation</a></li> <li><a href="#org50986d9">13.1.3. Implementation</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -157,26 +157,26 @@
</div> </div>
</div> </div>
<div id="org628b85a" class="figure"> <div id="org5fe2f08" class="figure">
<p><img src="./Colored-On-Light-Image.png" alt="Colored-On-Light-Image.png" width="300px" /> <p><img src="./Colored-On-Light-Image.png" alt="Colored-On-Light-Image.png" width="300px" />
</p> </p>
</div> </div>
<div id="outline-container-orga8d6384" class="outline-2"> <div id="outline-container-orgfaa3b51" class="outline-2">
<h2 id="orga8d6384"><span class="section-number-2">1.</span> Guide through video</h2> <h2 id="orgfaa3b51"><span class="section-number-2">1.</span> Guide through video</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
</div> </div>
<div id="outline-container-org1df53fe" class="outline-4"> <div id="outline-container-org8ddb088" class="outline-4">
<h4 id="org1df53fe"><span class="section-number-4">1.0.1.</span> The video below shows the setup and usage of P2PRC.</h4> <h4 id="org8ddb088"><span class="section-number-4">1.0.1.</span> The video below shows the setup and usage of P2PRC.</h4>
<div class="outline-text-4" id="text-1-0-1"> <div class="outline-text-4" id="text-1-0-1">
<div id="orgaf620b9" class="figure"> <div id="orgf9b2065" class="figure">
<p><a href="https://www.youtube.com/watch?v=OMwCpedu5cs" class="video"><img src="https://i3.ytimg.com/vi/OMwCpedu5cs/maxresdefault.jpg" alt="maxresdefault.jpg" class="video" /></a> <p><a href="https://www.youtube.com/watch?v=OMwCpedu5cs" class="video"><img src="https://i3.ytimg.com/vi/OMwCpedu5cs/maxresdefault.jpg" alt="maxresdefault.jpg" class="video" /></a>
</p> </p>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgd08f572" class="outline-4"> <div id="outline-container-orge377900" class="outline-4">
<h4 id="orgd08f572"><span class="section-number-4">1.0.2.</span> Source code: <a href="https://github.com/Akilan1999/p2p-rendering-computation">https://github.com/Akilan1999/p2p-rendering-computation</a></h4> <h4 id="orge377900"><span class="section-number-4">1.0.2.</span> Source code: <a href="https://github.com/Akilan1999/p2p-rendering-computation">https://github.com/Akilan1999/p2p-rendering-computation</a></h4>
</div> </div>
</div> </div>
<div id="outline-container-chapter1-introduction" class="outline-2"> <div id="outline-container-chapter1-introduction" class="outline-2">
@@ -265,7 +265,7 @@ Go API to create and interact with the containers.
to install docker GPU</a> to install docker GPU</a>
</p> </p>
<pre class="example" id="orge229820"> <pre class="example" id="org58eb104">
// Do ensure that the docker command does not need sudo to run // Do ensure that the docker command does not need sudo to run
sudo chmod 666 /var/run/docker.sock sudo chmod 666 /var/run/docker.sock
</pre> </pre>
@@ -279,7 +279,7 @@ To set up the internal dependencies and build the entire go code into a
single binary single binary
</p> </p>
<pre class="example" id="orge6efab3"> <pre class="example" id="orgdbe81c1">
make make
</pre> </pre>
</div> </div>
@@ -291,7 +291,7 @@ To set up P2PRC on Windows, simply run this batch file. <b>Make sure you
are not in admin mode when running this.</b> are not in admin mode when running this.</b>
</p> </p>
<pre class="example" id="org503a4ba"> <pre class="example" id="org9e7310b">
.\install.bat .\install.bat
</pre> </pre>
</div> </div>
@@ -301,7 +301,7 @@ are not in admin mode when running this.</b>
<div id="outline-container-add-appropriate-paths-to-.bashrc" class="outline-4"> <div id="outline-container-add-appropriate-paths-to-.bashrc" class="outline-4">
<h4 id="add-appropriate-paths-to-.bashrc"><span class="section-number-4">3.2.4.</span> Add appropriate paths to <code>.bashrc</code></h4> <h4 id="add-appropriate-paths-to-.bashrc"><span class="section-number-4">3.2.4.</span> Add appropriate paths to <code>.bashrc</code></h4>
<div class="outline-text-4" id="text-add-appropriate-paths-to-.bashrc"> <div class="outline-text-4" id="text-add-appropriate-paths-to-.bashrc">
<pre class="example" id="org3da98df"> <pre class="example" id="org7cf8320">
export P2PRC=/&lt;PATH&gt;/p2p-rendering-computation export P2PRC=/&lt;PATH&gt;/p2p-rendering-computation
export PATH=/&lt;PATH&gt;/p2p-rendering-computation:${PATH} export PATH=/&lt;PATH&gt;/p2p-rendering-computation:${PATH}
</pre> </pre>
@@ -310,14 +310,14 @@ export PATH=/&lt;PATH&gt;/p2p-rendering-computation:${PATH}
<div id="outline-container-test-if-binary-works" class="outline-4"> <div id="outline-container-test-if-binary-works" class="outline-4">
<h4 id="test-if-binary-works"><span class="section-number-4">3.2.5.</span> Test if binary works</h4> <h4 id="test-if-binary-works"><span class="section-number-4">3.2.5.</span> Test if binary works</h4>
<div class="outline-text-4" id="text-test-if-binary-works"> <div class="outline-text-4" id="text-test-if-binary-works">
<pre class="example" id="org842f745"> <pre class="example" id="orga2c4c1e">
p2prc --help p2prc --help
</pre> </pre>
</div> </div>
<ol class="org-ol"> <ol class="org-ol">
<li><a id="output"></a>Output:<br /> <li><a id="output"></a>Output:<br />
<div class="outline-text-5" id="text-output"> <div class="outline-text-5" id="text-output">
<pre class="example" id="org2d62e91"> <pre class="example" id="org9af9c5a">
NAME: NAME:
p2p-rendering-computation - p2p cli application to create and access VMs in other servers p2p-rendering-computation - p2p cli application to create and access VMs in other servers
@@ -379,7 +379,7 @@ GLOBAL OPTIONS:
<div id="outline-container-start-as-a-server" class="outline-4"> <div id="outline-container-start-as-a-server" class="outline-4">
<h4 id="start-as-a-server"><span class="section-number-4">4.0.1.</span> Start as a server</h4> <h4 id="start-as-a-server"><span class="section-number-4">4.0.1.</span> Start as a server</h4>
<div class="outline-text-4" id="text-start-as-a-server"> <div class="outline-text-4" id="text-start-as-a-server">
<pre class="example" id="org41f3e1c"> <pre class="example" id="orgc7f92cb">
p2prc -s p2prc -s
</pre> </pre>
</div> </div>
@@ -387,7 +387,7 @@ p2prc -s
<div id="outline-container-view-server-specification" class="outline-4"> <div id="outline-container-view-server-specification" class="outline-4">
<h4 id="view-server-specification"><span class="section-number-4">4.0.2.</span> View server Specification</h4> <h4 id="view-server-specification"><span class="section-number-4">4.0.2.</span> View server Specification</h4>
<div class="outline-text-4" id="text-view-server-specification"> <div class="outline-text-4" id="text-view-server-specification">
<pre class="example" id="orgc305043"> <pre class="example" id="orgd445f29">
p2prc --specs=&lt;ip address&gt; p2prc --specs=&lt;ip address&gt;
</pre> </pre>
</div> </div>
@@ -399,7 +399,7 @@ p2prc --specs=&lt;ip address&gt;
use the <code>--gpu</code> if you know the other machine has a gpu. use the <code>--gpu</code> if you know the other machine has a gpu.
</p> </p>
<pre class="example" id="orgc7648f7"> <pre class="example" id="org6f7aa0c">
p2prc --touch=&lt;server ip address&gt; -p &lt;number of ports&gt; --gpu p2prc --touch=&lt;server ip address&gt; -p &lt;number of ports&gt; --gpu
</pre> </pre>
</div> </div>
@@ -411,7 +411,7 @@ p2prc --touch=&lt;server ip address&gt; -p &lt;number of ports&gt; --gpu
The docker id is present in the output where you create a container The docker id is present in the output where you create a container
</p> </p>
<pre class="example" id="org9aca1f2"> <pre class="example" id="org6f97d4c">
p2prc --rm=&lt;server ip address&gt; --id=&lt;docker container id&gt; p2prc --rm=&lt;server ip address&gt; --id=&lt;docker container id&gt;
</pre> </pre>
</div> </div>
@@ -419,7 +419,7 @@ p2prc --rm=&lt;server ip address&gt; --id=&lt;docker container id&gt;
<div id="outline-container-adding-servers-to-ip-table" class="outline-4"> <div id="outline-container-adding-servers-to-ip-table" class="outline-4">
<h4 id="adding-servers-to-ip-table"><span class="section-number-4">4.0.5.</span> Adding servers to ip table</h4> <h4 id="adding-servers-to-ip-table"><span class="section-number-4">4.0.5.</span> Adding servers to ip table</h4>
<div class="outline-text-4" id="text-adding-servers-to-ip-table"> <div class="outline-text-4" id="text-adding-servers-to-ip-table">
<pre class="example" id="orgb518ed0"> <pre class="example" id="org7773731">
p2prc --as=&lt;server ip address you want to add&gt; p2prc --as=&lt;server ip address you want to add&gt;
</pre> </pre>
</div> </div>
@@ -427,7 +427,7 @@ p2prc --as=&lt;server ip address you want to add&gt;
<div id="outline-container-update-ip-table" class="outline-4"> <div id="outline-container-update-ip-table" class="outline-4">
<h4 id="update-ip-table"><span class="section-number-4">4.0.6.</span> Update ip table</h4> <h4 id="update-ip-table"><span class="section-number-4">4.0.6.</span> Update ip table</h4>
<div class="outline-text-4" id="text-update-ip-table"> <div class="outline-text-4" id="text-update-ip-table">
<pre class="example" id="org26ead4a"> <pre class="example" id="orgd8976c4">
p2prc --us p2prc --us
</pre> </pre>
</div> </div>
@@ -435,7 +435,7 @@ p2prc --us
<div id="outline-container-list-servers" class="outline-4"> <div id="outline-container-list-servers" class="outline-4">
<h4 id="list-servers"><span class="section-number-4">4.0.7.</span> List Servers</h4> <h4 id="list-servers"><span class="section-number-4">4.0.7.</span> List Servers</h4>
<div class="outline-text-4" id="text-list-servers"> <div class="outline-text-4" id="text-list-servers">
<pre class="example" id="orgc098d33"> <pre class="example" id="orgb83bd7b">
p2prc --ls p2prc --ls
</pre> </pre>
</div> </div>
@@ -443,7 +443,7 @@ p2prc --ls
<div id="outline-container-view-network-interfaces" class="outline-4"> <div id="outline-container-view-network-interfaces" class="outline-4">
<h4 id="view-network-interfaces"><span class="section-number-4">4.0.8.</span> View Network interfaces</h4> <h4 id="view-network-interfaces"><span class="section-number-4">4.0.8.</span> View Network interfaces</h4>
<div class="outline-text-4" id="text-view-network-interfaces"> <div class="outline-text-4" id="text-view-network-interfaces">
<pre class="example" id="org68a2716"> <pre class="example" id="org8a8d92f">
p2prc --ni p2prc --ni
</pre> </pre>
</div> </div>
@@ -451,7 +451,7 @@ p2prc --ni
<div id="outline-container-viewing-containers-created-client-side" class="outline-4"> <div id="outline-container-viewing-containers-created-client-side" class="outline-4">
<h4 id="viewing-containers-created-client-side"><span class="section-number-4">4.0.9.</span> Viewing Containers created Client side</h4> <h4 id="viewing-containers-created-client-side"><span class="section-number-4">4.0.9.</span> Viewing Containers created Client side</h4>
<div class="outline-text-4" id="text-viewing-containers-created-client-side"> <div class="outline-text-4" id="text-viewing-containers-created-client-side">
<pre class="example" id="orgc3b9a5e"> <pre class="example" id="orgaa00f13">
p2prc --tc p2prc --tc
</pre> </pre>
</div> </div>
@@ -459,7 +459,7 @@ p2prc --tc
<div id="outline-container-running-plugin" class="outline-4"> <div id="outline-container-running-plugin" class="outline-4">
<h4 id="running-plugin"><span class="section-number-4">4.0.10.</span> Running plugin</h4> <h4 id="running-plugin"><span class="section-number-4">4.0.10.</span> Running plugin</h4>
<div class="outline-text-4" id="text-running-plugin"> <div class="outline-text-4" id="text-running-plugin">
<pre class="example" id="org0f205e5"> <pre class="example" id="org73c1c17">
p2prc --plugin &lt;plugin name&gt; --id &lt;container id or group id&gt; p2prc --plugin &lt;plugin name&gt; --id &lt;container id or group id&gt;
</pre> </pre>
</div> </div>
@@ -467,7 +467,7 @@ p2prc --plugin &lt;plugin name&gt; --id &lt;container id or group id&gt;
<div id="outline-container-create-group" class="outline-4"> <div id="outline-container-create-group" class="outline-4">
<h4 id="create-group"><span class="section-number-4">4.0.11.</span> Create group</h4> <h4 id="create-group"><span class="section-number-4">4.0.11.</span> Create group</h4>
<div class="outline-text-4" id="text-create-group"> <div class="outline-text-4" id="text-create-group">
<pre class="example" id="org3dc07ae"> <pre class="example" id="orgceabb2d">
p2prc --cgroup p2prc --cgroup
</pre> </pre>
</div> </div>
@@ -475,7 +475,7 @@ p2prc --cgroup
<div id="outline-container-add-container-to-group" class="outline-4"> <div id="outline-container-add-container-to-group" class="outline-4">
<h4 id="add-container-to-group"><span class="section-number-4">4.0.12.</span> Add container to group</h4> <h4 id="add-container-to-group"><span class="section-number-4">4.0.12.</span> Add container to group</h4>
<div class="outline-text-4" id="text-add-container-to-group"> <div class="outline-text-4" id="text-add-container-to-group">
<pre class="example" id="orgc7ac7ea"> <pre class="example" id="orgc55ea4b">
p2prc --group &lt;group id&gt; --id &lt;container id&gt; p2prc --group &lt;group id&gt; --id &lt;container id&gt;
</pre> </pre>
</div> </div>
@@ -483,7 +483,7 @@ p2prc --group &lt;group id&gt; --id &lt;container id&gt;
<div id="outline-container-view-groups" class="outline-4"> <div id="outline-container-view-groups" class="outline-4">
<h4 id="view-groups"><span class="section-number-4">4.0.13.</span> View groups</h4> <h4 id="view-groups"><span class="section-number-4">4.0.13.</span> View groups</h4>
<div class="outline-text-4" id="text-view-groups"> <div class="outline-text-4" id="text-view-groups">
<pre class="example" id="org147a736"> <pre class="example" id="org4ca37d1">
p2prc --groups p2prc --groups
</pre> </pre>
</div> </div>
@@ -491,7 +491,7 @@ p2prc --groups
<div id="outline-container-view-specific-group" class="outline-4"> <div id="outline-container-view-specific-group" class="outline-4">
<h4 id="view-specific-group"><span class="section-number-4">4.0.14.</span> View specific group</h4> <h4 id="view-specific-group"><span class="section-number-4">4.0.14.</span> View specific group</h4>
<div class="outline-text-4" id="text-view-specific-group"> <div class="outline-text-4" id="text-view-specific-group">
<pre class="example" id="orgd045744"> <pre class="example" id="orgd17ccf8">
p2prc --group &lt;group id&gt; p2prc --group &lt;group id&gt;
</pre> </pre>
</div> </div>
@@ -499,7 +499,7 @@ p2prc --group &lt;group id&gt;
<div id="outline-container-delete-container-from-group" class="outline-4"> <div id="outline-container-delete-container-from-group" class="outline-4">
<h4 id="delete-container-from-group"><span class="section-number-4">4.0.15.</span> Delete container from group</h4> <h4 id="delete-container-from-group"><span class="section-number-4">4.0.15.</span> Delete container from group</h4>
<div class="outline-text-4" id="text-delete-container-from-group"> <div class="outline-text-4" id="text-delete-container-from-group">
<pre class="example" id="org9fc6938"> <pre class="example" id="org993005f">
p2prc --rmcgroup --group &lt;group id&gt; --id &lt;container id&gt; p2prc --rmcgroup --group &lt;group id&gt; --id &lt;container id&gt;
</pre> </pre>
</div> </div>
@@ -507,7 +507,7 @@ p2prc --rmcgroup --group &lt;group id&gt; --id &lt;container id&gt;
<div id="outline-container-delete-entire-group" class="outline-4"> <div id="outline-container-delete-entire-group" class="outline-4">
<h4 id="delete-entire-group"><span class="section-number-4">4.0.16.</span> Delete entire group</h4> <h4 id="delete-entire-group"><span class="section-number-4">4.0.16.</span> Delete entire group</h4>
<div class="outline-text-4" id="text-delete-entire-group"> <div class="outline-text-4" id="text-delete-entire-group">
<pre class="example" id="org752e829"> <pre class="example" id="org09c7e93">
p2prc --rmgroup &lt;group id&gt; p2prc --rmgroup &lt;group id&gt;
</pre> </pre>
</div> </div>
@@ -515,7 +515,7 @@ p2prc --rmgroup &lt;group id&gt;
<div id="outline-container-pulling-plugin-from-a-remote-repo" class="outline-4"> <div id="outline-container-pulling-plugin-from-a-remote-repo" class="outline-4">
<h4 id="pulling-plugin-from-a-remote-repo"><span class="section-number-4">4.0.17.</span> Pulling plugin from a remote repo</h4> <h4 id="pulling-plugin-from-a-remote-repo"><span class="section-number-4">4.0.17.</span> Pulling plugin from a remote repo</h4>
<div class="outline-text-4" id="text-pulling-plugin-from-a-remote-repo"> <div class="outline-text-4" id="text-pulling-plugin-from-a-remote-repo">
<pre class="example" id="orga6511bc"> <pre class="example" id="org25da581">
p2prc --pp &lt;repo link&gt; p2prc --pp &lt;repo link&gt;
</pre> </pre>
</div> </div>
@@ -523,7 +523,7 @@ p2prc --pp &lt;repo link&gt;
<div id="outline-container-deleting-plugin-from-the-plugin-directory" class="outline-4"> <div id="outline-container-deleting-plugin-from-the-plugin-directory" class="outline-4">
<h4 id="deleting-plugin-from-the-plugin-directory"><span class="section-number-4">4.0.18.</span> Deleting plugin from the plugin directory</h4> <h4 id="deleting-plugin-from-the-plugin-directory"><span class="section-number-4">4.0.18.</span> Deleting plugin from the plugin directory</h4>
<div class="outline-text-4" id="text-deleting-plugin-from-the-plugin-directory"> <div class="outline-text-4" id="text-deleting-plugin-from-the-plugin-directory">
<pre class="example" id="orgbff120f"> <pre class="example" id="org19e29f5">
p2prc --rp &lt;plugin name&gt; p2prc --rp &lt;plugin name&gt;
</pre> </pre>
</div> </div>
@@ -531,28 +531,28 @@ p2prc --rp &lt;plugin name&gt;
<div id="outline-container-added-custom-metadata-about-the-current-node" class="outline-4"> <div id="outline-container-added-custom-metadata-about-the-current-node" class="outline-4">
<h4 id="added-custom-metadata-about-the-current-node"><span class="section-number-4">4.0.19.</span> Added custom metadata about the current node</h4> <h4 id="added-custom-metadata-about-the-current-node"><span class="section-number-4">4.0.19.</span> Added custom metadata about the current node</h4>
<div class="outline-text-4" id="text-added-custom-metadata-about-the-current-node"> <div class="outline-text-4" id="text-added-custom-metadata-about-the-current-node">
<pre class="example" id="org93cf0f5"> <pre class="example" id="org912680b">
p2prc --amd "custom metadata" p2prc --amd "custom metadata"
</pre> </pre>
</div> </div>
</div> </div>
<div id="outline-container-org966244c" class="outline-4"> <div id="outline-container-org634ceeb" class="outline-4">
<h4 id="org966244c"><span class="section-number-4">4.0.20.</span> MapPort and link to domain name</h4> <h4 id="org634ceeb"><span class="section-number-4">4.0.20.</span> MapPort and link to domain name</h4>
<div class="outline-text-4" id="text-4-0-20"> <div class="outline-text-4" id="text-4-0-20">
<p> <p>
Allows to expose remote ports from a machine in the P2P network. Allows to expose remote ports from a machine in the P2P network.
</p> </p>
<pre class="example" id="org583d4c1"> <pre class="example" id="org289fb38">
p2prc --mp &lt;port no to map&gt; --dn &lt;domain name to link Mapped port against&gt; p2prc --mp &lt;port no to map&gt; --dn &lt;domain name to link Mapped port against&gt;
</pre> </pre>
</div> </div>
<ol class="org-ol"> <ol class="org-ol">
<li><a id="orgf707bff"></a>MapPort in remote machine<br /> <li><a id="org10d9238"></a>MapPort in remote machine<br />
<div class="outline-text-5" id="text-4-0-20-1"> <div class="outline-text-5" id="text-4-0-20-1">
<p> <p>
This is to ensure ports on remote machines on the P2PRC can be easily opened. This is to ensure ports on remote machines on the P2PRC can be easily opened.
</p> </p>
<pre class="example" id="org72eef4d"> <pre class="example" id="orge12f61c">
p2prc --mp &lt;port no to map&gt; --dn &lt;domain name to link Mapped port against&gt; --ra &lt;remote server address&gt; p2prc --mp &lt;port no to map&gt; --dn &lt;domain name to link Mapped port against&gt; --ra &lt;remote server address&gt;
</pre> </pre>
@@ -561,15 +561,15 @@ p2prc --mp &lt;port no to map&gt; --dn &lt;domain name to link Mapped port again
</li> </li>
</ol> </ol>
</div> </div>
<div id="outline-container-org2f19c06" class="outline-4"> <div id="outline-container-org4a4f315" class="outline-4">
<h4 id="org2f19c06"><span class="section-number-4">4.0.21.</span> Add root node</h4> <h4 id="org4a4f315"><span class="section-number-4">4.0.21.</span> Add root node</h4>
<div class="outline-text-4" id="text-4-0-21"> <div class="outline-text-4" id="text-4-0-21">
<p> <p>
Adds a root node to P2RRC and overwrites all other nodes in the ip table. Adds a root node to P2RRC and overwrites all other nodes in the ip table.
To be only added before the network is started and with To be only added before the network is started and with
the intention of a fresh instance. the intention of a fresh instance.
</p> </p>
<pre class="example" id="org202dc68"> <pre class="example" id="org502f77c">
p2prc --arn --ip &lt;root node ip address&gt; -p &lt;root node port no&gt; p2prc --arn --ip &lt;root node ip address&gt; -p &lt;root node port no&gt;
</pre> </pre>
</div> </div>
@@ -680,7 +680,7 @@ from the TURN server. The flow below describes the workflow.
<li>Call <code>/FRPPort</code></li> <li>Call <code>/FRPPort</code></li>
</ul> </ul>
<pre class="example" id="org2bea991"> <pre class="example" id="orgd6ec110">
http://&lt;turn server ip&gt;:&lt;server port no&gt;/FRPport http://&lt;turn server ip&gt;:&lt;server port no&gt;/FRPport
</pre> </pre>
@@ -769,7 +769,7 @@ p2prc.h p2prc.so
Below are a sample set of commands to open the bindings implementation. Below are a sample set of commands to open the bindings implementation.
</p> </p>
<pre class="example" id="orgdd81071"> <pre class="example" id="orgdc41fcd">
# run # run
cd Bindings/ cd Bindings/
# list files # list files
@@ -857,7 +857,7 @@ that convert a go object to JSON string initially and converts it to
</li> </li>
<li><a id="a-pseudo-code-to-refer-to-the-common-function-implementation-shape-could-be-represented-as"></a>A Pseudo code to refer to the common function implementation shape could be represented as:<br /> <li><a id="a-pseudo-code-to-refer-to-the-common-function-implementation-shape-could-be-represented-as"></a>A Pseudo code to refer to the common function implementation shape could be represented as:<br />
<div class="outline-text-5" id="text-a-pseudo-code-to-refer-to-the-common-function-implementation-shape-could-be-represented-as"> <div class="outline-text-5" id="text-a-pseudo-code-to-refer-to-the-common-function-implementation-shape-could-be-represented-as">
<pre class="example" id="orge44168c"> <pre class="example" id="org49430f1">
func &lt;Function name&gt; (output *C.char) { func &lt;Function name&gt; (output *C.char) {
&lt;response&gt;,&lt;error&gt; := &lt;P2PRC function name&gt;(&lt;parameters if needed&gt;) &lt;response&gt;,&lt;error&gt; := &lt;P2PRC function name&gt;(&lt;parameters if needed&gt;)
if &lt;error&gt; != nil { if &lt;error&gt; != nil {
@@ -875,8 +875,8 @@ func &lt;Function name&gt; (output *C.char) {
<h3 id="current-languages-supported"><span class="section-number-3">6.3.</span> Current languages supported</h3> <h3 id="current-languages-supported"><span class="section-number-3">6.3.</span> Current languages supported</h3>
<div class="outline-text-3" id="text-current-languages-supported"> <div class="outline-text-3" id="text-current-languages-supported">
</div> </div>
<div id="outline-container-orgf65d6f6" class="outline-4"> <div id="outline-container-org2ed3aa2" class="outline-4">
<h4 id="orgf65d6f6"><span class="section-number-4">6.3.1.</span> Python</h4> <h4 id="org2ed3aa2"><span class="section-number-4">6.3.1.</span> Python</h4>
<div class="outline-text-4" id="text-6-3-1"> <div class="outline-text-4" id="text-6-3-1">
</div> </div>
<ol class="org-ol"> <ol class="org-ol">
@@ -913,8 +913,8 @@ called from other programming languages.
</li> </li>
</ol> </ol>
</div> </div>
<div id="outline-container-org40fe543" class="outline-4"> <div id="outline-container-orgcfc3efa" class="outline-4">
<h4 id="org40fe543"><span class="section-number-4">6.3.2.</span> Haskell</h4> <h4 id="orgcfc3efa"><span class="section-number-4">6.3.2.</span> Haskell</h4>
<div class="outline-text-4" id="text-6-3-2"> <div class="outline-text-4" id="text-6-3-2">
<p> <p>
P2PRC officially supports Haskell bindings and will further support P2PRC officially supports Haskell bindings and will further support
@@ -1036,7 +1036,7 @@ from the TURN server. The flow below describes the workflow.
<li>Call <code>/FRPPort</code></li> <li>Call <code>/FRPPort</code></li>
</ul> </ul>
<pre class="example" id="org60a83ac"> <pre class="example" id="orgf143689">
http://&lt;turn server ip&gt;:&lt;server port no&gt;/FRPport http://&lt;turn server ip&gt;:&lt;server port no&gt;/FRPport
</pre> </pre>
@@ -1067,8 +1067,8 @@ func main() {
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgfe7fc3c" class="outline-2"> <div id="outline-container-orgc92d785" class="outline-2">
<h2 id="orgfe7fc3c"><span class="section-number-2">11.</span> Simulation</h2> <h2 id="orgc92d785"><span class="section-number-2">11.</span> Simulation</h2>
<div class="outline-text-2" id="text-11"> <div class="outline-text-2" id="text-11">
<p> <p>
The simulation library is a really simple library to locally The simulation library is a really simple library to locally
@@ -1078,8 +1078,8 @@ the Node discovery mechanism. There are current 5 commands
which can be used as shown below: which can be used as shown below:
</p> </p>
</div> </div>
<div id="outline-container-org22226ea" class="outline-3"> <div id="outline-container-org71ba87c" class="outline-3">
<h3 id="org22226ea"><span class="section-number-3">11.1.</span> Command</h3> <h3 id="org71ba87c"><span class="section-number-3">11.1.</span> Command</h3>
<div class="outline-text-3" id="text-11-1"> <div class="outline-text-3" id="text-11-1">
<ul class="org-ul"> <ul class="org-ul">
<li><b><b><b>P2PRC instances "number of instances"</b></b></b> : Starts p2prc processes <li><b><b><b>P2PRC instances "number of instances"</b></b></b> : Starts p2prc processes
@@ -1097,8 +1097,8 @@ testing the generated P2PRC instances.</li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-orga514f52" class="outline-3"> <div id="outline-container-org8d81b53" class="outline-3">
<h3 id="orga514f52"><span class="section-number-3">11.2.</span> Sample bash instructions</h3> <h3 id="org8d81b53"><span class="section-number-3">11.2.</span> Sample bash instructions</h3>
<div class="outline-text-3" id="text-11-2"> <div class="outline-text-3" id="text-11-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash"># Unset default P2PRC env path <pre class="src src-bash"># Unset default P2PRC env path
@@ -1126,12 +1126,12 @@ Source code: <a href="https://github.com/Akilan1999/p2p-rendering-computation/bl
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orga046d58" class="outline-2"> <div id="outline-container-org65dc726" class="outline-2">
<h2 id="orga046d58"><span class="section-number-2">12.</span> Blog posts</h2> <h2 id="org65dc726"><span class="section-number-2">12.</span> Blog posts</h2>
<div class="outline-text-2" id="text-12"> <div class="outline-text-2" id="text-12">
</div> </div>
<div id="outline-container-orgec88f20" class="outline-3"> <div id="outline-container-orgb3847be" class="outline-3">
<h3 id="orgec88f20"><span class="section-number-3">12.1.</span> Self host within 5 minutes any program</h3> <h3 id="orgb3847be"><span class="section-number-3">12.1.</span> Self host within 5 minutes any program</h3>
<div class="outline-text-3" id="text-12-1"> <div class="outline-text-3" id="text-12-1">
<ul class="org-ul"> <ul class="org-ul">
<li>Author: <a href="http://akilan.io/">Akilan Selvacoumar</a></li> <li>Author: <a href="http://akilan.io/">Akilan Selvacoumar</a></li>
@@ -1143,7 +1143,7 @@ Source code: <a href="https://github.com/Akilan1999/p2p-rendering-computation/bl
<li>Video tutorial:</li> <li>Video tutorial:</li>
</ul> </ul>
<div id="org01fbebe" class="figure"> <div id="orga9c7dfa" class="figure">
<p><a href="https://youtu.be/rN4SiVowg5E" class="video"><img src="https://i3.ytimg.com/vi/rN4SiVowg5E/maxresdefault.jpg" alt="maxresdefault.jpg" class="video" /></a> <p><a href="https://youtu.be/rN4SiVowg5E" class="video"><img src="https://i3.ytimg.com/vi/rN4SiVowg5E/maxresdefault.jpg" alt="maxresdefault.jpg" class="video" /></a>
</p> </p>
</div> </div>
@@ -1153,8 +1153,8 @@ This is a fun expirement for anyone to try to quickly run a server and
quickly do a map port and domain name mapping in a single command. quickly do a map port and domain name mapping in a single command.
</p> </p>
</div> </div>
<div id="outline-container-org07ee6bd" class="outline-4"> <div id="outline-container-orga1d1731" class="outline-4">
<h4 id="org07ee6bd"><span class="section-number-4">12.1.1.</span> 1. Find a program you want to run</h4> <h4 id="orga1d1731"><span class="section-number-4">12.1.1.</span> 1. Find a program you want to run</h4>
<div class="outline-text-4" id="text-12-1-1"> <div class="outline-text-4" id="text-12-1-1">
<p> <p>
Let's try to setup a really easy program (Let's do with Linkwarden Let's try to setup a really easy program (Let's do with Linkwarden
@@ -1163,7 +1163,7 @@ compose installed on your local machine.
</p> </p>
</div> </div>
<ol class="org-ol"> <ol class="org-ol">
<li><a id="org2b6a10c"></a>Let's run Linkwarden using docker compose and P2PRC<br /> <li><a id="org78ef674"></a>Let's run Linkwarden using docker compose and P2PRC<br />
<div class="outline-text-5" id="text-12-1-1-1"> <div class="outline-text-5" id="text-12-1-1-1">
<p> <p>
<a href="https://docs.linkwarden.app/self-hosting/installation">Installation instructions</a>: <a href="https://docs.linkwarden.app/self-hosting/installation">Installation instructions</a>:
@@ -1252,16 +1252,16 @@ ex: <a href="https://linkwarden.akilan.io">https://linkwarden.akilan.io</a>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgf31160d" class="outline-2"> <div id="outline-container-org37f9f39" class="outline-2">
<h2 id="orgf31160d"><span class="section-number-2">13.</span> Ideas for future potencial features</h2> <h2 id="org37f9f39"><span class="section-number-2">13.</span> Ideas for future potencial features</h2>
<div class="outline-text-2" id="text-13"> <div class="outline-text-2" id="text-13">
<p> <p>
Consists of personal loideas for the future of P2PRC. Consists of personal loideas for the future of P2PRC.
At moment only has main contributors writiing to this. At moment only has main contributors writiing to this.
</p> </p>
</div> </div>
<div id="outline-container-org1a8a88e" class="outline-3"> <div id="outline-container-org2957f61" class="outline-3">
<h3 id="org1a8a88e"><span class="section-number-3">13.1.</span> To support hetrogenous set of Nodes that cannot run P2PRC</h3> <h3 id="org2957f61"><span class="section-number-3">13.1.</span> To support hetrogenous set of Nodes that cannot run P2PRC</h3>
<div class="outline-text-3" id="text-13-1"> <div class="outline-text-3" id="text-13-1">
<p> <p>
This stems from a personal issue I have when doing research This stems from a personal issue I have when doing research
@@ -1277,8 +1277,8 @@ and would introduce a new layer fault tolerance within a local
network nodes. network nodes.
</p> </p>
</div> </div>
<div id="outline-container-org5d2c045" class="outline-4"> <div id="outline-container-org382a6b1" class="outline-4">
<h4 id="org5d2c045"><span class="section-number-4">13.1.1.</span> Assumptions:</h4> <h4 id="org382a6b1"><span class="section-number-4">13.1.1.</span> Assumptions:</h4>
<div class="outline-text-4" id="text-13-1-1"> <div class="outline-text-4" id="text-13-1-1">
<ul class="org-ul"> <ul class="org-ul">
<li>I have a Morello board that cannot run P2PRC</li> <li>I have a Morello board that cannot run P2PRC</li>
@@ -1291,8 +1291,8 @@ as well look into custom tasks into the hetrogenous hardware.</li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-orgb55e814" class="outline-4"> <div id="outline-container-org1d7779e" class="outline-4">
<h4 id="orgb55e814"><span class="section-number-4">13.1.2.</span> Set of interesting possible:</h4> <h4 id="org1d7779e"><span class="section-number-4">13.1.2.</span> Set of interesting possible:</h4>
<div class="outline-text-4" id="text-13-1-2"> <div class="outline-text-4" id="text-13-1-2">
<p> <p>
We build a cool set possibilities before and use this to build up the implementation We build a cool set possibilities before and use this to build up the implementation
@@ -1309,8 +1309,8 @@ weight hypervisors.</li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-org7855189" class="outline-4"> <div id="outline-container-org50986d9" class="outline-4">
<h4 id="org7855189"><span class="section-number-4">13.1.3.</span> Implementation</h4> <h4 id="org50986d9"><span class="section-number-4">13.1.3.</span> Implementation</h4>
<div class="outline-text-4" id="text-13-1-3"> <div class="outline-text-4" id="text-13-1-3">
<ul class="org-ul"> <ul class="org-ul">
<li>To use implementations similar to <a href="https://linux.die.net/man/1/socat">socat</a> to ensure we can bind address of local <li>To use implementations similar to <a href="https://linux.die.net/man/1/socat">socat</a> to ensure we can bind address of local
@@ -1324,7 +1324,7 @@ other nodes can access the Morello board who have permission access.</li>
</ul> </ul>
<div id="orgd955246" class="figure"> <div id="org0c30234" class="figure">
<p><img src="./images/P2PRCRemoteNodes.png" alt="P2PRCRemoteNodes.png" /> <p><img src="./images/P2PRCRemoteNodes.png" alt="P2PRCRemoteNodes.png" />
</p> </p>
<p><span class="figure-number">Figure 1: </span>Implementation idea (To be improved upon)</p> <p><span class="figure-number">Figure 1: </span>Implementation idea (To be improved upon)</p>
@@ -1336,7 +1336,7 @@ other nodes can access the Morello board who have permission access.</li>
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Akilan</p> <p class="author">Author: Akilan</p>
<p class="date">Created: 2025-05-30 Fri 18:05</p> <p class="date">Created: 2025-06-03 Tue 15:01</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>