root
3a4c6f7094
feat: add backup and restore CLI subcommands
2026-04-26 19:50:37 +08:00
root
b53703f1a1
fix: add -settingStatus CLI flag to reduce DB inits during install/update
...
Worker nodes with remote MariaDB experienced slow configuration because
config_after_update() and config_after_install() made 5-8 separate
x-ui setting CLI calls, each spawning a new Go process and re-initing
the DB connection. Add a single -settingStatus flag that returns all
needed info in one call, reducing DB inits from 5-6 down to 2.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-25 15:05:11 +08:00
Sora39831
e50b2f471d
feat: improve mariadb flow, db settings init, and traffic flush
2026-04-15 16:58:49 +08:00
Sora39831
36826706ec
feat: add node config and startup validation
2026-04-10 11:13:52 +08:00
Sora39831
135ef32477
Add panel domain persistence
2026-04-09 21:39:39 +08:00
Sora39831
cc6d3daa3a
fix: harden migration and setting writes
2026-04-07 02:12:02 +08:00
Sora39831
062f2bd714
fix migrate panic and include release workflow updates
2026-04-05 03:12:29 +08:00
Sora39831
c94372a22c
fix: address all code review issues for MariaDB support
...
- Prevent DBPassword from leaking to frontend (json:"-")
- Make migration direction explicit via --direction flag, set dbType only after success
- Use driver-appropriate DROP INDEX IF EXISTS for SQLite vs MariaDB
- Build DSN with mysql.Config.FormatDSN() to prevent injection with special chars
- Close DB before re-initialization in InitDB
- Add migration tests (5 tests using SQLite in-memory DBs)
- Parse JSON once in GetDBConfigFromJSON instead of 7 times
- Use Go binary for dbType in shell script instead of fragile grep
- Add rollback on failure in db_switch_to_sqlite
- Validate DB settings in CheckValid
2026-04-03 09:53:20 +08:00
Sora39831
7f015ad27b
fix: address code review issues for MariaDB support
...
- Close migration DB connections with defer to prevent leaks
- Truncate destination tables before migration to avoid duplicates
- Wrap migration in transaction for atomicity
- Pass DB password via env var instead of CLI args to avoid process list exposure
- Improve error messages for MariaDB export/import with alternatives
- Update package doc to reflect dual DB support
- DRY migration logic with shared migrateAllTables function
2026-04-03 09:39:53 +08:00
Sora39831
3a9dcd10df
feat: add migrate-db subcommand and DB setting CLI flags
2026-04-03 09:33:15 +08:00
Sora39831
2647c2c2ce
refactor: update InitDB callers to use new parameterless signature
2026-04-03 09:27:10 +08:00
Alireza Ahmadi
3ec5b3589f
fix windows build
2026-02-20 02:07:46 +01:00
Alireza Ahmadi
2b1d3e7347
[feat] restart xray-core from cli #3825
2026-02-20 00:03:16 +01:00
Ilya Kryuchkov
6041d10e3d
Refactor code and fix linter warnings ( #3627 )
...
Release 3X-UI / build (386) (push) Waiting to run
Release 3X-UI / build (amd64) (push) Waiting to run
Release 3X-UI / build (arm64) (push) Waiting to run
Release 3X-UI / build (armv5) (push) Waiting to run
Release 3X-UI / build (armv6) (push) Waiting to run
Release 3X-UI / build (armv7) (push) Waiting to run
Release 3X-UI / build (s390x) (push) Waiting to run
Release 3X-UI / Build for Windows (push) Waiting to run
* refactor: use any instead of empty interface
* refactor: code cleanup
2026-01-05 05:54:56 +01:00
OleksandrParshyn
9936af80dd
Fix: Invoke service.StopBot() in signal handlers ( #3583 )
...
Release 3X-UI / build (386) (push) Waiting to run
Release 3X-UI / build (amd64) (push) Waiting to run
Release 3X-UI / build (arm64) (push) Waiting to run
Release 3X-UI / build (armv5) (push) Waiting to run
Release 3X-UI / build (armv6) (push) Waiting to run
Release 3X-UI / build (armv7) (push) Waiting to run
Release 3X-UI / build (s390x) (push) Waiting to run
Release 3X-UI / Build for Windows (push) Waiting to run
Ensures the global Telegram bot stop function (`service.StopBot()`) is called upon receiving system signals (SIGHUP for restart, SIGINT/SIGTERM for shutdown). This complements the changes in `tgbot.go` to guarantee a clean shutdown of the Telegram bot's Long Polling operation, fully resolving the 409 Conflict issue during panel restarts or shutdowns.
Changes:
- Added `service.StopBot()` call to the `syscall.SIGHUP` handler.
- Added `service.StopBot()` call to the default shutdown handler.
2025-11-01 14:33:35 +01:00
Дмитрий Олегович Саенко
4a75bd0a48
Feature: add setting certs for subscription while generating for panel ( #3578 )
Release 3X-UI / build (386) (push) Waiting to run
Release 3X-UI / build (amd64) (push) Waiting to run
Release 3X-UI / build (arm64) (push) Waiting to run
Release 3X-UI / build (armv5) (push) Waiting to run
Release 3X-UI / build (armv6) (push) Waiting to run
Release 3X-UI / build (armv7) (push) Waiting to run
Release 3X-UI / build (s390x) (push) Waiting to run
Release 3X-UI / Build for Windows (push) Waiting to run
2025-11-01 13:10:27 +01:00
mhsanaei
eacfbc86b5
security fix: Command built from user-controlled sources CWE-78
...
https://cwe.mitre.org/data/definitions/78.html
https://owasp.org/www-community/attacks/Command_Injection
2025-09-21 17:39:30 +02:00
mhsanaei
6ced549dea
docs: add comments for all functions
2025-09-20 09:35:50 +02:00
mhsanaei
7447cec17e
go package correction v2
Release 3X-UI / build (386) (push) Waiting to run
Release 3X-UI / build (amd64) (push) Waiting to run
Release 3X-UI / build (arm64) (push) Waiting to run
Release 3X-UI / build (armv5) (push) Waiting to run
Release 3X-UI / build (armv6) (push) Waiting to run
Release 3X-UI / build (armv7) (push) Waiting to run
Release 3X-UI / build (s390x) (push) Waiting to run
Release 3X-UI / Build for Windows (push) Waiting to run
2025-09-19 10:05:43 +02:00
mhsanaei
054cb1dea0
go package correction
2025-09-18 23:12:14 +02:00
Shishkevich D.
5d11e6e13f
chore: reset two-factor authentication after changing admin credentials ( #3029 )
...
* chore: add `resetTwoFactor` argument for main.go
fixes #3025
* chore: reset two-factor authentication after changing admin credentials
* chore: reset two-factor authentication after changing admin credentials
---------
Co-authored-by: somebodywashere <68244480+somebodywashere@users.noreply.github.com>
Co-authored-by: Sanaei <ho3ein.sanaei@gmail.com>
2025-07-02 11:25:25 +02:00
Ali Golzar
1b1cbfff42
feat: support .env file ( #3013 )
Release 3X-UI / build (386) (push) Has been cancelled
Release 3X-UI / build (amd64) (push) Has been cancelled
Release 3X-UI / build (arm64) (push) Has been cancelled
Release 3X-UI / build (armv5) (push) Has been cancelled
Release 3X-UI / build (armv6) (push) Has been cancelled
Release 3X-UI / build (armv7) (push) Has been cancelled
Release 3X-UI / build (s390x) (push) Has been cancelled
2025-05-17 12:33:22 +02:00
Shishkevich D.
fe3b1c9b52
chore: implement 2fa auth ( #2968 )
...
Build and Release 3X-UI / build (386) (push) Has been cancelled
Build and Release 3X-UI / build (amd64) (push) Has been cancelled
Build and Release 3X-UI / build (arm64) (push) Has been cancelled
Build and Release 3X-UI / build (armv5) (push) Has been cancelled
Build and Release 3X-UI / build (armv6) (push) Has been cancelled
Build and Release 3X-UI / build (armv7) (push) Has been cancelled
Build and Release 3X-UI / build (s390x) (push) Has been cancelled
* chore: implement 2fa auth
from #2786
* chore: format code
* chore: replace two factor token input with qr-code
* chore: requesting confirmation of setting/removing two-factor authentication
otpauth library was taken from cdnjs
* chore: revert changes in `ClipboardManager`
don't need it.
* chore: removing twoFactor prop in settings page
* chore: remove `twoFactorQr` object in `mounted` function
2025-05-08 16:20:58 +02:00
Shishkevich D.
13cf7271d6
fix: check default credentials during a fresh installation
Build and Release 3X-UI / build (386) (push) Waiting to run
Build and Release 3X-UI / build (amd64) (push) Waiting to run
Build and Release 3X-UI / build (arm64) (push) Waiting to run
Build and Release 3X-UI / build (armv5) (push) Waiting to run
Build and Release 3X-UI / build (armv6) (push) Waiting to run
Build and Release 3X-UI / build (armv7) (push) Waiting to run
Build and Release 3X-UI / build (s390x) (push) Waiting to run
2025-05-06 09:05:32 +07:00
Shishkevich D.
63edc63ab0
chore: do not show the current login and password ( #2969 )
Build and Release 3X-UI / build (386) (push) Has been cancelled
Build and Release 3X-UI / build (amd64) (push) Has been cancelled
Build and Release 3X-UI / build (arm64) (push) Has been cancelled
Build and Release 3X-UI / build (armv5) (push) Has been cancelled
Build and Release 3X-UI / build (armv6) (push) Has been cancelled
Build and Release 3X-UI / build (armv7) (push) Has been cancelled
Build and Release 3X-UI / build (s390x) (push) Has been cancelled
2025-05-03 18:00:25 +07:00
mhsanaei
c158e6ec73
getListen & getCert
2024-10-31 01:10:17 +01:00
mhsanaei
5ae587ee81
bash - set or reset listenIP
...
we need this if we want to add SSH port forwarding
2024-10-30 16:35:36 +01:00
mhsanaei
bda5c2c915
small changes
2024-08-08 17:40:26 +02:00
mhsanaei
f1500a5d31
improved - message logs
2024-07-08 23:47:49 +02:00
mhsanaei
7a51d2f2cc
Typo fixed
2024-07-07 12:10:24 +02:00
mhsanaei
fdf805f264
minor changes
2024-05-28 16:28:20 +02:00
Maisam
adcfccbe45
Add CLI to set panel cert ( #2305 )
...
* Add webBasePath update feature to CLI
* Add certificate setting update to CLI
* Revert "Add certificate setting update to CLI"
This reverts commit 2a937d59d7 .
* Add certificate setting update to CLI
(cherry picked from commit 2a937d59d7 )
2024-05-25 11:35:27 +02:00
Maisam
c422214ae8
Add webBasePath update feature to CLI ( #2300 )
2024-05-25 10:15:06 +02:00
mhsanaei
c0b5d5506f
View Current Settings - show webBasePath
2024-05-24 11:08:16 +02:00
MHSanaei
dd21bb2db7
bug fix - remove secret
2024-03-12 20:45:44 +03:30
MHSanaei
6c73791cab
[xray] add BurstObservatory + minor changes
...
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
2024-03-11 11:46:54 +03:30
Hamidreza
64a5a9f1bc
Some fixes and improvements ( #1997 )
...
* [refactor] api controller
* [fix] access log path
better to not hardcode the access log path, maybe some ppl dont want to use the default ./access.log
* [fix] set select options from logs paths in xray settings
* [update] .gitignore
* [lint] all .go files
* [update] use status code for jsonMsg and 401 to unauthorize
* [update] handle response status code via axios
* [fix] set correct value if log paths is set to 'none'
we also use the default value for the paths if its set to none
* [fix] iplimit - only warning access log if f2b is installed
2024-03-11 01:01:24 +03:30
Ho3ein
5188d516e3
new - loglevel ( #612 )
2023-06-16 18:25:33 +03:30
MHSanaei
e4e0deeed4
removed - v2-ui migrate
2023-06-01 01:14:54 +03:30
MHSanaei
6f46f3e636
sub
...
remaining code
2023-05-22 21:51:52 +03:30
Hamidreza
6602c55f3c
Update main.go
2023-05-06 00:00:56 +03:30
Hamidreza
d405141ad0
Merge branch 'MHSanaei:main' into main
2023-05-05 23:57:06 +03:30
Ho3ein
b2d70a2a9b
Revert "feat: Adding Cobra to provide a more intuitive command line interface"
2023-05-05 23:34:38 +03:30
Hamidreza Ghavami
26f160fb89
add MigrateDB func for a single source of truth
2023-05-06 00:22:39 +04:30
kaveh-ahangar
83ffa25d6f
feat: Rollback files (main.go , Makefile)
2023-05-05 12:40:20 +03:30
kaveh-ahangar
9e63b0e2b3
feat: add Makefile and improve building
2023-05-04 19:20:52 +03:30
MHSanaei
262e3c0985
Add database migration
...
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
2023-04-24 14:13:25 +03:30
MHSanaei
b0f974a94d
secret token thanks to @HarlyquinForest
2023-04-21 19:00:14 +03:30
MHSanaei
bbce1eb3f7
fix enabletgbot cli
...
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
2023-04-20 15:49:48 +03:30
MHSanaei
204f73a692
main.go enhancements
...
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
2023-04-20 15:49:24 +03:30