Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
491 commits
Select commit Hold shift + click to select a range
c6f9d8d
update sponsors (#4303)
fatedier Jun 26, 2024
b4d5d8c
plugin https2http&https2https: return 421 if host not match sni (#4323)
fatedier Jul 9, 2024
243ca99
Merge pull request #4324 from fatedier/dev
fatedier Jul 9, 2024
69cc422
client plugin: added plugin tls2raw (#4341)
fatedier Jul 25, 2024
e804519
Fix loginFailExit = false bug (#4354)
Yurunsoft Jul 30, 2024
ae73ec2
added a 30s timeout for frpc subcommands to avoid long delays (#4359)
fatedier Jul 30, 2024
f1fb2d7
update .github/FUNDING.yml (#4365)
fatedier Aug 2, 2024
d47e138
bump templexxx/cpu version and add support for linux/loong64 (#4367)
KatyushaScarlet Aug 6, 2024
2dcdb24
replace github.com/templexxx/xorsimd to the new version (#4373)
fatedier Aug 7, 2024
03c8d7b
bump kcp-go to add linux/loong64 support (#4384)
KatyushaScarlet Aug 16, 2024
ccfe8c9
Merge pull request #4392 from fatedier/dev
fatedier Aug 19, 2024
edd7cf8
chore: fix function name (#4416)
crystalstall Sep 6, 2024
fe4ca1b
Update README_zh.md (#4421)
f2elab Sep 6, 2024
2855ac7
frpc visitor: add --server-user option to specify server proxy userna…
fatedier Oct 9, 2024
2466e65
support multiple subjects in oidc ping (#4475)
RobKenis Oct 12, 2024
b14192a
feat: bump (#4490)
blizard863 Oct 15, 2024
3a08c2a
conf: fix example for tls2raw (#4494)
fatedier Oct 17, 2024
f7a06cb
use go1.23 (#4495)
fatedier Oct 17, 2024
4bbec09
Merge pull request #4496 from fatedier/dev
fatedier Oct 17, 2024
62352c7
dockerfiles: add tzdata (#4499)
fatedier Oct 18, 2024
9d5638c
update Release.md (#4500)
fatedier Oct 18, 2024
6ba849f
readme: update sponsor (#4504)
fatedier Oct 22, 2024
4383756
frps: add support for quic-bind-port parameter in frps (#4519)
fatedier Oct 30, 2024
dff56cb
update .golangci.yml (#4527)
fatedier Nov 7, 2024
8593eff
update sponsor info (#4545)
fatedier Nov 20, 2024
0358113
samber lo version up (#4569)
Guiwoo Dec 2, 2024
c73096f
Upgrade packages to resolve CVE-2024-53259 (#4577)
AdallomRoy Dec 10, 2024
bb912d6
enable h2c for vhost server (#4582)
sword-jin Dec 13, 2024
f47d8ab
update Release.md (#4589)
fatedier Dec 16, 2024
2a7aa69
Merge pull request #4590 from fatedier/dev
fatedier Dec 16, 2024
01fed8d
Update stale workflow (#4600)
fatedier Dec 19, 2024
092e5d3
client, pkg, server, test: replaced 'interface{}' with 'any' (#4611)
mihaigmarin Jan 2, 2025
6542dcd
Fix typos (#4615)
deining Jan 2, 2025
27db621
frpc: support metadatas and annotations in frpc proxy commands (#4623)
fatedier Jan 6, 2025
450b839
Fix goroutine leaks
Alpha2J Jan 16, 2025
b8d3ace
Use text/template instead of html/template for config pre-processing …
hansmi Feb 7, 2025
8b86e14
Fix ports not being released on Service.Close() (#4666)
ubergeek77 Feb 12, 2025
e0dd947
frps: release resources in service.Close() (#4667)
fatedier Feb 12, 2025
1e8db66
update Release.md (#4668)
fatedier Feb 12, 2025
9757a35
fix golangci lint config (#4698)
fatedier Mar 7, 2025
773169e
update version (#4699)
fatedier Mar 7, 2025
31b44c1
Merge pull request #4700 from fatedier/dev
fatedier Mar 7, 2025
a78814a
virtual-net: initial (#4751)
fatedier Apr 16, 2025
e208043
vnet: update tun_unsupported function (#4752)
fatedier Apr 16, 2025
c5a8f6e
Merge pull request #4753 from fatedier/dev
fatedier Apr 16, 2025
27f66ba
update feature gates doc (#4755)
fatedier Apr 16, 2025
3c8d648
vnet: fix issues (#4771)
fatedier Apr 27, 2025
b41d8f8
update release notes (#4772)
fatedier Apr 27, 2025
c99986f
build: add x64 openbsd (#4780)
CrynTox May 6, 2025
077ba80
fix: type error in server_plugin doc (#4799)
scientificworld May 19, 2025
8eb525a
feat: support YAML merge in strict configuration mode (#4809)
fatedier May 23, 2025
3fa76b7
add proxy protocol support for UDP proxies (#4810)
fatedier May 23, 2025
720c09c
update test package (#4814)
fatedier May 26, 2025
43cf168
update golangci-lint version (#4817)
fatedier May 27, 2025
c777891
update .golangci.yml (#4848)
fatedier Jun 25, 2025
af6bc63
Merge pull request #4849 from fatedier/dev
fatedier Jun 25, 2025
61330d4
Update quic-go dependency from v0.48.2 to v0.53.0 (#4862)
fatedier Jul 1, 2025
f9065a6
add tokenSource support for auth configuration (#4865)
fatedier Jul 3, 2025
c3bf952
fix webserver port not being released on frpc svr.Close() (#4896)
maguowei Jul 24, 2025
7fe295f
update golangci-lint version (#4897)
fatedier Jul 25, 2025
e6dacf3
Fix SSH tunnel gateway binding address issue #4900 (#4902)
fatedier Jul 28, 2025
dc3bc91
update sponsor info (#4917)
fatedier Aug 8, 2025
024e4f5
improve random TLS certificate generation (#4923)
fatedier Aug 10, 2025
f795950
bump version to v0.64.0 (#4924)
fatedier Aug 10, 2025
22ae816
Merge pull request #4925 from fatedier/dev
fatedier Aug 10, 2025
024c334
Merge pull request #4928 from fatedier/xtcp
fatedier Aug 11, 2025
14253af
remove quotes (#4938)
immomo808 Aug 15, 2025
80d3f33
xtcp: add configuration to disable assisted addresses in NAT traversa…
fatedier Aug 25, 2025
610e5ed
improve yamux logging (#4952)
fatedier Aug 25, 2025
604700c
update README (#4957)
fatedier Aug 27, 2025
0a798a7
update go version to 1.24 (#4960)
fatedier Aug 27, 2025
7cfa546
add proxy name label to the proxy_count prometheus metric (#4985)
charlieblevins Sep 22, 2025
abf4942
auth: enhance OIDC client with TLS and proxy configuration options (#…
fatedier Sep 25, 2025
6561107
chore: fix struct field name in comment (#4993)
juejinyuxitu Sep 25, 2025
b642a63
update sponsors info (#4997)
fatedier Sep 25, 2025
b5e90c0
bump version to v0.65.0 and update release notes (#4998)
fatedier Sep 25, 2025
2f5e1f7
Merge pull request #4999 from fatedier/dev
fatedier Sep 25, 2025
e382676
update README (#5001)
fatedier Sep 26, 2025
ee3cc4b
Fix CloseNotifyConn.Close function (#5022)
zachwhaley Oct 17, 2025
2def23b
update sponsor (#5030)
fatedier Oct 28, 2025
469097a
update sponsor pic (#5031)
fatedier Oct 28, 2025
1cf325b
https: add load balancing group support (#5032)
fatedier Oct 28, 2025
a75320e
update quic-go dependency from v0.53.0 to v0.55.0 (#5033)
fatedier Oct 28, 2025
e025843
vnet: add exponential backoff for failed reconnections (#5035)
fatedier Oct 28, 2025
b27b846
config: add enabled field for individual proxy and visitor (#5048)
fatedier Nov 6, 2025
f736d17
rotate gold sponsor order periodically (#5067)
fatedier Nov 17, 2025
66973a0
Add `exec` value source type (#5050)
Saancreed Nov 17, 2025
15fd19a
fix lint (#5068)
fatedier Nov 17, 2025
c382120
docs: remove zsxq section (#5077)
fatedier Nov 26, 2025
2e2802e
refactor: use MessageSender interface for message transporter (#5083)
fatedier Dec 2, 2025
0fe8f7a
refactor: reorganize security policy into dedicated packag (#5088)
fatedier Dec 5, 2025
2bdf25b
rotate gold sponsor order periodically (#5094)
fatedier Dec 11, 2025
7526d7a
refactor: separate auth config from runtime and defer token resolutio…
fatedier Dec 24, 2025
ef96481
update version and release notes (#5106)
fatedier Dec 25, 2025
33428ab
add e2e tests for exec-based token source (#5111)
fatedier Jan 4, 2026
a1348cd
bump version (#5112)
fatedier Jan 4, 2026
bc378bc
rotate gold sponsor order periodically (#5114)
fatedier Jan 8, 2026
36718d8
server: add client registry with dashboard support (#5115)
fatedier Jan 8, 2026
a4175a2
update release notes (#5116)
fatedier Jan 8, 2026
479e9f5
web/frpc: refactor dashboard with improved structure and API layer (#…
fatedier Jan 8, 2026
1245f88
server: replace client metadata with IP address in registry (#5118)
fatedier Jan 9, 2026
3370bd5
udp: fix proxy protocol header sent on every packet instead of first …
fatedier Jan 9, 2026
ed13141
refactor: separate API handlers into dedicated packages with improved…
fatedier Jan 14, 2026
fb2c98e
rotate gold sponsor
fatedier Jan 26, 2026
5dd70ac
refactor: move web embeds to web/ directory (#5139)
fatedier Jan 26, 2026
266c492
web/frps: add detailed client and proxy views with enhanced tracking …
fatedier Jan 30, 2026
886c9c2
web/frpc: redesign dashboard (#5145)
fatedier Jan 31, 2026
7a1c248
bump version to 0.67.0 (#5146)
fatedier Jan 31, 2026
5f575b8
Merge pull request #5147 from fatedier/dev
fatedier Jan 31, 2026
9634fd9
web: ensure npm install runs before build (#5154)
fatedier Feb 4, 2026
519368b
server/api: fix DeleteProxies endpoint returning empty response inste…
fatedier Feb 6, 2026
d034732
pkg/config: fix custom domain validation to prevent false matches wit…
fatedier Feb 13, 2026
01997de
add persistent proxy/visitor store with CRUD API and web UI (#5188)
fatedier Mar 1, 2026
381245a
build: add noweb tag to allow building without frontend assets (#5189)
fatedier Mar 1, 2026
fbeb6ca
refactor: restructure API packages into client/http and server/http w…
fatedier Mar 4, 2026
774478d
pkg/config: improve error messages with line number details for confi…
fatedier Mar 4, 2026
b743596
pkg/config: fix line numbers shown incorrectly for TOML type mismatch…
fatedier Mar 4, 2026
541878a
docs: update release notes for config parsing error improvements (#5196)
fatedier Mar 4, 2026
462c987
pkg/msg: change UDPPacket.Content from string to []byte to avoid redu…
fatedier Mar 5, 2026
f22f7d5
server/group: fix port leak and incorrect Listen port in TCPGroup (#5…
fatedier Mar 5, 2026
c62a1da
fix: close connections on error paths to prevent resource leaks (#5202)
fatedier Mar 6, 2026
8f633fe
fix: return buffers to pool on error paths to reduce GC pressure (#5203)
fatedier Mar 6, 2026
cb459b0
fix: WebsocketListener nil panic and OIDC auth data race (#5204)
fatedier Mar 6, 2026
c23894f
fix: validate CA cert parsing and add missing ReadHeaderTimeout (#5205)
fatedier Mar 6, 2026
f2d1f37
pkg/util/xlog: fix AddPrefix not updating existing prefix due to rang…
fatedier Mar 6, 2026
427c4ca
server/proxy: simplify HTTP proxy domain registration by removing dup…
fatedier Mar 6, 2026
d644593
server/proxy: simplify HTTPS and TCPMux proxy domain registration (#5…
fatedier Mar 6, 2026
e9f7a1a
pkg: use modern Go stdlib functions to simplify code (#5209)
fatedier Mar 6, 2026
0b4f83c
pkg/config: use modern Go stdlib for sorting and string operations (#…
fatedier Mar 6, 2026
cf39656
client/proxy: unify work conn wrapping across all proxy types (#5212)
fatedier Mar 6, 2026
bb3d0e7
deduplicate common logic across proxy, visitor, and metrics modules (…
fatedier Mar 7, 2026
c70ceff
fix: three high-severity bugs across nathole, proxy, and udp modules …
fatedier Mar 7, 2026
bd200b1
fix: typos in comments, tests, functions (#5216)
alexandear Mar 7, 2026
017d717
server: introduce SessionContext to encapsulate NewControl parameters…
fatedier Mar 7, 2026
c2454e7
refactor: fix modernize lint issues (#5215)
alexandear Mar 7, 2026
764a626
server/control: deduplicate close-proxy logic and UserInfo constructi…
fatedier Mar 7, 2026
605f3bd
client/visitor: deduplicate visitor connection handshake and wrapping…
fatedier Mar 7, 2026
535eb3d
refactor: use maps.Clone and slices.Concat (#5220)
alexandear Mar 8, 2026
eeb0dac
pkg/metrics/mem: remove redundant map write-backs and optimize proxy …
fatedier Mar 8, 2026
c7ac12e
server/group: refactor with shared abstractions and fix concurrency i…
fatedier Mar 8, 2026
bcd2424
test/e2e: optimize e2e test time by replacing sleeps with TCP readine…
fatedier Mar 8, 2026
48e8901
test/e2e: optimize RunFrps/RunFrpc with process exit detection (#5225)
fatedier Mar 9, 2026
9669e1c
test/e2e: replace RunProcesses client sleep with log-based proxy read…
fatedier Mar 9, 2026
4f584f8
test/e2e: replace sleeps with event-driven waits in chaos/group/store…
fatedier Mar 11, 2026
6b1be92
add AGENTS.md and CLAUDE.md, remove them from .gitignore (#5232)
fatedier Mar 11, 2026
94a631f
auth/oidc: cache OIDC access token and refresh before expiry (#5175)
shani1998 Mar 11, 2026
ff4ad2f
auth/oidc: fix eager token fetch at startup, add validation and e2e t…
fatedier Mar 15, 2026
85e8e2c
web/frpc: redesign frpc dashboard with sidebar nav, proxy/visitor lis…
fatedier Mar 16, 2026
6cdef90
web: bump dev dependencies in frpc and frps package-lock.json (#5239)
fatedier Mar 16, 2026
38a71a6
web/frps: redesign frps dashboard with sidebar nav, responsive layout…
fatedier Mar 19, 2026
c95dc9d
web: remove redundant SCSS and CSS files superseded by shared (#5247)
fatedier Mar 20, 2026
d20e384
doc: add agent runbooks directory with release process (#5248)
fatedier Mar 20, 2026
0a1b4ab
Merge pull request #5249 from fatedier/dev
fatedier Mar 20, 2026
60c4f5d
ci: bump github actions to latest major versions (#5251)
fatedier Mar 20, 2026
5ed0227
docker: copy shared web directory for npm workspace builds
fatedier Mar 20, 2026
5bfcea3
merge dev to master (#5254)
fatedier Mar 20, 2026
c694b1f
bump pion/stun to v3 to fix vulnerability (#5245)
alexandear Mar 29, 2026
76abeff
ci: remove security vulnerability scan workflow (#5266)
fatedier Mar 29, 2026
98ee1ad
client: close TCP connection when fmux session creation fails (#5262)
cuiweixie Mar 29, 2026
061c141
update README.md (#5267)
fatedier Mar 29, 2026
31e2719
test/e2e: allocate dynamic ports outside whitelist ranges in server w…
fatedier Mar 29, 2026
31c3deb
deps: bump golib to v0.6.0 (#5269)
fatedier Mar 29, 2026
d667be7
update architecture pic (#5270)
fatedier Mar 29, 2026
a9a4416
vhost/http: fix auth bypass when routeByHTTPUser is used with proxy-s…
fatedier Apr 13, 2026
e8dfd6e
web/frpc: use static imports for proxy and visitor route components (…
fatedier Apr 13, 2026
4ec8de9
Merge pull request #5287 from fatedier/dev
fatedier Apr 13, 2026
e946491
protocol: add v2 wire protocol with binary framing and capability neg…
fatedier Apr 26, 2026
410c486
update Release.md (#5295)
fatedier Apr 26, 2026
cef71fb
plugin/http_proxy: fix fragmented CONNECT method detection and add re…
fatedier Apr 26, 2026
57bb9e8
test/e2e: add compatibility test suite for wire protocol version nego…
fatedier Apr 27, 2026
8666e36
protocol: add AEAD encryption negotiation to v2 wire control channel …
fatedier May 6, 2026
ad07d27
fix: reset UDP read deadline on write activity to prevent idle timeout
silverpoetry May 11, 2026
a88e0e9
refactor: clean up code (#5308)
fatedier May 12, 2026
e20f974
feat(ui): add all proxies tab to frps dashboard (#5321)
fatedier May 20, 2026
3e19ef9
feat(ui): add xtcp tab to frps dashboard (#5322)
fatedier May 21, 2026
c8c1e51
Merge pull request #5323 from fatedier/dev
fatedier May 21, 2026
7f8d68b
feat: use wire v2 framing for UDP workConn payload (#5340)
fatedier May 28, 2026
9bacce2
feat: use wire v2 framing for XTCP NatHoleSid (#5343)
fatedier May 29, 2026
0773938
feat: bridge mixed wire protocol SUDP payloads (#5347)
fatedier Jun 1, 2026
ac3e82d
Release v0.69.1 (#5348)
fatedier Jun 1, 2026
9ea1d86
test: handle wire v2 compatibility baselines (#5349)
fatedier Jun 1, 2026
8dd26c6
Merge pull request #5350 from fatedier/dev
fatedier Jun 1, 2026
503afe7
feat: add dashboard API v2 pagination endpoints (#5351)
fatedier Jun 1, 2026
c6c5452
fix: normalize web package lockfile (#5353)
fatedier Jun 2, 2026
9bde0b0
feat: paginate dashboard clients and proxies via API v2 (#5354)
fatedier Jun 3, 2026
54c6ccd
feat: remove proxies client filter (#5375)
fatedier Jun 22, 2026
4cc826e
fix(client): write proxy protocol header in tls2raw plugin (#5362)
kaixings Jun 22, 2026
ba7adca
fix(websocket): send tunnel payload as binary frames (#5363)
shani1998 Jun 22, 2026
14628df
test: cover tls2raw proxy protocol header (#5376)
fatedier Jun 22, 2026
940bde5
docs: update release notes (#5377)
fatedier Jun 23, 2026
035889c
fix(client): reject duplicate proxy and visitor names (#5378)
Adel-Ayoub Jun 24, 2026
393a533
docs: add release note for duplicate config names (#5379)
fatedier Jun 24, 2026
ae1c050
feat(dashboard): add v2 client detail status (#5381)
fatedier Jun 26, 2026
a3b3b35
feat(ui): default proxies view to all tab (#5384)
fatedier Jun 29, 2026
7c343fc
web: bump esbuild to 0.28.1 and remove unused ElPopover type (#5385)
fatedier Jun 29, 2026
7fe152e
web/frps: use API v2 for client and proxy details (#5386)
fatedier Jun 29, 2026
5876bec
feat: add system info API v2 (#5394)
fatedier Jul 6, 2026
5cd722b
feat: add system prune API v2 (#5395)
fatedier Jul 7, 2026
68509f5
Add frps proxy traffic API v2 (#5398)
fatedier Jul 7, 2026
17e788d
refactor: clean up frps v2 frontend models (#5399)
fatedier Jul 8, 2026
becee40
docs: update API v2 release notes (#5400)
fatedier Jul 8, 2026
84be193
api: expose v2 proxy timestamps as unix seconds (#5402)
fatedier Jul 9, 2026
54aeb2a
feat(server): add typed frps v2 proxy specs (#5405)
fatedier Jul 11, 2026
fe61093
bump version to 0.70.0 (#5406)
fatedier Jul 11, 2026
5396947
remove retired Go Report Card badge (#5409)
fatedier Jul 11, 2026
7b6e01f
Merge pull request #5411 from fatedier/dev
fatedier Jul 11, 2026
2886393
ci: remove unsupported s390x image target (#5412)
fatedier Jul 11, 2026
269a26c
fix(nathole): migrate STUN client to golib (#5419)
fatedier Jul 16, 2026
fe79598
fix: fail fast on cross-compile errors (#5420)
fatedier Jul 16, 2026
d486018
fix(server): prevent control replacement lifecycle leaks (#5424)
fatedier Jul 21, 2026
7dc7be9
ssh: fix malformed exec payload panic (#5428)
fatedier Jul 21, 2026
f8fc3c6
server: drop HTTP/1.1 h2c upgrade handling (#5436)
fatedier Jul 22, 2026
84b907a
deps: bump golib to v0.8.1 (#5437)
fatedier Jul 22, 2026
23512f5
fix: upgrade go-oidc to v3.18.0 (#5439)
fatedier Jul 22, 2026
c23934b
web: update vulnerable transitive dependencies (#5441)
fatedier Jul 22, 2026
0e53833
refactor: use standard library HKDF (#5440)
fatedier Jul 22, 2026
898bcf7
web: restore Vite client declarations for both dashboards (#5415)
barkure Jul 23, 2026
466a94f
update quic-go dependency to v0.60.0 (#5443)
fatedier Jul 23, 2026
18eef83
fix(client): synchronize graceful shutdown duration (#5442)
fatedier Jul 23, 2026
fa3bcca
Merge pull request #5444 from fatedier/dev
fatedier Jul 23, 2026
40274d8
web/frpc: support virtual net visitor plugin (#5414)
barkure Jul 23, 2026
2d63f6b
web/frpc: fix visitor plugin validation for sudp (#5448)
fatedier Jul 27, 2026
de4b483
web: patch vulnerable transitive dependencies (#5449)
fatedier Jul 27, 2026
2175557
web: fix Vite config tsconfig includes (#5450)
fatedier Jul 27, 2026
00c24e3
test(web): add frontend unit test baseline (#5451)
fatedier Jul 27, 2026
f3828cb
build(web): upgrade ESLint to v10 (#5452)
fatedier Jul 28, 2026
3d89ab7
build(web): upgrade auto import plugins (#5453)
fatedier Jul 28, 2026
5c6d761
chore(web): upgrade frontend dependencies (#5454)
fatedier Jul 28, 2026
effa496
feat: add negotiated binary UDP packets (#5456)
fatedier Jul 30, 2026
9d45a55
docs: add release note for #5456 (#5458)
fatedier Jul 30, 2026
1ab59e7
server: validate control pool counts (#5459)
fatedier Jul 30, 2026
2291e88
feat: use binary codec for SUDP packets (#5461)
fatedier Jul 31, 2026
290017c
update version to 0.71.0 (#5464)
fatedier Aug 3, 2026
1a3a872
fix(frpc): respect feature gates in verify (#5465)
fatedier Aug 4, 2026
d1928f9
remove retired Go Report Card badge (#5467)
yardenshoham Aug 5, 2026
5b68148
udp: handle closed forwarding channel (#5470)
fatedier Aug 9, 2026
f666d97
limit: clamp bandwidth limiter burst (#5471)
fatedier Aug 9, 2026
f6688e2
client: reject invalid work connection addresses (#5472)
fatedier Aug 9, 2026
223b443
ssh: serialize tunnel channel writes (#5473)
fatedier Aug 9, 2026
a6a782b
config: reject case-insensitive subdomain domains (#5474)
fatedier Aug 9, 2026
71a2bf3
docs: add release note for domain validation fix (#5475)
fatedier Aug 9, 2026
da04e1e
log: improve prefix handling (#5489)
fatedier Aug 12, 2026
6c8a8d0
web: patch vulnerable transitive dependencies (#5490)
fatedier Aug 12, 2026
4a23aa1
Release v0.71.0 (#5495)
fatedier Aug 14, 2026
52a5e2c
sync with oss, without allowed ips
vitalii-codefresh Aug 16, 2026
5bbebf7
implemented iplist
vitalii-codefresh Aug 16, 2026
6fa734d
implemented iplist
vitalii-codefresh Aug 16, 2026
1e45e66
Merge branch 'master' into sync-oss-master
vitalii-codefresh Aug 16, 2026
92d541d
linted
vitalii-codefresh Aug 16, 2026
86cd98e
corrected e2e
vitalii-codefresh Aug 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .ci/ci.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@
}
]
}
]
]
28 changes: 15 additions & 13 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,24 @@ version: 2
jobs:
go-version-latest:
docker:
- image: cimg/go:1.18-node
- image: cimg/go:1.25-node
resource_class: large
steps:
- checkout
- run: make
- run: make alltest
go-version-last:
docker:
- image: cimg/go:1.17-node
steps:
- checkout
- run: make
- run: make alltest
- checkout
- run:
name: Test and build web assets
command: make web-ci
- run:
name: Check Go formatting and build binaries
command: |
set -e
make env fmt
git diff --exit-code
make build
- run: make alltest

workflows:
version: 2
build_and_test:
jobs:
- go-version-latest
- go-version-last
- go-version-latest
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# These are supported funding model platforms

github: [fatedier]
custom: ["https://afdian.com/a/fatedier"]
3 changes: 3 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### WHY

<!-- author to complete -->
23 changes: 13 additions & 10 deletions .github/workflows/build-and-push-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,32 @@ name: Build Image and Publish to Dockerhub & GPR

on:
release:
types: [ created ]
types: [ published ]
workflow_dispatch:
inputs:
tag:
description: 'Image tag'
required: true
default: 'test'
permissions:
contents: read

jobs:
image:
name: Build Image from Dockerfile and binaries
runs-on: ubuntu-latest
steps:
# environment
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v6
with:
fetch-depth: '0'

- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v4

# get image tag name
- name: Get Image Tag Name
Expand All @@ -35,13 +38,13 @@ jobs:
echo "TAG_NAME=${{ github.event.inputs.tag }}" >> $GITHUB_ENV
fi
- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Login to the GPR
uses: docker/login-action@v1
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
Expand All @@ -58,22 +61,22 @@ jobs:
echo "TAG_FRPS_GPR=ghcr.io/fatedier/frps:${{ env.TAG_NAME }}" >> $GITHUB_ENV

- name: Build and push frpc
uses: docker/build-push-action@v2
uses: docker/build-push-action@v7
with:
context: .
file: ./dockerfiles/Dockerfile-for-frpc
platforms: linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x
platforms: linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le
push: true
tags: |
${{ env.TAG_FRPC }}
${{ env.TAG_FRPC_GPR }}

- name: Build and push frps
uses: docker/build-push-action@v2
uses: docker/build-push-action@v7
with:
context: .
file: ./dockerfiles/Dockerfile-for-frps
platforms: linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x
platforms: linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le
push: true
tags: |
${{ env.TAG_FRPS }}
Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/golangci-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: golangci-lint
on:
push:
branches:
- master
- dev
pull_request:
permissions:
contents: read
# Optional: allow read access to pull request. Use with `only-new-issues` option.
pull-requests: read
jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version: '1.25'
cache: false
- uses: actions/setup-node@v6
with:
node-version: '22'
- name: Test and build web assets
run: make web-ci
- name: golangci-lint
uses: golangci/golangci-lint-action@v9
with:
# Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version
version: v2.11
24 changes: 14 additions & 10 deletions .github/workflows/goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,31 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v2
uses: actions/setup-go@v6
with:
go-version: 1.18

- run: |
# https://github.com/actions/setup-go/issues/107
cp -f `which go` /usr/bin/go

go-version: '1.25'
- uses: actions/setup-node@v6
with:
node-version: '22'
- name: Build web assets (frps)
run: make build
working-directory: web/frps
- name: Build web assets (frpc)
run: make build
working-directory: web/frpc
- name: Make All
run: |
./package.sh

- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
uses: goreleaser/goreleaser-action@v7
with:
version: latest
args: release --rm-dist --release-notes=./Release.md
args: release --clean --release-notes=./Release.md
env:
GITHUB_TOKEN: ${{ secrets.GPR_TOKEN }}
21 changes: 14 additions & 7 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "Close stale issues"
name: "Close stale issues and PRs"
on:
schedule:
- cron: "20 0 * * *"
Expand All @@ -8,21 +8,28 @@ on:
description: 'In debug mod'
required: false
default: 'false'
permissions:
contents: read

jobs:
stale:
permissions:
issues: write # for actions/stale to close stale issues
pull-requests: write # for actions/stale to close stale PRs
actions: write
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v5
- uses: actions/stale@v10
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'Issues go stale after 30d of inactivity. Stale issues rot after an additional 7d of inactivity and eventually close.'
stale-pr-message: "PRs go stale after 30d of inactivity. Stale PRs rot after an additional 7d of inactivity and eventually close."
stale-issue-message: 'Issues go stale after 14d of inactivity. Stale issues rot after an additional 3d of inactivity and eventually close.'
stale-pr-message: "PRs go stale after 14d of inactivity. Stale PRs rot after an additional 3d of inactivity and eventually close."
stale-issue-label: 'lifecycle/stale'
exempt-issue-labels: 'bug,doc,enhancement,future,proposal,question,testing,todo,easy,help wanted,assigned'
stale-pr-label: 'lifecycle/stale'
exempt-pr-labels: 'bug,doc,enhancement,future,proposal,question,testing,todo,easy,help wanted,assigned'
days-before-stale: 30
days-before-close: 7
days-before-stale: 14
days-before-close: 3
debug-only: ${{ github.event.inputs.debug-only }}
exempt-all-pr-milestones: true
exempt-all-pr-assignees: true
operations-per-run: 200
25 changes: 13 additions & 12 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,6 @@
_obj
_test

# Architecture specific extensions/prefixes
*.[568vq]
[568vq].out

*.cgo1.go
*.cgo2.c
_cgo_defun.c
_cgo_gotypes.go
_cgo_export.*

_testmain.go

*.exe
*.test
*.prof
Expand All @@ -29,8 +17,21 @@ packages/
release/
test/bin/
vendor/
lastversion/
.cache/
dist/
.idea/
.vscode/
.autogen_ssh_key
client.crt
client.key

node_modules/

# Cache
*.swp

# AI
.claude/
.sisyphus/
.superpowers/
Loading