From b78c009f9f90099fcf1d5e2b4f1491a9659dd797 Mon Sep 17 00:00:00 2001 From: Akilan Date: Thu, 16 Nov 2023 15:17:05 +0000 Subject: [PATCH] modifed shared object calls for python bindings --- .DS_Store | Bin 14340 -> 14340 bytes Bindings/Client.go | 34 +++++++++++++++++++++-- Bindings/python/.DS_Store | Bin 0 -> 6148 bytes abstractions/base.go | 32 +++++++++++++++++++++ abstractions/init.go | 27 ------------------ artwork/.DS_Store | Bin 0 -> 6148 bytes server/server.go | 57 ++++++++++++++++++++++++++++++++++++++ 7 files changed, 121 insertions(+), 29 deletions(-) create mode 100644 Bindings/python/.DS_Store create mode 100644 abstractions/base.go delete mode 100644 abstractions/init.go create mode 100644 artwork/.DS_Store diff --git a/.DS_Store b/.DS_Store index 4ed94e39fe5b509e7f30a9ad8878c4ac14bde8f9..6a4aff2cdeb40a91840b7c3c08f915b8a92f689b 100644 GIT binary patch delta 58 zcmZoEXepTBC7V7ELY-(((z`4a35i3~*yB@E>Z`9L~5r8qe!DL+4laq|j=>Fk@M NG#2x0ex$GrPezmdz5X?92cY3Jo3r diff --git a/Bindings/Client.go b/Bindings/Client.go index 13d9f30..f584882 100644 --- a/Bindings/Client.go +++ b/Bindings/Client.go @@ -7,8 +7,10 @@ import ( "github.com/Akilan1999/p2p-rendering-computation/client" "github.com/Akilan1999/p2p-rendering-computation/client/clientIPTable" "github.com/Akilan1999/p2p-rendering-computation/p2p" + "github.com/Akilan1999/p2p-rendering-computation/p2p/frp" "github.com/Akilan1999/p2p-rendering-computation/plugin" "github.com/Akilan1999/p2p-rendering-computation/server" + "time" ) // The Client package where data-types @@ -19,8 +21,8 @@ import ( // --------------------------------- Container Control ---------------------------------------- //export StartContainer -func StartContainer(IP string, NumPorts int, GPU bool, ContainerName string, baseImage string) (output *C.char) { - container, err := client.StartContainer(IP, NumPorts, GPU, ContainerName, baseImage) +func StartContainer(IP string) (output *C.char) { + container, err := client.StartContainer(IP, 0, false, "", "") if err != nil { return C.CString(err.Error()) } @@ -115,6 +117,34 @@ func UpdateIPTable() (output *C.char) { return C.CString("Success") } +//export EscapeFirewall +func EscapeFirewall(HostOutsideNATIP string, HostOutsideNATPort string, internalPort string) (output *C.char) { + // Get free port from P2PRC server node + serverPort, err := frp.GetFRPServerPort("http://" + HostOutsideNATIP + ":" + HostOutsideNATPort) + + if err != nil { + return C.CString(err.Error()) + } + + time.Sleep(5 * time.Second) + + ExposedPort, err := frp.StartFRPClientForServer(HostOutsideNATIP+":"+HostOutsideNATPort, serverPort, internalPort, "") + if err != nil { + return C.CString(err.Error()) + } + + return C.CString(ExposedPort) +} + +//export MapPort +func MapPort(Port string) *C.char { + port, err := abstractions.MapPort(Port) + if err != nil { + return C.CString(err.Error()) + } + return C.CString(port) +} + // --------------------------------- Controlling Server ---------------------------------------- //export Server diff --git a/Bindings/python/.DS_Store b/Bindings/python/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..d364a5767073632b134efe902b88b1e77426cb8f GIT binary patch literal 6148 zcmeHK%}T>S5Z<-5-BN@c6nb3nTClZ65icRu7cim+mD*6jNpEm;sZ<=4 z`XsoD!o}FxJyS_OiIOnY3DGo!klX7hnW}}S=E*eExxR6TmS~Ng&T@G?9Cl@Y&|7uo z^5n4BmBYc&YSj{Z`v<2Na7DhygsA9j)(#}z9kT)Mb~0s5Ii8< zqym~$Zl4(3q=Q}BIM-rf(4;f2SB81)%H`vQ>(#+7bvWa$LF$PCVxY=E%?uqp|Igu< zS^LPZrqGBOAO`*!1H3-+M;;Vq&(?3{;aMx8-9tmcxB?Xr&?}b!7~nqA(N5!+s6(7< Xu`r0Upk1c}(nUZMLLD*i3k-Y#j|NO{ literal 0 HcmV?d00001 diff --git a/abstractions/base.go b/abstractions/base.go new file mode 100644 index 0000000..3414a37 --- /dev/null +++ b/abstractions/base.go @@ -0,0 +1,32 @@ +package abstractions + +import ( + "github.com/Akilan1999/p2p-rendering-computation/config" + "github.com/Akilan1999/p2p-rendering-computation/config/generate" + "github.com/Akilan1999/p2p-rendering-computation/server" + "github.com/gin-gonic/gin" +) + +// Init Initialises p2prc +func Init(customConfig interface{}) (config *config.Config, err error) { + // set the config file with default paths + config, err = generate.SetDefaults("P2PRC", false, customConfig, false) + if err != nil { + return + } + return +} + +// Start p2prc in a server mode +func Start() (*gin.Engine, error) { + engine, err := server.Server() + if err != nil { + return nil, err + } + return engine, nil +} + +func MapPort(port string) (mapPort string, err error) { + mapPort, err = server.MapPort(port) + return +} diff --git a/abstractions/init.go b/abstractions/init.go deleted file mode 100644 index 81ac369..0000000 --- a/abstractions/init.go +++ /dev/null @@ -1,27 +0,0 @@ -package abstractions - -import ( - "github.com/Akilan1999/p2p-rendering-computation/config" - "github.com/Akilan1999/p2p-rendering-computation/config/generate" - "github.com/Akilan1999/p2p-rendering-computation/server" - "github.com/gin-gonic/gin" -) - -// Init Initialises p2prc -func Init(customConfig interface{}) (config *config.Config, err error) { - // set the config file with default paths - config, err = generate.SetDefaults("P2PRC", false, customConfig, false) - if err != nil { - return - } - return -} - -// Start p2prc in a server mode -func Start() (*gin.Engine, error) { - engine, err := server.Server() - if err != nil { - return nil, err - } - return engine, nil -} diff --git a/artwork/.DS_Store b/artwork/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5b80bbde6628a23d2c33d09c9d4cf7bfc4910e85 GIT binary patch literal 6148 zcmeHKJ8HvF5S&e17~Hr_`7V$mIl;r&C-4PAY)B(eh)J(1=gQGC`)Py-q;MKD3-jh_ zwey6g&}sqL?(_TvYyqqZXMFjx48QMK#9d{KOz?~o9x-6V8}YYr?FR37CO&5R%lUE| zUdM6p5``R)19CtP$N@QUB?qdpt~XaYPshjsIdD4;`1hd^&b@d_j!y@d7y-yDrX#qI zS%Ta=LGHy