Commit Graph

142 Commits

Author SHA1 Message Date
fatedier cf66ca10b4
improve http group load balancing (#3131) 2022-10-19 12:14:35 +08:00
fatedier 9d077b02cf
lint by golangci-lint (#3080) 2022-08-29 01:02:53 +08:00
EMRE ÇELİK 218b354f82
Server Dashboard SSL Support (#2982) 2022-06-27 10:08:02 +08:00
fatedier 4af85da0c2
type http/tcpmux proxy support route_by_http_user, tcpmux support passthourgh mode (#2932) 2022-05-26 23:57:30 +08:00
cui fliter 915d9f4c09
fix some typos (#2882)
Signed-off-by: cuishuang <imcusg@gmail.com>
2022-04-02 17:35:51 +08:00
fatedier 100d556336
support tcp keepalive params (#2863) 2022-03-22 19:29:30 +08:00
fatedier 63efa6b776
support pprof (#2849) 2022-03-17 11:42:59 +08:00
Harry Cheng bf635c0e90
Notify server plugins when a proxy is closed (#2823)
* add close proxy op

* Move to actual closing routine

* Fix e2e tests for CloseProxy

* Add warning on resource exhaustion

* Add CloseProxy to manual close

* retuen errors to `CloseProxy` callers
2022-03-08 15:08:09 +08:00
fatedier 6194273615
use net.JoinHostPort instead of fmt.Sprintf (#2791) 2022-02-09 15:19:35 +08:00
fatedier 293003fcdb
allow to disable application layer heartbeat to reduce traffic cost (#2758)
fix #2754
2022-01-13 14:26:07 +08:00
fatedier 22412851b4
server plugin: add client address in Login operation, fix #2742 (#2751) 2022-01-11 16:32:20 +08:00
fatedier 05b1ace21f
remove authentication for healthz api (#2672) 2021-11-23 14:14:27 +08:00
kekeimiku 0cee1877e3
refactor: move from io/ioutil to io and os package (#2592) 2021-09-29 10:33:57 +08:00
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
2021-08-17 20:20:04 +08:00
fatedier 42745a3da2
frpc: add disable_custom_tls_first_byte to not send first custom tls to frps (#2520) 2021-08-11 23:10:35 +08:00
fatedier 82f80a22be
add healthz api (#2511) 2021-08-04 14:33:53 +08:00
Fishbone df5859b5f7
Fix server-side proxy inappropriate quit when met `accept: too many open files` error (#2467) 2021-07-05 10:27:15 +08:00
fatedier 02b12df887
frpc: consider include configs for verify and reload command (#2424) 2021-06-02 23:54:22 +08:00
fatedier fbaa5f866e
add e2e tests (#2334) 2021-03-31 16:57:39 +08:00
Chotow 0ff27fc9ac
fix(server): listen udp port failed (#2308)
fix #2306
2021-03-18 11:05:03 +08:00
yuyulei 8e25f13201
update: support ipv6 (#2288) 2021-03-10 20:19:58 +08:00
yuyulei 72595b2da8
Add user remote address info log (#2184) 2021-01-11 16:52:17 +08:00
yuyulei 127a31ea6a
Fix typo (#2089) 2020-11-23 11:38:21 +08:00
fatedier 3fbdea0f6b
rename models to pkg (#2005) 2020-09-23 13:49:14 +08:00
yuyulei 4fff3c7472
Add tls configuration to both client and server (#1974) 2020-09-18 19:58:58 +08:00
fatedier c9fe23eb10
more e2e tests (#1845) 2020-09-07 14:57:23 +08:00
Luka Čehovin Zajc 268afb3438
Sorting plugins so that execution order is deterministic (#1961) 2020-08-31 19:49:46 +08:00
fatedier 8b75b8b837
fix by golint (#1822) 2020-05-24 17:48:37 +08:00
Tank dfbf9c4542
style: adjust frps files (#1820) 2020-05-24 11:28:57 +08:00
Tank d193519329
feat: Support user specify udp packet size in config (#1794) 2020-05-07 17:47:36 +08:00
Tank 4797136965
feat: support sudp proxy (#1730) 2020-04-22 21:37:45 +08:00
Guy Lewin 6d78af6144
feat: group TCP mux proxies (#1765) 2020-04-20 13:35:47 +08:00
Tank 7728e35c52
fix: frps handle multi conn may happen data race (#1768) 2020-04-19 16:16:24 +08:00
zhang-wei ad0c449a75
Server manager support the NewUserConn operation (#1740)
support NewUserConn operation
2020-04-16 13:06:46 +08:00
Guy Lewin a4b105dedb
[Feature] Server Plugin - Ping and NewWorkConn RPC (#1702) 2020-03-18 01:52:44 +08:00
Guy Lewin 10acf638f8
[Feature] Include RunId in FRP Server Plugin NewProxy message (#1700)
* feat: include RunId in FRP Server Plugin NewProxy message

* doc: rewrite server plugin documentation
2020-03-14 23:26:35 +08:00
fatedier 495d999b6c
refactoring monitor code, support prometheus (#1668)
* refactoring monitor code, support prometheus
* remove vendor
2020-03-11 13:20:26 +08:00
fatedier 1db091b381
tcp multiplexing over http connect tunnel 2020-03-05 21:47:49 +08:00
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
2020-03-01 10:57:01 +08:00
Guy Lewin 98fa3855bd CR: export error string generation to a function 2020-02-11 16:57:38 +02:00
Guy Lewin 9440bc5d72 Merge branch 'dev' into feature/detailed-errors-to-client
# Conflicts:
#	models/config/server_common.go
2020-02-11 11:25:04 +02:00
Guy Lewin f8c6795119 DetailedErrorsToClient - only send detailed error info if this is on 2020-02-10 19:29:57 +02:00
Guy Lewin c747f160aa TlsOnly - only accept TLS connections if enabled 2020-02-10 18:56:41 +02:00
fatedier 91e46a2c53 support server plugin feature 2019-12-23 20:00:04 +08:00
fatedier 649f47c345 change log method 2019-10-12 20:13:12 +08:00
fatedier e9e86fccf0 let max_pool_count valid 2019-08-29 21:13:21 +08:00
fatedier f999c8a87e
Merge pull request #1396 from velovix/issue-1387_server-conf-as-argument
Pass server configuration as an argument
2019-08-21 00:30:01 +08:00
Tyler Compton 5fc7b3ceb5 Remove global ServerService variable
This variable didn't seem to be used anyway, so no further changes were
required.
2019-08-19 16:23:33 -07:00
Tyler Compton 6277af4790 Pass server configuration as an argument
The ServerCommonConf is now passed around as an argument instead of
being shared between components as a global variable. This allows for
more natural interaction with server.Session as a library and allows for
multiple servers to co-exist within the same process.

Related: #1387
2019-08-19 15:52:08 -07:00
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.
2019-08-19 10:10:50 -07:00