• File: home
  • Full Path: /srv/http/kleku/pub/home
  • Date Modified: 2025-12-09 19:43:39
  • File size: 2.47 KB
  • MIME-type: text/x-shellscript
  • Charset: utf-8
 
Open Back
#!/bin/sh
#
# bash -c "$(curl -fsSL https://kleku.satanic.mobi/pub/home)"
#
# bash -c "$(wget https://kleku.satanic.mobi/pub/home -O -)"
#
# sh -c "$(fetch -o - https://kleku.satanic.mobi/pub/home)"

#set -x
export RUNZSH=no
export KEEP_ZSHRC=yes


# URL do pliku z kluczami
URL="https://kleku.satanic.mobi/pub/ssh/authorized_keys"
# Ścieżka do lokalnego pliku authorized_keys
AUTH_KEYS="$HOME/.ssh/authorized_keys"

# Funkcja sprawdzająca dostępność URL
check_url() {
    if curl --output /dev/null --silent --head --fail "$URL"; then
        return 0
    else
        return 1
    fi
}

# Funkcja sprawdzająca, czy klucz już istnieje
check_key_exists() {
    local key="$1"
    if [ -f "$AUTH_KEYS" ] && grep -Fx "$key" "$AUTH_KEYS" > /dev/null; then
        return 0
    else
        return 1
    fi
}

# Główna logika skryptu
main() {
    # Sprawdzenie, czy URL istnieje
    if ! check_url; then
        echo "Błąd: Nie można połączyć się z $URL"
        exit 1
    fi

    # Pobranie kluczy z URL
    keys=$(curl -s "$URL")
    if [ -z "$keys" ]; then
        echo "Błąd: Pobrany plik jest pusty"
        exit 1
    fi

    # Utworzenie katalogu .ssh jeśli nie istnieje
    mkdir -p "$HOME/.ssh"
    chmod 700 "$HOME/.ssh"

    # Utworzenie pliku authorized_keys jeśli nie istnieje
    touch "$AUTH_KEYS"
    chmod 600 "$AUTH_KEYS"

    # Przetwarzanie kluczy linia po linii
    while IFS= read -r key; do
        # Pomijanie pustych linii
        [ -z "$key" ] && continue
        
        # Sprawdzenie, czy klucz już istnieje
        if ! check_key_exists "$key"; then
            echo "$key" >> "$AUTH_KEYS"
            echo "Dodano klucz: $key"
        else
            echo "Klucz już istnieje: $key"
        fi
    done <<< "$keys"

    echo "Operacja zakończona"
}

# Uruchomienie głównej funkcji
main


cd
[ ! -d ".oh-my-zsh" ] && sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
[ ! -d "bin" ] && mkdir bin
cd ~/bin
mv .zshrc .zshrc.bak
#mv .bashrc .bashrc.bak
mv .tmux.conf .tmux.conf.bak
wget kleku.satanic.mobi/.zshrc
#wget kleku.satanic.mobi/.bashrc
wget kleku.satanic.mobi/.tmux.conf
cd
mv .zshrc .zshrc.bak
#mv .bashrc .bashrc.bak
mv .tmux.conf .tmux.conf.bak
ln -s bin/.zshrc
#ln -s bin/.bashrc
ln -s bin/.tmux.conf

#if [ -n "`$SHELL -c 'echo $ZSH_VERSION'`" ]; then
#   # assume Zsh
#   . ~/.zshrc
#elif [ -n "`$SHELL -c 'echo $BASH_VERSION'`" ]; then
#   # assume Bash
#   . ~/.bashrc
#else
#   # assume something else
#   echo $SHELL
#fi