Commit Graph

90 Commits

Author SHA1 Message Date
sunmy2019 4ac53a5a39
feat: optional rustls support (#330)
* initial implementation of rustls support

* Refactor create_self_signed_cert.sh script

* resolve lint errors

* Fix handling of Option in tls.rs

* Update cargo-hack check command and feature dependencies

* fix missing point

* Add conditional check to skip test if client or server is not enabled

* clean up things

* fix for windows CI

* try fixing Windows CI

* Update src/main.rs

* Update src/transport/websocket.rs

* add missing messages

* split the tls mod

Co-authored-by: Ning Sun <n@sunng.info>
2024-02-18 17:17:17 +08:00
Ryan Dearing 63221028c9
fix: flush DataChannelCmd::StartForward* commands (#316)
Without flushing this may sit in a kernel buffer and we won't
know if the channel is still alive. This is particularly problematic
for the TCP connection pool.
2024-02-14 11:30:52 +08:00
Yujia Qiao 84c04ab9df
fix: clippy (#302) 2023-11-03 11:37:43 +00:00
I Putu Ariyasa 5946a18370
feat(transport): add websocket transport (#290) 2023-10-01 14:43:03 +08:00
Yujia Qiao 2acd62454d
fix: clippy 2023-03-27 10:48:12 +08:00
Yujia Qiao 1b5c892e24
fix: enable TCP_NODELAY by default (#210) 2022-11-30 11:42:16 +08:00
Yujia Qiao d216d6380f
feat: configurable retry interval (#208) 2022-11-29 09:41:23 +00:00
Yujia Qiao bf842b43d3
fix: update Dockerfile (#201) 2022-11-04 14:39:48 +00:00
Yujia Qiao ea01c42da7
refactor: ConfigChange (#191) 2022-09-15 11:40:15 +00:00
Peter Neumark 187f4f0335
feat: Allow use of system default TLS trusted root by omitting the trusted_root client config parameter. (#192) 2022-09-14 14:55:38 +00:00
Yujia Qiao 064bdcab8e
fix: clippy (#187) 2022-09-04 22:04:20 +08:00
Yujia Qiao 1f2fc5b28f
feat: cache dns result for one session (#166) 2022-06-11 11:39:11 +08:00
Victor C 8665e6a2cf
fix: make watcher's path absolute for notify's MacOS fsevent implementation (#155) 2022-04-15 16:47:55 +08:00
Yujia Qiao feb8c2dbfa
fix: restart when heartbeat times out (#147) 2022-03-28 16:42:09 +08:00
Yujia Qiao d2c55cc99c
chore: make clippy happy 2022-03-09 12:34:45 +08:00
Yujia Qiao 2746a0ea88
feat: application layer heartbeat (#136)
* feat: application layer heartbeat

* feat: make heartbeat configurable

* fix: update keepalive params

* docs: update about heartbeat
2022-03-08 23:27:18 +08:00
Yujia Qiao 1ef7747019
feat: support SOCKS5 and HTTP proxy (#135)
* chore: add comments

* feat: support socks5/http proxy

* fix: clippy

* fix: always validate tcp config

* chore: rename directories
2022-03-08 23:25:51 +08:00
mgt a492ea4f14
fix(config_watcher): allow backupcopy for vim (#122)
by watching the parent dir of config file, we can receive events regardless of the inode of the config file.
2022-02-21 14:31:21 +08:00
Yujia Qiao 55aedfc29a
fix: use unbounded_channel 2022-02-20 15:25:40 +08:00
Yujia Qiao 3d245c5e5f
chore: refactor and clean up 2022-02-07 21:21:22 +08:00
Yujia Qiao 5f301ed8e3
feat: mask out token in logging (#129) 2022-02-07 12:01:12 +00:00
Yujia Qiao 90aa0a4e44
fix: use unbounded channels in `config_watcher` (#127) 2022-02-07 10:12:13 +00:00
Yujia Qiao 4c08779ff6
chore: refactor 2022-02-07 17:59:26 +08:00
Yujia Qiao 9d143dab6a
fix: reimplement `retry_notify` with signals (#123) 2022-02-06 14:26:21 +00:00
Yujia Qiao 81d85f6d7e
test: fix unstable tests 2022-02-02 19:34:34 +08:00
Yujia Qiao 0278c529dd
fix: respect shutdown signal when retry (#121)
* fix: respect shutdown signal when retry

* test: add tests for retry_notify

* chore: drop backoff/tokio
2022-02-02 06:27:43 +00:00
Yujia Qiao dde08bdd8c
fix: change some messages to single line style 2022-02-01 21:49:17 +08:00
Yujia Qiao 720778b07c
chore: clean up 2022-01-25 21:15:26 +08:00
Yujia Qiao f772c7cfed
fix: remove `assert_eq` for `read_hello` 2022-01-21 19:06:35 +08:00
Yujia Qiao cdbf8781e4
fix: throw errors when the service type or protocol version doesn't match (#112)
* fix: print errors when service types don't match

* fix: validate the protocol version when handshake
2022-01-21 06:35:32 +00:00
Yujia Qiao 3fad4c4350
fix: improve exp backoff for control channels 2022-01-19 13:54:47 +08:00
Yujia Qiao 3331f3e7e8
fix: ignore broken data channels (#110) 2022-01-18 22:26:32 +08:00
Yujia Qiao 1fe3509536
fix: improve log (#108)
* fix: improve log format

* fix: set data channel errors to warn level

* fix: make span name clearer
2022-01-17 18:05:04 +08:00
Yujia Qiao 81303f7181
fix: deny unknown fields for config (#105) 2022-01-17 16:53:02 +08:00
Yujia Qiao 907109984f
fix: use exp backoff for running control channel (#104) 2022-01-17 12:30:37 +08:00
Yujia Qiao 2c25bbd1cb
chore: clean up 2022-01-14 22:36:12 +08:00
Yujia Qiao 25a737b10e
ci: don't publish unless release is successful
fix: fix test_udp_connect for `cross`
2022-01-14 22:30:23 +08:00
Yujia Qiao 9ad61b5fdc
fix: set keepalive_intvl to 3s 2022-01-14 20:53:49 +08:00
Yujia Qiao 0d9e5ec1aa
feat: expose TCP_NODELAY and TCP_KEEPALIVE (#96)
* feat: expose TCP_NODELAY
* fix: opt-in `nodelay` for each service
* fix: enforce `nodelay` for every control channel
* feat: expose keepalive_secs
* feat: expose keepalive_interval
* docs: update docs
* fix: update dependencies and implement hint for noise
2022-01-14 15:37:09 +08:00
Yujia Qiao 91b38cbe5f
fix: log retry intervals 2022-01-13 21:25:01 +08:00
Yujia Qiao 2de9147a0f
fix: improve log 2022-01-13 20:44:59 +08:00
Yujia Qiao 7a35e9e4f2 fix: flush when handshaking 2022-01-13 11:42:50 +08:00
Yujia Qiao 7a7eef11bc fix: support IPv6 `local_address` for UDP 2022-01-12 20:32:21 +08:00
Yujia Qiao edbb5ce5c9 feat: make `accept` cancel safe and add a timeout 2022-01-12 17:18:28 +08:00
Yujia Qiao e6dd0c8df8 feat: emit colored log only when STDOUT is a tty 2022-01-11 21:10:54 +08:00
Yujia Qiao 383151bd4a
fix: improve reliability and logs (#85)
* fix: use a smaller keepalive interval

* fix: improve logs and clean up
2022-01-08 19:38:17 +08:00
Yujia Qiao 3430845749
fix: improve logs 2022-01-08 17:33:01 +08:00
Yujia Qiao ba3c134a87
fix: use retry_notify to log errors 2022-01-08 16:43:34 +08:00
Yujia Qiao 8f03673406
fix: add contexts for noise errors 2022-01-08 16:24:33 +08:00
Yujia Qiao f1fed7e2cf chore: fix typo in codes 2022-01-07 22:51:47 +08:00