This website requires JavaScript.
b292e9face
docs: update README with kanhole branding and contributors
dev
akukanara
2026-05-29 22:57:25 +07:00
f4a88f4b2c
feat(gui): redesign kanholec GUI with modern interface and WiX v7 installer
akukanara
2026-05-29 22:53:41 +07:00
2cd3052da1
rebrand: frp -> kanhole (kanhole server, kanholec client)
kannn
2026-05-29 09:05:34 +00:00
a0a42a4966
feat: ent ORM, admin UI, client auth, Fyne GUI, Windows/MSI packaging
kannn
2026-05-29 08:58:22 +00:00
8563a5fc74
feat: use wire v2 framing for XTCP NatHoleSid (#5343 )
fatedier
2026-05-29 13:46:28 +08:00
012d9fb0c5
Merge pull request #5340 from fatedier/design/wire-v2-workconn-message-framing
fatedier
2026-05-28 18:06:56 +08:00
3e19ef9bfd
feat(ui): add xtcp tab to frps dashboard (#5322 )
fatedier
2026-05-21 22:18:00 +08:00
e20f974d61
feat(ui): add all proxies tab to frps dashboard (#5321 )
fatedier
2026-05-20 16:20:58 +08:00
a88e0e9a49
refactor: clean up code (#5308 )
fatedier
2026-05-12 11:13:50 +08:00
ad07d27914
fix: reset UDP read deadline on write activity to prevent idle timeout
霜冷长河
2026-05-11 20:23:39 +08:00
8666e3643f
protocol: add AEAD encryption negotiation to v2 wire control channel (#5304 )
fatedier
2026-05-06 10:43:47 +08:00
57bb9e80fe
test/e2e: add compatibility test suite for wire protocol version negotiation (#5297 )
fatedier
2026-04-27 18:28:22 +08:00
cef71fb949
plugin/http_proxy: fix fragmented CONNECT method detection and add read deadline (#5296 )
fatedier
2026-04-27 02:30:29 +08:00
410c4861c4
update Release.md (#5295 )
fatedier
2026-04-27 01:31:10 +08:00
e9464919d1
protocol: add v2 wire protocol with binary framing and capability negotiation (#5294 )
fatedier
2026-04-27 00:17:00 +08:00
e8dfd6efcc
web/frpc: use static imports for proxy and visitor route components (#5286 )
fatedier
2026-04-14 01:18:31 +08:00
a9a4416ecf
vhost/http: fix auth bypass when routeByHTTPUser is used with proxy-style requests (#5285 )
fatedier
2026-04-14 00:58:19 +08:00
d667be7a0a
update architecture pic (#5270 )
fatedier
2026-03-30 03:22:35 +08:00
31c3deb4f7
deps: bump golib to v0.6.0 (#5269 )
fatedier
2026-03-30 00:29:17 +08:00
31e271939b
test/e2e: allocate dynamic ports outside whitelist ranges in server whitelist test (#5268 )
fatedier
2026-03-30 00:21:30 +08:00
061c141756
update README.md (#5267 )
fatedier
2026-03-29 23:53:17 +08:00
98ee1adb13
client: close TCP connection when fmux session creation fails (#5262 )
cui
2026-03-29 23:16:00 +08:00
76abeff881
ci: remove security vulnerability scan workflow (#5266 )
fatedier
2026-03-29 22:55:52 +08:00
c694b1f6a9
bump pion/stun to v3 to fix vulnerability (#5245 )
Oleksandr Redko
2026-03-29 17:45:23 +03:00
5ed02275da
docker: copy shared web directory for npm workspace builds
fatedier
2026-03-20 14:39:35 +08:00
60c4f5d4bd
ci: bump github actions to latest major versions (#5251 )
fatedier
2026-03-20 14:34:47 +08:00
d20e384bf1
doc: add agent runbooks directory with release process (#5248 )
fatedier
2026-03-20 13:52:12 +08:00
c95dc9d88a
web: remove redundant SCSS and CSS files superseded by shared (#5247 )
fatedier
2026-03-20 13:08:18 +08:00
38a71a6803
web/frps: redesign frps dashboard with sidebar nav, responsive layout, and shared component workspace (#5246 )
fatedier
2026-03-20 03:33:44 +08:00
6cdef90113
web: bump dev dependencies in frpc and frps package-lock.json (#5239 )
fatedier
2026-03-16 23:22:42 +08:00
85e8e2c830
web/frpc: redesign frpc dashboard with sidebar nav, proxy/visitor list and detail views (#5237 )
fatedier
2026-03-16 09:44:30 +08:00
ff4ad2f907
auth/oidc: fix eager token fetch at startup, add validation and e2e tests (#5234 )
fatedier
2026-03-15 22:29:45 +08:00
94a631fe9c
auth/oidc: cache OIDC access token and refresh before expiry (#5175 )
Shani Pathak
2026-03-11 21:54:46 +05:30
6b1be922e1
add AGENTS.md and CLAUDE.md, remove them from .gitignore (#5232 )
fatedier
2026-03-12 00:21:31 +08:00
4f584f81d0
test/e2e: replace sleeps with event-driven waits in chaos/group/store tests (#5231 )
fatedier
2026-03-12 00:11:09 +08:00
9669e1ca0c
test/e2e: replace RunProcesses client sleep with log-based proxy readiness detection (#5226 )
fatedier
2026-03-09 22:28:23 +08:00
48e8901466
test/e2e: optimize RunFrps/RunFrpc with process exit detection (#5225 )
fatedier
2026-03-09 10:28:47 +08:00
bcd2424c24
test/e2e: optimize e2e test time by replacing sleeps with TCP readiness checks (#5223 )
fatedier
2026-03-08 23:41:33 +08:00
c7ac12ea0f
server/group: refactor with shared abstractions and fix concurrency issues (#5222 )
fatedier
2026-03-08 18:57:21 +08:00
eeb0dacfc1
pkg/metrics/mem: remove redundant map write-backs and optimize proxy lookup (#5221 )
fatedier
2026-03-08 10:40:39 +08:00
535eb3db35
refactor: use maps.Clone and slices.Concat (#5220 )
Oleksandr Redko
2026-03-08 04:38:16 +02:00
605f3bdece
client/visitor: deduplicate visitor connection handshake and wrapping (#5219 )
fatedier
2026-03-08 01:03:40 +08:00
764a626b6e
server/control: deduplicate close-proxy logic and UserInfo construction (#5218 )
fatedier
2026-03-08 00:02:14 +08:00
c2454e7114
refactor: fix modernize lint issues (#5215 )
Oleksandr Redko
2026-03-07 17:10:19 +02:00
017d71717f
server: introduce SessionContext to encapsulate NewControl parameters (#5217 )
fatedier
2026-03-07 20:17:00 +08:00
bd200b1a3b
fix: typos in comments, tests, functions (#5216 )
Oleksandr Redko
2026-03-07 12:43:04 +02:00
c70ceff370
fix: three high-severity bugs across nathole, proxy, and udp modules (#5214 )
fatedier
2026-03-07 13:36:02 +08:00
bb3d0e7140
deduplicate common logic across proxy, visitor, and metrics modules (#5213 )
fatedier
2026-03-07 12:00:27 +08:00
cf396563f8
client/proxy: unify work conn wrapping across all proxy types (#5212 )
fatedier
2026-03-07 01:33:37 +08:00
0b4f83cd04
pkg/config: use modern Go stdlib for sorting and string operations (#5210 )
fatedier
2026-03-06 23:13:29 +08:00
e9f7a1a9f2
pkg: use modern Go stdlib functions to simplify code (#5209 )
fatedier
2026-03-06 22:14:46 +08:00
d644593342
server/proxy: simplify HTTPS and TCPMux proxy domain registration (#5208 )
fatedier
2026-03-06 21:31:29 +08:00
427c4ca3ae
server/proxy: simplify HTTP proxy domain registration by removing duplicate loop (#5207 )
fatedier
2026-03-06 21:17:30 +08:00
f2d1f3739a
pkg/util/xlog: fix AddPrefix not updating existing prefix due to range value copy (#5206 )
fatedier
2026-03-06 20:44:40 +08:00
c23894f156
fix: validate CA cert parsing and add missing ReadHeaderTimeout (#5205 )
fatedier
2026-03-06 17:59:41 +08:00
cb459b02b6
fix: WebsocketListener nil panic and OIDC auth data race (#5204 )
fatedier
2026-03-06 16:51:52 +08:00
8f633fe363
fix: return buffers to pool on error paths to reduce GC pressure (#5203 )
fatedier
2026-03-06 15:55:22 +08:00
c62a1da161
fix: close connections on error paths to prevent resource leaks (#5202 )
fatedier
2026-03-06 15:18:38 +08:00
f22f7d539c
server/group: fix port leak and incorrect Listen port in TCPGroup (#5200 )
fatedier
2026-03-06 02:25:47 +08:00
462c987f6d
pkg/msg: change UDPPacket.Content from string to []byte to avoid redundant base64 encode/decode (#5198 )
fatedier
2026-03-06 01:38:24 +08:00
541878af4d
docs: update release notes for config parsing error improvements (#5196 )
fatedier
2026-03-05 00:00:46 +08:00
b7435967b0
pkg/config: fix line numbers shown incorrectly for TOML type mismatch errors (#5195 )
fatedier
2026-03-04 20:53:22 +08:00
774478d071
pkg/config: improve error messages with line number details for config parsing (#5194 )
fatedier
2026-03-04 19:27:30 +08:00
fbeb6ca43a
refactor: restructure API packages into client/http and server/http with typed proxy/visitor models (#5193 )
fatedier
2026-03-04 17:38:43 +08:00
381245a439
build: add noweb tag to allow building without frontend assets (#5189 )
fatedier
2026-03-02 01:32:19 +08:00
01997deb98
add persistent proxy/visitor store with CRUD API and web UI (#5188 )
fatedier
2026-03-02 01:09:59 +08:00
d0347325fc
pkg/config: fix custom domain validation to prevent false matches with subdomain host (#5178 )
fatedier
2026-02-13 14:10:18 +08:00
519368b1fd
server/api: fix DeleteProxies endpoint returning empty response instead of JSON (#5163 )
fatedier
2026-02-06 11:22:34 +08:00
9634fd99d1
web: ensure npm install runs before build (#5154 )
fatedier
2026-02-04 12:55:24 +08:00
7a1c248b67
bump version to 0.67.0 (#5146 )
fatedier
2026-01-31 13:49:29 +08:00
886c9c2fdb
web/frpc: redesign dashboard (#5145 )
fatedier
2026-01-31 12:43:31 +08:00
266c492b5d
web/frps: add detailed client and proxy views with enhanced tracking (#5144 )
fatedier
2026-01-31 02:18:35 +08:00
5dd70ace6b
refactor: move web embeds to web/ directory (#5139 )
fatedier
2026-01-27 02:56:57 +08:00
fb2c98e87b
rotate gold sponsor
fatedier
2026-01-27 02:45:38 +08:00
ed13141c56
refactor: separate API handlers into dedicated packages with improved HTTP utilities (#5127 )
fatedier
2026-01-14 19:50:55 +08:00
3370bd53f5
udp: fix proxy protocol header sent on every packet instead of first packet only (#5119 )
fatedier
2026-01-09 11:33:00 +08:00
1245f8804e
server: replace client metadata with IP address in registry (#5118 )
fatedier
2026-01-09 11:07:19 +08:00
479e9f50c2
web/frpc: refactor dashboard with improved structure and API layer (#5117 )
fatedier
2026-01-09 00:40:51 +08:00
a4175a2595
update release notes (#5116 )
fatedier
2026-01-08 20:25:03 +08:00
36718d88e4
server: add client registry with dashboard support (#5115 )
fatedier
2026-01-08 20:07:14 +08:00
bc378bcbec
rotate gold sponsor order periodically (#5114 )
fatedier
2026-01-08 19:54:13 +08:00
33428ab538
add e2e tests for exec-based token source (#5111 )
fatedier
2026-01-04 14:45:51 +08:00
ef96481f58
update version and release notes (#5106 )
fatedier
2025-12-25 10:15:40 +08:00
7526d7a69a
refactor: separate auth config from runtime and defer token resolution (#5105 )
fatedier
2025-12-25 00:53:08 +08:00
2bdf25bae6
rotate gold sponsor order periodically (#5094 )
fatedier
2025-12-11 12:48:08 +08:00
0fe8f7a0b6
refactor: reorganize security policy into dedicated packag (#5088 )
fatedier
2025-12-05 16:26:09 +08:00
2e2802ea13
refactor: use MessageSender interface for message transporter (#5083 )
fatedier
2025-12-02 11:22:48 +08:00
c3821202b1
docs: remove zsxq section (#5077 )
fatedier
2025-11-26 23:55:54 +08:00
15fd19a16d
fix lint (#5068 )
fatedier
2025-11-18 01:11:44 +08:00
66973a03db
Add exec value source type (#5050 )
Krzysztof Bogacki
2025-11-17 17:20:21 +01:00
f736d171ac
rotate gold sponsor order periodically (#5067 )
fatedier
2025-11-18 00:09:37 +08:00
b27b846971
config: add enabled field for individual proxy and visitor (#5048 )
fatedier
2025-11-06 14:05:03 +08:00
e025843d3c
vnet: add exponential backoff for failed reconnections (#5035 )
fatedier
2025-10-29 01:08:48 +08:00
a75320ef2f
update quic-go dependency from v0.53.0 to v0.55.0 (#5033 )
fatedier
2025-10-28 17:52:34 +08:00
1cf325bb0c
https: add load balancing group support (#5032 )
fatedier
2025-10-28 17:37:18 +08:00
469097a549
update sponsor pic (#5031 )
fatedier
2025-10-28 16:08:29 +08:00
2def23bb0b
update sponsor (#5030 )
fatedier
2025-10-28 15:44:03 +08:00
ee3cc4b14e
Fix CloseNotifyConn.Close function (#5022 )
Zachary Whaley
2025-10-16 21:53:43 -05:00
e382676659
update README (#5001 )
fatedier
2025-09-26 12:26:08 +08:00
b5e90c03a1
bump version to v0.65.0 and update release notes (#4998 )
fatedier
2025-09-25 20:11:17 +08:00