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
path: root/web
AgeCommit message (Collapse)Author
2025-11-01feat: Add random Reality Target/SNI selection from 52 popular services (#3577)Denis Gorelov
* feat: Add random Reality Target/SNI selection from 52 popular services - Created reality_targets.js with list of 52 popular services - Updated RealityStreamSettings to use random targets by default - Added UI randomize buttons with sync icon in Reality settings form - Implemented randomizeRealityTarget() method in inbound modal - Replaces hardcoded google.com with diverse global services * fix --------- Co-authored-by: mhsanaei <ho3ein.sanaei@gmail.com>
2025-11-01Fix: Graceful Telegram bot shutdown to prevent 409 Conflict (#3580)OleksandrParshyn
* Fix: Graceful Telegram bot shutdown to prevent 409 Conflict Introduces a `botCancel` context and a global `StopBot()` function to ensure the Telegram bot's Long Polling operation is safely terminated (via context cancellation) before the service restarts. This prevents the "Conflict: another update consumer is running" (409) error upon panel restart. Changes: - Added `botCancel context.CancelFunc` to manage context cancellation. - Implemented global `StopBot()` function. - Updated `Tgbot.Stop()` to call `StopBot()`. - Modified `Tgbot.OnReceive()` to use the new cancellable context for `UpdatesViaLongPolling`. * Fix: Prevent race condition and goroutine leak in TgBot Addresses a critical race condition on the global `botCancel` variable, which could occur if `Tgbot.OnReceive()` was called concurrently (e.g., during rapid panel restarts or unexpected behavior). Changes in tgbot.go: - Added `tgBotMutex sync.Mutex` to ensure thread safety. - Protected `botCancel` creation and assignment in `OnReceive()` using the mutex, and added a check to prevent overwriting an active context, which avoids goroutine leaks. - Protected the cancellation and cleanup logic in `StopBot()` with the mutex. * Refactor: Replace time.Sleep with sync.WaitGroup for reliable TgBot shutdown Replaced the unreliable `time.Sleep(1 * time.Second)` in `service.StopBot()` with `sync.WaitGroup`. This ensures the Long Polling goroutine is explicitly waited for and reliably exits before the panel continues, preventing potential resource leaks and incomplete shutdowns during restarts. Changes: - Added `botWG sync.WaitGroup` variable. - Updated `service.StopBot()` to call `botWG.Wait()` instead of `time.Sleep()`. - Modified `Tgbot.OnReceive()` to correctly use `botWG.Add(1)` and `defer botWG.Done()` within the Long Polling goroutine. - Corrected the goroutine structure in `OnReceive()` to properly encapsulate all message handling logic.
2025-10-21gofmtmhsanaei
2025-10-14fix(import): prevent sqlite disk I/O error by validating temp DB then swappingmhsanaei
2025-10-07Update translate.ru_RU.toml (#3574)fpointsstar
Fix RU translation for login title: replace “Приветствие!” with “Добро пожаловать!” to match English “Welcome”.
2025-10-07update dependenciesmhsanaei
2025-10-07fragment : MaxSplitmhsanaei
2025-10-02DevToolsmhsanaei
2025-10-02fix: improve error handling in periodic traffic reset job (#3572)Vadim Iskuchekov
2025-10-01first try native CPU implementationmhsanaei
2025-09-29fix: fix delete method (#3569)konstpic
Co-authored-by: Пичугин Константин <k.pichugin@comagic.dev>
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-25fix russian translate in tgbot (#3557)Дмитрий Олегович Саенко
2025-09-25fix: login animation (#3559)Tara Rostami
* Add IPv4 for wget in install * fix: login animation
2025-09-24fixmhsanaei
2025-09-24login: autocomplete passwordmhsanaei
2025-09-24minor changesmhsanaei
2025-09-24bug fixmhsanaei
2025-09-24API improve security: returns 404 for unauthenticated API requestsmhsanaei
2025-09-23max port to 65535 (#3536)Дмитрий Олегович Саенко
* add EXPOSE port in Dockerfile * fix: max port 65 531 -> 65 535 * fix --------- Co-authored-by: mhsanaei <ho3ein.sanaei@gmail.com>
2025-09-23Add Happ client export open link (#3542)Happ-dev
Co-authored-by: y.sivushkin <y.sivushkin@corp.101xp.com>
2025-09-23fix api : subid, uuid from inbound settingsmhsanaei
2025-09-22fix: outbound address for vlessmhsanaei
2025-09-21pageSize to 25mhsanaei
2025-09-21TGbot: improved (5x faster)mhsanaei
2025-09-21API: UUID for getClientTrafficsmhsanaei
2025-09-21security fix: Uncontrolled data used in path expressionmhsanaei
2025-09-21security fix: Uncontrolled data used in path expressionmhsanaei
2025-09-21security fix: Command built from user-controlled sources CWE-78mhsanaei
https://cwe.mitre.org/data/definitions/78.html https://owasp.org/www-community/attacks/Command_Injection
2025-09-20undo vnext for vmessmhsanaei
2025-09-20Minor Fixes (#3520)Tara Rostami
2025-09-20docs: add comments for all functionsmhsanaei
2025-09-19new: VACUUM databasemhsanaei
2025-09-19better design for dns presetsmhsanaei
2025-09-19fix: subpath panicmhsanaei
2025-09-19fix: ineffectual assignment to needRestartmhsanaei
2025-09-19Fix ineffassign “date”mhsanaei
2025-09-19misspellmhsanaei
2025-09-19go package correction v2mhsanaei
2025-09-19v2.8.2v2.8.2mhsanaei
2025-09-19go package correctionmhsanaei
2025-09-18cpu history timeframe (#3509)Drahonn
2025-09-18enhancementsmhsanaei
2025-09-18new: subJsonEnablemhsanaei
after this subEnable by default is true and subJsonEnable is false
2025-09-18minor changemhsanaei
2025-09-18chore: update sub page URL (#3505)Harry NG
* Fix: Shadowrocket link using base64 encoding * chore: update url
2025-09-18fix PeriodicTrafficResetJob: log only when there are matching inboundmhsanaei
2025-09-17fix: onlinemhsanaei
2025-09-17feat: add UUID to ClientTraffic (#3491)RahGozar
* Update client_traffic.go * Update inbound.go
2025-09-17Fix: Shadowrocket link using base64 encoding (#3489)Harry NG