Commit graph

51 commits

Author SHA1 Message Date
Zhang Jingqiang
d02e990e01 support set tcp max segment size in listen config 2026-01-14 09:36:39 +08:00
Zhang Jingqiang
ab94035032 g3proxy: support facts user auth in tcp_tproxy server 2026-01-07 07:06:32 +08:00
Zhang Jingqiang
49d04e03e7 use ArcStr instead of Arc<str>
Some checks failed
StaticLinking / msvc-vcpkg (push) Has been cancelled
StaticLinking / msvc-vendored (push) Has been cancelled
StaticLinking / msvc-vendored-1 (push) Has been cancelled
StaticLinking / msvc-vendored-2 (push) Has been cancelled
StaticLinking / msvc-vendored-3 (push) Has been cancelled
Windows-CI / Build (push) Has been cancelled
Windows-CI / Build vendored (push) Has been cancelled
Windows-CI / Build vendored-1 (push) Has been cancelled
Windows-CI / Build vendored-2 (push) Has been cancelled
Windows-CI / Build vendored-3 (push) Has been cancelled
Windows-CI / Build vendored-4 (push) Has been cancelled
Windows-CI / Build vendored-5 (push) Has been cancelled
Windows-CI / Build vendored-6 (push) Has been cancelled
Windows-CI / Build vendored-7 (push) Has been cancelled
Windows-CI / Build vendored-8 (push) Has been cancelled
Windows-CI / Build vendored-9 (push) Has been cancelled
Windows-CI / Build vendored-10 (push) Has been cancelled
Windows-CI / Build vendored-11 (push) Has been cancelled
Windows-CI / Build vendored-12 (push) Has been cancelled
Windows-CI / Build vendored-13 (push) Has been cancelled
Windows-CI / Build vendored-14 (push) Has been cancelled
Windows-CI / Build vendored-15 (push) Has been cancelled
Windows-CI / Build vendored-16 (push) Has been cancelled
Windows-CI / Build vendored-17 (push) Has been cancelled
Windows-CI / Build vendored-18 (push) Has been cancelled
Windows-CI / Build vendored-19 (push) Has been cancelled
Windows-CI / Build vendored-20 (push) Has been cancelled
Windows-CI / Build vendored-21 (push) Has been cancelled
Windows-CI / Build vendored-22 (push) Has been cancelled
Windows-CI / Build vendored-23 (push) Has been cancelled
2025-12-15 07:26:59 +08:00
Zhang Jingqiang
f0ef0010e7 switch to use our own RateLimiter instead of governor 2025-08-22 13:58:48 +08:00
Zhang Jingqiang
9c59aaa1c7 fix clippy 1.89 warnings 2025-08-10 08:56:57 +08:00
Zhang Jingqiang
e606fb7b41 g3-json: bump MSRV to 1.88 2025-08-10 08:56:57 +08:00
WaterWhisperer
1a4500b114 g3-json: fix variable in rustls server config cert pair parsing
Some checks are pending
CodeCoverage / lib unit test (push) Waiting to run
CodeCoverage / g3statsd test (push) Waiting to run
CodeCoverage / g3mkcert test (push) Waiting to run
CodeCoverage / g3keymess test (push) Waiting to run
CodeCoverage / g3proxy test (push) Waiting to run
CodeCoverage / g3bench test (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (java-kotlin) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
CodeQL Advanced / Analyze (rust) (push) Waiting to run
CrossCompiling / Build (push) Waiting to run
Linux-CI / Build (push) Waiting to run
Linux-CI / Clippy (push) Waiting to run
Linux-CI / Build vendored (push) Waiting to run
Linux-CI / Build with OpenSSL Async Job (push) Waiting to run
MacOS-CI / Build (push) Waiting to run
MacOS-CI / Build vendored (push) Waiting to run
StaticLinking / musl (push) Waiting to run
StaticLinking / msvc (push) Waiting to run
Windows-CI / Build (push) Waiting to run
Windows-CI / Build vendored (push) Waiting to run
In `as_rustls_server_config_builder`, when processing non-array certificate pairs, the function incorrectly used the top-level configuration value (`value`) instead of the current key's value (`v`). This would cause certificate parsing to fail since it passed the entire config instead of the specific cert pair value. The change replaces `value` with `v` to correctly parse individual certificate pairs.
2025-07-31 16:47:50 +08:00
WaterWhisperer
b0dfdb9ae5 g3-json: add unit tests for JSON value parsing modules
Implement unit tests for value parsing functionality in:
- Histogram metrics configuration
- OpenSSL certificate handling
- Regex pattern validation
- DNS resolution rules
- Rustls server configuration

Include test certificate/key files to support tests.
2025-07-31 16:47:50 +08:00
WaterWhisperer
ebc03c087e g3-json: add unit tests for JSON value parsers
Some checks failed
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (java-kotlin) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
CodeQL Advanced / Analyze (rust) (push) Waiting to run
CrossCompiling / Build (push) Waiting to run
Linux-CI / Clippy (push) Waiting to run
Linux-CI / Build (push) Waiting to run
Linux-CI / Build vendored (push) Waiting to run
Linux-CI / Build with OpenSSL Async Job (push) Waiting to run
MacOS-CI / Build (push) Waiting to run
MacOS-CI / Build vendored (push) Waiting to run
StaticLinking / musl (push) Waiting to run
StaticLinking / msvc (push) Waiting to run
Windows-CI / Build (push) Waiting to run
Windows-CI / Build vendored (push) Waiting to run
CodeCoverage / lib unit test (push) Has been cancelled
CodeCoverage / g3statsd test (push) Has been cancelled
CodeCoverage / g3mkcert test (push) Has been cancelled
CodeCoverage / g3keymess test (push) Has been cancelled
CodeCoverage / g3proxy test (push) Has been cancelled
CodeCoverage / g3bench test (push) Has been cancelled
- Add unit tests for JSON parsing functions across multiple value modules.
2025-07-27 23:53:50 +08:00
WaterWhisperer
a391a5bfb5 refactor and extend parser tests to separate success/error cases
Some checks are pending
CodeCoverage / lib unit test (push) Waiting to run
CodeCoverage / g3mkcert test (push) Waiting to run
CodeCoverage / g3keymess test (push) Waiting to run
CodeCoverage / g3proxy test (push) Waiting to run
CodeCoverage / g3bench test (push) Waiting to run
CodeCoverage / g3statsd test (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (java-kotlin) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
CodeQL Advanced / Analyze (rust) (push) Waiting to run
CrossCompiling / Build (push) Waiting to run
Linux-CI / Build (push) Waiting to run
Linux-CI / Clippy (push) Waiting to run
Linux-CI / Build vendored (push) Waiting to run
Linux-CI / Build with OpenSSL Async Job (push) Waiting to run
MacOS-CI / Build (push) Waiting to run
MacOS-CI / Build vendored (push) Waiting to run
StaticLinking / musl (push) Waiting to run
StaticLinking / msvc (push) Waiting to run
Windows-CI / Build (push) Waiting to run
Windows-CI / Build vendored (push) Waiting to run
- Split existing tests into distinct `_ok` and `_err` cases for clearer test organization
- Add comprehensive new test cases for:
  - Numeric parsers (size, datetime, ports)
  - Network address parsers (IPv4/IPv6, HTTP headers)
  - Duration and ACL set parsers
  - Map and proxy request type validation
- Cover edge cases, boundary values, and invalid inputs
2025-07-22 21:39:31 +08:00
Zhang Jingqiang
fbd20fa5ac allow to set tcp congestion control algorithm 2025-07-07 16:42:05 +08:00
Zhang Jingqiang
d30079246d hide sockopts on not supported platforms 2025-07-07 16:42:05 +08:00
Zhang Jingqiang
cdbaca621b update to socket2 0.6 2025-07-06 19:56:28 +08:00
Zhang Jingqiang
957e0226f5 detect openssl features in build.rs 2025-06-07 23:55:13 +08:00
Zhang Jingqiang
9f8858a0bb switch to use SPDX license identifier and update copyright year 2025-05-16 18:30:35 +08:00
Zhang Jingqiang
e53f6fb4f4 allow to set parent domain when do regex domain match 2025-04-13 17:36:37 +08:00
Zhang Jingqiang
9653578c2c g3statsd: add RegulateCollector 2025-04-06 19:09:37 +08:00
Zhang Jingqiang
230079d247 format to edition 2024 2025-02-21 10:48:48 +08:00
Zhang Jingqiang
7d167305ad bump all crates to 2024 edition 2025-02-21 10:48:48 +08:00
Zhang Jingqiang
e5a0b15ae2 update packages 2025-02-05 19:47:00 +08:00
Zhang Jingqiang
609024f3a8 rename MetricsName to NodeName 2025-01-15 10:22:18 +08:00
Zhang Jingqiang
2b238e2e41 delete useless comma and useless deps 2024-12-06 17:29:33 +08:00
Glen De Cauwsemaecker
39c4159708
add 'insecure' option for openssl/intercept_tls client config (#356)
Closes #353

as requested I also added warnings for both the enabling
and also in case of verify results
2024-10-22 17:57:46 +08:00
Zhang Jingqiang
b2eeeb9546 g3-tls-ticket: add redis source and config 2024-10-14 18:54:03 +08:00
glendc
1d3a53ef8f turn ProtocolInspectPolicy into AclDstHostRuleSet 2024-10-11 09:57:59 +08:00
Zhang Jingqiang
8624004f58 use rustls-pki-types directly 2024-10-10 11:00:50 +08:00
Zhang Jingqiang
e9b41b684d allow to set min/max tls version in openssl client 2024-09-04 16:21:54 +08:00
Zhang Jingqiang
148852675f use Arc<str> instead of String for host domain 2024-08-30 16:41:45 +08:00
Zhang Jingqiang
0252498e21 g3proxy: add global speed limiter for user 2024-07-23 19:43:26 +08:00
Zhang Jingqiang
47f8598196 use session ticket by default for rustls server 2024-07-02 11:47:00 +08:00
Zhang Jingqiang
7988e2f802 allow to disable session cache in TLS server 2024-07-02 11:10:20 +08:00
Zhang Jingqiang
8941c0cac5 update to use rustls 0.23 2024-05-15 10:49:57 +08:00
Zhang Jingqiang
f155c16f42 fix some clippy 1.78 warning 2024-04-03 16:54:42 +08:00
Zhang Jingqiang
27e34e0795 support boringssl permute extensions 2024-02-27 16:37:53 +08:00
Zhang Jingqiang
c0f907d424 fix some clippy 1.78 warning 2024-02-23 17:29:50 +08:00
Zhang Jingqiang
f3511a092a add enable_ct and enable_grease for OpenSSL client 2024-02-01 15:23:07 +08:00
Zhang Jingqiang
4a123591d1 allow to send OCSP status request from OpenSSL client 2024-01-31 12:41:10 +08:00
Zhang Jingqiang
644ff29539 allow to set supported elliptic curve groups for OpenSSL client 2024-01-31 11:00:48 +08:00
Zhang Jingqiang
223d5873cd g3-types: remove the proxy feature 2024-01-19 14:36:04 +08:00
Zhang Jingqiang
3644b1e250 update tongsuo feature name in lib crates 2023-12-31 14:32:05 +08:00
Zhang Jingqiang
a0af389f85 add histogram metrics config and emit site duration metrics 2023-12-21 15:47:59 +08:00
Zhang Jingqiang
586c1a16d3 add common openssl server config builder 2023-11-03 16:19:49 +08:00
Zhang Jingqiang
e8c519f54e allow to use session ticket for rustls session resumption 2023-10-19 17:40:20 +08:00
Zhang Jingqiang
e37926ae6b simplify code 2023-09-11 16:37:16 +08:00
Zhang Jingqiang
44b4ef2322
add tlcp support via vendored-tongsuo feature (#121)
* add support for TLCP protocol via tongsuo

* g3keymess: add vendored-tongsuo feature

* update check scripts

* update to tokio-tongsuo 0.6.4 to get rid of default features
2023-08-28 13:04:56 +08:00
Zhang Jingqiang
ce915f1463 g3proxy: support json egress path in route_select escaper 2023-08-21 11:14:38 +08:00
Zhang Jingqiang
1e4291562f g3proxy: support udp methods for socks5 proxy peer 2023-08-16 17:57:09 +08:00
Zhang Jingqiang
282bbf16bd use workspace level dependency info for local libs 2023-05-05 11:05:04 +08:00
zhangjingqiang
df978f445e use workspace level dependencies 2023-04-04 17:47:07 +08:00
zhangjingqiang
03122e9a18 batch add cargo license metadata 2023-04-04 11:17:55 +08:00