Skip to content

Commit 0a5002d

Browse files
authored
Merge pull request #133 from legiz-ru/main
refactor legiz menu for new version remnawave panel
2 parents ae70579 + 8ec58b1 commit 0a5002d

1 file changed

Lines changed: 17 additions & 174 deletions

File tree

install_remnawave.sh

Lines changed: 17 additions & 174 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
SCRIPT_VERSION="2.3.1c"
3+
SCRIPT_VERSION="2.3.2"
44
UPDATE_AVAILABLE=false
55
DIR_REMNAWAVE="/usr/local/remnawave_reverse/"
66
LANG_FILE="${DIR_REMNAWAVE}selected_language"
@@ -84,7 +84,7 @@ set_language() {
8484
[MENU_2]="Reinstall panel/node"
8585
[MENU_3]="Manage Panel/Node"
8686
[MENU_4]="Install random template for selfsteal node"
87-
[MENU_5]="Custom subscriptions by legiz"
87+
[MENU_5]="Custom extensions by legiz"
8888
[MENU_6]="Extensions by distillium"
8989
[MENU_7]="Manage IPv6"
9090
[MENU_8]="Manage certificates domain"
@@ -375,12 +375,12 @@ set_language() {
375375
[UPLOADING_SUB_PAGE]="Uploading custom sub page template..."
376376
[ERROR_FETCH_SUB_PAGE]="Failed to fetch custom sub page template."
377377
[SUB_PAGE_UPDATED_SUCCESS]="Custom sub page template successfully updated."
378-
[SELECT_SUB_PAGE_CUSTOM]="Select action (0-7):"
378+
[SELECT_SUB_PAGE_CUSTOM]="Select action (0-2):"
379379
[SELECT_SUB_PAGE_CUSTOM1]="Custom Sub Page Templates"
380380
[SELECT_SUB_PAGE_CUSTOM2]="Custom Sub Page Templates\nOnly run on panel server"
381381
[SELECT_SUB_PAGE_CUSTOM3]="Custom App Lists for original sub page:"
382382
[SELECT_SUB_PAGE_CUSTOM4]="Custom Sub Page:"
383-
[SUB_PAGE_SELECT_CHOICE]="Invalid choice. Please select 0-7."
383+
[SUB_PAGE_SELECT_CHOICE]="Invalid choice. Please select 0-2."
384384
[RESTORE_SUB_PAGE]="Restore default sub page"
385385
[CONTAINER_NOT_FOUND]="Container %s not found"
386386
[SUB_WITH_APPCONFIG_ASK]="Do you want to include app-config.json?"
@@ -399,6 +399,7 @@ set_language() {
399399
[BRANDING_LOGO_URL_PROMPT]="Enter your brand logo URL:"
400400
[BRANDING_ADDED_SUCCESS]="Branding configuration successfully added"
401401
[CUSTOM_APP_LIST_MENU]="Edit custom application list and branding"
402+
[CUSTOM_APP_LIST_PANEL_MESSAGE]="Editing custom application list and branding is now done on the panel side"
402403
[CUSTOM_APP_LIST_NOT_FOUND]="Custom application list not found"
403404
[EDIT_BRANDING]="Edit branding"
404405
[EDIT_LOGO]="Change logo"
@@ -498,7 +499,7 @@ set_language() {
498499
[MENU_2]="Переустановить панель/ноду"
499500
[MENU_3]="Управление панелью/нодой"
500501
[MENU_4]="Установить случайный шаблон для selfsteal ноды"
501-
[MENU_5]="Кастомные подписки от legiz"
502+
[MENU_5]="Кастомные расширения от legiz"
502503
[MENU_6]="Управление расширениями от distillium"
503504
[MENU_7]="Управление IPv6"
504505
[MENU_8]="Управление сертификатами домена"
@@ -788,12 +789,12 @@ set_language() {
788789
[UPLOADING_SUB_PAGE]="Загрузка пользовательского шаблона страницы подписки..."
789790
[ERROR_FETCH_SUB_PAGE]="Не удалось получить пользовательский шаблон страницы подписки."
790791
[SUB_PAGE_UPDATED_SUCCESS]="Пользовательский шаблон страницы подписки успешно обновлён."
791-
[SELECT_SUB_PAGE_CUSTOM]="Выберите действие (0-7):"
792+
[SELECT_SUB_PAGE_CUSTOM]="Выберите действие (0-2):"
792793
[SELECT_SUB_PAGE_CUSTOM1]="Шаблоны страниц подписки"
793794
[SELECT_SUB_PAGE_CUSTOM2]="Шаблоны страниц подписки\nЗапускать только на сервере с панелью"
794795
[SELECT_SUB_PAGE_CUSTOM3]="Списки приложений для оригинальной страницы подписки:"
795796
[SELECT_SUB_PAGE_CUSTOM4]="Кастомные страницы подписки:"
796-
[SUB_PAGE_SELECT_CHOICE]="Недопустимый выбор. Пожалуйста, выберите от 0 до 7."
797+
[SUB_PAGE_SELECT_CHOICE]="Недопустимый выбор. Пожалуйста, выберите от 0 до 2."
797798
[RESTORE_SUB_PAGE]="Восстановить шаблон страницы подписки по умолчанию"
798799
[CONTAINER_NOT_FOUND]="Контейнер %s не найден"
799800
[SUB_WITH_APPCONFIG_ASK]="Добавить файл конфигурации app-config.json?"
@@ -812,6 +813,7 @@ set_language() {
812813
[BRANDING_LOGO_URL_PROMPT]="Введите ссылку на логотип вашего бренда:"
813814
[BRANDING_ADDED_SUCCESS]="Конфигурация брендирования успешно добавлена"
814815
[CUSTOM_APP_LIST_MENU]="Редактирование кастомного списка приложений и брендирования"
816+
[CUSTOM_APP_LIST_PANEL_MESSAGE]="Редактирование кастомного списка приложений и брендирования теперь осуществляется на стороне панели"
815817
[CUSTOM_APP_LIST_NOT_FOUND]="Кастомный список приложений не найден"
816818
[EDIT_BRANDING]="Редактирование брендирования"
817819
[EDIT_LOGO]="Изменить логотип"
@@ -2114,7 +2116,10 @@ manage_custom_legiz() {
21142116
manage_custom_legiz
21152117
;;
21162118
2)
2117-
manage_custom_app_list
2119+
echo -e ""
2120+
echo -e "${COLOR_GREEN}${LANG[CUSTOM_APP_LIST_PANEL_MESSAGE]}${COLOR_RESET}"
2121+
echo -e ""
2122+
sleep 2
21182123
log_clear
21192124
manage_custom_legiz
21202125
;;
@@ -2135,17 +2140,9 @@ show_sub_page_menu() {
21352140
echo -e ""
21362141
echo -e "${COLOR_GREEN}${LANG[SELECT_SUB_PAGE_CUSTOM2]}${COLOR_RESET}"
21372142
echo -e ""
2138-
echo -e "${COLOR_GREEN}${LANG[SELECT_SUB_PAGE_CUSTOM3]}${COLOR_RESET}"
2139-
echo -e "${COLOR_YELLOW}1. Simple custom app list (clash and sing)${COLOR_RESET}"
2140-
echo -e "${COLOR_YELLOW}2. Multiapp custom app list${COLOR_RESET}"
2141-
echo -e "${COLOR_YELLOW}3. HWID only custom app list${COLOR_RESET}"
2142-
echo -e ""
2143-
echo -e "${COLOR_GREEN}${LANG[SELECT_SUB_PAGE_CUSTOM4]}${COLOR_RESET}"
2144-
echo -e "${COLOR_YELLOW}4. Orion web page template (support custom app list)${COLOR_RESET}"
2145-
echo -e "${COLOR_YELLOW}5. Material web page template (support custom app list)${COLOR_RESET}"
2146-
echo -e "${COLOR_YELLOW}6. Marzbanify web page template (clash and sing)${COLOR_RESET}"
2143+
echo -e "${COLOR_YELLOW}1. Orion web page template (support custom app list)${COLOR_RESET}"
21472144
echo -e ""
2148-
echo -e "${COLOR_YELLOW}7. ${LANG[RESTORE_SUB_PAGE]}${COLOR_RESET}"
2145+
echo -e "${COLOR_YELLOW}2. ${LANG[RESTORE_SUB_PAGE]}${COLOR_RESET}"
21492146
echo -e ""
21502147
echo -e "${COLOR_YELLOW}0. ${LANG[EXIT]}${COLOR_RESET}"
21512148
echo -e ""
@@ -2230,35 +2227,7 @@ manage_sub_page_upload() {
22302227
local docker_compose_file="/opt/remnawave/docker-compose.yml"
22312228

22322229
case $SUB_PAGE_OPTION in
2233-
1|2|3)
2234-
[ -f "$index_file" ] && rm -f "$index_file"
2235-
2236-
echo -e "${COLOR_YELLOW}${LANG[UPLOADING_SUB_PAGE]}${COLOR_RESET}"
2237-
echo -e ""
2238-
local primary_url="https://raw.githubusercontent.com/legiz-ru/my-remnawave/refs/heads/main/sub-page/app-config.json"
2239-
local fallback_url="https://cdn.jsdelivr.net/gh/legiz-ru/my-remnawave@main/sub-page/app-config.json"
2240-
if [ "$SUB_PAGE_OPTION" == "2" ]; then
2241-
primary_url="https://raw.githubusercontent.com/legiz-ru/my-remnawave/refs/heads/main/sub-page/multiapp/app-config.json"
2242-
fallback_url="https://cdn.jsdelivr.net/gh/legiz-ru/my-remnawave@main/sub-page/multiapp/app-config.json"
2243-
elif [ "$SUB_PAGE_OPTION" == "3" ]; then
2244-
primary_url="https://raw.githubusercontent.com/legiz-ru/my-remnawave/refs/heads/main/sub-page/hwid/app-config.json"
2245-
fallback_url="https://cdn.jsdelivr.net/gh/legiz-ru/my-remnawave@main/sub-page/hwid/app-config.json"
2246-
fi
2247-
2248-
if ! download_with_fallback "$primary_url" "$fallback_url" "$config_file"; then
2249-
echo -e "${COLOR_RED}${LANG[ERROR_FETCH_SUB_PAGE]}${COLOR_RESET}"
2250-
sleep 2
2251-
log_clear
2252-
return 1
2253-
fi
2254-
2255-
branding_add_to_appconfig "$config_file"
2256-
2257-
/usr/bin/yq eval 'del(.services."remnawave-subscription-page".volumes)' -i "$docker_compose_file"
2258-
/usr/bin/yq eval '.services."remnawave-subscription-page".volumes += ["./app-config.json:/opt/app/frontend/assets/app-config.json"]' -i "$docker_compose_file"
2259-
;;
2260-
2261-
4)
2230+
1)
22622231
[ -f "$config_file" ] && rm -f "$config_file"
22632232
[ -f "$index_file" ] && rm -f "$index_file"
22642233

@@ -2273,137 +2242,11 @@ manage_sub_page_upload() {
22732242
return 1
22742243
fi
22752244

2276-
echo -e "${COLOR_GREEN}${LANG[SUB_WITH_APPCONFIG_ASK]}${COLOR_RESET}"
2277-
echo -e ""
2278-
echo -e "${COLOR_YELLOW}1. ${LANG[SUB_WITH_APPCONFIG_OPTION1]}${COLOR_RESET}"
2279-
echo -e "${COLOR_YELLOW}2. ${LANG[SUB_WITH_APPCONFIG_OPTION2]}${COLOR_RESET}"
2280-
echo -e "${COLOR_YELLOW}3. ${LANG[SUB_WITH_APPCONFIG_OPTION3]}${COLOR_RESET}"
2281-
echo -e ""
2282-
echo -e "${COLOR_YELLOW}0. ${LANG[SUB_WITH_APPCONFIG_SKIP]}${COLOR_RESET}"
2283-
echo -e ""
2284-
reading "${LANG[SUB_WITH_APPCONFIG_INPUT]}" SUB_WITH_APPCONFIG
2285-
2286-
case $SUB_WITH_APPCONFIG in
2287-
1|2|3)
2288-
local primary_config_url="https://raw.githubusercontent.com/legiz-ru/my-remnawave/refs/heads/main/sub-page/app-config.json"
2289-
local fallback_config_url="https://cdn.jsdelivr.net/gh/legiz-ru/my-remnawave@main/sub-page/app-config.json"
2290-
if [ "$SUB_WITH_APPCONFIG" == "2" ]; then
2291-
primary_config_url="https://raw.githubusercontent.com/legiz-ru/my-remnawave/refs/heads/main/sub-page/multiapp/app-config.json"
2292-
fallback_config_url="https://cdn.jsdelivr.net/gh/legiz-ru/my-remnawave@main/sub-page/multiapp/app-config.json"
2293-
elif [ "$SUB_WITH_APPCONFIG" == "3" ]; then
2294-
primary_config_url="https://raw.githubusercontent.com/legiz-ru/my-remnawave/refs/heads/main/sub-page/hwid/app-config.json"
2295-
fallback_config_url="https://cdn.jsdelivr.net/gh/legiz-ru/my-remnawave@main/sub-page/hwid/app-config.json"
2296-
fi
2297-
2298-
if ! download_with_fallback "$primary_config_url" "$fallback_config_url" "$config_file"; then
2299-
echo -e "${COLOR_RED}${LANG[ERROR_FETCH_SUB_PAGE]}${COLOR_RESET}"
2300-
sleep 2
2301-
log_clear
2302-
return 1
2303-
fi
2304-
2305-
branding_add_to_appconfig "$config_file"
2306-
;;
2307-
0)
2308-
[ -f "$config_file" ] && rm -f "$config_file"
2309-
[ -f "$index_file" ] && rm -f "$index_file"
2310-
;;
2311-
*)
2312-
echo -e "${COLOR_RED}${LANG[SUB_WITH_APPCONFIG_INVALID]}${COLOR_RESET}"
2313-
[ -f "$config_file" ] && rm -f "$config_file"
2314-
;;
2315-
esac
2316-
23172245
/usr/bin/yq eval 'del(.services."remnawave-subscription-page".volumes)' -i "$docker_compose_file"
23182246
/usr/bin/yq eval '.services."remnawave-subscription-page".volumes += ["./index.html:/opt/app/frontend/index.html"]' -i "$docker_compose_file"
2319-
2320-
if [ -f "$config_file" ]; then
2321-
/usr/bin/yq eval '.services."remnawave-subscription-page".volumes += ["./app-config.json:/opt/app/frontend/assets/app-config.json"]' -i "$docker_compose_file"
2322-
fi
23232247
;;
23242248

2325-
5)
2326-
[ -f "$config_file" ] && rm -f "$config_file"
2327-
[ -f "$index_file" ] && rm -f "$index_file"
2328-
2329-
echo -e "${COLOR_YELLOW}${LANG[UPLOADING_SUB_PAGE]}${COLOR_RESET}"
2330-
echo -e ""
2331-
local primary_index_url="https://raw.githubusercontent.com/legiz-ru/material-remnawave-subscription-page/refs/heads/main/index.html"
2332-
local fallback_index_url="https://cdn.jsdelivr.net/gh/legiz-ru/material-remnawave-subscription-page@main/index.html"
2333-
if ! download_with_fallback "$primary_index_url" "$fallback_index_url" "$index_file"; then
2334-
echo -e "${COLOR_RED}${LANG[ERROR_FETCH_SUB_PAGE]}${COLOR_RESET}"
2335-
sleep 2
2336-
log_clear
2337-
return 1
2338-
fi
2339-
2340-
echo -e "${COLOR_GREEN}${LANG[SUB_WITH_APPCONFIG_ASK]}${COLOR_RESET}"
2341-
echo -e ""
2342-
echo -e "${COLOR_YELLOW}1. ${LANG[SUB_WITH_APPCONFIG_OPTION1]}${COLOR_RESET}"
2343-
echo -e "${COLOR_YELLOW}2. ${LANG[SUB_WITH_APPCONFIG_OPTION2]}${COLOR_RESET}"
2344-
echo -e "${COLOR_YELLOW}3. ${LANG[SUB_WITH_APPCONFIG_OPTION3]}${COLOR_RESET}"
2345-
echo -e ""
2346-
echo -e "${COLOR_YELLOW}0. ${LANG[SUB_WITH_APPCONFIG_SKIP]}${COLOR_RESET}"
2347-
echo -e ""
2348-
reading "${LANG[SUB_WITH_APPCONFIG_INPUT]}" SUB_WITH_APPCONFIG
2349-
2350-
case $SUB_WITH_APPCONFIG in
2351-
1|2|3)
2352-
local primary_config_url="https://raw.githubusercontent.com/legiz-ru/my-remnawave/refs/heads/main/sub-page/app-config.json"
2353-
local fallback_config_url="https://cdn.jsdelivr.net/gh/legiz-ru/my-remnawave@main/sub-page/app-config.json"
2354-
if [ "$SUB_WITH_APPCONFIG" == "2" ]; then
2355-
primary_config_url="https://raw.githubusercontent.com/legiz-ru/my-remnawave/refs/heads/main/sub-page/multiapp/app-config.json"
2356-
fallback_config_url="https://cdn.jsdelivr.net/gh/legiz-ru/my-remnawave@main/sub-page/multiapp/app-config.json"
2357-
elif [ "$SUB_WITH_APPCONFIG" == "3" ]; then
2358-
primary_config_url="https://raw.githubusercontent.com/legiz-ru/my-remnawave/refs/heads/main/sub-page/hwid/app-config.json"
2359-
fallback_config_url="https://cdn.jsdelivr.net/gh/legiz-ru/my-remnawave@main/sub-page/hwid/app-config.json"
2360-
fi
2361-
2362-
if ! download_with_fallback "$primary_config_url" "$fallback_config_url" "$config_file"; then
2363-
echo -e "${COLOR_RED}${LANG[ERROR_FETCH_SUB_PAGE]}${COLOR_RESET}"
2364-
sleep 2
2365-
log_clear
2366-
return 1
2367-
fi
2368-
branding_add_to_appconfig "$config_file"
2369-
;;
2370-
0)
2371-
[ -f "$config_file" ] && rm -f "$config_file"
2372-
[ -f "$index_file" ] && rm -f "$index_file"
2373-
;;
2374-
*)
2375-
echo -e "${COLOR_RED}${LANG[SUB_WITH_APPCONFIG_INVALID]}${COLOR_RESET}"
2376-
[ -f "$config_file" ] && rm -f "$config_file"
2377-
;;
2378-
esac
2379-
2380-
/usr/bin/yq eval 'del(.services."remnawave-subscription-page".volumes)' -i "$docker_compose_file"
2381-
/usr/bin/yq eval '.services."remnawave-subscription-page".volumes += ["./index.html:/opt/app/frontend/index.html"]' -i "$docker_compose_file"
2382-
2383-
if [ -f "$config_file" ]; then
2384-
/usr/bin/yq eval '.services."remnawave-subscription-page".volumes += ["./app-config.json:/opt/app/frontend/assets/app-config.json"]' -i "$docker_compose_file"
2385-
fi
2386-
;;
2387-
2388-
6)
2389-
[ -f "$config_file" ] && rm -f "$config_file"
2390-
2391-
echo -e "${COLOR_YELLOW}${LANG[UPLOADING_SUB_PAGE]}${COLOR_RESET}"
2392-
echo -e ""
2393-
local primary_url="https://raw.githubusercontent.com/legiz-ru/my-remnawave/refs/heads/main/sub-page/customweb/clash-sing/index.html"
2394-
local fallback_url="https://cdn.jsdelivr.net/gh/legiz-ru/my-remnawave@main/sub-page/customweb/clash-sing/index.html"
2395-
if ! download_with_fallback "$primary_url" "$fallback_url" "$index_file"; then
2396-
echo -e "${COLOR_RED}${LANG[ERROR_FETCH_SUB_PAGE]}${COLOR_RESET}"
2397-
sleep 2
2398-
log_clear
2399-
return 1
2400-
fi
2401-
2402-
/usr/bin/yq eval 'del(.services."remnawave-subscription-page".volumes)' -i "$docker_compose_file"
2403-
/usr/bin/yq eval '.services."remnawave-subscription-page".volumes += ["./index.html:/opt/app/frontend/index.html"]' -i "$docker_compose_file"
2404-
;;
2405-
2406-
7)
2249+
2)
24072250
[ -f "$config_file" ] && rm -f "$config_file"
24082251
[ -f "$index_file" ] && rm -f "$index_file"
24092252

0 commit comments

Comments
 (0)