* ss-libev: Introduce mode parameter for start_plugin
Since obfsproxy handles client and server in different ways, no matter
standalone or manged mode, so introduce the mode for start_plugin() to
support obfsproxy.
With more comments added to plugin.h for later developers.
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* ss-libev: Move SS protocol plugin initialization code to start_ss_plugin
Move SS protocol plugin initialization to start_ss_plugin() function, as
the support for obfsproxy will not use that environment.
Also, remove the use of get_current_dir_name() which is a glibc
extension, such macro hack will just make code less readable.
Not to mention it already screw up code folding of vim.
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* ss-libev: Introduce obfsproxy standalone mode support as plugin
Now shadowsocks-libev supports to use obfsproxy as plugin.
Currently we only support to use standalone(proxy) mode of obfsproxy, as
managed mode needs to use SOCKS5 as upstream forward, while ss-libev
doesn't support it yet.
And the output from plugin is just trashed for now.
Support to pipe them into stdout/stderr will be added later.
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* ss-libev: doc: Fix wrong cmdline parameter for plugin options
Command line option for plugin options is "--plugin-opts", not the json
option "--plugin_opts"
Fix it.
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
Add experimental HTTP/TLS obfuscating as an **optional extension** of shadowsocks protocol.
More discussions can be found here: https://github.com/shadowsocks/shadowsocks-org/issues/26
As this feature is still a SIP (Shadowsocks Improvement Proposal), it's very unstable and experimental. So,
1. Don't enable it unless you know what it is.
2. Be very careful when using it in production environment.
* Add 'tunnel_address' support for json config parser
And allow ss-tunnel to use the newly introduced parser.
Signed-off-by: Adam Anonymous <anonymous_temp_user@yahoo.co.jp>
* Add "mode" support for jconf
Now jconf supports "mode" setting, allowed values are "tcp_only",
"tcp_and_udp" and "udp_only".
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* Use jconf "mode" for server/local/tunnel/manager
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* Add per-project vimrc to gitignore
As the coding style differs from kernel and other projects, so such
project vimrc should be helpful.
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* Doc: Introduce asciidoc based documentation framework
Use asciidoc for new documentation framework, which could not only
output man pages, but also htmls.
And asciidoc documentation is much more human-readable than roff man
pages.
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* Doc: Convert shadowsocks-libev man page to asciidoc
The port to asciidoc has some format change compared to old one.
The most obvious one is the options listed in SYNOPSIS.
Now the options list is not split into 2/3 columns, or we must use
asciidoc tables and introduce table frames.
Other small change includes the removal of AUTHOR sector, as it's not
an expendable method to update AUTHOR sector every time it gets updated.
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* Doc: Convert ss-local man page to asciidoc
Also modify gitignore, since it use too generic rules to ignore such
documentation.
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* Doc: Convert ss-manager man page to asciidoc
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* Doc: Convert ss-nat man page to asciidoc
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* Doc: Convert ss-redir man page to asciidoc
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* Doc: Convert ss-server man page to asciidoc
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* Doc: Convert ss-tunnel man page to asciidoc
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* Doc: Remove old roff man pages
Welcome to the new age of asciidoc.
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* Doc: Add equivalent tables for command line options and config file
Now user can get a more clear view of config file and command line
options.
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>