change the help message format

master
fangdingjun 8 years ago
parent f41c629080
commit 60e2c73a5f

@ -106,8 +106,8 @@ func main() {
if host == "" { if host == "" {
switch len(args) { switch len(args) {
case 0: case 0:
flag.PrintDefaults() fmt.Println("you must specify the remote host")
log.Fatal("you must specify the remote host") usage()
case 1: case 1:
host = args[0] host = args[0]
cmd = "" cmd = ""
@ -284,12 +284,12 @@ func passwordAuth() (string, error) {
func usage() { func usage() {
usageStr := `Usage: usageStr := `Usage:
obfss_client -N -d -D [bind_address:]port -f configfile obfss_client -N -d -D [bind_address:]port -f configfile
-i identity_file -L [bind_address:]port:host:hostport -l login_name -i identity_file -L [bind_address:]port:host:hostport
-pw password -p port -l login_name -pw password -p port -obfs_method method
-obfs_key key -disable_obfs_after_handshake
-R [bind_address:]port:host:hostport [user@]hostname [command] -R [bind_address:]port:host:hostport [user@]hostname [command]
Options: Options:
-d verbose mode -d verbose mode
-D [bind_adress:]port -D [bind_adress:]port
@ -332,6 +332,32 @@ Options:
made to that port, the connection is forwarded over made to that port, the connection is forwarded over
the secure channel to host:hostport from the local machine. the secure channel to host:hostport from the local machine.
This option can be specified multiple times. This option can be specified multiple times.
-keepalive_interval interval
Specifies the interval of keep alive message,
the interval is integer in seconds.
-keepalive_max max
Specifies the max error count for keep alive,
when the count reach the max, the connection will
be abort.
Options for obfuscation:
-obfs_method method
Specifies the encryption method.
when this option is specified, the entire connection
will be encrypted.
when set to none, the encryption is disabled.
Avaliable methods: rc4, aes, none(default)
-obfs_key key
Specifies the key to encrypt the connection,
if the server enable the obfs, only known the
right key can connect to the server.
-disable_obfs_after_handshake
when this option is specified, only encrypt the
ssh handshake message.
` `
fmt.Printf("%s", usageStr) fmt.Printf("%s", usageStr)
os.Exit(1) os.Exit(1)

@ -28,13 +28,8 @@ func main() {
var debug bool var debug bool
var hasError bool var hasError bool
flag.Usage = func() { flag.Usage = usage
fmt.Printf("Usage: \n\t%s [options] user@host:path local\n\tor\n\t%s [options] local... user@host:path\n", os.Args[0], os.Args[0])
fmt.Printf("Options:\n\n")
flag.PrintDefaults()
}
flag.BoolVar(&debug, "d", false, "verbose mode") flag.BoolVar(&debug, "d", false, "verbose mode")
flag.StringVar(&port, "p", "22", "port") flag.StringVar(&port, "p", "22", "port")
flag.StringVar(&user, "l", os.Getenv("USER"), "user") flag.StringVar(&user, "l", os.Getenv("USER"), "user")
@ -53,7 +48,6 @@ func main() {
args := flag.Args() args := flag.Args()
if len(args) < 2 { if len(args) < 2 {
//fmt.Printf("Usage: \n\tscp user@host:path local\n\tor\n\tscp local... user@host:path\n")
flag.Usage() flag.Usage()
os.Exit(1) os.Exit(1)
} }
@ -506,3 +500,47 @@ func copyFile(w io.Writer, r io.Reader) error {
} }
} }
} }
func usage() {
usageStr := `Usage:
obfssh_scp -i identity_file -l login_name
-p port -pw password -r -obfs_method method -obfs_key key
-disable_obfs_after_handshake [user@]host1:]file1 ... [user@host2:]file2
Options:
-d verbose mode
-i identity_file
Specifies a identity(private key) for public key authentication.
-l login_name
specifies the user to log in as on the remote machine.
-p port
Port to connect to on the remote host
-pw password
Specifies the password for log in remote machine
-r recursively copy the directories
Options for obfuscation:
-obfs_method method
Specifies the encryption method.
when this option is specified, the entire connection
will be encrypted.
when set to none, the encryption is disabled.
Avaliable methods: rc4, aes, none(default)
-obfs_key key
Specifies the key to encrypt the connection,
if the server enable the obfs, only known the
right key can connect to the server.
-disable_obfs_after_handshake
when this option is specified, only encrypt the
ssh handshake message.
`
fmt.Printf("%s", usageStr)
os.Exit(1)
}

Loading…
Cancel
Save