@@ -15,7 +15,7 @@ import (
1515)
1616
1717type (
18- Tunnel struct {
18+ Config struct {
1919 Protocol string `json:"protocol"`
2020 Subdomain string `json:"subdomain"`
2121 Domain string `json:"domain"`
@@ -39,19 +39,19 @@ var (
3939 hostBytes = []byte ("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDoSLknvlFrFzroOlh1cqvcIFelHO+Wvj1UZ/p3J9bgsJGiKfh3DmBqEw1DOEwpHJz4zuV375TyjGuHuGZ4I4xztnwauhFplfEvriVHQkIDs6UnGwJVr15XUQX04r0i6mLbJs5KqIZTZuZ9ZGOj7ZWnaA7C07nPHGrERKV2Fm67rPvT6/qFikdWUbCt7KshbzdwwfxUohmv+NI7vw2X6vPU8pDaNEY7vS3YgwD/WlvQx+WDF2+iwLVW8OWWjFuQso6Eg1BSLygfPNhAHoiOWjDkijc8U9LYkUn7qsDCnvJxCoTTNmdECukeHfzrUjTSw72KZoM5KCRV78Wrctai1Qn6yRQz9BOSguxewLfzHtnT43/MLdwFXirJ/Ajquve2NAtYmyGCq5HcvpDAyi7lQ0nFBnrWv5zU3YxrISIpjovVyJjfPx8SCRlYZwVeUq6N2yAxCzJxbElZPtaTSoXBIFtoas2NXnCWPgenBa/2bbLQqfgbN8VQ9RaUISKNuYDIn4+eO72+RxF9THzZeV17pnhTVK88XU4asHot1gXwAt4vEhSjdUBC9KUIkfukI6F4JFxtvuO96octRahdV1Qg0vF+D0+SPy2HxqjgZWgPE2Xh/NmuIXwbE0wkymR2wrgj8Hd4C92keo2NBRh9dD7D2negnVYaYsC+3k/si5HNuCHnHQ== tunnel@labstack.com" )
4040)
4141
42- func ( t * Tunnel ) Create ( ) {
42+ func Create ( c * Config ) {
4343 hostKey , _ , _ , _ , err := ssh .ParseAuthorizedKey (hostBytes )
4444 if err != nil {
4545 log .Fatalf ("Failed to parse host key: %v" , err )
4646 }
4747 config := & ssh.ClientConfig {
48- User : t .User ,
48+ User : c .User ,
4949 Auth : []ssh.AuthMethod {
5050 ssh .Password ("password" ),
5151 },
5252 HostKeyCallback : ssh .FixedHostKey (hostKey ),
5353 BannerCallback : func (message string ) error {
54- if ! t .HideBanner {
54+ if ! c .HideBanner {
5555 fmt .Print (message )
5656 }
5757 return nil
@@ -72,8 +72,8 @@ func (t *Tunnel) Create() {
7272 }
7373 connReq := & http.Request {
7474 Method : "CONNECT" ,
75- URL : & url.URL {Path : t .Host },
76- Host : t .Host ,
75+ URL : & url.URL {Path : c .Host },
76+ Host : c .Host ,
7777 Header : make (http.Header ),
7878 }
7979 if proxyURL .User != nil {
@@ -88,13 +88,13 @@ func (t *Tunnel) Create() {
8888 }
8989 defer resp .Body .Close ()
9090
91- c , chans , reqs , err := ssh .NewClientConn (tcp , t .Host , config )
91+ conn , chans , reqs , err := ssh .NewClientConn (tcp , c .Host , config )
9292 if err != nil {
9393 log .Fatalf ("Cannot open new session: %v" , err )
9494 }
95- client = ssh .NewClient (c , chans , reqs )
95+ client = ssh .NewClient (conn , chans , reqs )
9696 } else {
97- client , err = ssh .Dial ("tcp" , t .Host , config )
97+ client , err = ssh .Dial ("tcp" , c .Host , config )
9898 }
9999 if err != nil {
100100 log .Fatalf ("Failed to connect: %v" , err )
@@ -120,7 +120,7 @@ func (t *Tunnel) Create() {
120120 }()
121121
122122 // Remote listener
123- ln , err := client .Listen ("tcp" , fmt .Sprintf ("%s:%d" , t .RemoteHost , t .RemotePort ))
123+ ln , err := client .Listen ("tcp" , fmt .Sprintf ("%s:%d" , c .RemoteHost , c .RemotePort ))
124124 if err != nil {
125125 log .Fatalf ("Failed to listen on remote host %v" , err )
126126 }
@@ -138,7 +138,7 @@ func (t *Tunnel) Create() {
138138 defer in .Close ()
139139
140140 // Target connection
141- out , err := net .Dial ("tcp" , fmt .Sprintf ("%s:%d" , t .TargetHost , t .TargetPort ))
141+ out , err := net .Dial ("tcp" , fmt .Sprintf ("%s:%d" , c .TargetHost , c .TargetPort ))
142142 if err != nil {
143143 log .Printf ("Failed to connect to target %v" , err )
144144 return
0 commit comments