Skip to content

Releases: getmikan/Citrus

v1.0.0-beta.2

Choose a tag to compare

@github-actions github-actions released this 18 Oct 12:52
ecaa946

What's Changed

BUG & Fix

Maintenance

Full Changelog: v1.0.0-beta.1...v1.0.0-beta.2

v1.0.0-beta.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 18:55
c0643c3

What's Changed

  • 01b0b30 feat(listener): xhttp server-max-header-bytes, tests for CDN uploads by @Nemu-x
  • 0f5cb92 feat(api): /inbounds/{name}/users to list, replace, add, change and remove inbound users by @Nemu-x
  • 10b9afc feat(authevent): add a process-global handler for rejected authentication by @Nemu-x
  • 12bc74b Merge pull request #44 from getmikan/feat/user-limits by @Nemu-x
  • 1538cce Merge pull request #31 from getmikan/feat/dns-serve-stale by @Nemu-x
  • 1a28484 Merge pull request #32 from getmikan/feat/trusted-proxy-header by @Nemu-x
  • 1e710b6 feat(statistic): per-user traffic accounting for inbound users by @Nemu-x
  • 1effb03 feat: make tunnel TCP connection timeout configurable by @bg246070
  • 21a8ee2 Merge pull request #20 from getmikan/feat/xhttp-server-cdn by @Nemu-x
  • 24b6327 feat(dns): serve-expired is opt-in in Citrus, bounds, docs, tests by @Nemu-x
  • 2b886ab feat(metrics): Prometheus /metrics and /healthz, /readyz probes on the controller by @Nemu-x
  • 2c0c70a Merge pull request #10 from getmikan/feat/reality-server-pq by @Nemu-x
  • 2d03e12 feat(dns): DNSCrypt v2 resolver for sdns:// stamps by @Nemu-x
  • 2f9c9e2 feat: add fallback to TrustTunnel inbound by @GetsuNoKaze
  • 3123463 Merge pull request #21 from getmikan/feat/h2-caddy-settings by @Nemu-x
  • 31dc389 Merge pull request #47 from getmikan/feat/metrics by @Nemu-x
  • 33a12ff Merge pull request #63 from getmikan/feat/dnscrypt-resolver by @Nemu-x
  • 3af85fb feat(reality): server mldsa65-seed, require-x25519mlkem768 and client version range by @Nemu-x
  • 45833a7 feat: add trusted-proxy-header for vless/trojan listener by @MakostaDev
  • 461e691 Merge pull request #68 from getmikan/feat/unix-socket-listeners by @Nemu-x
  • 473b8fb feat: user-limits config section and /limits/users API by @Nemu-x
  • 58f12a2 Merge pull request #29 from getmikan/feat/tcp-connect-timeout by @Nemu-x
  • 6d39030 feat(api): GET /events, a push stream of core events by @Nemu-x
  • 719dfc6 Merge pull request #19 from getmikan/feat/ech-xray-parity by @Nemu-x
  • 73a5031 feat(log): log-format text|json and log-timestamp-format by @Nemu-x
  • 74f14ce feat(provider): skip proxies of removed protocols instead of failing the provider by @Nemu-x
  • 7585a53 feat(http): HTTP/2 inbounds send the SETTINGS frame Caddy sends by @Nemu-x
  • 7ac7eca feat(listener): TCP stream listeners can listen on a unix socket by @Nemu-x
  • 846b3d1 feat(api): PUT /rules replaces the rules at runtime by @Nemu-x
  • 89f7f40 Merge pull request #70 from getmikan/feat/event-stream by @Nemu-x
  • 8d97eb8 feat(group): chain groups for cascades, with a health check that names the failed hop by @Nemu-x
  • 8ef480f Merge pull request #41 from getmikan/feat/ss2022-multi-user by @Nemu-x
  • 9173c35 feat(convert): parse Xray vcn, ech, pqv and spx link params by @Nemu-x
  • 9183b06 feat(sniffer): sniff every destination of a UDP session, not just the first by @Nemu-x
  • 9710dee feat(sniffer): sniffer.skip-threshold by @Nemu-x
  • 97f6690 feat(xhttp): default to Xray-core's XMUX when reuse-settings is empty by @Nemu-x
  • 993e642 feat(hysteria2, masque): disable-mtu-discovery option by @Nemu-x
  • 99f777c feat(log): show the sniffed domain next to the IP in connection logs by @Nemu-x
  • 9ab0058 feat(authevent): report unknown VLESS UUIDs, wrong Trojan passwords and rejected Sudoku handshakes by @Nemu-x
  • 9c9b085 feat(reality): X25519MLKEM768 by default, client-version and mldsa65-verify by @Nemu-x
  • a0d66cc feat(api): report the Go memory limit in /memory and /metrics by @Nemu-x
  • a611cb7 Merge pull request #1 from GetsuNoKaze/citrus/trusttunnel-fallback by @Nemu-x
  • a78f95c feat(authevent): report rejected auth on TrustTunnel, REALITY, AnyTLS, TUIC v5 and Hysteria2 by @Nemu-x
  • a93079f feat(tls): comma-separated fingerprint pins and name-cert-verify names by @Nemu-x
  • afad849 Merge pull request #71 from getmikan/feat/trusttunnel-client-timers by @Nemu-x
  • b4f32b6 Merge pull request #34 from getmikan/feat/xhttp-default-xmux by @Nemu-x
  • b70bbc9 feat(statistic): per-user limits enforced in the tunnel by @Nemu-x
  • b7b653a Merge pull request #64 from getmikan/feat/api-put-rules by @Nemu-x
  • b93dc59 Merge pull request #73 from getmikan/feat/cascade-chains by @Nemu-x
  • bc4e843 feat: configure serving expired DNS cache entries by @ayanamist
  • c6fabc3 feat(ech): ech-opts query-server, Xray echConfigList DNS forms in links by @Nemu-x
  • c70959e feat(xhttp): server accepts packet-up uploads with any method, like Xray-core by @Nemu-x
  • c75cec8 feat(tls): real Firefox 148 and Safari 26.3 parrots from the getmikan/utls fork by @Nemu-x
  • c91a184 feat(sniffer): detect BitTorrent DHT messages over UDP by @Nemu-x
  • c91f5b9 feat(ech): accept Xray echServerKeys (plain base64, several keys) in ech-key by @Nemu-x
  • cafecc9 feat(listener): change inbound users at runtime without recreating the listener by @Nemu-x
  • d3d835d Merge pull request #5 from getmikan/feat/authevent by @Nemu-x
  • d413740 Merge pull request #43 from getmikan/feat/inbound-users-api by @Nemu-x
  • d641574 Merge pull request #33 from getmikan/feat/bittorrent-sniffer by @Nemu-x
  • dff9504 feat(openvpn): tls-version-min for the control channel by @Nemu-x
  • e912415 Merge pull request #42 from getmikan/feat/user-stats by @Nemu-x
  • eb21994 feat(trusttunnel): per-proxy HTTP/2 session timers by @Nemu-x
  • f33eaeb feat: add BitTorrent sniffer and PROTOCOL rule by @artyfarty
  • f9d5b66 feat(shadowsocks): multi-user Shadowsocks 2022 inbound (EIH) with per-user IN-USER by @Nemu-x
  • fe9cc3f feat(config): reject VMess configs clearly and skip vmess:// share links by @Nemu-x
  • ff0d829 Merge pull request #8 from getmikan/feat/xray-reality-pq by @Nemu-x

BUG & Fix

  • 063baca Merge pull request #92 from getmikan/fix/quic-assoc-state by @Nemu-x
  • 07bae81 fix(listener): require TLS 1.2 or newer on TLS inbounds and the controller by @Nemu-x
  • 0906f57 fix(tunnel): bound tcp-connect-timeout to 100..600000 ms, docs by @Nemu-x
  • 092a2e5 fix(geodata): bound GEO downloads and replace files atomically by @Nemu-x
  • 0ad6427 fix(sudoku): cap streams per multiplex session and stop parking a goroutine per OPEN by @Nemu-x
  • 0b0d0fb fix(listener): bound the pre-auth handshake of VLESS, Trojan, AnyTLS and TrustTunnel by @Nemu-x
  • 0b1d1dd fix(sniffer): detect uTP by its ST_SYN only and rule out WireGuard by @Nemu-x
  • 0be4a89 fix(xhttp): treat zero ranges as unset, like Xray-core by @Nemu-x
  • 11e4d3a Merge pull request #15 from getmikan/fix/hardening by @Nemu-x
  • 11eeab9 fix(provider): log only the name of a skipped proxy by @Nemu-x
  • 1354387 fix(dns): redact DoH userinfo in logs and errors by @Nemu-x
  • 13aaec1 Merge pull request #94 from getmikan/fix/log-redaction by @Nemu-x
  • 1588db1 Merge pull request #9 from getmikan/fix/xhttp-cdn-xray by @Nemu-x
  • 16350d7 fix(geodata): validate varint lengths in the memconservative decoder by @Nemu-x
  • 1a01f1c fix(quic): bound TUIC fragment reassembly and ShadowQUIC unbound association state by @Nemu-x
  • 1ea76a7 fix(hosts): bound domain mapping chains, and the core resolver follows them by @Nemu-x
  • 1fdcba7 fix(provider): redact the health-check URL in debug logs by @Nemu-x
  • 213c366 Merge pull request #103 from getmikan/fix/dns-listener-limits by @Nemu-x
  • 22969ef fix(direct): dial the address the IP rules checked by @Nemu-x
  • 2377246 fix(outbound): SSH host-key warning and opt-out, OpenVPN server identity checks by @Nemu-x
  • 2423265 Merge pull request #84 from getmikan/fix/handshake-deadlines-snell-ss by @Nemu-x
  • 26ac9f5 fix(reality): max-time-difference is in milliseconds, like Xray's maxTimeDiff by @Nemu-x
  • 26e6554 fix(xhttp): default to Xray-core's xmux when reuse-settings is empty by @Nemu-x
  • 2791101 fix(xhttp): don't wait for each packet-up response before the next POST by @Nemu-x
  • 27cbff2 fix(sudoku): bound the handshake replay cache whatever user hashes clients send by @Nemu-x
  • 2ab0bc5 fix(vless): cap VLESS Encryption frames at 16640 like Xray by @Nemu-x
  • 2ab424c fix(hysteria2): verify the https masquerade upstream certificate by @Nemu-x
  • 2af04d4 Merge pull request #111 from getmikan/fix/codeql-alerts by @Nemu-x
  • 31ef5ea Merge pull request #22 from getmikan/fix/bounded-parallel-dial by @Nemu-x
  • 34ff37c fix(tailscale): dialer-proxy no longer breaks the start, and no UDP goes around it by @Nemu-x
  • 365fac3 fix(xhttp): a passed deadline no longer closes an idle conn by @Nemu-x
  • 378200e Merge pull request #104 from getmikan/fix/realm-events-close by @Nemu-x
  • 389b167 Merge pull request #89 from getmikan/fix/ntp-and-dns-cache by @Nemu-x
  • 3af28f9 fix(auth): revoke global authentication sessions on reload; refuse empty usernames by @Nemu-x
  • 3b8394e fix(statistic): never close an expiring user before expire-at by @Nemu-x
  • 3d7b5f4 Merge pull request #72 from getmikan/fix/inbound-test-races by @Nemu-x
  • 3fda308 Merge pull request #93 from getmikan/fix/udp-nat-key by @Nemu-x
  • 3fe611c Merge pull request #96 from getmikan/fix/realm-trust-and-logs by @Nemu-x
  • 4062a7d fix(tun): compare every field when deciding whether a reload restarts TUN by @Nemu-x
  • 40f695d fix(mmdb): no panic on an IP without a record in an ipinfo ASN database by @Nemu-x
  • 41273e1 Merge pull request #46 from getmikan/fix/user-stats-mux-undercount by @Nemu-x
  • 438d334 fix(xhttp): cap and time out sessions that bring no upload data by @Nemu-x
  • 43f2561 Merge pull request #23 from getmikan/fix/direct-checked-ip by @Nemu-x
  • 447676f Merge pull request #36 from getmikan/fix/authevent-fallback by @Nemu-x
  • 4607d46 fix(quic): bounded stream limits for TUIC, ShadowQUIC and TrustTunnel, and a pre-auth budget for TUIC by @Nemu-x
  • 49750cf Merge pull request #86 from getmikan/fix/session-revocation by @Nemu-x
  • 4978187 Merge pull request #60 from getmikan/fix/hosts-domain-mapping by @Nemu-x
  • 4aae1f0 Merge pull request #17 from getmikan/fix/shadowtls-wildcard-ssrf by @Nemu-x
  • 4e9f9ce Merge pull request #77 from getmik...
Read more

Citrus v0.0.0

Choose a tag to compare

@Miroshka000 Miroshka000 released this 11 Oct 13:35

What's Changed

BUG & Fix

Maintenance

Full Changelog: v1.19.32...v0.0.0