shadowsocks-org icon indicating copy to clipboard operation
shadowsocks-org copied to clipboard

A reconstruct for shadowsocks-go request for review!

Open arthurkiller opened this issue 8 years ago • 11 comments

Hey guys, I have reconstruct the shadowsocks-go and just passed all local test.

Now request for review.

What's New

  • Redesigned for server use
  • Add plenty of log
  • Reconstruct this project, finish the job in ss-local and ss-remote
  • Bug fixing and stability improvement
  • Redesign the interface for easy extension, and use as a package in go
  • Add more features just like load balancing between multi server
  • Make up the Encrypt packet with a better interface for easy extension
  • Fix up the UDP module for ss
  • Support the standard SOCKS5 protocol in shadowsocks-client side
  • Add the AEAD cipher
  • Docker file ready for use!
  • Replace the facilities with go standard library
  • Add DNS server option for server
  • Add vendor for go package management

WIP

  • TCP UDP tunnel module
  • Proformance monitor with go pprof
  • Implement the management interface
  • TFO supported on linux
  • Support PAC list

https://github.com/shadowsocks/shadowsocks-go/pull/221

arthurkiller avatar Aug 30 '17 14:08 arthurkiller

#67 I have implement udp association here

arthurkiller avatar Aug 30 '17 14:08 arthurkiller

@madeye Hey dude, request for your review if possible

arthurkiller avatar Aug 30 '17 14:08 arthurkiller

Such large pull request is almost impossible for upstream to merge. My suggestions:

  1. Create a new fork and invite the upstream maintainer to review your changes.
  2. Or split your large pull requests to small ones and work with the upstream maintainer to merge them.

madeye avatar Aug 31 '17 01:08 madeye

I'm not sure what's the point of this. If you want to start from a better foundation, I believe https://github.com/shadowsocks/go-shadowsocks2 is a better choice to work from. If you just want to fix minor issues, as @madeye has said, it's impossible to merge such a large PR.

riobard avatar Aug 31 '17 05:08 riobard

@madeye thx alot and I have touched with @lixin9311 ,and the merge will be in a manual way

@riobard thx for reply The aim for me to reconstruct this project is making shadowsocks a easier-using package for server developer. I have read the go-shadowsocks2. It's clean and nice, but I think that's not friendly enough for developer, especially the go programmer to program on.And ss-go2 is not releasing at the time I began on my fork.I will keep an eye on it.

arthurkiller avatar Aug 31 '17 05:08 arthurkiller

@riobard In another word, I think your project is really clean and briefly enough. There has noting I need to do to improve it. LOL

Could I ask for a review on my PR if possible? It's just what I had in mind! LOL

arthurkiller avatar Aug 31 '17 05:08 arthurkiller

I have read the go-shadowsocks2. It's clean and nice, but I think that's not friendly enough for developer, especially the go programmer to program on.

I'm curious why you feel it's not friendly for developers. Have you run into any specific issues or difficulties using it? If so, please kindly elaborate.

go-shadowsocks2 was written specifically to provide shadowsocks as a clean library for other Go projects to import. The code is structured to provide minimal interfaces for each layer of shadowsocks and strives to be highly extensible. The included client and server implementation provides a reference example extensively tested with shadowsocks-libev to ensure compatibility.

I spent all the time to create it so we can work from a better foundation. It seems to me a waste of time to rework the original shadowsocks-go, which was deemed to be not worth the effort.

riobard avatar Aug 31 '17 11:08 riobard

[shurg] Perhaps U R right. But that's not the point here, my job is to help this project go better cause there get so many people wanna try this project and looking help. And this PR is only the first step for me on this repo. Bug fixing and stable improvements will coming continuously.

As for It seems to me a waste of time to rework the original shadowsocks-go .Maybe you should open up an issue and directly point all the defects out to help me on.

Anyway, thx for your suggestions @riobard

arthurkiller avatar Aug 31 '17 11:08 arthurkiller

No offense and I really appreciate your enthusiasm to help. Don't get me wrong—I'm sure you've learned a lot during the time to fix ss-go. That effort was definitely worth it to you.

Now that you've learned enough how ss-go works, I would suggest that you keep an eye on the open issues of either ss-go or go-ss2 and see if you could help on any of those.

riobard avatar Aug 31 '17 14:08 riobard

By the way I'm not the maintainer of ss-go so I'm not the right one to review it.

riobard avatar Aug 31 '17 14:08 riobard

@riobard Sure, my pleasure

arthurkiller avatar Sep 01 '17 02:09 arthurkiller