Commit Graph

62 Commits

Author SHA1 Message Date
fatedier 7cc67e852e
fix that transport.tls.disableCustomTLSFirstByte doesn't take effect (#3660) 2023-10-11 11:49:40 +08:00
fatedier c95311d1a0
support yaml/json/toml configuration format, make ini deprecated (#3599) 2023-09-06 10:18:02 +08:00
fatedier 3235addaaa
update dependencies (#3539) 2023-07-21 14:34:44 +08:00
fatedier 4c4d5f0d0d
service.Run supports passing in context (#3504) 2023-06-29 18:04:20 +08:00
fatedier 801e8c6742
support wss between frpc and frps (#3503) 2023-06-29 11:20:45 +08:00
fatedier ea08de668e
yamux: change default MaxStreamWindowSize to 6MB (#3474) 2023-06-04 19:58:55 +08:00
fatedier c7a0cfc66d
xtcp: when connection timeout occurs, support fallback to STCP (#3460) 2023-05-30 10:55:00 +08:00
fatedier 555db9d272
format import package name (#3455) 2023-05-29 14:10:34 +08:00
fatedier c71efde303
refactor the code related to xtcp (#3449) 2023-05-28 16:50:43 +08:00
fatedier 113e3b0b0d
revert random change (#3292) 2023-02-06 15:55:33 +08:00
fatedier 100148d925
support go1.20 (#3287) 2023-02-05 20:52:36 +08:00
fatedier 6b3daffaf0
upgrade quic-go and change import path (#3286) 2023-02-02 20:20:17 +08:00
Gerhard Tan d205c26480
Bugfix: add ipv6 parsing for custom DNS server (#3266) 2023-01-29 23:54:40 +08:00
fatedier 7678938c08
support quic options (#3211) 2022-12-18 18:43:42 +08:00
fatedier 2f66dc3e99
support protocol quic between frpc and frps (#3198) 2022-12-12 11:04:10 +08:00
fatedier 9d077b02cf
lint by golangci-lint (#3080) 2022-08-29 01:02:53 +08:00
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>
2022-07-12 18:43:58 +08:00
fatedier 21240ed962 some improvements 2022-04-14 11:24:36 +08:00
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
2022-04-14 11:14:19 +08:00
fatedier 18a2af4703
frpc: support multiple confs (#2873) 2022-03-28 12:12:35 +08:00
fatedier 100d556336
support tcp keepalive params (#2863) 2022-03-22 19:29:30 +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
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 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
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
fatedier 8fcd4f4a95
client: reconnect more quickly if it's a dial error (#2240) 2021-02-18 16:15:35 +08:00
yuyulei ed61049041
Bugfix: add ipv6 parsing with address of frps (#2163) 2020-12-24 21:48:26 +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 8b75b8b837
fix by golint (#1822) 2020-05-24 17:48:37 +08:00
Tank caa6e8cf01
fix: frpc reconnect frps frequently lead to memory leak (#1722) 2020-04-02 10:58:37 +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 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
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
fatedier 394af08561 close session in login() 2019-08-03 16:43:21 +08:00
fatedier 5680a88267 fix connection leak when login_fail_exit is false, fix #1335 2019-07-31 00:50:38 +08:00