Version 1.1.0
This commit is contained in:
		
							parent
							
								
									15803714a8
								
							
						
					
					
						commit
						aab3524082
					
				@ -17,7 +17,7 @@ func forward(localConn net.Conn, config *ssh.ClientConfig) {
 | 
				
			|||||||
	// Loop for retries:
 | 
						// Loop for retries:
 | 
				
			||||||
	for {
 | 
						for {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Try to connect to the SSD server:
 | 
							// Try to connect to the SSH server:
 | 
				
			||||||
		if sshClientConn, err := ssh.Dial(`tcp`, serverAddrString, config); err != nil {
 | 
							if sshClientConn, err := ssh.Dial(`tcp`, serverAddrString, config); err != nil {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// Failed:
 | 
								// Failed:
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										15
									
								
								Main.go
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								Main.go
									
									
									
									
									
								
							@ -1,18 +1,33 @@
 | 
				
			|||||||
package main
 | 
					package main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
	"golang.org/x/crypto/ssh"
 | 
						"golang.org/x/crypto/ssh"
 | 
				
			||||||
	"runtime"
 | 
						"runtime"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func main() {
 | 
					func main() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Show the current version:
 | 
				
			||||||
 | 
						fmt.Println(`SSHTunnel v1.1.0`)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Allow Go to use all CPUs:
 | 
						// Allow Go to use all CPUs:
 | 
				
			||||||
	runtime.GOMAXPROCS(runtime.NumCPU())
 | 
						runtime.GOMAXPROCS(runtime.NumCPU())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Read the configuration from the command-line args:
 | 
						// Read the configuration from the command-line args:
 | 
				
			||||||
	readFlags()
 | 
						readFlags()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Check if the password was provided:
 | 
				
			||||||
 | 
						for true {
 | 
				
			||||||
 | 
							if password == `` {
 | 
				
			||||||
 | 
								// Promt for the password:
 | 
				
			||||||
 | 
								fmt.Println(`Please provide the password for the connection:`)
 | 
				
			||||||
 | 
								fmt.Scanln(&password)
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								break
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Create the SSH configuration:
 | 
						// Create the SSH configuration:
 | 
				
			||||||
	config := &ssh.ClientConfig{
 | 
						config := &ssh.ClientConfig{
 | 
				
			||||||
		User: username,
 | 
							User: username,
 | 
				
			||||||
 | 
				
			|||||||
@ -8,7 +8,7 @@ func readFlags() {
 | 
				
			|||||||
	flag.StringVar(&serverAddrString, `server`, `127.0.0.1:22`, `The (remote) SSH server, e.g. 'my.host.com', 'my.host.com:22', '127.0.0.1:22', 'localhost:22'.`)
 | 
						flag.StringVar(&serverAddrString, `server`, `127.0.0.1:22`, `The (remote) SSH server, e.g. 'my.host.com', 'my.host.com:22', '127.0.0.1:22', 'localhost:22'.`)
 | 
				
			||||||
	flag.StringVar(&localAddrString, `local`, `127.0.0.1:50000`, `The local end-point of the tunnel, e.g. '127.0.0.1:50000', 'localhost:50000'.`)
 | 
						flag.StringVar(&localAddrString, `local`, `127.0.0.1:50000`, `The local end-point of the tunnel, e.g. '127.0.0.1:50000', 'localhost:50000'.`)
 | 
				
			||||||
	flag.StringVar(&remoteAddrString, `remote`, `127.0.0.1:27017`, `The remote side end-point (e.g. on the machine with the SSH server), e.g. a MongoDB (port 27017) '127.0.0.1:27017', a web server '127.0.0.1:80'`)
 | 
						flag.StringVar(&remoteAddrString, `remote`, `127.0.0.1:27017`, `The remote side end-point (e.g. on the machine with the SSH server), e.g. a MongoDB (port 27017) '127.0.0.1:27017', a web server '127.0.0.1:80'`)
 | 
				
			||||||
	flag.StringVar(&username, `user`, `username`, `The user's name for the SSD server.`)
 | 
						flag.StringVar(&username, `user`, `username`, `The user's name for the SSH server.`)
 | 
				
			||||||
	flag.StringVar(&password, `pwd`, `password`, `The user's password for the SSD server.`)
 | 
						flag.StringVar(&password, `pwd`, ``, `The user's password for the SSH server.`)
 | 
				
			||||||
	flag.Parse()
 | 
						flag.Parse()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user