Pin verified native backend and complete proxy regression checks

This commit is contained in:
Levi committed 2026-09-14 00:34:27 +08:00
1 parent a0e84a75b1
commit ca98806dcc
5 files changed
+61 -2

No files matched your search

+2
View File
@@ -0,0 +1,2 @@
# Keep upstream plugin sources recognizable and collapsed in GitHub reviews.
ui/flutter/third_party/** linguist-vendored whitespace=-blank-at-eol,-blank-at-eof
+7 -1
View File
@@ -19,8 +19,14 @@ jobs:
flutter-version: '3.41.6'
- run: flutter pub get
working-directory: ui/flutter
- run: ./gradlew :flutter_inappwebview_android:compileDebugJavaWithJavac
- uses: gradle/actions/setup-gradle@v4
with:
gradle-version: '8.14'
- name: Compile Android native plugin
working-directory: ui/flutter/android
run: |
printf 'flutter.sdk=%s\nsdk.dir=%s\n' "$FLUTTER_ROOT" "$ANDROID_HOME" > local.properties
gradle :flutter_inappwebview_android:compileDebugJavaWithJavac
apple-plugin:
runs-on: macos-14
steps:
+1 -1
View File
@@ -3,7 +3,7 @@ module github.com/GopeedLab/gopeed
go 1.25.4
require (
github.com/GopeedLab/webview_go v0.0.0-20260913162656-5f4deb099005
github.com/GopeedLab/webview_go v0.0.0-20260913163011-2273ba19d2db
github.com/anacrolix/torrent v1.60.1-0.20251217073903-486bcbe758e0
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5
github.com/bodgit/sevenzip v1.6.1
+2
View File
@@ -27,6 +27,8 @@ github.com/GopeedLab/webview_go v0.0.0-20260423085439-7a2f88b6e9b5 h1:86LVTaNDM/
github.com/GopeedLab/webview_go v0.0.0-20260423085439-7a2f88b6e9b5/go.mod h1:FvV19lu9rQ9NcbczN5y8pbWecURRRbWa8tbfFARBDa0=
github.com/GopeedLab/webview_go v0.0.0-20260913162656-5f4deb099005 h1:4jyEJfmP5tpx+qaWqTF6Y04jy4xTTTGWo3l2alh9uZM=
github.com/GopeedLab/webview_go v0.0.0-20260913162656-5f4deb099005/go.mod h1:FvV19lu9rQ9NcbczN5y8pbWecURRRbWa8tbfFARBDa0=
github.com/GopeedLab/webview_go v0.0.0-20260913163011-2273ba19d2db h1:kZya8+v61mZx7ys0eN1MePyXJPoB1HGRE9O4cValX9M=
github.com/GopeedLab/webview_go v0.0.0-20260913163011-2273ba19d2db/go.mod h1:FvV19lu9rQ9NcbczN5y8pbWecURRRbWa8tbfFARBDa0=
github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0=
github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
+49
View File
@@ -209,3 +209,52 @@ func TestSOCKSIngressPreservesRemoteDNS(t *testing.T) {
t.Fatalf("unexpected body %q", body)
}
}
func TestHTTPUpgradeIsForwarded(t *testing.T) {
upstream := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
if r.Header.Get("Upgrade") != "fixture" {
http.Error(w, "upgrade lost", 400)
return
}
c, b, err := w.(http.Hijacker).Hijack()
if err != nil {
return
}
defer c.Close()
b.WriteString("HTTP/1.1 101 Switching Protocols\r\nConnection: Upgrade\r\nUpgrade: fixture\r\n\r\n")
b.Flush()
line, err := b.ReadString('\n')
if err != nil {
return
}
b.WriteString(line)
b.Flush()
}))
defer upstream.Close()
local, err := New(nil)
if err != nil {
t.Fatal(err)
}
defer local.Close()
endpoint, _ := url.Parse(local.URL())
c, err := net.Dial("tcp", endpoint.Host)
if err != nil {
t.Fatal(err)
}
defer c.Close()
c.SetDeadline(time.Now().Add(3 * time.Second))
io.WriteString(c, "GET "+upstream.URL+"/ HTTP/1.1\r\nHost: fixture\r\nConnection: Upgrade\r\nUpgrade: fixture\r\n\r\n")
reader := bufio.NewReader(c)
response, err := http.ReadResponse(reader, nil)
if err != nil {
t.Fatal(err)
}
if response.StatusCode != 101 {
t.Fatalf("upgrade failed: %s", response.Status)
}
io.WriteString(c, "hello\n")
line, err := reader.ReadString('\n')
if err != nil || line != "hello\n" {
t.Fatalf("upgraded echo %q %v", line, err)
}
}