From a55ccdbfca3ba020e315b7236d0e2323ab3b2f4b Mon Sep 17 00:00:00 2001 From: Yury V Date: Sun, 15 Jan 2023 23:15:18 +0200 Subject: [PATCH 1/7] disabled armv6 and updated actions and golang (#201) Co-authored-by: Yury Vaskaboinikau --- .github/workflows/github-actions-docker.yml | 14 +++++++------- Dockerfile | 4 +++- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/.github/workflows/github-actions-docker.yml b/.github/workflows/github-actions-docker.yml index c187530..a6c82e0 100644 --- a/.github/workflows/github-actions-docker.yml +++ b/.github/workflows/github-actions-docker.yml @@ -13,16 +13,16 @@ jobs: run : echo ${{ github.event.release.tag_name }} - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3.3.0 - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v2.1.0 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v2.2.1 - name: Login to GitHub Container Registry - uses: docker/login-action@v1 + uses: docker/login-action@v2.1.0 with: registry: ghcr.io username: ${{ github.actor }} @@ -39,11 +39,11 @@ jobs: echo ${{ env.REG_REPO }} - name: Build and push - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v3.3.0 with: context: . - platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 + platforms: linux/amd64,linux/arm/v7,linux/arm64 push: true tags: | ghcr.io/${{ env.REG_REPO }}:${{ github.event.release.tag_name }} - ghcr.io/${{ env.REG_REPO }}:latest + ghcr.io/${{ env.REG_REPO }}:latest \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index deeef2c..df3951b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,8 +6,9 @@ WORKDIR /app RUN yarn install && yarn run build ### FRONT BUILD END ### + ### BUILD TORRSERVER MULTIARCH START ### -FROM --platform=$BUILDPLATFORM golang:1.18-alpine as builder +FROM --platform=$BUILDPLATFORM golang:1.19-alpine as builder COPY . /opt/src COPY --from=front /app/build /opt/src/web/build @@ -42,6 +43,7 @@ RUN apt-get update && apt-get install -y upx-ucl && upx --best --lzma ./torrserv # && if [[ "$compress" -eq 1 ]]; then ./upx --best --lzma ./torrserver; fi ### UPX COMPRESSING END ### + ### BUILD MAIN IMAGE START ### FROM alpine From 9e3a0897af24fce4af61e8a3e574d4dcaa8b5937 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jan 2023 00:15:38 +0300 Subject: [PATCH 2/7] Bump json5 from 1.0.1 to 1.0.2 in /web (#198) Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/web/yarn.lock b/web/yarn.lock index e6ef5ab..392b64a 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -7874,9 +7874,9 @@ json-stable-stringify-without-jsonify@^1.0.1: integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" @@ -8525,9 +8525,9 @@ minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: brace-expansion "^1.1.7" minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + version "1.2.7" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== minipass-collect@^1.0.2: version "1.0.2" From e86ca1dc76e28a6830c5d0d396c34e7343f5434f Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Sun, 29 Jan 2023 02:12:45 +0300 Subject: [PATCH 3/7] add MacOS cosole install script --- installTorrServerMac.sh | 169 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100755 installTorrServerMac.sh diff --git a/installTorrServerMac.sh b/installTorrServerMac.sh new file mode 100755 index 0000000..04a5754 --- /dev/null +++ b/installTorrServerMac.sh @@ -0,0 +1,169 @@ +#!/bin/bash +dirInstall="/Users/Shared/TorrServer" +serviceName="ru.yourok.torrserver" + +function checkArch() { + case $(uname -m) in + i386) architecture="386" ;; + i686) architecture="386" ;; + x86_64) architecture="amd64" ;; + aarch64) architecture="arm64" ;; + *) echo "Извините, не поддерживаемая архитектура. Продолжение невозможно" && exit 1;; + esac +} + +function getLatestRelease() { + curl -s "https://api.github.com/repos/YouROK/TorrServer/releases" | + grep -iE '"tag_name":|"version":' | + sed -E 's/.*"([^"]+)".*/\1/' | + head -1 +} + +function cleanup() { + sudo rm -f /Library/LaunchAgents/*torrserver* 1>/dev/null 2>&1 + sudo rm -f /Library/LaunchDaemons/*torrserver* 1>/dev/null 2>&1 + sudo rm -f $HOME/Library/LaunchAgents/*torrserver* 1>/dev/null 2>&1 + runningPid=$(ps -ax|grep -i torr|awk '{print $1}'|head -n1) + sudo kill -9 $runningPid 1>/dev/null 2>&1 +} + +function uninstall() { + echo "" + echo "Директория c TorrServer - ${dirInstall}" + echo "" + echo "Это действие удалит все данные TorrServer включая базу данных торрентов и настройки по указанному выше пути." + echo "" + printf 'Вы уверены что хотите удалить программу? ' + read answer + if [ "$answer" != "${answer#[YyДд]}" ] ; then + cleanup + sudo rm -rf $dirInstall + echo "" + echo "TorrServer удален c вашего Mac" + else + echo "" + echo "OK" + fi +} + +checkArch + +function installTorrServer() { + echo "" + echo "Устанавливаем TorrServer $(getLatestRelease) ..." + echo "" + binName="TorrServer-darwin-${architecture}" + [[ ! -d "$dirInstall" ]] && mkdir -p ${dirInstall} + urlBin="https://github.com/YouROK/TorrServer/releases/download/$(getLatestRelease)/${binName}" + if [[ ! -f "$dirInstall/$binName" ]] | [[ ! -x "$dirInstall/$binName" ]] || [[ $(stat -c%s "$dirInstall/$binName" 2>/dev/null) -eq 0 ]]; then + curl -L --progress-bar -# -o "$dirInstall/$binName" "$urlBin" + chmod a+rx "$dirInstall/$binName" + xattr -r -d com.apple.quarantine "$dirInstall/$binName" + fi + echo "" + echo "Создаем сервис автозагрузки TorrServer $(getLatestRelease) ..." + echo "" + echo "Система запросит ваш пароль администратора" + echo "" + cat << EOF > $dirInstall/$serviceName.plist + + + + + Label + ${serviceName} + ServiceDescription + TorrServer service for MacOS + LaunchOnlyOnce + + RunAtLoad + + ProgramArguments + + ${dirInstall}/TorrServer-darwin-${architecture} + --port + 8090 + --path + ${dirInstall} + --logpath + ${dirInstall}/torrserver.log + --httpauth + + StandardOutPath + ${dirInstall}/torrserver.log + StandardErrorPath + ${dirInstall}/torrserver.log + + +EOF +### + cleanup +### + printf 'Включить авторизацию на сервере? ' + read answer + if [ "$answer" != "${answer#[YyДд]}" ] ;then + isAuth=1 + else + isAuth=0 + fi + if [[ "$isAuth" == 1 ]]; then + echo "" + echo "Вы выбрали установку с авторизацией" + [[ ! -f "$dirInstall/accs.db" ]] && { + echo "" + printf 'Пользователь: ' + read answer + isAuthUser=$answer + echo "" + printf 'Пароль: ' + read answer + isAuthPass=$answer + echo "" + echo "Устанавливаем логин и пароль: $isAuthUser:$isAuthPass" + echo "" + echo -e "{\n \"$isAuthUser\": \"$isAuthPass\"\n}" > $dirInstall/accs.db + } || { + echo "" + echo "Используйте реквизиты из ${dirInstall}/accs.db для входа" + } + else + sed -i '' -e '/httpauth/d' $dirInstall/$serviceName.plist + fi + echo "" + printf 'Автозагрузка для текушего пользователя (1) или всех (2)? ' + read answer + if [ "$answer" != "${answer#[1]}" ] ;then + # user + sysPath="${HOME}/Library/LaunchAgents" + [[ ! -d "$sysPath" ]] && mkdir -p ${sysPath} + cp "$dirInstall/$serviceName.plist" $sysPath + chmod 0644 "$sysPath/$serviceName.plist" + launchctl load -w "$sysPath/$serviceName.plist" + else + # root + sysPath="/Library/LaunchDaemons" + [[ ! -d "$sysPath" ]] && sudo mkdir -p ${sysPath} + sudo cp "$dirInstall/$serviceName.plist" $sysPath + sudo chown root:wheel "$sysPath/$serviceName.plist" + sudo chmod 0644 "$sysPath/$serviceName.plist" + sudo launchctl load -w "$sysPath/$serviceName.plist" + fi + echo "" + echo "Сервис автозагрузки записан в ${sysPath}" + echo "" + echo "TorrServer $(getLatestRelease) для ${architecture} Mac установлен в ${dirInstall}" +} + +while true; do + echo "" + read -p "Хотите установить или обновить TorrServer? Для удаления введите «Удалить» " yn + case $yn in + [YyДд]* ) installTorrServer; break;; + [DdУу]* ) uninstall; break;; + [NnНн]* ) exit;; + * ) echo "Ввведите Да (Yes) Нет (No) или Удалить (Delete).";; + esac +done +echo "" +echo "Have Fun!" +echo "" From 91c7adef14a51f8bd34708165566ab42baff494b Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Sun, 29 Jan 2023 02:18:52 +0300 Subject: [PATCH 4/7] just format --- installTorrServerMac.sh | 271 ++++++++++++++++++++-------------------- 1 file changed, 136 insertions(+), 135 deletions(-) diff --git a/installTorrServerMac.sh b/installTorrServerMac.sh index 04a5754..e8ed3b5 100755 --- a/installTorrServerMac.sh +++ b/installTorrServerMac.sh @@ -3,166 +3,167 @@ dirInstall="/Users/Shared/TorrServer" serviceName="ru.yourok.torrserver" function checkArch() { - case $(uname -m) in - i386) architecture="386" ;; - i686) architecture="386" ;; - x86_64) architecture="amd64" ;; - aarch64) architecture="arm64" ;; - *) echo "Извините, не поддерживаемая архитектура. Продолжение невозможно" && exit 1;; - esac + case $(uname -m) in + i386) architecture="386" ;; + i686) architecture="386" ;; + x86_64) architecture="amd64" ;; + aarch64) architecture="arm64" ;; + *) echo "Извините, не поддерживаемая архитектура. Продолжение невозможно" && exit 1;; + esac } function getLatestRelease() { - curl -s "https://api.github.com/repos/YouROK/TorrServer/releases" | - grep -iE '"tag_name":|"version":' | - sed -E 's/.*"([^"]+)".*/\1/' | - head -1 + curl -s "https://api.github.com/repos/YouROK/TorrServer/releases" | + grep -iE '"tag_name":|"version":' | + sed -E 's/.*"([^"]+)".*/\1/' | + head -1 } function cleanup() { - sudo rm -f /Library/LaunchAgents/*torrserver* 1>/dev/null 2>&1 - sudo rm -f /Library/LaunchDaemons/*torrserver* 1>/dev/null 2>&1 - sudo rm -f $HOME/Library/LaunchAgents/*torrserver* 1>/dev/null 2>&1 - runningPid=$(ps -ax|grep -i torr|awk '{print $1}'|head -n1) - sudo kill -9 $runningPid 1>/dev/null 2>&1 + sudo rm -f /Library/LaunchAgents/*torrserver* 1>/dev/null 2>&1 + sudo rm -f /Library/LaunchDaemons/*torrserver* 1>/dev/null 2>&1 + sudo rm -f $HOME/Library/LaunchAgents/*torrserver* 1>/dev/null 2>&1 + sudo rm -f $HOME/Library/LaunchDaemons/*torrserver* 1>/dev/null 2>&1 + runningPid=$(ps -ax|grep -i torr|awk '{print $1}'|head -n1) + sudo kill -9 $runningPid 1>/dev/null 2>&1 } function uninstall() { - echo "" - echo "Директория c TorrServer - ${dirInstall}" - echo "" - echo "Это действие удалит все данные TorrServer включая базу данных торрентов и настройки по указанному выше пути." - echo "" - printf 'Вы уверены что хотите удалить программу? ' - read answer - if [ "$answer" != "${answer#[YyДд]}" ] ; then - cleanup - sudo rm -rf $dirInstall - echo "" - echo "TorrServer удален c вашего Mac" - else - echo "" - echo "OK" - fi + echo "" + echo "Директория c TorrServer - ${dirInstall}" + echo "" + echo "Это действие удалит все данные TorrServer включая базу данных торрентов и настройки по указанному выше пути." + echo "" + printf 'Вы уверены что хотите удалить программу? ' + read answer + if [ "$answer" != "${answer#[YyДд]}" ] ; then + cleanup + sudo rm -rf $dirInstall + echo "" + echo "TorrServer удален c вашего Mac" + else + echo "" + echo "OK" + fi } - + checkArch function installTorrServer() { - echo "" - echo "Устанавливаем TorrServer $(getLatestRelease) ..." - echo "" - binName="TorrServer-darwin-${architecture}" - [[ ! -d "$dirInstall" ]] && mkdir -p ${dirInstall} - urlBin="https://github.com/YouROK/TorrServer/releases/download/$(getLatestRelease)/${binName}" - if [[ ! -f "$dirInstall/$binName" ]] | [[ ! -x "$dirInstall/$binName" ]] || [[ $(stat -c%s "$dirInstall/$binName" 2>/dev/null) -eq 0 ]]; then - curl -L --progress-bar -# -o "$dirInstall/$binName" "$urlBin" - chmod a+rx "$dirInstall/$binName" - xattr -r -d com.apple.quarantine "$dirInstall/$binName" - fi - echo "" - echo "Создаем сервис автозагрузки TorrServer $(getLatestRelease) ..." - echo "" - echo "Система запросит ваш пароль администратора" - echo "" - cat << EOF > $dirInstall/$serviceName.plist + echo "" + echo "Устанавливаем TorrServer $(getLatestRelease) ..." + echo "" + binName="TorrServer-darwin-${architecture}" + [[ ! -d "$dirInstall" ]] && mkdir -p ${dirInstall} + urlBin="https://github.com/YouROK/TorrServer/releases/download/$(getLatestRelease)/${binName}" + if [[ ! -f "$dirInstall/$binName" ]] | [[ ! -x "$dirInstall/$binName" ]] || [[ $(stat -c%s "$dirInstall/$binName" 2>/dev/null) -eq 0 ]]; then + curl -L --progress-bar -# -o "$dirInstall/$binName" "$urlBin" + chmod a+rx "$dirInstall/$binName" + xattr -r -d com.apple.quarantine "$dirInstall/$binName" + fi + echo "" + echo "Создаем сервис автозагрузки TorrServer $(getLatestRelease) ..." + echo "" + echo "Система запросит ваш пароль администратора" + echo "" + cat << EOF > $dirInstall/$serviceName.plist - Label - ${serviceName} - ServiceDescription - TorrServer service for MacOS - LaunchOnlyOnce - - RunAtLoad - - ProgramArguments - - ${dirInstall}/TorrServer-darwin-${architecture} - --port - 8090 - --path - ${dirInstall} - --logpath - ${dirInstall}/torrserver.log - --httpauth - - StandardOutPath - ${dirInstall}/torrserver.log - StandardErrorPath - ${dirInstall}/torrserver.log + Label + ${serviceName} + ServiceDescription + TorrServer service for MacOS + LaunchOnlyOnce + + RunAtLoad + + ProgramArguments + + ${dirInstall}/TorrServer-darwin-${architecture} + --port + 8090 + --path + ${dirInstall} + --logpath + ${dirInstall}/torrserver.log + --httpauth + + StandardOutPath + ${dirInstall}/torrserver.log + StandardErrorPath + ${dirInstall}/torrserver.log EOF ### - cleanup + cleanup ### - printf 'Включить авторизацию на сервере? ' - read answer - if [ "$answer" != "${answer#[YyДд]}" ] ;then - isAuth=1 - else - isAuth=0 - fi - if [[ "$isAuth" == 1 ]]; then - echo "" - echo "Вы выбрали установку с авторизацией" - [[ ! -f "$dirInstall/accs.db" ]] && { - echo "" - printf 'Пользователь: ' - read answer - isAuthUser=$answer - echo "" - printf 'Пароль: ' - read answer - isAuthPass=$answer - echo "" - echo "Устанавливаем логин и пароль: $isAuthUser:$isAuthPass" - echo "" - echo -e "{\n \"$isAuthUser\": \"$isAuthPass\"\n}" > $dirInstall/accs.db - } || { - echo "" - echo "Используйте реквизиты из ${dirInstall}/accs.db для входа" - } - else - sed -i '' -e '/httpauth/d' $dirInstall/$serviceName.plist - fi - echo "" - printf 'Автозагрузка для текушего пользователя (1) или всех (2)? ' - read answer - if [ "$answer" != "${answer#[1]}" ] ;then - # user - sysPath="${HOME}/Library/LaunchAgents" - [[ ! -d "$sysPath" ]] && mkdir -p ${sysPath} - cp "$dirInstall/$serviceName.plist" $sysPath - chmod 0644 "$sysPath/$serviceName.plist" - launchctl load -w "$sysPath/$serviceName.plist" - else - # root - sysPath="/Library/LaunchDaemons" - [[ ! -d "$sysPath" ]] && sudo mkdir -p ${sysPath} - sudo cp "$dirInstall/$serviceName.plist" $sysPath - sudo chown root:wheel "$sysPath/$serviceName.plist" - sudo chmod 0644 "$sysPath/$serviceName.plist" - sudo launchctl load -w "$sysPath/$serviceName.plist" - fi - echo "" - echo "Сервис автозагрузки записан в ${sysPath}" - echo "" - echo "TorrServer $(getLatestRelease) для ${architecture} Mac установлен в ${dirInstall}" + printf 'Включить авторизацию на сервере? ' + read answer + if [ "$answer" != "${answer#[YyДд]}" ] ;then + isAuth=1 + else + isAuth=0 + fi + if [[ "$isAuth" == 1 ]]; then + echo "" + echo "Вы выбрали установку с авторизацией" + [[ ! -f "$dirInstall/accs.db" ]] && { + echo "" + printf 'Пользователь: ' + read answer + isAuthUser=$answer + echo "" + printf 'Пароль: ' + read answer + isAuthPass=$answer + echo "" + echo "Устанавливаем логин и пароль: $isAuthUser:$isAuthPass" + echo "" + echo -e "{\n \"$isAuthUser\": \"$isAuthPass\"\n}" > $dirInstall/accs.db + } || { + echo "" + echo "Используйте реквизиты из ${dirInstall}/accs.db для входа" + } + else + sed -i '' -e '/httpauth/d' $dirInstall/$serviceName.plist + fi + echo "" + printf 'Автозагрузка для текушего пользователя (1) или всех (2)? ' + read answer + if [ "$answer" != "${answer#[1]}" ] ;then + # user + sysPath="${HOME}/Library/LaunchAgents" + [[ ! -d "$sysPath" ]] && mkdir -p ${sysPath} + cp "$dirInstall/$serviceName.plist" $sysPath + chmod 0644 "$sysPath/$serviceName.plist" + launchctl load -w "$sysPath/$serviceName.plist" + else + # root + sysPath="/Library/LaunchDaemons" + [[ ! -d "$sysPath" ]] && sudo mkdir -p ${sysPath} + sudo cp "$dirInstall/$serviceName.plist" $sysPath + sudo chown root:wheel "$sysPath/$serviceName.plist" + sudo chmod 0644 "$sysPath/$serviceName.plist" + sudo launchctl load -w "$sysPath/$serviceName.plist" + fi + echo "" + echo "Сервис автозагрузки записан в ${sysPath}" + echo "" + echo "TorrServer $(getLatestRelease) для ${architecture} Mac установлен в ${dirInstall}" } while true; do - echo "" - read -p "Хотите установить или обновить TorrServer? Для удаления введите «Удалить» " yn - case $yn in - [YyДд]* ) installTorrServer; break;; - [DdУу]* ) uninstall; break;; - [NnНн]* ) exit;; - * ) echo "Ввведите Да (Yes) Нет (No) или Удалить (Delete).";; - esac + echo "" + read -p "Хотите установить или обновить TorrServer? Для удаления введите «Удалить» " yn + case $yn in + [YyДд]* ) installTorrServer; break;; + [DdУу]* ) uninstall; break;; + [NnНн]* ) exit;; + * ) echo "Ввведите Да (Yes) Нет (No) или Удалить (Delete).";; + esac done echo "" echo "Have Fun!" From a1705c893c5f1404ddc9256d6644b640de808fe0 Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Sun, 29 Jan 2023 03:44:41 +0300 Subject: [PATCH 5/7] fix kill self on mac install script --- installTorrServerMac.sh | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/installTorrServerMac.sh b/installTorrServerMac.sh index e8ed3b5..f19de3f 100755 --- a/installTorrServerMac.sh +++ b/installTorrServerMac.sh @@ -24,7 +24,8 @@ function cleanup() { sudo rm -f /Library/LaunchDaemons/*torrserver* 1>/dev/null 2>&1 sudo rm -f $HOME/Library/LaunchAgents/*torrserver* 1>/dev/null 2>&1 sudo rm -f $HOME/Library/LaunchDaemons/*torrserver* 1>/dev/null 2>&1 - runningPid=$(ps -ax|grep -i torr|awk '{print $1}'|head -n1) + self="$(basename "$0")" + runningPid=$(ps -ax|grep -i torrserver|grep -v grep|grep -v "$self"|awk '{print $1}') sudo kill -9 $runningPid 1>/dev/null 2>&1 } @@ -41,9 +42,13 @@ function uninstall() { sudo rm -rf $dirInstall echo "" echo "TorrServer удален c вашего Mac" + echo "" + sleep 5 else echo "" echo "OK" + echo "" + sleep 5 fi } @@ -107,8 +112,9 @@ EOF else isAuth=0 fi + echo "" if [[ "$isAuth" == 1 ]]; then - echo "" + echo "Вы выбрали установку с авторизацией" [[ ! -f "$dirInstall/accs.db" ]] && { echo "" @@ -125,12 +131,12 @@ EOF echo -e "{\n \"$isAuthUser\": \"$isAuthPass\"\n}" > $dirInstall/accs.db } || { echo "" - echo "Используйте реквизиты из ${dirInstall}/accs.db для входа" + echo "Используйте реквизиты из ${dirInstall}/accs.db для входа" + echo "" } else sed -i '' -e '/httpauth/d' $dirInstall/$serviceName.plist fi - echo "" printf 'Автозагрузка для текушего пользователя (1) или всех (2)? ' read answer if [ "$answer" != "${answer#[1]}" ] ;then @@ -139,7 +145,7 @@ EOF [[ ! -d "$sysPath" ]] && mkdir -p ${sysPath} cp "$dirInstall/$serviceName.plist" $sysPath chmod 0644 "$sysPath/$serviceName.plist" - launchctl load -w "$sysPath/$serviceName.plist" + launchctl load -w "$sysPath/$serviceName.plist" 1>/dev/null 2>&1 else # root sysPath="/Library/LaunchDaemons" @@ -147,12 +153,14 @@ EOF sudo cp "$dirInstall/$serviceName.plist" $sysPath sudo chown root:wheel "$sysPath/$serviceName.plist" sudo chmod 0644 "$sysPath/$serviceName.plist" - sudo launchctl load -w "$sysPath/$serviceName.plist" + sudo launchctl load -w "$sysPath/$serviceName.plist" 1>/dev/null 2>&1 fi echo "" echo "Сервис автозагрузки записан в ${sysPath}" echo "" echo "TorrServer $(getLatestRelease) для ${architecture} Mac установлен в ${dirInstall}" + echo "" + sleep 15 } while true; do @@ -165,6 +173,6 @@ while true; do * ) echo "Ввведите Да (Yes) Нет (No) или Удалить (Delete).";; esac done -echo "" echo "Have Fun!" echo "" +sleep 5 \ No newline at end of file From de3c4204894cdb1ff1bd4bcf6d4d408eb15526ea Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Sun, 29 Jan 2023 04:01:50 +0300 Subject: [PATCH 6/7] add some notes to Mac installer --- installTorrServerMac.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/installTorrServerMac.sh b/installTorrServerMac.sh index f19de3f..1c042f9 100755 --- a/installTorrServerMac.sh +++ b/installTorrServerMac.sh @@ -114,7 +114,6 @@ EOF fi echo "" if [[ "$isAuth" == 1 ]]; then - echo "Вы выбрали установку с авторизацией" [[ ! -f "$dirInstall/accs.db" ]] && { echo "" @@ -160,10 +159,19 @@ EOF echo "" echo "TorrServer $(getLatestRelease) для ${architecture} Mac установлен в ${dirInstall}" echo "" - sleep 15 + echo "Теперь вы можете открыть браузер по адресу http://localhost:8090 для его настройки" + echo "" + if [[ "$isAuth" == 1 && $isAuthUser > 0 ]]; then + echo "Для авторизации введите пользователя $isAuthUser с паролем $isAuthPass" + echo "" + fi + sleep 60 } while true; do + echo "===============================================================" + echo " Скрипт установки, обновления и удаления TorrServer для MacOS" + echo "===============================================================" echo "" read -p "Хотите установить или обновить TorrServer? Для удаления введите «Удалить» " yn case $yn in From 4b9c2f3b0f2d81faced1baa6985f849ad0f0f695 Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Sun, 29 Jan 2023 04:14:14 +0300 Subject: [PATCH 7/7] short service name --- installTorrServerMac.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installTorrServerMac.sh b/installTorrServerMac.sh index 1c042f9..c27d1ed 100755 --- a/installTorrServerMac.sh +++ b/installTorrServerMac.sh @@ -1,6 +1,6 @@ #!/bin/bash dirInstall="/Users/Shared/TorrServer" -serviceName="ru.yourok.torrserver" +serviceName="torrserver" function checkArch() { case $(uname -m) in