Haskell bindings

This commit is contained in:
2024-09-30 18:21:50 +01:00
parent 3a40e687a5
commit 4115451875
4 changed files with 59 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ package main
import "C"
import (
"encoding/json"
"fmt"
"time"
"github.com/Akilan1999/p2p-rendering-computation/abstractions"
@@ -124,7 +125,7 @@ func EscapeFirewall(HostOutsideNATIP *C.char, HostOutsideNATPort *C.char, intern
time.Sleep(5 * time.Second)
ExposedPort, err := frp.StartFRPClientForServer(C.GoString(HostOutsideNATIP)+":"+C.GoString(HostOutsideNATPort), C.GoString(serverPort), C.GoString(internalPort), "")
ExposedPort, err := frp.StartFRPClientForServer(C.GoString(HostOutsideNATIP)+":"+C.GoString(HostOutsideNATPort), serverPort, C.GoString(internalPort), "")
if err != nil {
return C.CString(err.Error())
}
@@ -134,6 +135,7 @@ func EscapeFirewall(HostOutsideNATIP *C.char, HostOutsideNATPort *C.char, intern
//export MapPort
func MapPort(Port *C.char) *C.char {
fmt.Println(C.GoString(Port))
entireAddress, _, err := abstractions.MapPort(C.GoString(Port))
if err != nil {
return C.CString(err.Error())

View File

@@ -68,7 +68,7 @@ USAGE:
p2prc [global options] command [command options] [arguments...]
VERSION:
<version no>
2.0.0
COMMANDS:
help, h Shows a list of commands or help for one command
@@ -81,6 +81,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]
@@ -96,10 +97,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)
@@ -213,6 +217,11 @@ p2prc --rp <plugin name>
p2prc --amd "custom metadata"
```
### Map port
```
p2prc --mp <internal port no from your machine> --dn <domain name you want the port linked to>
```
<br>
--------------

18
cert.pem Normal file
View File

@@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC9DCCAdygAwIBAgIQBDLR74zO5RQhQ3A3Qc8ATDANBgkqhkiG9w0BAQsFADAS
MRAwDgYDVQQKEwdBY21lIENvMB4XDTI0MDgyMzAyNTAyMFoXDTI1MDgyMzAyNTAy
MFowEjEQMA4GA1UEChMHQWNtZSBDbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAJttaguoiojkhQLxnSzAvQCLlhIUH3o5JYIBqJ0pGwLo1gzY757WVyup
JBw1RzH9zL2Yv0h3vDkZ7OdpnuLub6rU4t936fdyimlXkO7PzJktai3TykJa2tbL
/yWnf6j8ndlzFHxrlm67Gx/lkMBJGC9CnAfA+9oArzLo1Pg9Js8OfHOsWsJNOR8k
cKj3Ym75t0qflbllnhRRf/En8rNRpmyStmyEErXRaQb37pVMK1jhJ+1E7Gt4/Pap
WT2VMrx9TKjE/j25qFm2oX5itVZNPRzQ8VSPsZ3Hxay6PMf4kdXHohjVxWYJF8ex
hXyrvr+iq6Dybz3FI2tkzcBNx4cn/H0CAwEAAaNGMEQwDgYDVR0PAQH/BAQDAgWg
MBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwDwYDVR0RBAgwBocE
TWH5GDANBgkqhkiG9w0BAQsFAAOCAQEASAs1gSkNPZkXFuXOHX+89MfVp+JKb8Uu
KwcRFvzMe0iOCCWYJfWFq7HHZMdJcgPl1Bvps23usRd3FRJj9Vf9cydSn+ulgmI+
BtNdUvPS2YyrzavDI2uqIMR6i8DHK0Duq2Et66SGEUzolZ0P1Xz3h6Lxf4p4MT6q
2kjr0OmfFce6zjuTt0/W0pX1rVyvRTEjUp8LFC/u/ETSRet8Ql/26TfQFPmy5bKt
PPiECIqOT6ll/yZ1R82dzvMIDt/tDrW3YF6aB3U+vi3i2qhxvcLnuCjrlrQ1AJbQ
8bIleUGVU2fcHS7Wb6Pv9ZNenoKnf0kFJcFIXYoW6gVOwPtlvwss8Q==
-----END CERTIFICATE-----

28
key.pem Normal file
View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCbbWoLqIqI5IUC
8Z0swL0Ai5YSFB96OSWCAaidKRsC6NYM2O+e1lcrqSQcNUcx/cy9mL9Id7w5Gezn
aZ7i7m+q1OLfd+n3coppV5Duz8yZLWot08pCWtrWy/8lp3+o/J3ZcxR8a5Zuuxsf
5ZDASRgvQpwHwPvaAK8y6NT4PSbPDnxzrFrCTTkfJHCo92Ju+bdKn5W5ZZ4UUX/x
J/KzUaZskrZshBK10WkG9+6VTCtY4SftROxrePz2qVk9lTK8fUyoxP49uahZtqF+
YrVWTT0c0PFUj7Gdx8WsujzH+JHVx6IY1cVmCRfHsYV8q76/oqug8m89xSNrZM3A
TceHJ/x9AgMBAAECggEADzFEulsBH5xmvADuAh/c2Z7LTn0VDpdjaS/MUYBhGYm0
0pCp63a8EpJ36yHyEZrjVm0F1YmOpm44T+5tD3WLCMHCY2GPRxa1HNLoYc+CCj78
L/qRvKaw2WobSIz014nJzCWJjRffHne/kQCZg5IhgQ0bv05Hz+ldNra3ioQ/tOFo
nc0asUYmIaQDSANuW4GejMJlxVfISIpv1OH+bWt0bpdKk8tg+b+xe2h8i7VK2URL
3WUZNpWXFSCeWR2Qp+ugjaTMRUDHp9lY8OXoKWay5/eU6aZXn+KXdnbmOIJ+dfus
JIBoAgSvMfXMvx9hS6YofZ6bYmx512/G+iuDqdxDwQKBgQDHxH0C9w9abZ/GYFAv
0vjr3ZoTjJjPipqEqJM7qDLYsXaHM7OzvzfVC4MMYQuduHXaJi5elyFPUJ6J2gx1
x6FlwG2V0SmsQMa24V07H8WH8Nj/gYn2Adbew87QHQNNSZgShNvCtd+MJcqOw1TD
KJKbYGrIfvgUpjDTwAnh8AOZiQKBgQDHLbes5iSOsmRCOGZdF5F07orNZRXLFpgJ
I0NMhtlay/w/Z0COEvJTW9jznrgE2j04xQ0tsTkpBjQ7dUftkkzRMnU5L7KOVczM
O2Yk9eqQD1X7NMzvZDmAAQrjOGWahyUqYsz+CRdanNPA5cXm7aS38ZmYKGM57vBs
YDxPhB9yVQKBgAwMpQG1xz5MGHQNwShxUERh1HZTZ7A1CwbvaBoUFiUN5zlWfANe
iE6YaCop/FpiEvG6lddsxDyVf0qPVWsRRIHvrmx39kyGh7XmOApl6zM86snWlWy6
RaygIOxao6VYyAxt6ReAguBgMyyTSZyP6O/oS+iWB/6u24kaLz5qjL0JAoGAd0Kn
jQ5Ma2jjYUc1+52mCbbfQ3a4Yt8Hb8k+fa7srFIhmrEvVSKBGGqRb+XkV3t5Vume
J3LLQAYn9kYWKGkGN+iXigNGTbWQJ+WVFqJsrY+RMxX9c4W2bC+znjPhmnI7TbLU
/XLiGe53WDP8mHZIv58ZEaN1LnYkXTAOTKpWzfUCgYAVgv8aLS6wyJVJnNiTD5Rx
QvA/nmNfJjq0jYyF0BM5IvfIxlBni/+jdbSib0YJFF3iDExeX9j50XyI2g1Lcxl1
URtJpKhbCzOiAs6D5HNcVfJN9/3u5T1uafoaOt0oVKjPDrzI0TynBYAxUWuB1GoG
FUwGV3CVAuvxNGanc1rhvA==
-----END PRIVATE KEY-----