Skip to content

oomol-lab/ssh-forward

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Forward UDF over SSH

Origin code from daytona

This is a simple implementation of a forward UDF over SSH. It is used to forward a UDF server to a remote machine.

package main

import (
	"context"

	"github.com/sirupsen/logrus"

	"oosshagent/pkg/forwarder"
)

func main() {
	myForwarder := forwarder.NewUnixRemote("/var/folders/dt/wqkv0wf13nl6n8jbf98jggjh0000gn/T/ssh-px37G3xkyelq/agent.4973", "192.168.1.250", "/tmp/my_socks")
	myForwarder.SetTunneledConnState(func(tun *forwarder.ForwardConfig, state *forwarder.TunneledConnState) {
		logrus.Infof("%v", state)
	})

	myForwarder.SetKeyFile("/Users/danhexon/.ssh/id_ed25519")
	myForwarder.SetUser("ihexon")
	myForwarder.SetPort(22)

	// We set a callback to know when the tunnel is ready
	myForwarder.SetConnState(func(tun *forwarder.ForwardConfig, state forwarder.ConnState) {
		switch state {
		case forwarder.StateStarting:
			logrus.Infoln("STATE is Starting")
		case forwarder.StateStarted:
			logrus.Infoln("STATE is Started")
		case forwarder.StateStopped:
			logrus.Infoln("STATE is Stopped")
		}
	})

	if err := myForwarder.Start(context.Background()); err != nil {
		logrus.Infof("SSH tunnel error: %v", err)
	}
}

Releases

No releases published

Packages

No packages published

Languages