Repo Browser

bashcards/bashcards-android
Card bundle: cards/490456965504--raven-of-whispers

Front / Back (click to flip)

front
back
Click card to view front/back

Raw Script

#!/usr/bin/env bash
set -euo pipefail;bash -c $'R=\'\\033[0m\';B=\'\\033[1m\';Y=\'\\033[33m\';C=\'\\033[36m\';E=\'\\033[31m\';M=\'\\033[35m\';G=\'\\033[32m\'\nF="";O="";I="";N=""\nP="(OrgAbuseRef|OrgAbuseEmail|#|RTechRef|OrgTechRef|RefRTechEmail|RTechPhone|RTechName|RTechHandle|OrgAbusePhone|OrgAbuseName|OrgAbuseHandle|Ref|RTechEmail|Comment|OrgRoutingRef|OrgRoutingEmail|OrgRoutingPhone|OrgRoutingName|OrgRoutingHandle|OrgNOCRef|OrgNOCEmail|OrgNOCPhone|OrgNOCName|OrgNOCHandle|OrgTechEmail|OrgTechPhone|OrgTechName|OrgTechHandle|Comment)"\nneed(){ command -v "$1" >/dev/null 2>&1; }\npause(){ read -r -p "Enter to continue... " _; }\nclr(){ tput cnorm 2>/dev/null; clear; }\npick(){\n  clr\n  printf "%b" "${C}Log file path:${R} "\n  read -r F\n  [[ -z "${F:-}" || ! -f "$F" ]] && echo -e "${E}Invalid file${R}" && return 1\n}\nprep(){\n  need geoiplookup || { echo -e "${E}Missing geoiplookup${R}"; return 1; }\n  need whois || { echo -e "${E}Missing whois${R}"; return 1; }\n  local n t\n  n="$(basename "$F" | sed \'s/\\(.*\\)\\..*/\\1/\')"\n  t="$(date +"%Y-%m-%d_%H-%M-%S")"\n  O="${n}_results_${t}.txt"\n  : > "$O"\n}\nips(){\n  clr\n  I="$(grep -o \'[0-9]\\{1,3\\}\\(\\.[0-9]\\{1,3\\}\\)\\{3\\}\' "$F" | sort -u)"\n  [[ -z "$I" ]] && echo -e "${E}No IPs found${R}" && return 1\n  N="$(printf "%s\\n" "$I" | wc -l | tr -d \' \')"\n  echo -e "${B}${G}Found ${N} IPs${R}\\n"\n  printf "%s\\n" "$I"\n}\nnet(){\n  clr\n  echo -e "${C}Checking internet...${R}"\n  ping -c 2 1.1.1.1 >/dev/null 2>&1 || { echo -e "${E}Offline${R}"; return 1; }\n  echo -e "${G}Online${R}"\n}\nrun(){\n  clr\n  prep || return\n  ips || return\n  net || { echo -e "${E}Offline${R}" >> "$O"; return; }\n  Z=""\n  while IFS= read -r a; do\n    g="$(geoiplookup "$a" 2>/dev/null)"\n    w="$(whois "$a" 2>/dev/null)"\n    [[ "$g$w" == *"IP Address not found"* ]] && Z+="\\n$a" && continue\n    echo -e "${B}${C}IP:${R} $a"\n    echo "$g" | grep -vwE "$P"\n    echo "$w" | grep -vwE "$P"\n    echo >> "$O"\n  done <<< "$I"\n  [[ -n "$Z" ]] && {\n    echo -e "${E}No-info IPs:${R}$Z"\n    echo -e "${E}No-info IPs:${R}$Z" >> "$O"\n  }\n  echo -e "${Y}Saved to $O${R}"\n}\nview(){\n  clr\n  [[ -z "${O:-}" || ! -f "$O" ]] && echo -e "${E}No output yet${R}" && return\n  less -R "$O"\n}\nwhile true; do\n  clr\n  echo -e "${B}${C}IP LOG ANALYZER${R}"\n  echo -e "${Y}Log:${R} ${F:-<none>}"\n  echo -e "${Y}Out:${R} ${O:-<none>}\\n"\n  echo "1) Select log file"\n  echo "2) Preview IPs"\n  echo "3) Check internet"\n  echo "4) Run analysis"\n  echo "5) View output"\n  echo "q) Quit"\n  read -r -p "> " k\n  case "$k" in\n    1) pick; pause;;\n    2) ips; pause;;\n    3) net; pause;;\n    4) run; pause;;\n    5) view;;\n    q|Q) clr; exit 0;;\n    *) echo -e "${E}Invalid${R}"; pause;;\n  esac\ndone\n'

QR Payload

bash -c "$(echo H4sIAAAAAAAAA41Va2/aSBT9vr/idmpCnK4hhO1KWwJSiiBFSjAlq5WSTBQ5MIAVM6b2GNqC//veO35CaXcVxcydOXPmzH3N2zf1KAzqL66sC7mGFydc/BYKBZaIfFi5KzFzXK9F02BNwKiO27zK+Xmz+Xi+5NXWx9xskHmfm80m2d3C/pPsXmFr/G1hvyf7urAv0Oay32asZdNnQJ8hfrgctdmpHcyvXqJQjMVsl417S9S6e7sb/y0mi3QhG+K/nk4wejha+FIkw6GzTEefHDn1RE6ZYDJLwzIjRWrygrnrL5dCKkKN/Ui5cp4KSa0EVdj5AamdHZGahZyh3U2ZcJSz4DhnwHG2G4fFzkJcauQ78qun43RPegcTXS2FmJ6aW5jgFC6CtQZmNBh06lOxrsvI8+Cic9JoQczlykGvEDgQDiIDsFbAelKJAJSPDBIvFIlarQYMnvWOiRcQXq0iBRPpB0sky4lbMPGEEyTU7uQVkVwCTgb0swpcqWbAKi8MFW278Y0/h5nrCVg5avHB2I5jYATMxPTJeHwE6zvh+x+smMFuB2/AQhajz+DpCU5OAL3gY/ITphcP5Nrx3KnmJUZGiECoKJDQ4JKEBWKVCiNXwVz47srz/ddoRezbfb5bNwwxqGWUpm3lpPq2Kddm4bvhL1j0+vH9nj9xPJCgNFmbGadYwUJiqJO77iDEA3g1rHN+Wjvj3OS8VjtDq1HnVVM7TtG2qaMEvGOVe6uytCrT58onq3JrVe5YgsHKNLYyfg5EGHkqfDa2Kq6pr0ovfoAOnmYz7Sh3Fe4HcED0c3QfWD4qeTy3/nrifNv4vcl5jKpQ0OEcitzqUTW/hR9gq4oSMVlwB0djOfRhMAph5kdyeiSWAEMSlKdVyLlkCdkONhOwPPxVmNPkNsh8VDrhY2xsr+M+0YOxHcZ0Gp1DPHsJWzBrx0ih9h1T4uzG3YWYvFKwXaojxGL5aPWakhawK19Ao6b/DsvySPLYs5nnSnE8bUrI69iWOVALDSJ5WIJCJ3lCQjMY5P0JFPwfGqCTJEmmJVXyoBs9YI5TSQ/6d+28kJ0WTH1aA5jrHCqVHDMcVu4hSZSQhoBJPf0MgtnDjLmxYdBuwxkbjOBqOsW8DkH6KkkbdpYm1sO7NsMoEhNaWWdLeA5SohsPRkk3QnQJgWdRZiUFsN70cGK0v7755Xonqy1Ab0gBl5eXaU4lhSDResgKYfuDNKoHy5UzXRRaH6L/H6p89GHW3Md3zho7C/Z7wy5SZ+2KzX7u5I3YPmjE9s+KF99Deia+CXVQvbrfUZyscdFukrxRQSSybPmxurLwwI19DVfDq5v7h944L669W+HjkgaRXo5LiR7vHIHZkcpgdg7LGkAS1oYJd8ITE4U9OnmwSosXJowCQd4ih5cWmiboTpC3gdLaHyaMIwmOdLxvoVve9d6Ef4grcV1p4YsJnyNX7b2P9FhjYOFVOwtfC7zSK8MDk6xA3fQIt0C/8q1WMouCseYPJlEsKjyYRJXYQA4mUSBdNjO/7D6bFKcWiK+ugvNs/sw8+iynPazEKEJnwiXVA5fVfwFKmSg/2goAAA== | base64 -d | gunzip)"
cards/490456965504--raven-of-whispers/README.md
# Bash Card — 490456965504--raven-of-whispers

![Front](assets/front-thumb.png)  ![Back](assets/back-thumb.png)

Created: 2025-12-28 09:29:20 UTC
- Serial Number: 490456965504--raven-of-whispers
- Author: Douglas Habian - ported by shoes
- Pipe mode: gzipb64
- Description:
  > Creature — Data Mystic
  > 
  > • Real-World Effect — : Analyzes log files to extract unique IP addresses, performs geo-location and WHOIS lookups, and saves detailed reports while verifying internet connectivity.
  > 
  > • Card Ability — : When the Raven of Whispers enters the battlefield, reveal the top card of your library.
  > 
  > "Silent watcher of the digital shadows, revealing secrets hidden in the flow of data."

Assets:
- assets/front.png / assets/back.png
- assets/front-thumb.png
- assets/back-thumb.png
- assets/auto-art.png (generated)
- assets/front-data-url.txt / assets/back-data-url.txt
- assets/raw.sh (source script you authored)
- assets/qr-payload.txt (what the QR encodes)

Auto Art (250x250):
<img src="assets/auto-art.png" width="250" height="250" alt="Auto art preview" />
NameTypeSize
README.mdfile1,093
assetsdir