| @@ -13,7 +13,7 @@ class Redes_wifi extends Command | |||||
| * | * | ||||
| * @var string | * @var string | ||||
| */ | */ | ||||
| protected $signature = 'wifi'; | |||||
| protected $signature = 'wifi {essid?} {--list}'; | |||||
| /** | /** | ||||
| * The description of the command. | * The description of the command. | ||||
| @@ -29,30 +29,38 @@ class Redes_wifi extends Command | |||||
| */ | */ | ||||
| public function handle() | public function handle() | ||||
| { | { | ||||
| $essid = $this->argument('essid'); | |||||
| $profiles = $this->getProfiles(); | $profiles = $this->getProfiles(); | ||||
| if (isset($essid) && (!$this->option('list'))) { | |||||
| $this->line("[{$essid}] ".$this->getPassword($essid)); | |||||
| return 0; | |||||
| } | |||||
| foreach ($profiles as $profile) { | foreach ($profiles as $profile) { | ||||
| $this->line("[{$profile}] ".$this->getPassword($profile)); | |||||
| $linea = "[{$profile}] "; | |||||
| if (!$this->option('list')) | |||||
| $linea .= $this->getPassword($profile); | |||||
| $this->line($linea); | |||||
| } | } | ||||
| } | } | ||||
| public function listProfiles() | |||||
| public function getProfiles() | |||||
| { | { | ||||
| $result = Process::run('netsh wlan show profile'); | $result = Process::run('netsh wlan show profile'); | ||||
| $salidaprofiles = $result->output(); | $salidaprofiles = $result->output(); | ||||
| //$salidaprofiles = file_get_contents('profiles.txt'); | //$salidaprofiles = file_get_contents('profiles.txt'); | ||||
| $parseprofiles = explode("-------------------", $salidaprofiles); | $parseprofiles = explode("-------------------", $salidaprofiles); | ||||
| $parseprofiles = end($parseprofiles); | $parseprofiles = end($parseprofiles); | ||||
| $parseprofiles = explode("\n", trim($parseprofiles, "\n")); | |||||
| $parseprofiles = explode("\n", trim($parseprofiles, "\n\r")); | |||||
| $profiles = []; | $profiles = []; | ||||
| foreach ($parseprofiles as $profile) { | foreach ($parseprofiles as $profile) { | ||||
| $profiles[] = str_replace(' Perfil de todos los usuarios : ', '', $profile); | |||||
| $profiles[] = trim(str_replace(' Perfil de todos los usuarios : ', '', $profile)); | |||||
| } | } | ||||
| return $profiles; | return $profiles; | ||||
| } | } | ||||
| public function getPassword($profile) | public function getPassword($profile) | ||||
| { | { | ||||
| $result = Process::run("netsh wlan show profile {$profile} key=clear"); | |||||
| $result = Process::run("netsh wlan show profile \"{$profile}\" key=clear"); | |||||
| $salidapassword = $result->output(); | $salidapassword = $result->output(); | ||||
| //$salidapassword = file_get_contents('prueba.txt'); | //$salidapassword = file_get_contents('prueba.txt'); | ||||
| $parsepassword = explode('--------------------------', $salidapassword); | $parsepassword = explode('--------------------------', $salidapassword); | ||||