Compare commits

..

No commits in common. "c0fe288cb57de6fbd049f9ff058b97476b354c5f" and "bc631fd4e03fd0d09e57e81926b2e0b58196ad97" have entirely different histories.

6 changed files with 56 additions and 90 deletions

View File

@ -1,16 +1,8 @@
История изменений:
* добавлена автоматическое определение версии ПО "Декларация", с возможностью последующего обновления
* обновлена версия tester_n - до актуальной на 10.03.2025
* npul - доработано определения дополнительного обновления
* упрощен вывод списка возможных установок
* добавлена возможность установки ПО без использования подготовленного префикса
Пример: "winehelper install declaration --clear-pfx"
0.2.7:
* удалена команда обновления системы "dist-upgrade" при установке зависимостей
* удалена команда обновления ситемы "dist-upgrade" при установке зависимостей
* исправлено отображение списка возможных установок при использовании перенаправления
Пример: "winehelper -i | less"
Например: "winehelper -i | less"
0.2.6:
* добавлена информация о "Лицензионных соглашениях" перед запуском автоустановок программ

View File

@ -1,39 +0,0 @@
#!/usr/bin/env bash
# info_ru: Программа «Декларация 2024» позволяет автоматически формировать налоговые декларации по форме 3-НДФЛ. В процессе заполнения Вами данных программа автоматически проверяет их корректность, что уменьшает вероятность появления ошибки.
########################################################################
export WH_AUTOINSTALL="1"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="declaration"
export PROG_NAME="Декларация"
export PROG_ICON="declarac"
export BASE_PFX="defpfx_x86_v01"
export WINEARCH="win32"
export INSTALL_DLL="msxml3 msxml4 msxml6 corefonts wsh57 vcrun6 jet40 gdiplus"
export WH_WINDOWS_VER="10"
DECL_FILE="${WH_TMP_DIR}/decl.html"
curl -o "$DECL_FILE" -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "https://www.nalog.gov.ru/rn77/program/5961249/"
if [[ ! -f "$DECL_FILE" ]] \
|| grep -q "Forbidden" "$DECL_FILE"
then
fatal "The site page is unavailable or the request limit has been exceeded."
fi
VER_YEAR=$(grep -oP 'href="\K[^"]*.msi[^"]*' "$DECL_FILE" | awk -F'/' '{print $(NF-2)}' | head -n 1)
YEAR="${VER_YEAR//decl/}"
VER_MSI_SLASH=$(grep -oP 'href="\K[^"]*.msi[^"]*' "$DECL_FILE" | awk -F'/' '{print $(NF-1)}' | head -n 1)
VER_MSI=$(grep -oP 'href="\K[^"]*.msi[^"]*' "$DECL_FILE" | awk -F'/' '{print $(NF)}' | head -n 1)
AUTOINSTALL_MSI="${WH_TMP_DIR}/${VER_MSI}"
prepair_wine
if try_download "https://data.nalog.ru/files/${VER_YEAR}/${VER_MSI_SLASH}/$VER_MSI" "${AUTOINSTALL_MSI}" ; then
wine_run_install "${AUTOINSTALL_MSI}" "/q"
try_remove_file "${AUTOINSTALL_MSI}"
WIN_FILE_EXEC="$DRIVE_C/АО ГНИВЦ/Декларация ${YEAR}/Decl${YEAR}.exe"
create_desktop "$PROG_NAME $YEAR" "$WIN_FILE_EXEC" "$PROG_ICON"
remove_desktop "Декларация $((YEAR - 1))"
fi

View File

@ -0,0 +1,24 @@
#!/usr/bin/env bash
# info_ru: Программа «Декларация 2023» позволяет автоматически формировать налоговые декларации по форме 3-НДФЛ. В процессе заполнения Вами данных программа автоматически проверяет их корректность, что уменьшает вероятность появления ошибки.
########################################################################
export WH_AUTOINSTALL="1"
export AUTOINSTALL_EXE="${WH_TMP_DIR}/InsD2023.msi"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="declaration2023"
export PROG_NAME="Декларация 2023"
# export PROG_VERSION=""
export PROG_ICON="declarac"
# export ADD_MIME_TYPE=""
export BASE_PFX="defpfx_x86_v01"
export WINEARCH="win32"
export INSTALL_DLL="msxml3 msxml4 msxml6 corefonts wsh57 vcrun6 jet40 gdiplus"
export WH_WINDOWS_VER="10"
prepair_wine
if try_download "https://data.nalog.ru/files/decl2023/1.0.3/InsD2023.msi" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" "/q"
try_remove_file "${AUTOINSTALL_EXE}"
WIN_FILE_EXEC="$DRIVE_C/АО ГНИВЦ/Декларация 2023/Decl2023.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -5,33 +5,38 @@ export WH_AUTOINSTALL="1"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="nalog"
export PROG_NAME="Налогоплательщик ЮЛ"
# export PROG_VERSION=""
export PROG_ICON="npul"
# export ADD_MIME_TYPE=""
export BASE_PFX="defpfx_x86_v01"
export WINEARCH="win32"
export INSTALL_DLL="msxml3 msxml4 msxml6 corefonts wsh57 vcrun6 jet40 gdiplus"
export WH_WINDOWS_VER="10"
NPUL_FILE="${WH_TMP_DIR}/npul.html"
curl -o "$NPUL_FILE" -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "https://www.nalog.gov.ru/rn77/program/5961229/"
if [[ ! -f "$NPUL_FILE" ]] \
|| grep -q "Forbidden" "$NPUL_FILE"
then
fatal "Страница сайта не доступна, или превышено количество запросов к странице."
fatal "The site page is unavailable or the request limit has been exceeded."
fi
VER_MSI=$(grep -oP 'NalogUL\K[0-9.]+(?=\.msi)' "$NPUL_FILE" | tail -n 1)
VER_MSI_SLASH=$(grep -oP '[0-9]+\.[0-9]+/NalogUL[0-9]+\.msi' "$NPUL_FILE" | tail -n 1)
VER_EXE=$(grep -oP 'NalogUL\K[0-9.]+(?=\.exe)' "$NPUL_FILE" | tail -n 1)
VER_EXE_SLASH=$(grep -oP '[0-9]+\.[0-9]+\.[0-9]+/NalogUL[0-9]+\.exe' "$NPUL_FILE" | tail -n 1)
try_remove_file "$NPUL_FILE"
AUTOINSTALL_MSI="${WH_TMP_DIR}/NalogUL${VER_MSI}.msi"
AUTOINSTALL_EXE="${WH_TMP_DIR}/NalogUL${VER_EXE}.exe"
prepair_wine
if try_download "https://data.nalog.ru/files/nalul/${VER_MSI_SLASH}" "${AUTOINSTALL_MSI}" ; then
wine_run_install "${AUTOINSTALL_MSI}" /quiet INSTALLDIR="c:\npul"
try_remove_file "${AUTOINSTALL_MSI}"
try_remove_file "${AUTOINSTALL_MSI}"
PRINT_INSTALLER="$(find "$DRIVE_C/npul/INPUTDOC" -name "*.msi")"
wine_run_install "${PRINT_INSTALLER}" "/q"
@ -41,16 +46,11 @@ if try_download "https://data.nalog.ru/files/nalul/${VER_MSI_SLASH}" "${AUTOINST
#TODO: Сделать запуск процедуры в тихом режиме.
fi
if [[ -n "$VER_EXE" ]] \
&& try_download "https://data.nalog.ru/files/nalul/${VER_EXE_SLASH}" "${AUTOINSTALL_EXE}"
then
if try_download "https://data.nalog.ru/files/nalul/${VER_EXE_SLASH}" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}" "/SILENT"
try_remove_file "${AUTOINSTALL_EXE}"
else
print_info "Дополнительных обновлений не требуется."
fi
touch "$DRIVE_C/npul/INPUTDOC/linux.txt"
WIN_FILE_EXEC="$DRIVE_C/npul/INPUTDOC/inputdoc.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
try_remove_file "$NPUL_FILE"
touch "$DRIVE_C/npul/INPUTDOC/linux.txt"
WIN_FILE_EXEC="$DRIVE_C/npul/INPUTDOC/inputdoc.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
fi

View File

@ -3,7 +3,7 @@
########################################################################
export WH_AUTOINSTALL="1"
export LAUNCH_PARAMETERS="/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-"
export AUTOINSTALL_EXE="${WH_TMP_DIR}/tester2269.exe"
export AUTOINSTALL_EXE="${WH_TMP_DIR}/tester2261.exe"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="nalog"
export PROG_NAME="Тестер"
@ -16,7 +16,7 @@ export INSTALL_DLL="msxml3 msxml4 msxml6 corefonts wsh57 vcrun6 jet40 gdiplus"
export WH_WINDOWS_VER="10"
prepair_wine
if try_download "https://data.nalog.ru/files/tester/2.269/tester2269.exe" "${AUTOINSTALL_EXE}" ; then
if try_download "https://data.nalog.ru/files/tester/2.261/tester2261.exe" "${AUTOINSTALL_EXE}" ; then
wine_run_install "${AUTOINSTALL_EXE}"
try_remove_file "${AUTOINSTALL_EXE}"

View File

@ -396,15 +396,6 @@ create_desktop () {
fi
}
##### REMOVE DESKTOP FILE #####
remove_desktop () {
if [[ -n "$1" ]] ; then
try_remove_file "$USER_WORK_PATH/$1.desktop"
try_remove_file "$HOME/.local/share/applications/$1.desktop"
try_remove_file "$(xdg-user-dir DESKTOP)/$1.desktop"
fi
}
##### INSTALLED PROGRAMS #####
check_installed_programs () {
for desktop_file in "$USER_WORK_PATH"/*.desktop ; do
@ -842,20 +833,21 @@ wine_run_install () {
}
run_autoinstall () {
if [[ $1 == "--clear-pfx" ]] ; then
export CLEAR_PREFIX="1"
shift
elif [[ $2 == "--clear-pfx" ]] ; then
export CLEAR_PREFIX="1"
fi
[[ -p /dev/stdout ]] && local USE_PIPE="1"
AI_SCRIPT="${1,,}"
if [[ $AI_SCRIPT == "list" ]] || [[ -z "$AI_SCRIPT" ]] ; then
echo "Список программ с возможностью автоматической установки:"
if [[ $USE_PIPE == 1 ]]
then echo "Список программ с возможностью автоматической установки:"
else print_info "Список программ с возможностью автоматической установки:"
fi
for list in $(ls "$WH_AUTOINSTALL_DIR") ; do
AI_INFO="$(grep "info_ru:" "$WH_AUTOINSTALL_DIR/$list" | awk -F"info_ru: " '{print $2}')"
AI_PROGNAME="$(grep "PROG_NAME=" "$WH_AUTOINSTALL_DIR/$list" | awk -F"PROG_NAME=" '{print $2}')"
echo -e "\n$list - $AI_PROGNAME"
echo "$AI_INFO"
if [[ $USE_PIPE == 1 ]]
then echo -e "\n$SCRIPT_NAME install $list - $AI_PROGNAME"
else printf "\n\E[36m%s $SCRIPT_NAME install $list - $AI_PROGNAME %s\e[0m\n"
fi
echo -e "$AI_INFO"
done
echo
elif [[ -f "$WH_AUTOINSTALL_DIR/$AI_SCRIPT" ]] ; then
@ -871,16 +863,13 @@ wh_info () {
echo "Использование: $SCRIPT_NAME [команда]
Команды:
install|-i list список возможных установочных скриптов
install|-i [скрипт] запустить скрипт установки программы
install|-i [скрипт] --clear-pfx не использовать подготовленный префикс для установки ПО
installed|run список установленных программ
run [программа.exe] запуск программы (отладка)
install|-i [скрипт установки] если без аргументов, то выводит список возможных установочных скриптов
installed|run список установленных программ
run [программа.exe] запуск программы (отладка)
Параметры:
--help показать эту справку и выйти
--version показать информацию о пакете и его версии
--help показать эту справку и выйти
--version показать информацию о пакете и его версии
"
}
@ -901,7 +890,7 @@ case "${1,,}" in
wineconsole|cmd) prepair_wine ; wine_run "wineconsole" ;;
winetricks) shift ; update_winetricks ; prepair_wine ; "$WINETRICKS" -q "$@" ;;
desktop) shift ; create_desktop "$@" ; exit 0 ;;
install|-i) shift ; run_autoinstall "$@" ;;
install|-i) shift ; run_autoinstall "$1" ;;
installed) shift ; check_installed_programs "$1" ;;
run|-r) shift ; run_installed_programs "$1" ;;
*)