diff --git a/Docs/index.html b/Docs/index.html index bf38e97..27889d0 100644 --- a/Docs/index.html +++ b/Docs/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + @@ -69,7 +69,7 @@
  • 3.0.17. Pulling plugin from a remote repo
  • 3.0.18. Deleting plugin from the plugin directory
  • 3.0.19. Added custom metadata about the current node
  • -
  • 3.0.20. MapPort and link to domain name
  • +
  • 3.0.20. MapPort and link to domain name
  • @@ -99,8 +99,8 @@
  • 5.3. Current languages supported
  • @@ -117,22 +117,22 @@
  • 9. Client mode
  • -
  • 10. Blog posts +
  • 10. Blog posts
  • -
  • 11. Ideas for future potencial features +
  • 11. Ideas for future potencial features @@ -239,7 +239,7 @@ Go API to create and interact with the containers. to install docker GPU

    -
    +
     // Do ensure that the docker command does not need sudo to run
     sudo chmod 666 /var/run/docker.sock
     
    @@ -254,7 +254,7 @@ To set up the internal dependencies and build the entire go code into a single binary

    -
    +
     make
     
    @@ -267,7 +267,7 @@ To set up P2PRC on Windows, simply run this batch file. Make sure you are not in admin mode when running this.

    -
    +
     .\install.bat
     
    @@ -278,7 +278,7 @@ are not in admin mode when running this.

    2.2.4. Add appropriate paths to .bashrc

    -
    +
     export P2PRC=/<PATH>/p2p-rendering-computation
     export PATH=/<PATH>/p2p-rendering-computation:${PATH}
     
    @@ -288,7 +288,7 @@ export PATH=/<PATH>/p2p-rendering-computation:${PATH}

    2.2.5. Test if binary works

    -
    +
     p2prc --help
     
    @@ -296,7 +296,7 @@ p2prc --help
    1. Output:
      -
      +
       NAME:
          p2p-rendering-computation - p2p cli application to create and access VMs in other servers
       
      @@ -359,7 +359,7 @@ GLOBAL OPTIONS:
       

      3.0.1. Start as a server

      -
      +
       p2prc -s 
       
      @@ -368,7 +368,7 @@ p2prc -s

      3.0.2. View server Specification

      -
      +
       p2prc --specs=<ip address>
       
      @@ -381,7 +381,7 @@ p2prc --specs=<ip address> use the --gpu if you know the other machine has a gpu.

      -
      +
       p2prc --touch=<server ip address> -p <number of ports> --gpu
       
      @@ -394,7 +394,7 @@ p2prc --touch=<server ip address> -p <number of ports> --gpu The docker id is present in the output where you create a container

      -
      +
       p2prc --rm=<server ip address> --id=<docker container id> 
       
      @@ -403,7 +403,7 @@ p2prc --rm=<server ip address> --id=<docker container id>

      3.0.5. Adding servers to ip table

      -
      +
       p2prc --as=<server ip address you want to add> 
       
      @@ -412,7 +412,7 @@ p2prc --as=<server ip address you want to add>

      3.0.6. Update ip table

      -
      +
       p2prc --us 
       
      @@ -421,7 +421,7 @@ p2prc --us

      3.0.7. List Servers

      -
      +
       p2prc --ls 
       
      @@ -430,7 +430,7 @@ p2prc --ls

      3.0.8. View Network interfaces

      -
      +
       p2prc --ni
       
      @@ -439,7 +439,7 @@ p2prc --ni

      3.0.9. Viewing Containers created Client side

      -
      +
       p2prc --tc
       
      @@ -448,7 +448,7 @@ p2prc --tc

      3.0.10. Running plugin

      -
      +
       p2prc --plugin <plugin name> --id <container id or group id>
       
      @@ -457,7 +457,7 @@ p2prc --plugin <plugin name> --id <container id or group id>

      3.0.11. Create group

      -
      +
       p2prc --cgroup
       
      @@ -466,7 +466,7 @@ p2prc --cgroup

      3.0.12. Add container to group

      -
      +
       p2prc --group <group id> --id <container id>
       
      @@ -475,7 +475,7 @@ p2prc --group <group id> --id <container id>

      3.0.13. View groups

      -
      +
       p2prc --groups
       
      @@ -484,7 +484,7 @@ p2prc --groups

      3.0.14. View specific group

      -
      +
       p2prc --group <group id>
       
      @@ -493,7 +493,7 @@ p2prc --group <group id>

      3.0.15. Delete container from group

      -
      +
       p2prc --rmcgroup --group <group id> --id <container id> 
       
      @@ -502,7 +502,7 @@ p2prc --rmcgroup --group <group id> --id <container id>

      3.0.16. Delete entire group

      -
      +
       p2prc --rmgroup <group id>
       
      @@ -511,7 +511,7 @@ p2prc --rmgroup <group id>

      3.0.17. Pulling plugin from a remote repo

      -
      +
       p2prc --pp <repo link>
       
      @@ -520,7 +520,7 @@ p2prc --pp <repo link>

      3.0.18. Deleting plugin from the plugin directory

      -
      +
       p2prc --rp <plugin name> 
       
      @@ -529,29 +529,29 @@ p2prc --rp <plugin name>

      3.0.19. Added custom metadata about the current node

      -
      +
       p2prc --amd "custom metadata"
       
      -
      -

      3.0.20. MapPort and link to domain name

      +
      +

      3.0.20. MapPort and link to domain name

      Allows to expose remote ports from a machine in the P2P network.

      -
      +
       p2prc --mp <port no to map> --dn <domain name to link Mapped port against>
       
        -
      1. MapPort in remote machine
        +
      2. MapPort in remote machine

        This is to ensure ports on remote machines on the P2PRC can be easily opened.

        -
        +
         p2prc --mp <port no to map> --dn <domain name to link Mapped port against> --ra <remote server address>
         
        @@ -574,7 +574,7 @@ servers with optimal performance, enhancing their overall network experience.

        -
        +

        p2pmoduleArch.png

        Figure 1: UML diagram of P2P module

        @@ -675,7 +675,7 @@ from the TURN server. The flow below describes the workflow.
      3. Call /FRPPort
      4. -
        +
         http://<turn server ip>:<server port no>/FRPport
         
        @@ -769,7 +769,7 @@ p2prc.h p2prc.so Below are a sample set of commands to open the bindings implementation.

        -
        +
         # run
         cd Bindings/
         # list files
        @@ -863,7 +863,7 @@ that convert a go object to JSON string initially and converts it to
         
         
      5. A Pseudo code to refer to the common function implementation shape could be represented as:
        -
        +
         func <Function name> (output *C.char) {
               <response>,<error> := <P2PRC function name>(<parameters if needed>)
               if <error> != nil {
        @@ -882,8 +882,8 @@ func <Function name> (output *C.char) {
         

        5.3. Current languages supported

        -
        -

        5.3.1. Python

        +
        +

        5.3.1. Python

          @@ -921,8 +921,8 @@ called from other programming languages.
        -
        -

        5.3.2. Haskell

        +
        +

        5.3.2. Haskell

        P2PRC officially supports Haskell bindings and will further support @@ -1040,7 +1040,7 @@ from the TURN server. The flow below describes the workflow.

      6. Call /FRPPort
      7. -
        +
         http://<turn server ip>:<server port no>/FRPport
         
        @@ -1075,21 +1075,36 @@ func main() { -
        -

        10. Blog posts

        +
        +

        10. Blog posts

        -
        -

        10.1. Self host within 5 minutes any program

        +
        +

        10.1. Self host within 5 minutes any program

        + + + +
          +
        • Video tutorial:
        • +
        + +
        +

        maxresdefault.jpg +

        +
        +

        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.

        -
        -

        10.1.1. 1. Find a program you want to run

        +
        +

        10.1.1. 1. Find a program you want to run

        Let's try to setup a really easy program (Let's do with Linkwarden @@ -1099,10 +1114,10 @@ compose installed on your local machine.

          -
        1. Let's run Linkwarden using docker compose and P2PRC
          +
        2. Let's run Linkwarden using docker compose and P2PRC

          -Installation instrutions: +Installation instructions:

           mkdir linkwarden && cd linkwarden
          @@ -1117,7 +1132,7 @@ Environment configuration
           vim .env
           
           # Change values
          -NEXTAUTH_URL=http://localhost:3000/api/v1/auth
          +NEXTAUTH_URL=https://<DOMAIN NAME>/api/v1/auth
           NEXTAUTH_SECRET=VERY_SENSITIVE_SECRET
           POSTGRES_PASSWORD=CUSTOM_POSTGRES_PASSWORD
           
          @@ -1150,7 +1165,7 @@ p2prc -s & Run map port and domain mapping

          -p2prc --mp 3000 --dn ldt.akilan.io
          +p2prc --mp 3000 --dn <DOMAIN NAME>
           

          @@ -1172,7 +1187,8 @@ A entry 217.76.63.222

        -Your done now just head to ldt.akilan.io (Or your domain name you added) +Your done now just head to the DOMAIN NAME you added. +ex: https://linkwarden.akilan.io

      8. @@ -1190,8 +1206,8 @@ Your done now just head to ldt.akilan.io (Or your domain name you added) -
        -

        11. Ideas for future potencial features

        +
        +

        11. Ideas for future potencial features

        Consists of personal loideas for the future of P2PRC. @@ -1199,8 +1215,8 @@ At moment only has main contributors writiing to this.

        -
        -

        11.1. To support hetrogenous set of Nodes that cannot run P2PRC

        +
        +

        11.1. To support hetrogenous set of Nodes that cannot run P2PRC

        This stems from a personal issue I have when doing research @@ -1217,8 +1233,8 @@ network nodes.

        -
        -

        11.1.1. Assumptions:

        +
        +

        11.1.1. Assumptions:

        • I have a Morello board that cannot run P2PRC
        • @@ -1231,8 +1247,8 @@ as well look into custom tasks into the hetrogenous hardware.
        -
        -

        11.1.2. Set of interesting possible:

        +
        +

        11.1.2. Set of interesting possible:

        We build a cool set possibilities before and use this to build up the implementation @@ -1249,8 +1265,8 @@ weight hypervisors.

      -
      -

      11.1.3. Implementation

      +
      +

      11.1.3. Implementation

      • To use implementations similar to socat to ensure we can bind address of local @@ -1264,7 +1280,7 @@ other nodes can access the Morello board who have permission access.
      -
      +

      P2PRCRemoteNodes.png

      Figure 2: Implementation idea (To be improved upon)

      @@ -1276,7 +1292,7 @@ other nodes can access the Morello board who have permission access.

    Author: Akilan

    -

    Created: 2025-01-27 Mon 22:30

    +

    Created: 2025-01-28 Tue 16:13

    Validate

    diff --git a/Docs/index.org b/Docs/index.org index b638f43..13d317f 100644 --- a/Docs/index.org +++ b/Docs/index.org @@ -777,6 +777,14 @@ func main() { * Blog posts ** Self host within 5 minutes any program + + - Author: [[http://akilan.io/][Akilan Selvacoumar]] + - Date: 28-01-2025 + + + - Video tutorial: + [[https://youtu.be/rN4SiVowg5E][https://i3.ytimg.com/vi/rN4SiVowg5E/maxresdefault.jpg]] + 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. @@ -786,7 +794,7 @@ quickly do a map port and domain name mapping in a single command. compose installed on your local machine. **** Let's run Linkwarden using docker compose and P2PRC - [[https://docs.linkwarden.app/self-hosting/installation][Installation instrutions]]: + [[https://docs.linkwarden.app/self-hosting/installation][Installation instructions]]: #+BEGIN_SRC mkdir linkwarden && cd linkwarden curl -O https://raw.githubusercontent.com/linkwarden/linkwarden/refs/heads/main/docker-compose.yml @@ -798,7 +806,7 @@ curl -L https://raw.githubusercontent.com/linkwarden/linkwarden/refs/heads/main/ vim .env # Change values -NEXTAUTH_URL=http://localhost:3000/api/v1/auth +NEXTAUTH_URL=https:///api/v1/auth NEXTAUTH_SECRET=VERY_SENSITIVE_SECRET POSTGRES_PASSWORD=CUSTOM_POSTGRES_PASSWORD #+END_SRC @@ -821,7 +829,7 @@ p2prc -s & Run map port and domain mapping #+BEGIN_SRC -p2prc --mp 3000 --dn ldt.akilan.io +p2prc --mp 3000 --dn #+END_SRC Sample response @@ -838,7 +846,8 @@ p2prc --mp 3000 --dn ldt.akilan.io A entry 217.76.63.222 #+END_SRC - Your done now just head to ldt.akilan.io (Or your domain name you added) + Your done now just head to the DOMAIN NAME you added. + ex: https://linkwarden.akilan.io diff --git a/README.md b/README.md index 916b43e..0712390 100644 --- a/README.md +++ b/README.md @@ -85,9 +85,9 @@ Users acting as clients retain full control over how tasks are batched and assig
    ## Documentation We have documented to our best effort the basics of p2prc: -Link: https://p2prc.akilan.io/Docs/ +## Link: https://p2prc.akilan.io/Docs/ -