Airoscript - a companion for aircrack-ng
========================================

Airoscript a is fully i10n, configurable,
    themable and modular TUI for aircrack-ng supporting autocracking of
    wireless networks.

Airoscript Homepage
-------------------

    http://airoscript.aircrack-ng.org/ 

Google Code package release page.
---------------------------------

    http://code.google.com/p/airoscript

About
------

    Airoscript is a complete text user interface for aircrack-ng.
    It gives you almost all functionality that aircrack-ng has, allowing you to
    save some time from writting commands.
    Writing commands may be good to learn how does it work, but repeatedly doing
    so can damage your mind and your body.

Usage
-----

    Just launch airoscript as described in syntax. 

Syntax
------

	airoscript [TERMINAL]
    where terminal is one of xterm,urxvt,gnome-terminal and screen 


Developers
----------

    Help and feedback is greatly appreciated. 
    Please feel free to mail XayOn at xayon@xayon.net 

Compliance
----------

    In the wrong hands, airoscript and aircrack-ng could easily violate the 
    government certification of your radio.  A simple example is running injection
    on frequencies your radio isn't certified for in your geographic region.
    you and only you are responsible for making sure that your tools -- including
    airoscript -- are compliant with the regulations in your country and region.

Bugs and feature requests
-------------------------

    Please submit bugs in aircrack-ng trac or aircrack-ng oficial forum "airoscript
    support" subforum.

CLI usage
---------

    usage: airoscript-ng [-h] [-t TERMINAL] [-s] [-v] [-m] [-c] [-a] [-n FILTER] [-w WIFICARD] [-f]

    options:
       -h      show this message
       -t      specify terminal
       -s      use screen interface
       -v      Verbose & debug mode
       -w      Specify wifi card
       -f      Change mac to fakemac before everything else.
       -c      Change FAKE_MAC to use real mac
       -m      Start monitor mode witout caring for mac
       -a      Automatic mode
               -n  Filter SSID by regex (for automatic mode)

    Examples:
        airoscript-ng -i wlan0 -c -a -n "XayOnTest_(.*)" # Will crack the first of all my test networks =) using my own mac
        airoscript-ng -i wlan0 -f -a # Will try to crack any network with faked mac. Warning, this may conduct you to commit a crime,
            # I'm not responsible for any baduse of this option, just don't do it.

    For now, airoscript automatic mode only supports WEP networks.


Menu usage
----------

    Since svn rev on 11-1-11 (nice date heh? ;) ) airoscript
    is able to queue commands, that is, you can tell airoscript-ng
    to do 1 then 2 in a menu just by entering "1 2" (without the quotes).
    Just as easy as that =) Give it a try!

Configuration
-------------
    Following goes the sampole config file, explained.

    This is de default terminal airoscript will use to launch aircrack-ng when in non-auto mode
    	TERMINAL="xterm" 

    This makes airoscript put a warning message regarding its possible illegal usage in the app start
        show_warning=1 # Put to zero if you don't want the usage warning to appear.

    When set to 1, airoscript will try to ask things like dest macs and extra aircrack-ng options.
    	INTERACTIVE=0 # Set this to 0 to less asking

    This, when set to 1, makes airoscript continue without changing the mac at the start.
        force_mac_address=0 # Set this to one to override mac checking

    Those are small options to make airoscript-ng a lil more usable and fast, just for advanced users
    # Theme file and other interface options
	    theme="default.theme"
        export DEFAULT_MONITOR_MODE=1 # If set to 1, it won't ask to put the interface in monitor mode, it'll just do it.
        export SHOW_SMALL_MENU=0 # If set to 1, menu descriptions won't appear (easier to see on smallest screens)
        export show_only_wireless_extensions=1 # If set to one, only wireless interfaces with wireless extensions are shown. If your iface is not shown disable this.
        export MON_PREFIX="airoscript" # Prefix to use when creating monitor interfaces. Does not work with aircrack-ng 1.1

    Dhcp software to use, in bt this should be set to dhcpd 
	DHCPSOFT="dhclient"

    To set a default interface so airoscript will not ask everytime it starts (you can also use airoscript -w IFACE) you can set wifi.
	wifi="" 
    
    If you want to use a different wireless card for injection you'll need to set iwifi to it, AND wifi to the other one
	iwifi=""

    This is a little hack to use SCREENRC environment variable.
	    [[ "$SCREENRC" == "" ]] && SCREENRC="$PREFIX/etc/screenrc.airoscript"
    
    This is the path where the data is stored, change it if you don't have space in /tmp
        TMPDIR="/tmp"

    Path to your wordlist file (for WPA and WEP dictionnary attack), by default it'll look on ~/.airoscript/wordlist.txt or $DUMP_PATH/wordlist.txt
    	if [ -e ~/.airoscript/wordlist.txt ]; then WORDLIST=~/.airoscript/wordlist.txt
	    else WORDLIST="$DUMP_PATH/wordlist.txt"; fi 
    
    Set the default pmk database location
        db_location="~/.airoscript-ng/pmk.db"

    This is completly experimental, it'll asak you foreach command it execs for possible extra arguments, manually, it's commented by default.
        # ADDOPTIONS=1



Requirements (Deps)
-------------------

    - GNU gettext (gettext package)
    - ip (iproute package)
    - aircrack-ng (same version as airoscript-ng)
    - *Working* injection capable driver for the interface you want to use

    Build-deps: gettext
    Deps:
        mrxvt|xterm|gnome-terminal -> Preferibly xterm
		aircrack-ng ( = airoscript-ng_version) )
		bash ( >3.5 )
        grep
        macchanger
        iproute ( /bin/ip )

    Recomends:
        digenpy ( http://github.com/XayOn/Digenpy ) # Depends on python 2.6
		mdk 


Plugin support
==============
Airoscript supports plugins, shell scripts listed in enabled_plugins on airoscript configuration (use the full path there).
For a plugin to work, you'll have to set $plugins_menu["Title of the menu you want to use"] to an array of the entries you want to add.
