Commit Graph
24 Commits
Author SHA1 Message Date
fatedier 7c522ee205 deps: bump kcp-go to v5.6.73 (#5604)
Upgrade github.com/xtaci/kcp-go/v5 from v5.6.13 to v5.6.73. The
templexxx/cpu and templexxx/xorsimd indirect dependencies are no longer
required and are dropped from go.mod and go.sum. The go and toolchain
lines are unchanged and no other module changes.

This release carries the KCP-side fixes frp relies on: write backpressure
and duplicate fast-retransmit suppression, ACK and fast-retransmit flush
timing, the zero-window probe interval, and MTU accounting for FEC
overhead. The wire format is unchanged and frp interoperates with peers
on the old version in both directions.

kcp-go marks UDPSession.SetStreamMode as deprecated, but frp still needs
stream mode and there is no replacement. The calls stay as they are and a
staticcheck exclusion scoped to pkg/util/net/kcp.go is added to
.golangci.yml instead of //nolint comments. No code changes.

This is not a security fix: govulncheck reports the same result before and
after. Binary size with embedded web assets (CGO_ENABLED=0, -trimpath,
-ldflags "-s -w"): darwin/arm64 frpc 15,607,842 -> 15,591,282 (-16,560)
and frps 19,307,122 -> 19,290,434 (-16,688); linux/amd64 frpc
17,416,354 -> 17,449,122 (+32,768) and frps 21,274,786 -> 21,311,650
(+36,864).

Validation:

- go build ./...
- go test -count=1 ./... (all packages pass except the pre-existing
  test/e2e/compatibility failure, which needs explicit baseline binary
  flags and fails on a clean checkout as well)
- make e2e with the real binaries (263 specs: 261 passed, 2 skipped)
- repo-wide golangci-lint run: 2 SA1019 reports without the exclusion,
  0 issues with it
- govulncheck ./...: unchanged (11 reachable standard-library advisories,
  no kcp-go or xtaci entries)
- Manual KCP throughput check on linux/arm64 loopback (frpc <-> frps over
  transport.protocol=kcp with TLS, yamux and FEC 10/3): a single 256 MB
  transfer goes from 7.8 MB/s to about 153 MB/s and 8 x 16 MB concurrent
  transfers from 7.8 MB/s to about 470 MB/s with matching sha256, and old
  and new peers interoperate in both directions. The repository e2e suite
  has no KCP throughput assertions, so this is a one-off manual check.
2026-11-05 00:42:03 +08:00
fatedier f8fc3c6b1b server: drop HTTP/1.1 h2c upgrade handling (#5436)
Use net/http Server.Protocols and the merged golib listener path instead of the deprecated h2c handler. Keep HTTP/1.1 and cleartext HTTP/2 prior-knowledge support, while intentionally dropping HTTP/1.1 Upgrade: h2c.
2026-07-22 19:55:42 +08:00
fatedier 7dc7be930e ssh: fix malformed exec payload panic (#5428) 2026-07-21 23:04:56 +08:00
fatedier e9464919d1 protocol: add v2 wire protocol with binary framing and capability negotiation (#5294) 2026-04-27 00:17:00 +08:00
fatedier 6cdef90113 web: bump dev dependencies in frpc and frps package-lock.json (#5239) 2026-03-16 23:22:42 +08:00
Oleksandr Redko c2454e7114 refactor: fix modernize lint issues (#5215) 2026-03-07 23:10:19 +08:00
fatedier 01997deb98 add persistent proxy/visitor store with CRUD API and web UI (#5188) 2026-03-02 01:09:59 +08:00
fatedier 15fd19a16d fix lint (#5068) 2025-11-18 01:11:44 +08:00
fatedier 7fe295f4f4 update golangci-lint version (#4897) 2025-07-25 17:10:32 +08:00
fatedier c777891f75 update .golangci.yml (#4848) 2025-06-25 11:40:23 +08:00
fatedier 43cf1688e4 update golangci-lint version (#4817) 2025-06-25 11:40:23 +08:00
fatedier 9757a351c6 fix golangci lint config (#4698) 2025-03-07 16:56:08 +08:00
fatedier dff56cb0ca update .golangci.yml (#4527) 2024-11-07 17:14:40 +08:00
fatedier f7a06cbe61 use go1.23 (#4495) 2024-10-17 17:22:41 +08:00
fatedier 69cc422edf client plugin: added plugin tls2raw (#4341) 2024-07-25 14:28:17 +08:00
fatedier dd7e2e8473 return 504 instead of 404 for proxy type http request timeout (#4151) 2024-04-11 20:19:08 +08:00
fatedier b36f3834eb use math/rand/v2 (#4020) 2024-03-20 15:48:31 +08:00
fatedier 52f66b05e6 update golangci-lint version to 1.56 (#4013) 2024-02-21 17:20:40 +08:00
fatedier 5e77c8e2d3 fix lint (#3877) 2023-12-21 21:19:49 +08:00
fatedier cc2076970f update doc (#3844) 2023-12-14 20:54:03 +08:00
fatedier c95311d1a0 support yaml/json/toml configuration format, make ini deprecated (#3599) 2023-09-06 10:18:02 +08:00
fatedier 100148d925 support go1.20 (#3287) 2023-02-05 20:52:36 +08:00
fatedier 6a71d71e58 improve not found response (#3121) 2022-10-09 12:13:27 +08:00
fatedier 9d077b02cf lint by golangci-lint (#3080) 2022-08-29 01:02:53 +08:00