use blade as conmmands template (#444)

* use blade as conmmands template

* fix lint

* fix ssl
This commit is contained in:
Saeed Vaziry
2025-01-27 21:27:58 +01:00
committed by GitHub
parent a73476c1dd
commit cdbde063f0
208 changed files with 1080 additions and 1012 deletions

View File

@ -0,0 +1,5 @@
sudo DEBIAN_FRONTEND=noninteractive apt-get update
AVAILABLE_UPDATES=$(sudo DEBIAN_FRONTEND=noninteractive apt list --upgradable | wc -l)
echo "Available updates:$AVAILABLE_UPDATES"

View File

@ -0,0 +1,19 @@
# Update package lists
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
# Remove unnecessary dependencies
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove --purge -y
# Clear package cache
sudo DEBIAN_FRONTEND=noninteractive apt-get clean -y
# Remove old configuration files
sudo DEBIAN_FRONTEND=noninteractive apt-get purge -y $(dpkg -l | grep '^rc' | awk '{print $2}')
# Clear temporary files
sudo rm -rf /tmp/*
# Clear journal logs
sudo DEBIAN_FRONTEND=noninteractive journalctl --vacuum-time=1d
echo "Cleanup completed."

View File

@ -0,0 +1,18 @@
export DEBIAN_FRONTEND=noninteractive
if ! sudo useradd -p $(openssl passwd -1 {{ $password }}) {{ $user }}; then
echo 'VITO_SSH_ERROR' && exit 1
fi
sudo mkdir /home/{{ $user }}
sudo mkdir /home/{{ $user }}/.logs
sudo mkdir /home/{{ $user }}/tmp
sudo mkdir /home/{{ $user }}/bin
sudo mkdir /home/{{ $user }}/.ssh
echo 'export PATH="/home/{{ $user }}/bin:$PATH"' | sudo tee -a /home/{{ $user }}/.bashrc
echo 'export PATH="/home/{{ $user }}/bin:$PATH"' | sudo tee -a /home/{{ $user }}/.profile
sudo usermod -a -G {{ $user }} {{ $serverUser }}
sudo chown -R {{ $user }}:{{ $user }} /home/{{ $user }}
sudo chmod -R 755 /home/{{ $user }}
sudo chmod -R 700 /home/{{ $user }}/.ssh
sudo chsh -s /bin/bash {{ $user }}
echo "Created user {{ $user }}."

View File

@ -0,0 +1,11 @@
export DEBIAN_FRONTEND=noninteractive
echo "{{ $key }}" | sudo tee -a /root/.ssh/authorized_keys
sudo useradd -p $(openssl passwd -1 {{ $password }}) {{ $user }}
sudo usermod -aG sudo {{ $user }}
echo "{{ $user }} ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers
sudo mkdir /home/{{ $user }}
sudo mkdir /home/{{ $user }}/.ssh
echo "{{ $key }}" | sudo tee -a /home/{{ $user }}/.ssh/authorized_keys
sudo chown -R {{ $user }}:{{ $user }} /home/{{ $user }}
sudo chsh -s /bin/bash {{ $user }}
sudo su - {{ $user }} -c "ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa" <<< y

View File

@ -0,0 +1 @@
rm -f {{ $path }}

View File

@ -0,0 +1,3 @@
sudo gpasswd -d {{ $serverUser }} {{ $user }}
sudo userdel -r "{{ $user }}"
echo "User {{ $user }} has been deleted."

View File

@ -0,0 +1 @@
bash -c 'ssh_key_to_delete="$1"; sed -i "\#${ssh_key_to_delete//\//\\/}#d" /home/vito/.ssh/authorized_keys' bash '{{ $key }}'

View File

@ -0,0 +1,3 @@
if ! echo '{{ $key }}' | sudo tee -a ~/.ssh/authorized_keys; then
echo 'VITO_SSH_ERROR' && exit 1
fi

View File

@ -0,0 +1,3 @@
if ! wget {{ $url }} -O {{ $path }}; then
echo 'VITO_SSH_ERROR' && exit 1
fi

View File

@ -0,0 +1 @@
ssh-keygen -t rsa -b 4096 -N "" -f ~/.ssh/{{ $name }}

View File

@ -0,0 +1 @@
cat ~/.ssh/id_rsa.pub

View File

@ -0,0 +1,8 @@
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common curl zip unzip git gcc openssl ufw
git config --global user.email "{{ $email }}"
git config --global user.name "{{ $name }}"
# Install Node.js
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install nodejs -y

View File

@ -0,0 +1 @@
[ -f {{ $path }} ] && sudo cat {{ $path }}

View File

@ -0,0 +1 @@
cat ~/.ssh/{{ $name }}.pub

View File

@ -0,0 +1,3 @@
echo "Rebooting..."
sudo reboot

View File

@ -0,0 +1,7 @@
echo "load:$(uptime | awk -F'load average:' '{print $2}' | awk -F, '{print $1}' | tr -d ' ')"
echo "memory_total:$(free -k | awk 'NR==2{print $2}')"
echo "memory_used:$(free -k | awk 'NR==2{print $3}')"
echo "memory_free:$(free -k | awk 'NR==2{print $7}')"
echo "disk_total:$(df -BM / | awk 'NR==2{print $2}' | sed 's/M//')"
echo "disk_used:$(df -BM / | awk 'NR==2{print $3}' | sed 's/M//')"
echo "disk_free:$(df -BM / | awk 'NR==2{print $4}' | sed 's/M//')"

View File

@ -0,0 +1,5 @@
if ! cd {{ $path }}; then
echo 'VITO_SSH_ERROR' && exit 1
fi
{{ $script }}

View File

@ -0,0 +1 @@
sudo tail -n {{ $lines }} {{ $path }}

View File

@ -0,0 +1,4 @@
sudo DEBIAN_FRONTEND=noninteractive apt-get clean
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove -y