mirror of
				https://github.com/MHSanaei/3x-ui.git
				synced 2025-10-31 20:32:52 +00:00 
			
		
		
		
	Web base path will be generated randomly
This commit is contained in:
		
							parent
							
								
									02bc488c1c
								
							
						
					
					
						commit
						c3ce1da0d6
					
				
					 6 changed files with 71 additions and 35 deletions
				
			
		|  | @ -284,11 +284,14 @@ Nuestra plataforma ofrece compatibilidad con una amplia gama de arquitecturas y | |||
| <details> | ||||
|   <summary>Haz clic para ver los detalles de la configuración predeterminada</summary> | ||||
| 
 | ||||
| ### Nombre de Usuario & Contraseña & Ruta Base Web: | ||||
| ### Nombre de usuario, Contraseña, Puerto y Ruta Base Web | ||||
| 
 | ||||
|   Estos se generarán aleatoriamente si no los modificas. | ||||
| Si elige no modificar estas configuraciones, se generarán aleatoriamente (esto no se aplica a Docker). | ||||
| 
 | ||||
|   - **Puerto:** el puerto predeterminado para el panel es `2053` | ||||
| **Configuraciones predeterminadas para Docker:** | ||||
| - **Nombre de usuario:** admin | ||||
| - **Contraseña:** admin | ||||
| - **Puerto:** 2053 | ||||
| 
 | ||||
| ### Gestión de la Base de Datos: | ||||
| 
 | ||||
|  |  | |||
|  | @ -315,11 +315,14 @@ Our platform offers compatibility with a diverse range of architectures and devi | |||
| <details> | ||||
|   <summary>Click for default settings details</summary> | ||||
| 
 | ||||
| ### Username & Password & webbasepath: | ||||
| ### Username, Password, Port, and Web Base Path | ||||
| 
 | ||||
|   These will be generated randomly if you skip modifying them. | ||||
| If you choose not to modify these settings, they will be generated randomly (this does not apply to Docker). | ||||
| 
 | ||||
|   - **Port:** the default port for panel is `2053` | ||||
| **Default Settings for Docker:** | ||||
| - **Username:** admin | ||||
| - **Password:** admin | ||||
| - **Port:** 2053 | ||||
| 
 | ||||
| ### Database Management: | ||||
| 
 | ||||
|  |  | |||
|  | @ -312,11 +312,14 @@ location /sub { | |||
| <details> | ||||
|   <summary>Нажмите для получения информации о настройках по умолчанию</summary> | ||||
| 
 | ||||
| ### Имя пользователя и пароль & webbasepath: | ||||
| ### Имя пользователя, Пароль, Порт и Web Base Path | ||||
| 
 | ||||
| Эти параметры будут сгенерированы случайным образом, если вы пропустите их изменение. | ||||
| Если вы не измените эти настройки, они будут сгенерированы случайным образом (это не относится к Docker). | ||||
| 
 | ||||
|   - **Порт:** порт панели по умолчанию — `2053` | ||||
| **Настройки по умолчанию для Docker:** | ||||
| - **Имя пользователя:** admin | ||||
| - **Пароль:** admin | ||||
| - **Порт:** 2053 | ||||
| 
 | ||||
| ### Управление базой данных: | ||||
| 
 | ||||
|  |  | |||
|  | @ -306,11 +306,14 @@ location /sub { | |||
| <details> | ||||
|   <summary>点击查看默认设置详情</summary> | ||||
| 
 | ||||
| ### 用户名 & 密码 & Web基础路径: | ||||
| ### 用户名、密码、端口和 Web Base Path | ||||
| 
 | ||||
|   如果不修改这些,它们将会随机生成。 | ||||
| 如果您选择不修改这些设置,它们将随机生成(不适用于 Docker)。 | ||||
| 
 | ||||
|   - **端口号:** 面板的默认端口号是 `2053` | ||||
| **Docker 的默认设置:** | ||||
| - **用户名:** admin | ||||
| - **密码:** admin | ||||
| - **端口:** 2053 | ||||
| 
 | ||||
| ### 数据库管理: | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										59
									
								
								install.sh
									
									
									
									
									
								
							
							
						
						
									
										59
									
								
								install.sh
									
									
									
									
									
								
							|  | @ -131,44 +131,67 @@ gen_random_string() { | |||
|     echo "$random_string" | ||||
| } | ||||
| 
 | ||||
| # This function will be called when user installed x-ui out of security | ||||
| config_after_install() { | ||||
|     echo -e "${yellow}Install/update finished! For security it's recommended to modify panel settings ${plain}" | ||||
|     echo -e "${yellow}Install/update finished! For security, it's recommended to modify panel settings ${plain}" | ||||
|     read -p "Would you like to customize the panel settings? (If not, random settings will be applied) [y/n]: " config_confirm | ||||
| 
 | ||||
|     local config_webBasePath=$(gen_random_string 10) | ||||
| 
 | ||||
|     if [[ "${config_confirm}" == "y" || "${config_confirm}" == "Y" ]]; then | ||||
| 
 | ||||
|         read -p "Please set up your username: " config_account | ||||
|         echo -e "${yellow}Your username will be: ${config_account}${plain}" | ||||
| 
 | ||||
|         read -p "Please set up your password: " config_password | ||||
|         echo -e "${yellow}Your password will be: ${config_password}${plain}" | ||||
| 
 | ||||
|         read -p "Please set up the panel port: " config_port | ||||
|         echo -e "${yellow}Your panel port is: ${config_port}${plain}" | ||||
|         read -p "Please set up the web base path (ip:port/webbasepath/): " config_webBasePath | ||||
|         echo -e "${yellow}Your web base path is: ${config_webBasePath}${plain}" | ||||
| 
 | ||||
|         echo -e "${yellow}Your web base path will be generated randomly: ${config_webBasePath}${plain}" | ||||
| 
 | ||||
|         echo -e "${yellow}Initializing, please wait...${plain}" | ||||
|         /usr/local/x-ui/x-ui setting -username ${config_account} -password ${config_password} | ||||
|         echo -e "${yellow}Account name and password set successfully!${plain}" | ||||
|         /usr/local/x-ui/x-ui setting -port ${config_port} | ||||
|         echo -e "${yellow}Panel port set successfully!${plain}" | ||||
|         /usr/local/x-ui/x-ui setting -webBasePath ${config_webBasePath} | ||||
|         echo -e "${yellow}Web base path set successfully!${plain}" | ||||
| 
 | ||||
|         /usr/local/x-ui/x-ui setting -username "${config_account}" -password "${config_password}" -port "${config_port}" -webBasePath "${config_webBasePath}" | ||||
|         echo -e "${yellow}Settings applied successfully!${plain}" | ||||
| 
 | ||||
|         echo -e "###############################################" | ||||
|         echo -e "${green}Username: ${config_account}${plain}" | ||||
|         echo -e "${green}Password: ${config_password}${plain}" | ||||
|         echo -e "${green}Port: ${config_port}${plain}" | ||||
|         echo -e "${green}WebBasePath: ${config_webBasePath}${plain}" | ||||
|         echo -e "###############################################" | ||||
| 
 | ||||
|     else | ||||
| 
 | ||||
|         echo -e "${red}Cancel...${plain}" | ||||
| 
 | ||||
|         if [[ ! -f "/etc/x-ui/x-ui.db" ]]; then | ||||
|             local usernameTemp=$(head -c 6 /dev/urandom | base64) | ||||
|             local passwordTemp=$(head -c 6 /dev/urandom | base64) | ||||
|             local webBasePathTemp=$(gen_random_string 10) | ||||
|             /usr/local/x-ui/x-ui setting -username ${usernameTemp} -password ${passwordTemp} -webBasePath ${webBasePathTemp} | ||||
|             echo -e "This is a fresh installation, will generate random login info for security concerns:" | ||||
| 
 | ||||
|             local usernameTemp=$(gen_random_string 10) | ||||
|             local passwordTemp=$(gen_random_string 10) | ||||
|             local portTemp=$(shuf -i 1024-62000 -n 1) | ||||
| 
 | ||||
|             /usr/local/x-ui/x-ui setting -username "${usernameTemp}" -password "${passwordTemp}" -port "${portTemp}" -webBasePath "${config_webBasePath}" | ||||
|             echo -e "This is a fresh installation, generating random login info for security concerns:" | ||||
|             echo -e "###############################################" | ||||
|             echo -e "${green}Username: ${usernameTemp}${plain}" | ||||
|             echo -e "${green}Password: ${passwordTemp}${plain}" | ||||
|             echo -e "${green}WebBasePath: ${webBasePathTemp}${plain}" | ||||
|             echo -e "${green}Port: ${portTemp}${plain}" | ||||
|             echo -e "${green}WebBasePath: ${config_webBasePath}${plain}" | ||||
|             echo -e "###############################################" | ||||
|             echo -e "${yellow}If you forgot your login info, you can type "x-ui settings" to check after installation${plain}" | ||||
|             echo -e "${yellow}If you forgot your login info, you can type 'x-ui settings' to check after installation${plain}" | ||||
|         else | ||||
|             echo -e "${yellow}This is your upgrade, will keep old settings. If you forgot your login info, you can type "x-ui settings" to check${plain}" | ||||
|             echo -e "${yellow}This is your upgrade, keeping old settings. If you forgot your login info, you can type 'x-ui settings' to check${plain}" | ||||
| 
 | ||||
|             local existing_webBasePath=$(/usr/local/x-ui/x-ui setting -show true | grep -Eo 'webBasePath: [^ ]+' | awk '{print $2}') | ||||
|             if [[ -z "$existing_webBasePath" ]]; then | ||||
|                 echo -e "${yellow}WebBasePath is empty, generating a random one: ${config_webBasePath}${plain}" | ||||
|                 /usr/local/x-ui/x-ui setting -webBasePath "${config_webBasePath}" | ||||
|             fi | ||||
|         fi | ||||
|     fi | ||||
| 
 | ||||
|     /usr/local/x-ui/x-ui migrate | ||||
| } | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										11
									
								
								x-ui.sh
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								x-ui.sh
									
									
									
									
									
								
							|  | @ -265,13 +265,14 @@ gen_random_string() { | |||
| reset_webbasepath() { | ||||
|     echo -e "${yellow}Resetting Web Base Path${plain}" | ||||
|      | ||||
|     # Prompt user to set a new web base path | ||||
|     read -rp "Please set the new web base path [press 'y' for a random path]: " config_webBasePath | ||||
|      | ||||
|     if [[ $config_webBasePath == "y" ]]; then | ||||
|         config_webBasePath=$(gen_random_string 10) | ||||
|     read -rp "Are you sure you want to reset the web base path? (y/n): " confirm | ||||
|     if [[ $confirm != "y" && $confirm != "Y" ]]; then | ||||
|         echo -e "${yellow}Operation canceled.${plain}" | ||||
|         return | ||||
|     fi | ||||
| 
 | ||||
|     config_webBasePath=$(gen_random_string 10) | ||||
|      | ||||
|     # Apply the new web base path setting | ||||
|     /usr/local/x-ui/x-ui setting -webBasePath "${config_webBasePath}" >/dev/null 2>&1 | ||||
|     systemctl restart x-ui | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 mhsanaei
						mhsanaei