if __name__ == "__main__": parser = argparse.ArgumentParser(description='Generate a wordlist.') parser.add_argument('filename', type=str, help='Output filename') parser.add_argument('--length', type=int, default=8, help='Max password length') parser.add_argument('--no-uppercase', action='store_false', dest='use_uppercase', help='Exclude uppercase letters') parser.add_argument('--no-numbers', action='store_false', dest='use_numbers', help='Exclude numbers') parser.add_argument('--no-special-chars', action='store_false', dest='use_special_chars', help='Exclude special characters') args = parser.parse_args() generate_wordlist(args.filename, args.length, args.use_uppercase, args.use_numbers, args.use_special_chars) This example provides a simple way to generate a customized wordlist but keep in mind that a comprehensive and effective wordlist for WPA2 cracking would likely involve much more extensive data, including a large dictionary of Indonesian words and names. Always use such tools responsibly and ethically.