Skip to content

Commit

Permalink
Web base path will be generated randomly
Browse files Browse the repository at this point in the history
  • Loading branch information
MHSanaei committed Oct 4, 2024
1 parent 02bc488 commit 2e3f253
Show file tree
Hide file tree
Showing 6 changed files with 71 additions and 35 deletions.
9 changes: 6 additions & 3 deletions README.es_ES.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
9 changes: 6 additions & 3 deletions README.ru_RU.md
Original file line number Diff line number Diff line change
Expand Up @@ -312,11 +312,14 @@ location /sub {
<details>
<summary>Нажмите для получения информации о настройках по умолчанию</summary>

### Имя пользователя и пароль & webbasepath:
### Имя пользователя, Пароль, Порт и Web Base Path

Эти параметры будут сгенерированы случайным образом, если вы пропустите их изменение.
Если вы не измените эти настройки, они будут сгенерированы случайным образом (это не относится к Docker).

- **Порт:** порт панели по умолчанию — `2053`
**Настройки по умолчанию для Docker:**
- **Имя пользователя:** admin
- **Пароль:** admin
- **Порт:** 2053

### Управление базой данных:

Expand Down
9 changes: 6 additions & 3 deletions README.zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -306,11 +306,14 @@ location /sub {
<details>
<summary>点击查看默认设置详情</summary>

### 用户名 & 密码 & Web基础路径:
### 用户名、密码、端口和 Web Base Path

如果不修改这些,它们将会随机生成
如果您选择不修改这些设置,它们将随机生成(不适用于 Docker)

- **端口号:** 面板的默认端口号是 `2053`
**Docker 的默认设置:**
- **用户名:** admin
- **密码:** admin
- **端口:** 2053

### 数据库管理:

Expand Down
59 changes: 41 additions & 18 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 settings | 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
}

Expand Down
11 changes: 6 additions & 5 deletions x-ui.sh
Original file line number Diff line number Diff line change
Expand Up @@ -265,12 +265,13 @@ 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
Expand Down

0 comments on commit 2e3f253

Please sign in to comment.