Skip to content

Commit 47bbf8b

Browse files
committed
feat: support randomized fingerprint
1 parent ddecc8a commit 47bbf8b

4 files changed

Lines changed: 7 additions & 2 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Standalone C CLI client for:
77
- `VLESS + TLS + XHTTP (mode=packet-up)`
88
- `VLESS + Reality + XHTTP (mode=stream-one)`
99

10-
`fp=chrome/firefox/random/qq` (firefox fallback to chrome)
10+
`fp=chrome/firefox/random/randomized/qq` (firefox fallback to chrome)
1111

1212
Protocol semantics are aligned with `xray-core` for the supported transports and URI parameters.
1313

include/types.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
typedef enum {
88
FP_CHROME = 0,
99
FP_RANDOM = 1,
10-
FP_QQ = 2
10+
FP_QQ = 2,
11+
FP_RANDOMIZED = 3
1112
} fingerprint_mode_t;
1213

1314
typedef enum {

src/main.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,8 @@ int main(int argc, char **argv) {
511511
const char *fp_label = "chrome";
512512
if (cfg.fp_mode == FP_RANDOM) {
513513
fp_label = "random";
514+
} else if (cfg.fp_mode == FP_RANDOMIZED) {
515+
fp_label = "randomized";
514516
} else if (cfg.fp_mode == FP_QQ) {
515517
fp_label = "qq";
516518
}

src/uri.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ static void parse_query(vless_config_t *cfg, char *query) {
9898
} else if (strcmp(key, "fp") == 0) {
9999
if (strcmp(decoded, "random") == 0) {
100100
cfg->fp_mode = FP_RANDOM;
101+
} else if (strcmp(decoded, "randomized") == 0) {
102+
cfg->fp_mode = FP_RANDOMIZED;
101103
} else if (strcmp(decoded, "qq") == 0) {
102104
cfg->fp_mode = FP_QQ;
103105
} else {

0 commit comments

Comments
 (0)