Commit Graph

196 Commits (27db6217ecda9236f5bc25c65824f1e723810751)

Author SHA1 Message Date
Craig O'Donnell aa31d7ad0b
support bandwidth_limit set by server plugin (#3271)
* support bandwidth_limit set by server plugin

* limiter at proxy level

* bandwidth_limit_mode

* updates tests for bandwidth_limit_mode default

* bandwidth_limit_mode as string

* add checkForSrv for bandwidth_limit_mode

* bandwidth_limit flags for sub cmds

* gci write
2 years ago
fatedier 113e3b0b0d
revert random change (#3292) 2 years ago
fatedier 100148d925
support go1.20 (#3287) 2 years ago
fatedier 6b3daffaf0
upgrade quic-go and change import path (#3286) 2 years ago
Gerhard Tan d205c26480
Bugfix: add ipv6 parsing for custom DNS server (#3266) 2 years ago
fatedier 7678938c08
support quic options (#3211) 2 years ago
fatedier 2f66dc3e99
support protocol quic between frpc and frps (#3198) 2 years ago
fatedier 9d077b02cf
lint by golangci-lint (#3080) 2 years ago
chenjiayao 1bc899ec12
[client] Remove redundant function parameters (#3016) 3 years ago
ChristLZS 6f2571980c
[client] Fixed a bug where service loops reconnection after disconnection.service is shut down and can not exit goroutine (#3012)
Co-authored-by: lizhisheng <zhishengli@deepglint.com>
3 years ago
fatedier c652b8ef07
fix ipv6 address parsing (#2978) 3 years ago
fatedier 21240ed962 some improvements 3 years ago
Colin Adler 6481870d03
fix: data races when accessing `github.com/fatedier/frp/client.(*Service).ctl` (#2891)
* fix: data race in client/service.go

* review fixes
3 years ago
cui fliter 915d9f4c09
fix some typos (#2882)
Signed-off-by: cuishuang <imcusg@gmail.com>
3 years ago
fatedier 18a2af4703
frpc: support multiple confs (#2873) 3 years ago
fatedier 100d556336
support tcp keepalive params (#2863) 3 years ago
Blizard 452fe25cc6
feat: SUDP alway reconnect and print too much log when no data ready (#2844)
* feat: random sleep duration before reconnecting

* fix: bug
3 years ago
fatedier 63efa6b776
support pprof (#2849) 3 years ago
fatedier 19739ed31a
random sleep duration before reconnecting (#2816) 3 years ago
fatedier 10100c28d9
client: add dial_server_timeout (#2805) 3 years ago
fatedier 6194273615
use net.JoinHostPort instead of fmt.Sprintf (#2791) 3 years ago
Blizard 0db4fc07fb
feat: support set local ip in client when connect server (#2774)
* feat: support set local ip in client when connect server

* fix: typo

Co-authored-by: blizard863 <760076784@qq.com>
3 years ago
fatedier 70f4caac23
move dial functions into golib (#2767) 3 years ago
fatedier 293003fcdb
allow to disable application layer heartbeat to reduce traffic cost (#2758)
fix #2754
3 years ago
Blizard ea568e8a4f
refactor: refine pkg net utils (#2720)
* refactor: refine pkg net utils

* fix: x

Co-authored-by: blizard863 <760076784@qq.com>
3 years ago
fatedier 05b1ace21f
remove authentication for healthz api (#2672) 3 years ago
fatedier f1a51eba18 client: lint 3 years ago
Blizard 1d26ea440b
fix: kcp protocol cause delay release resource (#2621)
Co-authored-by: blizard863 <760076784@qq.com>
3 years ago
kekeimiku 0cee1877e3
refactor: move from io/ioutil to io and os package (#2592) 3 years ago
bobo liu 2f74f54f18
Let's get rid of ugly statik (#2255)
* Get rid of ugly statik

go1.16 introduced the embed package, it's the more graceful solution for embedding file into binary.
https://golang.org/pkg/embed/

* remove statik totally

* split go and static files in assets
4 years ago
fatedier 42745a3da2
frpc: add disable_custom_tls_first_byte to not send first custom tls to frps (#2520) 4 years ago
fatedier 82f80a22be
add healthz api (#2511) 4 years ago
fatedier fe4e9b55f3 update github.com/pires/go-proxyproto to v0.5.0 4 years ago
fatedier 02b12df887
frpc: consider include configs for verify and reload command (#2424) 4 years ago
fatedier fbaa5f866e
add e2e tests (#2334) 4 years ago
yuyulei 8e25f13201
update: support ipv6 (#2288) 4 years ago
yuyulei b5aee82ca9
update: support custom tls server name (#2278) 4 years ago
iikira 0a2384a283
fix XTCP error handling (#2273) 4 years ago
fatedier 8fcd4f4a95
client: reconnect more quickly if it's a dial error (#2240) 4 years ago
yuyulei 3621aad1c1
Reconstruct config (#2098)
* refactoring config

* Update by comments
4 years ago
yuyulei ed61049041
Bugfix: add ipv6 parsing with address of frps (#2163) 4 years ago
yuyulei 127a31ea6a
Fix typo (#2089) 4 years ago
lonwern 0f8040b875
fix create tls work connection (#2013) 4 years ago
fatedier 3fbdea0f6b
rename models to pkg (#2005) 4 years ago
yuyulei 4fff3c7472
Add tls configuration to both client and server (#1974) 4 years ago
fatedier 48fa618c34
update e2e tests (#1973) 4 years ago
fatedier c9fe23eb10
more e2e tests (#1845) 4 years ago
fatedier 8b75b8b837
fix by golint (#1822) 5 years ago
Tank d193519329
feat: Support user specify udp packet size in config (#1794) 5 years ago
Tank 4797136965
feat: support sudp proxy (#1730) 5 years ago
Tank caa6e8cf01
fix: frpc reconnect frps frequently lead to memory leak (#1722) 5 years ago
fatedier 1db091b381
tcp multiplexing over http connect tunnel 5 years ago
Guy Lewin 6c6607ae68
feat: add multiple authentication methods, token and oidc.
token is the current token comparison, and oidc generates oidc token using client-credentials flow. in addition - add ping verification using the same method
5 years ago
fatedier 4a4cf552af send closeProxy msg to server then client start proxy error, fix #1606 5 years ago
fatedier 42014eea23 improve xtcp, fix #1585 5 years ago
fatedier 91e46a2c53 support server plugin feature 5 years ago
fatedier 12cc53d699 update bandwidth_limit 5 years ago
fatedier 6da093a402 support bandwith limit for one proxy 5 years ago
fatedier 649f47c345 change log method 5 years ago
fatedier 5dc8175fc8
Merge pull request #1420 from Hurricanezwf/fix-bad-xtcp-encryption
fix #1347:  bad encryption and compression when use xtcp
5 years ago
zhouwenfeng dc6a5a29c1 fix bad encryption and compression when use xtcp 6 years ago
fatedier fdc6902a90 proxy protocol: fix detect method for IPV4 and IPV6 6 years ago
Tyler Compton 4dfd851c46 Add docs for common config fields & sessions
Now that the common configuration objects and session objects are part
of a public API, they need to be documented in a way that can be read
with godoc. This commit should lead to easier development with FRP as a
library.
6 years ago
Tyler Compton 666f122a72 Pass client configuration as an argument
The ClientCommonConf, configuration file path, and server UDP port are
now passed around as arguments instead of being shared between
components as global variables. This allows for multiple clients to
exist in the same process, and allows client.Session to be used as a
library more easily.
6 years ago
Tyler Compton bc46e3330a Add an "assets_dir" option for frpc
This option allows users to specify where they want assets to be loaded
from, like the "assets_dir" option that already exists for frps. This
allows library users to use the admin panel without having to bundle
assets with statik.
6 years ago
Tyler Compton 00bd0a8af4 Load assets for dashboard/admin panel on demand
The client and server services now only attempt to load assets if the
dashboard or admin panel are enabled. This change makes it possible to
use FRP as a library without having to manage assets. If a library user
wants to start a server with the dashboard enabled, they will need to
set the DashboardPort and AssetsDir fields of ServerCommonConf.
6 years ago
fatedier 757b3613fe fix health check bug, fix #1367 6 years ago
fatedier 394af08561 close session in login() 6 years ago
fatedier 5680a88267 fix connection leak when login_fail_exit is false, fix #1335 6 years ago
fatedier 6a1f15b25e support proxy protocol in unix_domain_socket 6 years ago
fatedier b7a73d3469 support proxy protocol for type http 6 years ago
fatedier 7f9d88c10a fix 6 years ago
fatedier 9c4ec56491 support proxy protocol 6 years ago
fatedier 9ac8f2a047 fix health check unclosed resp body, fix #1155 6 years ago
fatedier e691a40260 improve the stability of xtcp 6 years ago
fatedier d812488767 support tls connection 6 years ago
fatedier 3df27b9c04 xtcp: wrap yamux on kcp connections 6 years ago
fatedier ba45d29b7c fix xtcp cmd 6 years ago
fatedier 5bc7fe2cea fix PUT /api/config without token 6 years ago
fatedier fe403ab328 frpc: update admin_api 6 years ago
fatedier 66555dbb00 frpc admin: not allow empty PUT /api/config body 6 years ago
fatedier 96d7e2da6f add admin UI for frpc 6 years ago
fatedier d879b8208b frpc: add api PUT api/config 6 years ago
fatedier 3585e456d4 frpc: add api GET api/config 6 years ago
fatedier 48990da22e go vet 6 years ago
fatedier 5a7ef3be74 frpc: reload proxy not saved after reconnecting 6 years ago
fatedier 7c21906884 improve kcp shutdown 6 years ago
fatedier 25cfda5768 conf: support render configure file using environment variables 6 years ago
fatedier 35278ad17f mv folders 6 years ago
fatedier aea9f9fbcc health: add more ci cases and fix bugs 6 years ago
fatedier 08c17c3247 frpc: support health check 6 years ago
fatedier b33ea9274c client/control: refactor code 6 years ago
fatedier 1a8ac148ca fix xtcp visitor panic 6 years ago
fatedier 698219b621 frpc: support health check 6 years ago
fatedier c33b5152e7 split visitors from proxies and add health check config 7 years ago
Neo He bbc36be052 update xtcp log info 7 years ago
fatedier 6eb8146334 frps dashboard add stcp 7 years ago
fatedier 1a6cbbb2d2 return error quickly if nathole make error 7 years ago
fatedier 1464836f05 logs panic debug strace info 7 years ago
fatedier a27e3dda88 vendor: update shutdown 7 years ago