Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate support for plugin simple-obfs #406

Closed
ortonomy opened this issue Jul 1, 2017 · 37 comments · Fixed by #587
Closed

Integrate support for plugin simple-obfs #406

ortonomy opened this issue Jul 1, 2017 · 37 comments · Fixed by #587

Comments

@ortonomy
Copy link

ortonomy commented Jul 1, 2017

One of the leading distributors of a package for using Shadowsocks servers Streisand has just merged a PR that enables the simple-obfs plugin by default.
(https://github.com/shadowsocks/simple-obfs AND StreisandEffect/streisand#743)

It's said this plugin helps defeat local QOS by ISPs, and could be very useful in China.

On iOS, Shadowrocket supports simple-obfs settings, can you integrate this into Shadowsocks-NG for Mac OS?

@Kaijun
Copy link

Kaijun commented Jul 8, 2017

vote for this!

@Kaijun
Copy link

Kaijun commented Jul 8, 2017

as @ortonomy said, not only OSX iOS clients, but also Android clients now support simple-obfs configuration through some kind of Plugin mechanisms.

@haoxi911
Copy link

vote for this!

1 similar comment
@herozhang
Copy link

vote for this!

@nilbot
Copy link

nilbot commented Jul 23, 2017

fyi, Homebrew for mac os has binaries already built for shadowsocks-libev[1] and simple-obfs[2].

[1] https://github.com/Homebrew/homebrew-core/blob/2cd7ab86d244b8c55abcd70abfec1fc5c354f30d/Formula/shadowsocks-libev.rb
[2] https://github.com/Homebrew/homebrew-core/blob/a0071b854ad3193d26cb85585560415b89e2f35f/Formula/simple-obfs.rb

@Kaijun
Copy link

Kaijun commented Jul 24, 2017

@nilbot thanks. basically, we could start simple-obfs under stand-alone mode for now before ShadowsocksX-NG gets supported

@ortonomy
Copy link
Author

@nilbot - yes, this has always been the case. We know that ss-libev has the simple-obfs plugin support, but Shadowsocks-NG has the ss-libev without the plugin.

That's why we're asking for it to be integrated. Using a CLI for a service you turn on and off several hundred times a day can be pretty annoying, compared to a taskbar utility.

@mactrash
Copy link

mactrash commented Aug 5, 2017

vote for this!

@xzeequike
Copy link

Vote for this!
Well, I have already used simple-obfs standalone version before the supporting. Hoping this plugin will be integrated to this project!

@starzou
Copy link

starzou commented Oct 12, 2017

Vote for this!

3 similar comments
@Windfarer
Copy link

Vote for this!

@lamk
Copy link

lamk commented Oct 13, 2017

Vote for this!

@smallSquirrel
Copy link

Vote for this!

@x0r2d2
Copy link

x0r2d2 commented Oct 18, 2017

+1

@timothyqiu
Copy link
Contributor

@qiuyuzhou I think these are needed if implement this using SIP003:

  • Get the prebuilt obfs-local binary and necessary dependencies from Homebrew, and let SSX-NG extract them to Application Support/ShadowsocksX-NG just like ss-local and privoxy do.
  • Add two text fields to the server profile: Plugin and Plugin Options.
  • Add --plugin PLUGIN and --plugin-opts PLUGIN_OPTIONS to the ss-local command line arguments if the corresponding value in the server profile is not empty, and make sure obfs-local is accessible for ss-local (this simplest solution is putting them in the same directory).
  • For the profile QR code, SIP002 URI scheme encodes plugin settings like this: ss://[email protected]:8888/?plugin=obfs-local%3Bobfs%3Dhttp#Example2. Detailed description can be found here.

Then we can enable simple-obfs by filling Plugin with obs-local and Plugin Options with something like obfs=http;obfs-host=www.baidu.com.

FYI:

  • SS-libev 3.0.5 already supports SIP003, so no upgrade to ss-local is needed.
  • For SIP003 plugin, no plugin chaining is allowed (see this comment for rationalization). That means the Kcptun plugin won't coexist with simple-obfs. Maybe disabling the existing Kcptun options when SIP003 plugin is enabled is a better choice.

@qiuyuzhou
Copy link
Collaborator

@timothyqiu
Current kcptun implement in ng is not by plugin system of shadowsocks-libev. So there is no plugin chain limiting.

@timothyqiu
Copy link
Contributor

Just noticed that SS-libev 3.0.5 supports plugin and plugin-opts fields in the server JSON config, so there's no need to modify the command line arguments.

@Reedef
Copy link

Reedef commented Oct 25, 2017

Vote for this!

@bzdk
Copy link

bzdk commented Oct 26, 2017

vote for this

1 similar comment
@DapengWei
Copy link

vote for this

@himemeizhi
Copy link

vote for this

3 similar comments
@iswenjie
Copy link

vote for this

@yfu1900
Copy link

yfu1900 commented Oct 31, 2017

vote for this

@finishy1995
Copy link

vote for this

@ortonomy
Copy link
Author

ortonomy commented Nov 1, 2017

@qiuyuzhou -- this is getting quite a lot of attention. Are you going to work on this / put this in your roadmap?

@Kaijun
Copy link

Kaijun commented Nov 2, 2017

@ortonomy I saw @timothyqiu has already sent a PR

@shanghaix
Copy link

Vote for this!

@blueteeth
Copy link

vote for it!

@lifeva
Copy link

lifeva commented Nov 6, 2017

vote fot it

@LiJinyao
Copy link

Vote for this!

@xlqstar
Copy link

xlqstar commented Nov 22, 2017

vote for this

@hatakawas
Copy link

vote for this.

@nabilfreeman
Copy link

Vote for this!

@dev-johnny-gh
Copy link

+1

@ahlixinjie
Copy link

+10086

@gilbertwong96
Copy link

vote for this

@goubo
Copy link

goubo commented Aug 28, 2018

vote for this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.