first commit
This commit is contained in:
commit
1530450313
165 changed files with 8443 additions and 0 deletions
29
scripts/adduser.sh
Executable file
29
scripts/adduser.sh
Executable file
|
|
@ -0,0 +1,29 @@
|
|||
#!/bin/bash
|
||||
|
||||
USERS_FILE="../data/users.json"
|
||||
|
||||
# Ввод логина
|
||||
read -p "Enter username: " username
|
||||
read -s -p "Enter password: " password
|
||||
echo
|
||||
|
||||
# SHA-256 хэш
|
||||
hash=$(echo -n "$password" | sha256sum | awk '{print $1}')
|
||||
|
||||
# Создаём пустой массив, если файл отсутствует или пустой
|
||||
if [[ ! -s "$USERS_FILE" ]]; then
|
||||
echo "[]" > "$USERS_FILE"
|
||||
fi
|
||||
|
||||
# Проверка существующего пользователя
|
||||
if jq --exit-status ".[] | select(.Login==\"$username\")" "$USERS_FILE" >/dev/null; then
|
||||
# Обновляем пароль
|
||||
jq --arg u "$username" --arg h "$hash" 'map(if .Login==$u then .PasswordHash=$h else . end)' "$USERS_FILE" > tmp.json
|
||||
mv tmp.json "$USERS_FILE"
|
||||
echo "✅ Updated password for user '$username'"
|
||||
else
|
||||
# Добавляем нового пользователя
|
||||
jq --arg u "$username" --arg h "$hash" '. + [{"Login":$u,"PasswordHash":$h}]' "$USERS_FILE" > tmp.json
|
||||
mv tmp.json "$USERS_FILE"
|
||||
echo "✅ Added new user '$username'"
|
||||
fi
|
||||
81
scripts/build.sh
Executable file
81
scripts/build.sh
Executable file
|
|
@ -0,0 +1,81 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "=== AuthApp build script ==="
|
||||
|
||||
# -------------------------------
|
||||
# Проверка ОС
|
||||
# -------------------------------
|
||||
if [ ! -f /etc/os-release ]; then
|
||||
echo "Cannot detect OS"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
. /etc/os-release
|
||||
|
||||
if [ "$ID" != "debian" ] || [ "$VERSION_ID" != "12" ]; then
|
||||
echo "This project is supported only on Debian 12"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "OS check: Debian 12 OK"
|
||||
|
||||
# -------------------------------
|
||||
# Проверка sudo
|
||||
# -------------------------------
|
||||
if ! command -v sudo >/dev/null 2>&1; then
|
||||
echo "sudo is required but not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# -------------------------------
|
||||
# Установка curl
|
||||
# -------------------------------
|
||||
if ! command -v curl >/dev/null 2>&1; then
|
||||
echo "Installing curl..."
|
||||
sudo apt update
|
||||
sudo apt install -y curl
|
||||
else
|
||||
echo "curl already installed"
|
||||
fi
|
||||
|
||||
# -------------------------------
|
||||
# Проверка dotnet
|
||||
# -------------------------------
|
||||
if ! command -v dotnet >/dev/null 2>&1; then
|
||||
echo ".NET SDK not found, installing .NET 8 SDK..."
|
||||
|
||||
sudo apt update
|
||||
sudo apt install -y \
|
||||
ca-certificates \
|
||||
libc6 \
|
||||
libgcc-s1 \
|
||||
libicu72 \
|
||||
libssl3 \
|
||||
libstdc++6 \
|
||||
zlib1g
|
||||
|
||||
curl -fsSL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb
|
||||
sudo dpkg -i packages-microsoft-prod.deb
|
||||
rm packages-microsoft-prod.deb
|
||||
|
||||
sudo apt update
|
||||
sudo apt install -y dotnet-sdk-8.0
|
||||
else
|
||||
echo ".NET SDK already installed"
|
||||
fi
|
||||
|
||||
# -------------------------------
|
||||
# Переменные среды
|
||||
# -------------------------------
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
export DOTNET_NOLOGO=1
|
||||
|
||||
# -------------------------------
|
||||
# Сборка проекта
|
||||
# -------------------------------
|
||||
echo "Building project..."
|
||||
dotnet build ../src/AuthApp.csproj -c Release -o ../build
|
||||
|
||||
|
||||
echo "Build completed successfully"
|
||||
3
scripts/config.sh
Executable file
3
scripts/config.sh
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
export DOTNET_NOLOGO=1
|
||||
2
scripts/run.sh
Executable file
2
scripts/run.sh
Executable file
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
dotnet ../build/AuthApp.dll
|
||||
Loading…
Add table
Add a link
Reference in a new issue