-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
Grpc Gun Transport #757
Grpc Gun Transport #757
Conversation
没有引入 gun 就没必要用这个名字吧。其他的如 Tcp quic 都很直观 |
好的,但是问题在于这个东西里面默认了gun的一些名字,而且和原版的gun的实现之间是兼容的,所以用了这个名字。如果你不愿意使用这个名字,可以换一个。 |
同建议用 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe @kslr created some infinite recursions. Other than that it should be fine.
@RPRX 我在协议上加了一个 grpc 的别名,但 streamSetting 没有改名,你觉得呢 |
This PR should be squash merged, as there are so many unnecessary commit with inaccurate names. |
其实可以都要,等会儿我补上去 |
没加的主要原因是实现太脏,如果能简单做到最好。 |
* update geoip, geosite * Chore: bump google.golang.org/grpc from 1.35.0 to 1.36.0 (#711) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Chore: bump github.com/miekg/dns from 1.1.39 to 1.1.40 (#712) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add /opt to assets location (#715) * Add definition for transport layer chained proxy * Regenerate protobuf for transport layer chain proxy * Added Transport Layer Chained Proxy Support * Fix dependency cycle caused by core import in internet package * Fix forced outbound tag not set correctly * Disable routing for platform initialized detour * Added Auto generated file * don't build tagged outbound dial on configure setting * Fix for context with empty content * Fix ALPN being set to h2 by default when using TCP (#716) * Deprecate legacy VMess header with a planned decommission (#717) * Zero Security imaginary security level * Regenerate protobuf for Zero Security imaginary security level * Imaginary Security Lever: zero: turn off all security on payload data * Test for Imaginary Security Level: zero * Fix panic: index out of range (#727) * Chore: update dependencies & protobuf (#728) * A memory-efficient and fast hybrid matcher (#639) * a faster DomainMatcher implementation * rename benchmark name * fix linting errors * add hybrid matcher * add rabin-karp algorithm * rename test & fix linting errors * add more comment * format code * revert `MatcherGroup` match func * fix linting errors * Allow the selection of domain matcher * Apply domain selector choice * json parsing rule for domain matcher * output debug message when ACAutomatonDomainMatcher is enabled. * update version * update geoip, geosite * Chore: bump github.com/google/go-cmp from 0.5.4 to 0.5.5 (#732) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * workaround crash when V is not in context * rename config for NewACAutomatonDomainMatcher to hybrid * Allow bulk definition of domain matcher at parent level * fix misbehaving code crash and create bug on transport level front proxy * fixing misbehaving code in mux that do not propagate context * create session content in the context if do not exist yet * Create a name for linear domain matcher * update version to 4.35.1 * Chore: update protobuf & dependencies (#748) * Chore: bump actions/stale from v3.0.17 to v3.0.18 (#752) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * DNS: refine Android bootstrap DNS logic (#767) * Chore: bump github.com/pires/go-proxyproto from 0.4.2 to 0.5.0 (#751) Bumps [github.com/pires/go-proxyproto](https://github.com/pires/go-proxyproto) from 0.4.2 to 0.5.0. - [Release notes](https://github.com/pires/go-proxyproto/releases) - [Commits](pires/go-proxyproto@v0.4.2...v0.5.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Grpc Gun Transport (#757) * introduce grpc transport structure * fix package name inconsistency * grpc gun transport dialer and listener * add selective build tag * add grpc:gun listener * add grpc:gun config * add generated files * various bug fix for gun:grpc transport * Cache dialed connections * grpc:gun Use V2Ray Managed Dial function * Update destination.pb.go * Update gun.go * GunSettings -> GunConfig * gu -> gs * add grpc alias Co-authored-by: RPRX <63339210+rprx@users.noreply.github.com> Co-authored-by: kslr <kslrwang@gmail.com> * fix applied wrong name, and wrong varible name * Add grpcSettings (alias of gunSettings) * update geoip, geosite * loopback outbound, allow you to redirect connection to the dispatcher again (#770) * Added Loop back proxy * Added json processing for lo proxy * Fix bug for lo proxy * Fix bug for lo proxy * rename the outbound name * Loopback: update naming and fix lint issues * Chore: change lo to loopback Co-authored-by: kslr <kslrwang@gmail.com> Co-authored-by: loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com> * update version * Chore: format import using goimports (#780) * Chore: fix lint according to golangci-lint errors (#781) * Chore: fix lint according to golangci-lint errors * Chore: regenerate pb.go files * Add minimal perfect hash domain matcher (#743) * rename to HybridDomainMatcher & convert domain to lowercase * refactor code & add open hashing for rolling hash map * fix lint errors * update app/dns/dns.go * convert domain to lowercase in `strmatcher.go` * keep the original matcher behavior * add mph domain matcher & conver domain names to loweercase when matching * fix lint errors * fix lint errors * Route: mph add alias hybrid * FakeDNS: use 198.18.0.0/15 as default IP pool (#779) * Add remote address to grpc transport layer conn (#783) * Add remote address to grpc transport layer conn * go fmt * Revert "Test: fix http2 dial timeout (#570)" (#778) * Revert "Test: fix http2 dial timeout (#570)" This reverts commit 405a051. * Feat: lower the payload size * Remove state.NegotiatedProtocolIsMutual It has been deprecated since Go 1.16 because it shouldn't be used: this value is always true. * Chore: format code Co-authored-by: GitHub Action <action@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Kid <44045911+kidonng@users.noreply.github.com> Co-authored-by: Shelikhoo <xiaokangwang@outlook.com> Co-authored-by: 秋のかえで <autmaple@protonmail.com> Co-authored-by: DarthVader <61409963+darsvador@users.noreply.github.com> Co-authored-by: CalmLong <37164399+CalmLong@users.noreply.github.com> Co-authored-by: RPRX <63339210+rprx@users.noreply.github.com> Co-authored-by: kslr <kslrwang@gmail.com> Co-authored-by: maskedeken <52683904+maskedeken@users.noreply.github.com>
This is originally developed by @DuckSoft and other anonymous developers.
基于GRPC的传输协议,可以过Cloudflare, ALPN = h2, 有h2自带的mux。
有效减少特征,对抗封锁。