Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-04-01perf: replace /dev/urandom | tr with openssl rand to fix CPU spike (#3887)Yunheng Liu
2026-04-01Bump Go and dependency versionsMHSanaei
Update go toolchain to 1.26.1 and upgrade multiple direct and indirect modules (examples: github.com/gin-contrib/gzip v1.2.6, github.com/gin-contrib/sessions v1.1.0, github.com/go-ldap/ldap/v3 v3.4.13, github.com/goccy/go-json v0.10.6, github.com/pelletier/go-toml/v2 v2.3.0, github.com/shirou/gopsutil/v4 v4.26.3, github.com/xtls/xray-core v1.260327.0, golang.org/x/crypto v0.49.0, google.golang.org/grpc v1.80.0). go.sum updated accordingly to lock the new versions. Routine dependency refresh to pull in fixes and improvements.
2026-03-18Update x-ui.sh (#3947)kazan417
looks like now cert management is option 19
2026-03-18Add Go code analyzer workflowMHSanaei
2026-03-18feat(tgbot): send connection links and qrs on client creation (closes ↵Abdalrahman
#3320)\n\n- Refactored inline keyboards into getCommonClientButtons to respect DRY\n- Extended SubmitAddClient callback handlers to dispatch individual links and QR codes to the bot chat on success. (#3888)
2026-03-17Update translate.ru_RU.toml (#3889)Nikolay
Change to plural (geofiles, not geofile)
2026-03-17fix: stop overwriting client_traffics.enable with JSON enable in ↵Alimpo
GetClientTrafficByEmail (#3931) When a client hit traffic/expiry limit, disableInvalidClients sets client_traffics.enable=false and removes the user from Xray. GetClientTrafficByEmail was overwriting that with settings.clients[].enable (admin config), so ResetClientTraffic never saw the client as disabled and did not re-add the user. Clients could not connect until manually disabled/re-enabled. Now the DB runtime enable flag is preserved; reset correctly re-adds the user to Xray.
2026-03-17fix: Ban new IPs with fail2ban instead of disconnected the client. (#3919)HamidReza Sadeghzadeh
* fix: Ban new IPs with fail2ban instead of disconnected the client. * fix: Remove unused strconv import * fix: Revert log fail2ban format
2026-03-17Bump docker/metadata-action from 5 to 6 (#3942)dependabot[bot]
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5 to 6. - [Release notes](https://github.com/docker/metadata-action/releases) - [Commits](https://github.com/docker/metadata-action/compare/v5...v6) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-version: '6' 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-03-17Bump actions/upload-artifact from 4 to 7 (#3941)dependabot[bot]
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 7. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4...v7) --- updated-dependencies: - dependency-name: actions/upload-artifact 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-03-17Bump actions/checkout from 5 to 6 (#3940)dependabot[bot]
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6. - [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/v5...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' 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-03-17Bump docker/setup-buildx-action from 3 to 4 (#3938)dependabot[bot]
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-03-17Bump docker/build-push-action from 6 to 7 (#3937)dependabot[bot]
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-03-17Bump docker/setup-qemu-action from 3 to 4 (#3936)dependabot[bot]
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3 to 4. - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](https://github.com/docker/setup-qemu-action/compare/v3...v4) --- updated-dependencies: - dependency-name: docker/setup-qemu-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-03-17Bump docker/login-action from 3 to 4 (#3939)dependabot[bot]
Bumps [docker/login-action](https://github.com/docker/login-action) from 3 to 4. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v3...v4) --- updated-dependencies: - dependency-name: docker/login-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-03-17Set package ecosystem to GitHub Actions in dependabot.ymlSanaei
2026-03-08Update fail2ban filter regex in x-ui.shMHSanaei
2026-03-04feat: mask password in telegram notification on 2FA failure (#3884)Aleksei Sidorenko
2026-03-04v2.8.11v2.8.11MHSanaei
2026-03-04Adjust KCP MTU when selecting xDNS maskMHSanaei
2026-03-04update dependenciesMHSanaei
2026-03-04Add cron to ubuntu packages (#3875)Artur
2026-03-04Add 'default' runlevel to x-ui service in Alpine (#3854)子寒
it should be 'default' runlevel when add x-ui service to openrc, default is 'sysinit' runlevel. 'sysinit' runlevel is unnecessary,maybe. if not, there is an error when call to function 'check_enabled()' as command 'grep default -c' can`t print 'default' runlevel. check_enabled() { if [[ $release == "alpine" ]]; then if [[ $(rc-update show | grep -F 'x-ui' | grep default -c) == 1 ]]; then return 0 else return 1 fi
2026-03-04Fix DeepLink for Happ, remove encoding URL (#3863)Happ-dev
Co-authored-by: y.sivushkin <y.sivushkin@corp.101xp.com>
2026-03-04Fix: escape HTML characters in tgbot start command (#3883)Aleksei Sidorenko
2026-03-01fix: remove excluded paths from gzip middleware in router initialization (#3860)Nabi KaramAliZadeh
2026-02-25Merge pull request #3828 from MHSanaei/restartXrayOptionAlireza Ahmadi
[feat] restart xray-core from cli #3825
2026-02-20fix windows buildAlireza Ahmadi
2026-02-20[feat] restart xray-core from cli #3825Alireza Ahmadi
2026-02-16Bump Go to 1.26MHSanaei
2026-02-15Improve telego client robustness and retriesMHSanaei
Add a createRobustFastHTTPClient helper to configure fasthttp.Client with better timeouts, connection limits, retries and optional SOCKS5 proxy dialing. Validate and sanitize proxy and API server URLs instead of returning early on invalid values, and build telego.Bot options dynamically. Reduce long-polling timeout to detect connection issues faster and adjust update retrieval comments. Implement exponential-backoff retry logic for SendMessage calls to handle transient connection/timeouts and improve delivery reliability; also reduce inter-message delay for better throughput.
2026-02-15Add timeouts and delays to backup sendsMHSanaei
Add rate-limit friendly delays and context timeouts when sending backups via Telegram. Iterate admin IDs with index to sleep 1s between sends; add 30s context.WithTimeout for each SendDocument call and defer file.Close() for opened files; insert a 500ms pause between sending DB and config files. These changes improve resource cleanup and reduce chance of Telegram rate-limit/timeout failures.
2026-02-14translate bug fix #3789MHSanaei
2026-02-12bug fix #3785MHSanaei
2026-02-11Require HTTP 200 from curl before using IPMHSanaei
Replace simple curl+trim checks with a response+http_code parse to ensure the remote URL returns HTTP 200 and a non-empty body before assigning server_ip. Changes applied to install.sh, update.sh and x-ui.sh: use curl -w to append the status code, extract http_code and ip_result, and only set server_ip when http_code == 200 and ip_result is non-empty. This makes the IP discovery more robust against error pages or partial responses while keeping the existing timeout behavior.
2026-02-11v2.8.10v2.8.10MHSanaei
2026-02-11Remove allowInsecureMHSanaei
Remove the deprecated `allowInsecure`
2026-02-11Fix ipv6 hostname parsing for subscriptions (#3782)bakatrouble
2026-02-10Update translate.es_ES.toml (#3766)emirjorge
Fix some trasnslations :)
2026-02-10fix security issueMHSanaei
2026-02-09refactor: set default ProfileUrl (#3773)Nebulosa
2026-02-09Add url speed test for outbound (#3767)surbiks
* add outbound testing functionality with configurable test URL * use no kernel tun for conflict errors
2026-02-09Xray Core v26.2.6 and dependency updatesMHSanaei
Update Xray download URLs to v26.2.6 in the GitHub Actions release workflow and DockerInit script. Bump Go toolchain to 1.25.7 and refresh several module versions (telego, xtls/xray-core, klauspost/compress, pires/go-proxyproto, golang.org/x/arch, golang.org/x/sys, google.golang.org/genproto, etc.). Update go.sum to match the new dependency versions.
2026-02-08refactor: set header only if it not empty (#3763)Nebulosa
2026-02-08fix : Uncontrolled data used in path expressionSanaei
Co-Authored-By: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-02-08feat: add openssl to dockerfile (#3762)Mojtaba Arezoomand
2026-02-04feat: implement 'last IP wins' policy for IP limitation (#3735)Aung Ye Zaw
- Add timestamp tracking for each client IP address - Sort IPs by connection time (newest first) instead of alphabetically - Automatically disconnect old connections when IP limit exceeded - Keep only the most recent N IPs based on LimitIP setting - Force disconnection via Xray API (RemoveUser + AddUser) - Prevents account sharing while allowing legitimate network switching - Log format: [LIMIT_IP] Email = user@example.com || Disconnecting OLD IP = 1.2.3.4 || Timestamp = 1738521234 This ensures users can seamlessly switch between networks (mobile/WiFi) and the system maintains connections from their most recent IPs only. Fixes account sharing prevention for VPN providers selling per-IP licenses. Co-authored-by: Aung Ye Zaw <zaw.a.y@phluid.world>
2026-02-03Add workflow to clean old GitHub Actions cachesMHSanaei
Adds a scheduled GitHub Actions workflow (.github/workflows/cleanup_caches.yml) that runs weekly (and via workflow_dispatch) to delete Actions caches not accessed in the last 3 days. The job uses the gh CLI with the repository token and actions: write permission to list caches, filter by last_accessed_at against a 3-day cutoff, and delete matching cache IDs.
2026-02-03[Windows] Use MSYS2 to fix the runtime CGO problem (#3689)Ebrahim Tahernejad
* Use MSYS2 to fix the runtime CGO problem * macOS build workflow * Remove macOS build steps and update Windows packaging Removed macOS build steps from the release workflow and updated Windows packaging step. * Rename step to copy and download resources
2026-02-03Update geofiles according 304 http respond (#3690)Nebulosa
* feat: enhance geofile update process with conditional GET and modification time handling * style: improve formatting in UpdateGeofile function