first commit

This commit is contained in:
Your Name 2026-01-21 00:23:28 +03:00
commit 1530450313
165 changed files with 8443 additions and 0 deletions

29
scripts/adduser.sh Executable file
View 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
View 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
View file

@ -0,0 +1,3 @@
#!/bin/bash
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_NOLOGO=1

2
scripts/run.sh Executable file
View file

@ -0,0 +1,2 @@
#!/bin/bash
dotnet ../build/AuthApp.dll