|
@ -62,18 +62,19 @@ void FATAL(const char *msg) { |
|
|
|
|
|
|
|
|
void usage() { |
|
|
void usage() { |
|
|
printf("\n"); |
|
|
printf("\n"); |
|
|
printf(" Shadowsocks-libev %s\n\n", VERSION); |
|
|
|
|
|
|
|
|
printf("shadowsocks-libev %s\n\n", VERSION); |
|
|
printf(" maintained by Max Lv <max.c.lv@gmail.com>\n\n"); |
|
|
printf(" maintained by Max Lv <max.c.lv@gmail.com>\n\n"); |
|
|
printf(" usage:\n\n"); |
|
|
printf(" usage:\n\n"); |
|
|
printf(" ss-[local|redir|server] -s server_host -p server_port -l local_port -k password\n"); |
|
|
|
|
|
printf(" [-m encrypt_method] [-f pid_file] [-t timeout] [-c config_file]\n"); |
|
|
|
|
|
|
|
|
printf(" ss-[local|redir|server]\n"); |
|
|
|
|
|
printf(" -s server_host -p server_port -l local_port -k password\n"); |
|
|
|
|
|
printf(" [-m encrypt_method] [-f pid_file] [-t timeout] [-c config_file]\n"); |
|
|
printf("\n"); |
|
|
printf("\n"); |
|
|
printf(" options:\n\n"); |
|
|
printf(" options:\n\n"); |
|
|
printf(" encrypt_method: table, rc4\n"); |
|
|
printf(" encrypt_method: table, rc4\n"); |
|
|
printf(" pid_file: valid path to the pid file\n"); |
|
|
printf(" pid_file: valid path to the pid file\n"); |
|
|
printf(" timeout: socket timeout in senconds\n"); |
|
|
printf(" timeout: socket timeout in senconds\n"); |
|
|
printf(" config_file: json format config file\n"); |
|
|
printf(" config_file: json format config file\n"); |
|
|
printf("\n\n"); |
|
|
|
|
|
|
|
|
printf("\n"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void demonize(const char* path) { |
|
|
void demonize(const char* path) { |
|
|