Commit Graph

3089 Commits

Author SHA1 Message Date
Wei-Lun Li 2010477f38 fix(fmt): keep a ':' in a Naive password through export and import (#10526)
NaiveFmt.ToUri percent-encodes the username and password, so a
password-only profile with the password a:b is exported as
naive+https://a%3Ab@host. Resolve decoded the user info before
looking for the ':' separator and imported it as username "a",
password "b". Split the raw user info first and decode each part.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 20:13:47 +08:00
Miheichev Aleksandr Sergeevich 7c49b236a0 chore(deps): update Downloader to 6.0.1 (#10517) 2026-11-05 20:12:26 +08:00
dependabot[bot] b8458fdb7f Bump TUnit from 1.78.0 to 1.80.0 (#10528)
---
updated-dependencies:
- dependency-name: TUnit
  dependency-version: 1.80.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-05 20:12:15 +08:00
DHR60 92aa3ba6dd Adjust Download Configuration (#10531) 2026-11-05 20:12:03 +08:00
DHR60 15ed51f942 Fix (#10530)
* Fix DataGridRowHeight

* Fix disposable

Co-authored-by: Eliot the Cougar <eliotfur@gmail.com>

* Simplify code

---------

Co-authored-by: Eliot the Cougar <eliotfur@gmail.com>
2026-11-05 20:11:33 +08:00
Miheichev Aleksandr Sergeevich 8027b2cf72 fix(webapi): handle expired restart polling deadlines (#10516) 2026-11-05 20:09:54 +08:00
DHR60 66546700b0 Fix UI (#10527)
* Revert "Cache selected views in SimpleViewLocator"

This reverts commit 8ebbd7f4f8.

* Fix UI

* Optimize Styles

* Code clean
2026-11-05 10:08:04 +08:00
Miheichev Aleksandr Sergeevich 9a029a3f7e fix: resolve JSON and SQLite trimming warnings (#10513)
Use generated JSON type metadata and propagate mapped SQLite types through CRUD and transactional bulk operations. Cover serialization options, affected counts, rollback and native test compatibility without changing UI models or persistence entities.
2026-11-04 17:56:43 +08:00
Miheichev Aleksandr Sergeevich aa00b2c614 build(deps): bump Avalonia.Desktop to 12.1.5 (#10503) 2026-11-04 17:56:18 +08:00
yc99-gif 2239982a63 feat(dns): support optional IPv6 FakeIP pools (#10464) 2026-11-04 09:51:43 +08:00
Wei-Lun Li 0d9e84556e fix(fmt): decode the SIP002 plain-text password only once (#10520)
For a SIP002 link whose user info is "method:password" rather than
base64 (the 2022-blake3 form), ResolveSip002 unescapes the whole user
info and then unescapes the password a second time. A password that
still holds a valid percent sequence after the first pass decays:
p%41ss is written as p%2541ss and imported as pAss.

Same double-decoding as #10027 fixed for query values.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 09:34:45 +08:00
2dust 9d1063f3f2 Fix
https://github.com/2dust/v2rayN/commit/749a7312d7899890b2dfedf635af4b03ddb1aa44
2026-11-04 09:30:33 +08:00
2dust 749a7312d7 Prevent duplicate UI style injections 2026-11-03 20:47:33 +08:00
Wei-Lun Li ff9fd7b988 fix(fmt): default the AnyTLS and Naive port to 443 when the link omits it (#10504)
The AnyTLS URI scheme makes the port optional and defaults it to 443,
and two of its three examples leave it out. The naive+https:// and
naive+quic:// link format does the same: the port is omitted when it is
443, and none of its examples carries one.

System.Uri answers -1 for an unregistered scheme with no port, so these
links were imported with Port = -1 and the profile failed IsValid().
Apply the same default Hysteria2Fmt already uses (#10026). An explicit
":0" is still kept as 0.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 19:44:03 +08:00
DHR60 fe54a73d74 Fix ipinfo copy functionality (#10515)
* Fix ipinfo copy functionality

* Code clean

* Code clean
2026-11-03 19:43:06 +08:00
dependabot[bot] 281f5ee3c7 Bump TUnit from 1.73.19 to 1.78.0 (#10509)
---
updated-dependencies:
- dependency-name: TUnit
  dependency-version: 1.78.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-03 16:01:38 +08:00
dependabot[bot] a74d10babb Bump actions/checkout from 6 to 7 (#10507)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-03 16:01:09 +08:00
Wei-Lun Li 522bca492c fix(fmt): import legacy base64 SOCKS links again (#10505)
SocksFmt.Resolve tries ResolveSocksNew first and only falls back to the
legacy socks://base64(user:pass@host:port) parser when System.Uri
rejects the link. System.Uri accepts most legacy links, though: it takes
the base64 as the host (lower-cased) and anything after a '/' as the
path. It only rejects a base64 that ends in '=' padding and has no '/',
so links without padding, or with a '/' or '_' in the base64, were
imported with the base64 as the address, port -1 and no credentials.

A legacy link has no port of its own, so let ResolveSocksNew give up
when the URI has none and leave the link to ResolveSocks.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 16:00:48 +08:00
DHR60 0f1f82af4e Fix (#10501) 2026-11-02 15:42:27 +08:00
吴小白 3d0f45f6a8 Update loongarch64 build (#10487)
* Update loongarch64 build

Signed-off-by: 吴小白 <296015668@qq.com>

* Update GlobalHotKeys

---------

Signed-off-by: 吴小白 <296015668@qq.com>
Co-authored-by: 2dust <31833384+2dust@users.noreply.github.com>
2026-11-02 15:27:24 +08:00
DHR60 19850f92be Profile pre-resolver (#10220)
* Profile pre-resolver

* Try cname

* UI
2026-11-02 15:02:44 +08:00
Shubham Padkonde 4c4449e74d fix: match proxy group types without case sensitivity (#10472) 2026-11-02 09:53:18 +08:00
DHR60 59487dca75 Add MASQUE warp support (#10498) 2026-11-02 09:30:09 +08:00
DHR60 d4880dbe02 Fix policy group (#10495) 2026-11-02 09:29:45 +08:00
DHR60 0856ffd7d8 Try fix dns (#10485) 2026-11-02 09:27:59 +08:00
Shubham Padkonde c436b998b4 fix: persist repeated profile test results (#10466) 2026-11-02 09:26:34 +08:00
Miheichev Aleksandr Sergeevich 7a52be4150 chore(deps): bump IPNetwork2 from 4.3.0 to 5.0.1 (#10453)
* chore(deps): bump IPNetwork2 from 4.3.0 to 5.0.1

* test: use AOT-safe IPNetwork route assertions
2026-11-02 09:24:35 +08:00
DHR60 8c02b5f2f6 Update cert workflow (#10497)
* Update cert workflow

* Update certificate
2026-11-02 09:24:18 +08:00
Miheichev Aleksandr Sergeevich 743eb323c2 fix(webapi): preserve Unix environment names and isolate test fixtures (#10455)
* fix(webapi): preserve Unix environment names and isolate local test fixtures

* test(webapi): isolate launcher fixtures from host process IDs

* test(webapi): allow auth fixture scheduling headroom
2026-11-02 09:20:34 +08:00
Miheichev Aleksandr Sergeevich ebabf79017 fix(webapi): allow reading the instance-lock owner on macOS (#10454)
* test(webapi): cover instance-lock owner reads across processes

* fix(webapi): keep macOS instance-lock owners readable

* test(webapi): wait for lock release after owner exit
2026-11-02 09:20:08 +08:00
Miheichev Aleksandr Sergeevich 756916978d fix(xray): stop emitting obsolete echForceQuery (#10480) 2026-11-01 21:11:17 +08:00
Miheichev Aleksandr Sergeevich a2a8a77ff6 chore(deps): update MaterialDesignThemes to 5.4.0 (#10423) 2026-11-01 21:08:08 +08:00
dependabot[bot] 2bc79bc5a1 Bump Repobot.SQLite.Unofficial from 3.53.4.1 to 3.54.1 (#10416)
---
updated-dependencies:
- dependency-name: Repobot.SQLite.Unofficial
  dependency-version: 3.54.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-01 21:07:41 +08:00
dependabot[bot] 4c8b865d03 Bump docker/build-push-action from 6 to 7 (#10427)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6 to 7.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-01 21:07:20 +08:00
Miheichev Aleksandr Sergeevich 3d44ba8ec8 chore(deps): update NLog to 6.2.2 (#10409) 2026-11-01 21:06:39 +08:00
dependabot[bot] aac4520f59 Bump actions/setup-python from 6 to 7 (#10426)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6 to 7.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-01 21:05:17 +08:00
dependabot[bot] b13ae2592a Bump actions/download-artifact from 7 to 8 (#10425)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 7 to 8.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-01 21:05:07 +08:00
dependabot[bot] bf2584c9a9 Bump docker/setup-buildx-action from 3 to 4 (#10424)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-01 21:04:55 +08:00
Miheichev Aleksandr Sergeevich e044b90c83 chore(deps): update Downloader to 5.10.2 (#10491) 2026-11-01 21:04:52 +08:00
DHR60 3dce503a08 Fix (#10494) 2026-11-01 21:01:34 +08:00
DHR60 70ab27e436 Fix udp test (#10484) 2026-11-01 20:58:58 +08:00
DHR60 9593b289b9 Fix (#10460) 2026-11-01 20:54:43 +08:00
DHR60 5664270be7 Update cert (#10450) 2026-11-01 20:54:27 +08:00
Lukas 926790b071 fix(speedtest): clear the last speed when a speed test starts (#10449)
A speed test only stored a speed above zero, so a node that was skipped
because its delay test failed, or whose download failed, kept the speed
of the previous run. The list showed the skip or error text until it was
sorted or refreshed; then the old speed came back and the node sorted as
if it had been measured. Clear the stored speed when a speed or mixed
test starts.
2026-11-01 20:53:45 +08:00
Ekko82 e1c9633535 fix: keep the PAC listener running after a client reset (#10447)
* fix: keep the PAC listener running after a client reset

* Update PacManager.cs

* Update PacManager.cs

---------

Co-authored-by: 2dust <31833384+2dust@users.noreply.github.com>
2026-11-01 20:50:32 +08:00
UnrealTale 36184045bb Fix (#10431) (#10432) 2026-11-01 20:44:44 +08:00
DHR60 fcd313007a Update GlobalHotKeys (#10493) 2026-11-01 20:44:11 +08:00
Wu Shuwen 7e14cf9773 Preserve subscription profiles on failed import (#10429) 2026-11-01 20:43:48 +08:00
Wu Shuwen ad3e24b6b5 Fix fragment packet selection for REALITY (#10428) 2026-11-01 20:39:08 +08:00
Miheichev Aleksandr Sergeevich 4169c12a1f test: strengthen ProfileExManager concurrency regression coverage (#10410) 2026-11-01 20:35:38 +08:00