diff --git a/config/tunconf.go b/config/tunconf.go index e382221..5a79083 100644 --- a/config/tunconf.go +++ b/config/tunconf.go @@ -30,6 +30,7 @@ type Conf struct { TargetPort string SamHost string SamPort string + TunnelHost string TargetForPort443 string TunName string EncryptLeaseSet bool @@ -235,6 +236,7 @@ func (c *Conf) I2PINILoad(iniFile string, label ...string) error { c.SetPort(label...) c.SetSAMHost(label...) c.SetSAMPort(label...) + c.SetEndpointHost(label...) c.SetTunName(label...) c.SetSigType(label...) c.SetEncryptLease(label...) diff --git a/forwarder-client.go b/forwarder-client.go index aed319c..1d83953 100644 --- a/forwarder-client.go +++ b/forwarder-client.go @@ -81,6 +81,10 @@ func (f *SAMClientForwarder) ID() string { return f.TunName } +func (f *SAMClientForwarder) Keys() i2pkeys.I2PKeys { + return f.SamKeys +} + func (f *SAMClientForwarder) print() []string { lsk, lspk, lspsk := f.leasesetsettings() return []string{ diff --git a/forwarder.go b/forwarder.go index 3fc8d72..efb47d1 100644 --- a/forwarder.go +++ b/forwarder.go @@ -88,6 +88,10 @@ func (f *SAMForwarder) ID() string { return f.TunName } +func (f *SAMForwarder) Keys() i2pkeys.I2PKeys { + return f.SamKeys +} + func (f *SAMForwarder) Cleanup() { f.publishStream.Close() f.publishListen.Close() diff --git a/interface/interface.go b/interface/interface.go index e725294..4d82e36 100644 --- a/interface/interface.go +++ b/interface/interface.go @@ -1,5 +1,9 @@ package samtunnel +import ( + "github.com/eyedeekay/sam3/i2pkeys" +) + type SAMTunnel interface { GetType() string Cleanup() @@ -11,6 +15,7 @@ type SAMTunnel interface { //Destination() string Base32() string Base64() string + Keys() i2pkeys.I2PKeys Serve() error Close() error Up() bool diff --git a/tcp/forwarder-client.go b/tcp/forwarder-client.go index 09449a5..e496721 100644 --- a/tcp/forwarder-client.go +++ b/tcp/forwarder-client.go @@ -80,6 +80,10 @@ func (f *SAMClientForwarder) ID() string { return f.TunName } +func (f *SAMClientForwarder) Keys() i2pkeys.I2PKeys { + return f.SamKeys +} + func (f *SAMClientForwarder) print() []string { lsk, lspk, lspsk := f.leasesetsettings() return []string{ diff --git a/tcp/forwarder.go b/tcp/forwarder.go index b5993f2..918eca0 100644 --- a/tcp/forwarder.go +++ b/tcp/forwarder.go @@ -87,6 +87,10 @@ func (f *SAMForwarder) ID() string { return f.TunName } +func (f *SAMForwarder) Keys() i2pkeys.I2PKeys { + return f.SamKeys +} + func (f *SAMForwarder) Cleanup() { f.publishStream.Close() f.publishListen.Close() diff --git a/udp/forwarder-client-udp.go b/udp/forwarder-client-udp.go index 655d9fe..244f5f3 100644 --- a/udp/forwarder-client-udp.go +++ b/udp/forwarder-client-udp.go @@ -82,6 +82,10 @@ func (f *SAMSSUClientForwarder) ID() string { return f.TunName } +func (f *SAMSSUClientForwarder) Keys() i2pkeys.I2PKeys { + return f.SamKeys +} + func (f *SAMSSUClientForwarder) Cleanup() { f.publishConnection.Close() f.connectStream.Close() diff --git a/udp/forwarder-udp.go b/udp/forwarder-udp.go index 640dcae..eccc4b4 100644 --- a/udp/forwarder-udp.go +++ b/udp/forwarder-udp.go @@ -82,6 +82,10 @@ func (f *SAMSSUForwarder) ID() string { return f.TunName } +func (f *SAMSSUForwarder) Keys() i2pkeys.I2PKeys { + return f.SamKeys +} + func (f *SAMSSUForwarder) Cleanup() { f.publishConnection.Close() f.clientConnection.Close()