Keld Norman Posted October 1, 2022 Share Posted October 1, 2022 I made this script.. ( see below ) and a file that contains the SSID names I want to add. When i run it it adds the SSID names as expected but also some strange chars and names appears like there is an error that happens when using the API: <img src="https://www.lostserver.com/static/pineapple_api_error.png" alt="API ERROR"> Do you know why this error happens ? ( see image - first SSID name) I run the script like this: root@router:~/source/Pineapple# ./add_ssid.sh ./add_ssid.list ⠀⠀⢠⡾⠃⠀⠀⠀⠀⠀⠀⠰⣶⡀⠀⠀ ⠀⢠⡿⠁⣴⠇⠀⠀⠀⠀⠸⣦⠈⢿⡄⠀ This script adds ⠀⣾⡇⢸⡏⢰⡇⠀⠀⢸⡆⢸⡆⢸⡇⠀ SSID NAMES to ⠀⢹⡇⠘⣧⡈⠃⢰⡆⠘⢁⣼⠁⣸⡇⠀ a PINEAPPLE ⠀⠈⢿⣄⠘⠃⠀⢸⡇⠀⠘⠁⣰⡟⠀ ⠀⠀⠀⠙⠃⠀⠀⢸⡇⠀⠀⠘⠋⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠘⠃⠀⠀ Detecting WiFi Pineapple link [OK] Waiting for ping reply from Pineapple [OK] Generating API key on the Pineapple [OK] ----------------------------------------------------------------------------------- Importing 19 SSID's.. ----------------------------------------------------------------------------------- Adding SSID: ADM [OK] Adding SSID: ADMIN_Network [OK] Adding SSID: AIRPORT [OK] Adding SSID: AIRPORT FREE WIFI [OK] Adding SSID: AIRPORT-FREE-WiFi [OK] Adding SSID: AK-intern [OK] Adding SSID: AK-net [OK] Adding SSID: APMM_HOTSPOT [OK] Adding SSID: ATEA-GUEST [OK] Adding SSID: AirPort [OK] Adding SSID: Airport Free WiFi [OK] Adding SSID: Airport-Guest [OK] Adding SSID: Airport_Free_WiFi_AENA [OK] Adding SSID: Alibaba [OK] Adding SSID: All Station Guests [OK] Adding SSID: Apple Demo [OK] Adding SSID: Apple Store [OK] Adding SSID: Arlanda Express [OK] Adding SSID: Airport1 [OK] ----------------------------------------------------------------------------------- 2022-10-01T17:43:02 CEST - End of import! ----------------------------------------------------------------------------------- root@router:~/source/Pineapple# cat add_ssid.list ADM ADMIN_Network AIRPORT AIRPORT FREE WIFI AIRPORT-FREE-WiFi AK-intern AK-net APMM_HOTSPOT ATEA-GUEST AirPort Airport Free WiFi Airport-Guest Airport_Free_WiFi_AENA Alibaba All Station Guests Apple Demo Apple Store Arlanda Express AirportX root@router:~/source/Pineapple# cat add_ssid.sh #!/bin/bash # set -x clear #----------------------------- # (C)opyleft Keld Norman 2022 # Twitter: @keld_norman # Youtube : https://www.youtube.com/c/KeldNorman # Manual for the Pineapple: https://hak5.github.io/mk7-docs/ #---------------------------------------------------------------------------- # VARIABLES #---------------------------------------------------------------------------- PINEAPPLE_IP="172.16.42.1" PINEAPPLE_PASSWORD="PineapplePasswordHere" #---------------------------------------------------------------------------- # BANNER FOR THE 1337'ishness #---------------------------------------------------------------------------- cat << "EOF" ⠀⠀⢠⡾⠃⠀⠀⠀⠀⠀⠀⠰⣶⡀⠀⠀ ⠀⢠⡿⠁⣴⠇⠀⠀⠀⠀⠸⣦⠈⢿⡄⠀ This script adds ⠀⣾⡇⢸⡏⢰⡇⠀⠀⢸⡆⢸⡆⢸⡇⠀ SSID NAMES to ⠀⢹⡇⠘⣧⡈⠃⢰⡆⠘⢁⣼⠁⣸⡇⠀ a PINEAPPLE ⠀⠈⢿⣄⠘⠃⠀⢸⡇⠀⠘⠁⣰⡟⠀ ⠀⠀⠀⠙⠃⠀⠀⢸⡇⠀⠀⠘⠋⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠘⠃⠀⠀ EOF #---------------------------------------------------------------------------- # PRE CHECKS #---------------------------------------------------------------------------- if [ ! -x /usr/bin/curl ]; then printf "\n ### ERROR - Missing curl utility (apt-get install curl)\n\n" exit fi if [ ! $# -eq 1 ]; then printf "\n ### ERROR - Missing file containing SSID names as parameter\n\n" printf " Syntax is: $0 [/path/to/file/with/ssid/names.xxx]\n\n" exit 1 fi if [ ! -s $1 ]; then printf "\n ### ERROR - The SSID list file is missing or empty ($1)\n\n" exit 1 fi #---------------------------------------------------------------------------- # Set the Pineapple IP #---------------------------------------------------------------------------- printf " %-40s" "Detecting WiFi Pineapple link" until ip addr|grep link|awk '{print $2}'|egrep -c -e "00:13:37|00:[cC]0:[cC][aA]" > /dev/null do sleep 1 done echo "[OK]" #------------------------------------------------------------- printf " %-40s" "Waiting for ping reply from Pineapple" #------------------------------------------------------------- until ping -c1 -w1 ${PINEAPPLE_IP} >/dev/null do printf "." sleep 1 done echo "[OK]" #---------------------------------------------------------------------------- # GET A TOKEN FROM THE PINEAPPLE #---------------------------------------------------------------------------- printf " %-40s" "Generating API key on the Pineapple" TOKEN=$(curl -X POST http://${PINEAPPLE_IP}:1471/api/login -d "{\"username\": \"root\", \"password\": \"$PINEAPPLE_PASSWORD\"}" 2>/dev/null|grep "token"|cut -d '"' -f4) if [ -z "${TOKEN}" ]; then echo "[ERROR]" printf "\n ### ERROR - Failed to get an API token!\n\n" exit 1 fi echo "[OK]" #---------------------------------------------------------------------------- # Import the SSIDS #---------------------------------------------------------------------------- printf -- " -----------------------------------------------------------------------------------\n" printf " Importing $(cat $1|wc -l) SSID's..\n" printf -- " -----------------------------------------------------------------------------------\n" cat ${1}|grep -v ^#|while read SSID; do SSID_SAFE="${SSID}" printf " Adding SSID: %-64s" "${SSID_SAFE}" STATUS=$(\ curl --silent \ -X PUT \ -H "Content-type: application/json" \ -H "Authorization: Bearer ${TOKEN}" \ -d '{"ssid":"'"${SSID_SAFE}"'"}' \ "http://${PINEAPPLE_IP}:1471/api/pineap/ssids/ssid") HOW_DID_IT_GO=$(echo ${STATUS}|grep -c '{"success":true}') if [ ${HOW_DID_IT_GO:-0} -eq 1 ]; then echo " [OK]" else printf " [FAILED] - ${STATUS}\n" fi done printf -- " -----------------------------------------------------------------------------------\n" printf " $(date) - End of import!\n" printf -- " -----------------------------------------------------------------------------------\n\n" Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.