Commit Graph

130 Commits

Author SHA1 Message Date
Blizard
452fe25cc6
feat: SUDP alway reconnect and print too much log when no data ready (#2844)
* feat: random sleep duration before reconnecting

* fix: bug
2022-03-17 12:03:20 +08:00
fatedier
63efa6b776
support pprof (#2849) 2022-03-17 11:42:59 +08:00
fatedier
19739ed31a
random sleep duration before reconnecting (#2816) 2022-02-24 11:59:36 +08:00
fatedier
10100c28d9
client: add dial_server_timeout (#2805) 2022-02-19 16:49:21 +08:00
fatedier
6194273615
use net.JoinHostPort instead of fmt.Sprintf (#2791) 2022-02-09 15:19:35 +08:00
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>
2022-01-26 19:47:40 +08:00
fatedier
70f4caac23
move dial functions into golib (#2767) 2022-01-20 20:03:07 +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
Blizard
ea568e8a4f
refactor: refine pkg net utils (#2720)
* refactor: refine pkg net utils

* fix: x

Co-authored-by: blizard863 <760076784@qq.com>
2021-12-28 21:14:57 +08:00
fatedier
05b1ace21f
remove authentication for healthz api (#2672) 2021-11-23 14:14:27 +08:00
fatedier
f1a51eba18 client: lint 2021-10-19 15:02:45 +08:00
Blizard
1d26ea440b
fix: kcp protocol cause delay release resource (#2621)
Co-authored-by: blizard863 <760076784@qq.com>
2021-10-19 14:57:26 +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
fatedier
fe4e9b55f3 update github.com/pires/go-proxyproto to v0.5.0 2021-06-21 19:35:52 +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
yuyulei
8e25f13201
update: support ipv6 (#2288) 2021-03-10 20:19:58 +08:00
yuyulei
b5aee82ca9
update: support custom tls server name (#2278) 2021-03-07 14:57:23 +08:00
iikira
0a2384a283
fix XTCP error handling (#2273) 2021-03-03 20:54:46 +08:00
fatedier
8fcd4f4a95
client: reconnect more quickly if it's a dial error (#2240) 2021-02-18 16:15:35 +08:00
yuyulei
3621aad1c1
Reconstruct config (#2098)
* refactoring config

* Update by comments
2021-01-26 11:31:08 +08:00
yuyulei
ed61049041
Bugfix: add ipv6 parsing with address of frps (#2163) 2020-12-24 21:48:26 +08:00
yuyulei
127a31ea6a
Fix typo (#2089) 2020-11-23 11:38:21 +08:00
lonwern
0f8040b875
fix create tls work connection (#2013) 2020-09-29 15:44:52 +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
48fa618c34
update e2e tests (#1973) 2020-09-07 15:45:44 +08:00
fatedier
c9fe23eb10
more e2e tests (#1845) 2020-09-07 14:57:23 +08:00
fatedier
8b75b8b837
fix by golint (#1822) 2020-05-24 17:48:37 +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
Tank
caa6e8cf01
fix: frpc reconnect frps frequently lead to memory leak (#1722) 2020-04-02 10:58:37 +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
fatedier
4a4cf552af send closeProxy msg to server then client start proxy error, fix #1606 2020-02-04 19:41:39 +08:00
fatedier
42014eea23 improve xtcp, fix #1585 2020-01-03 11:39:44 +08:00
fatedier
91e46a2c53 support server plugin feature 2019-12-23 20:00:04 +08:00
fatedier
12cc53d699 update bandwidth_limit 2019-11-09 01:13:30 +08:00
fatedier
6da093a402 support bandwith limit for one proxy 2019-11-03 01:20:49 +08:00
fatedier
649f47c345 change log method 2019-10-12 20:13:12 +08:00
fatedier
5dc8175fc8
Merge pull request #1420 from Hurricanezwf/fix-bad-xtcp-encryption
fix #1347:  bad encryption and compression when use xtcp
2019-09-01 20:49:13 +08:00
zhouwenfeng
dc6a5a29c1 fix bad encryption and compression when use xtcp 2019-08-31 21:24:20 +08:00
fatedier
fdc6902a90 proxy protocol: fix detect method for IPV4 and IPV6 2019-08-26 11:13:33 +08:00
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.
2019-08-24 15:20:34 -07:00
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.
2019-08-20 14:08:01 -07:00
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.
2019-08-19 16:51:03 -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