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-05-05ws/inbounds: realtime fixes + perf for 10k+ client inbounds (#4123)HEADmainlolka1333
* ws/inbounds: realtime fixes + perf for 10k+ client inbounds - hub: dedup, throttle, panic-restart, deadlock fix, race tests - client: backoff cap + slow-retry instead of giving up - broadcast: delta-only payload, count-based invalidate fallback - filter: fix empty online list (Inbound has no .id, use dbInbound.toInbound) - perf: O(N²)→O(N) traffic merge, bulk delete, /setEnable endpoint - traffic: monotonic all_time + UI clamp + propagate in delta handler - session: persist on update/logout (fixes logout-after-password-change) - ui: protocol tags flex, traffic bar normalize * Remove hub_test.go file * fix: ws hub, inbound service, and frontend correctness - propagate DelInbound error on disable path in SetInboundEnable - skip empty emails in updateClientTraffics to avoid constraint violations - use consistent IN ? clause, drop redundant ErrRecordNotFound guards - Hub.Unregister: direct removeClient fallback when channel is full - applyClientStatsDelta: O(1) email lookup via per-inbound Map cache - WS payload size check: Blob.size instead of .length for real byte count * fix: chunk large IN ? queries and fix IPv6 same-origin check * fix: chunk large IN ? queries and fix IPv6 same-origin check * fix: unify clientStats cache, throttle clarity, hub constants * fix(ui): align traffic/expiry cell columns across all rows * style(ui): redesign outbounds table for visual consistency * style(ui): redesign routing table for visual consistency * fix: * fix: * fix: * fix: * fix: * fix: font * refactor: simplify outbound tone functions for consistency and maintainability --------- Co-authored-by: lolka1333 <test123@gmail.com>
2026-05-05feat: add configurable auto-restart on client auto-disableMHSanaei
Add a configurable option to restart Xray when clients are auto-disabled and persist disable actions. Changes include: - New setting restartXrayOnClientDisable (default true), getters/setters in SettingService, UI toggle in general settings, and translations for multiple locales. - AddTraffic signature updated to return a third bool (clientsDisabled). disableInvalidClients now calls Xray API to remove users, marks client_traffics.enable=false, updates inbound.Settings JSON so clients appear disabled in stored settings, and returns appropriate counts/errors. - XrayTrafficJob now checks the clientsDisabled flag and restarts Xray when the setting is enabled (with fallback to mark Xray as needing restart on failure). - XrayService.GetXrayConfig call adjusted to ignore AddTraffic returns. - Subscription generation (subService/subJson/subClash) no longer filters clients by their enable flag when matching subId. - Minor fixes: check_client_ip_job now checks scanner.Err and improved API error handling/logging. These changes ensure auto-disabled clients are propagated to Xray and the stored inbound settings, and provide an option to restart Xray automatically after auto-disable events.
2026-05-04API: Check client existenceMHSanaei
#3706
2026-04-26DNS outbound: Add rulesMHSanaei
2026-04-23Feature: Copy clients between inbounds (#4087)Rs.Nest
* feat: copy clients between inbounds * fix: copy clients modal not opening * fix: copy clients modal not opening * fix: copy clients modal not opening * fix: copy clients modal not opening * fix: copy clients modal not opening * fix: copy clients modal not opening * fix: copy clients modal not opening * fix: copy clients modal not opening * fix: copy clients modal not opening * revert: undo install.sh/deploy.sh changes; i18n: add copy-clients translations for all languages --------- Co-authored-by: Нестеров Руслан <r.nesterov@comagic.dev>
2026-04-22hysteria: also accept "hysteria2" protocol stringpwnnex
UI stores v1 and v2 both as "hysteria" with settings.version, but inbounds that came in from imports / manual SQL can carry the literal "hysteria2" string and get silently dropped everywhere we switch on protocol. Add Hysteria2 constant + IsHysteria helper, use it in the places that gate on protocol (sub SQL, getLink, genHysteriaLink, clash buildProxy, json gen, inbound.go validation, xray AddUser). Existing "hysteria" inbounds are untouched. closes #4081
2026-04-20bug fixMHSanaei
2026-04-20add hysteria inboundMHSanaei
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
2026-04-19Add new hourly reset traffic (#3966)Andrew Smirnov
* Add new hourly reset traffic * fix
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-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-12bug fix #3785MHSanaei
2026-01-05feat: Real-time Outbound Traffic, UI Improvements & Fix (#3629)lolka1333
* Refactor HTML and JavaScript for improved UI and functionality - Cleaned up JavaScript methods in subscription.js for better readability. - Updated inbounds.html to clarify traffic update handling and removed unnecessary comments. - Enhanced xray.html by correcting casing in routingDomainStrategies. - Added mobile touch scrolling styles in page.html for better tab navigation on small screens. - Streamlined vless.html by removing redundant line breaks and improving form layout. - Refined subscription subpage.html for better structure and user experience. - Adjusted outbounds.html to improve button visibility and functionality. - Updated xray_traffic_job.go to ensure accurate traffic updates and real-time UI refresh. * Refactor client traffic handling in InboundService - Updated addClientTraffic method to initialize onlineClients as an empty slice instead of nil. - Improved clarity and consistency in handling empty onlineUsers scenario. * Add WebSocket support for outbounds traffic updates - Implemented WebSocket connection in xray.html to handle real-time updates for outbounds traffic. - Enhanced xray_traffic_job.go to retrieve and broadcast outbounds traffic updates. - Introduced MessageTypeOutbounds in hub.go for managing outbounds messages. - Added BroadcastOutbounds function in notifier.go to facilitate broadcasting outbounds updates to connected clients. --------- Co-authored-by: lolka1333 <test123@gmail.com>
2025-10-21gofmtmhsanaei
2025-09-28feat: add ldap component (#3568)konstpic
* add ldap component * fix: fix russian comments, tls cert verify default true * feat: remove replaces go mod for local dev
2025-09-23fix api : subid, uuid from inbound settingsmhsanaei
2025-09-21API: UUID for getClientTrafficsmhsanaei
2025-09-20docs: add comments for all functionsmhsanaei
2025-09-19new: VACUUM databasemhsanaei
2025-09-19go package correction v2mhsanaei
2025-09-19v2.8.2v2.8.2mhsanaei
2025-09-19go package correctionmhsanaei
2025-09-17feat: add UUID to ClientTraffic (#3491)RahGozar
* Update client_traffic.go * Update inbound.go
2025-09-17API: subid to getClientTrafficsmhsanaei
/getClientTraffics/:email /getClientTrafficsById/:id
2025-09-16bug fix: del Depletedmhsanaei
2025-09-16bug fix: enablemhsanaei
2025-09-16feat: Simple periodic traffic reset (for Inbounds) – daily | weekly | ↵Vadim Iskuchekov
monthly (#3407) * Add periodic traffic reset feature model and ui with localization support * Remove periodic traffic reset fields from client * fix: add periodicTrafficReset field to inbound data structure * feat: implement periodic traffic reset job and integrate with cron scheduler * feat: enhance periodic traffic reset functionality with scheduling and inbound filtering * refactor: rename periodicTrafficReset to trafficReset and add lastTrafficResetTime field * feat: add periodic client traffic reset job and schedule tasks * Update web/job/periodic_traffic_reset_job.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update web/job/periodic_client_traffic_reset_job.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update web/service/inbound.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * refactor: rename periodicTrafficReset to trafficReset and add lastTrafficResetTime * feat: add last traffic reset time display and update logic in inbound service * fix: correct log message for completed periodic traffic reset * refactor: update traffic reset fields in Inbound model and remove unused client traffic reset job * refactor: remove unused traffic reset logic and clean up client model fields * cleanup comments * fix
2025-09-10API: delClientByEmailmhsanaei
2025-09-02fix: prevent client `updated_at` from resetting when parent inbound is updatedAli Golzar
2025-08-31feat: add "Last Online" column to client list and modal (Closes #3402) (#3405)Ali Golzar
* feat: persist client last online and expose API * feat(ui): show client last online in table and info modal * i18n: add “Last Online” across locales * chore: format timestamps as HH:mm:ss
2025-08-28removed: Allocatemhsanaei
2025-08-28Add all-time traffic for inbounds and clients (#3387)Ali Golzar
* feat(db): add allTime field to Inbound and ClientTraffic models * feat(inbound): increment all_time for inbounds and clients on traffic updates calculate correct all_time traffic on migrate command * feat(ui): show all-time traffic column for inbounds and its clients * i18n: add pages.inbounds.allTimeTraffic label across locales * Add All Time Traffic Usage in inbounds page top banner
2025-08-27Created / Updated fields for clients (#3384)Ali Golzar
* feat(backend): add created_at/updated_at to clients and maintain on create/update backfill existing clients and set updated_at on mutations * feat(frontend): carry created_at/updated_at in client models and round-trip via JSON * feat(frontend): display Created and Updated columns in client table with proper date formatting * i18n: add pages.inbounds.createdAt/updatedAt across all locales * Update inbound.go Remove duplicate code
2025-08-17minor changesmhsanaei
2025-07-23Endpoint for updating client traffic by email (#3259)Azavax
* Update api.go * Update inbound.go * Update inbound.go
2025-05-06Added 3 new buttons to telegram bot (#2965)nistootsin
* Add a new button to but : Reset All Clients * handel translation for `Reset All Clients` button * refactoring * add a new button to telegram bot >> `Sorted Traffic Usage Report` * - refactoring * add ip limit conifg on new client adding time
2025-03-12Refactor: Use any instead of interface{}mhsanaei
2024-11-16fix core restart on client change (#2603)Alireza Ahmadi
2024-10-15fix core restart on traffic reset of disabled clientMHSanaei
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
2024-10-10[bug] fix restarting core on disabling depleted userAlireza Ahmadi
2024-10-10[refactor] email verification methodAlireza Ahmadi
2024-10-09validate Email - non-English Patternmhsanaei
2024-09-16New - Allocatemhsanaei
2024-09-12Email Validation - new patternmhsanaei
@ included
2024-09-05Update Email Validationmhsanaei
2024-09-02fix restart after enabling usermhsanaei
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
2024-08-11new - vmess security (inbound client side - outbound)mhsanaei
2024-07-23API - Get client's traffic By IDmhsanaei
Co-Authored-By: Hassan Ali Gilani <mr.ajaxian@gmail.com>
2024-07-09improved - message logsmhsanaei
2024-07-07Typo fixedmhsanaei