From Newsgroup: alt.privacy
I wrote this script that automates the creation of a nym account on the nymph.paranoici.org server. I requested the public key from the nymph remailer-key address and integrated it into the script.
I'm giving it to the community as is.
The script works.
Does paranoici? LOL
Oh, and a small detail: it's in Italian! :)
ROTFL
have fun !
i do ...
_____________________________________________________________________
#!/bin/bash
# ==============================================================================
# Script Dedicato per la Creazione di un Account Nym
# Server: nymph.paranoici.org (v6)
# ==============================================================================
# --- Variabili Globali ---
NYMPH_KEY_ID="0x9E0DA89E3C316DED"
CONFIG_RECIPIENT="
config@nymph.paranoici.org"
# La chiave pubblica di nymph.paranoici.org, integrata direttamente nello script.
NYMPH_PUBLIC_KEY=$(cat <<'EOF'
-----BEGIN PGP PUBLIC KEY BLOCK-----
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 bDTImfa/CyzTPf3UYckhgiDyL6A=
=yOx0
-----END PGP PUBLIC KEY BLOCK-----
EOF
)
# --- Funzioni di utilit|a ---
print_info() {
echo -e "\n\033[1;34m[INFO]\033[0m $1"
}
print_success() {
echo -e "\033[1;32m[SUCCESS]\033[0m $1"
}
print_error() {
echo -e "\033[1;31m[ERROR]\033[0m $1"
}
# Verifica delle dipendenze base
check_dependencies() {
print_info "Verifica delle dipendenze..."
if ! command -v gpg &> /dev/null; then print_error "GnuPG (gpg) non |? installato." && exit 1; fi
if ! command -v mail &> /dev/null; then print_error "Il comando 'mail' non |? trovato. Installa 'mailx' o simile." && exit 1; fi
if ! command -v srm &> /dev/null; then print_error "Il comando 'srm' non |? trovato. Installa 'secure-delete'." && exit 1; fi
print_success "Dipendenze soddisfatte."
}
# Si assicura che la chiave del nymserver sia nel portachiavi GPG ensure_nym_key() {
print_info "Verifica della chiave PGP del nymserver Nymph..."
if gpg --list-keys "$NYMPH_KEY_ID" &> /dev/null; then
print_success "Chiave di Nymph gi|a presente nel portachiavi."
else
print_info "Chiave di Nymph non trovata. Importazione in corso..."
echo "$NYMPH_PUBLIC_KEY" | gpg --import -
if [ $? -eq 0 ]; then
print_success "Chiave di Nymph importata con successo."
else
print_error "Importazione della chiave fallita. Impossibile continuare."
exit 1
fi
fi
}
# --- Script Principale ---
clear
echo "======================================================"
echo " Script per Creazione Account Nym (Dedicato) "
echo " Server: nymph.paranoici.org "
echo "======================================================"
check_dependencies
ensure_nym_key
print_info "Inserisci i dettagli per il tuo nuovo account Nym."
read -p "Scegli un nome utente per il nym (es. anonimo123): " NYM_USERNAME
read -p "Scegli un nome visualizzato (es. 'Anonymous User'): " NYM_REALNAME read -p "Inserisci l'indirizzo email per il Reply-Block: " REPLY_EMAIL
echo "Ora verr|a generata una nuova coppia di chiavi PGP per questo nym."
echo "Ti verr|a chiesta una passphrase per proteggerla. Scegline una sicura e conservala."
print_info "Avvio della procedura di generazione della chiave PGP..."
gpg --full-generate-key
NYM_KEY_ID=$(gpg --list-secret-keys --with-colons | grep "^sec" | tail -n 1 | cut -d: -f5)
print_success "Nuova chiave personale generata. Key ID: $NYM_KEY_ID"
CONFIG_FILE="nym_${NYM_USERNAME}_config.txt"
print_info "Creazione del file di configurazione: $CONFIG_FILE"
gpg --armor --export "$NYM_KEY_ID" > pubkey.tmp
cat > "$CONFIG_FILE" <<EOF
Config:
From: ${NYM_USERNAME}
Nym-Commands: create? -fingerkey name="${NYM_REALNAME}" -signsend -acksend -nobcc -fixedsize
Public-Key:
$(cat pubkey.tmp)
Reply-Block:
::
Anon-To: ${REPLY_EMAIL}
EOF
srm -f pubkey.tmp # Pulisce il file temporaneo della chiave pubblica print_success "File di configurazione creato."
ENCRYPTED_FILE="nym_${NYM_USERNAME}_request.asc"
print_info "Cifratura e firma della richiesta per il nymserver..."
gpg --encrypt --armor --sign --trust-model always -r "$NYM_KEY_ID" -r "$NYMPH_KEY_ID" -u "$NYM_KEY_ID" -o "$ENCRYPTED_FILE" "$CONFIG_FILE"
if [ $? -ne 0 ]; then
print_error "Cifratura fallita. Impossibile continuare."
srm -f "$CONFIG_FILE"
exit 1
fi
print_success "Messaggio di richiesta creato: $ENCRYPTED_FILE"
print_info "Invio della richiesta a $CONFIG_RECIPIENT..."
cat "$ENCRYPTED_FILE" | mail -s "Nym Creation Request" "$CONFIG_RECIPIENT"
if [ $? -ne 0 ]; then
print_error "Invio email fallito. Invia manualmente il contenuto di '$ENCRYPTED_FILE' a $CONFIG_RECIPIENT."
else
print_success "Richiesta inviata!"
fi
echo ""
echo "=========================================="
echo " OPERAZIONE COMPLETATA "
echo "=========================================="
print_info "Cosa succede ora:"
echo "1. Controlla il tuo indirizzo email ($REPLY_EMAIL) per il messaggio di conferma."
echo "2. Una volta attivo, il tuo nuovo indirizzo sar|a: ${NYM_USERNAME}@nymph.paranoici.org"
echo "3. |e FONDAMENTALE che tu faccia un backup della tua nuova chiave PGP ($NYM_KEY_ID)."
echo ""
print_info "Cancellazione sicura dei file temporanei in corso..."
srm -v "$CONFIG_FILE"
srm -v "$ENCRYPTED_FILE"
print_success "File temporanei cancellati in modo sicuro."
echo "=========================================="
--- Synchronet 3.21a-Linux NewsLink 1.2