#!/usr/bin/env bash

display_help() {
        echo -e "usage: ./generate_intruder ip_address port\n
Intruder's payload generation tool\n
positional arguments:
  ip_address
  port

options:
  -h, --help\t\tshows this message"
}

generate() {
	ip=$1
	port=$2
	sed -E "s/(HOST *= *)\"[^\"]*\"/\1\"$ip\"/" intruder.py > tmp_intruder.txt
	sed -E "s/(PORT *= *)\"[^\"]*\"/\1$port/" tmp_intruder.txt > tmp_intruder2.txt
	mv tmp_intruder2.txt intruder.py
	rm tmp_intruder.txt
	pyinstaller --onefile --clean --strip intruder.py
	rm -R build
	mv dist/intruder ./
	rmdir dist
	rm intruder.spec
	chmod 777 intruder
}

main() {
	if [[ $1 == "-h" || $1 == "--help" ]]; then
		display_help
	elif [[ $1 =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ && $2 =~ ^[0-9]{1,5}$ ]]; then
		generate "$@"
	else
		echo -e "One or more arguments are incorrect.\nPlease use \"-h\" to display the help.\n"
	fi
}

main "$@"
