cryental / php-wifi
PHP library for working with wifi network
Requires
- php: ^8.1
- phplucidframe/console-table: ^1.2
- splitbrain/php-cli: ^1.3
- tightenco/collect: ^v9.51
Requires (Dev)
- mockery/mockery: ^1.6
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^11.2
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-12-01 00:09:50 UTC
README
PHP WiFi
PHP WiFi is cross-platform php library based on integrated in OS utilities
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Installing
Require this package, with Composer, in the root directory of your project.
$ composer require sanchescom/php-wifi
Usage
<?php include __DIR__ . '/vendor/autoload.php'; use Sanchescom\WiFi\WiFi; class Example { public $device; /** * @throws Exception */ public function getAllNetworks() { $networks = WiFi::scan()->getAll(); foreach ($networks as $network) { echo $network . "\n"; } } /** * @param $ssid * @param $password */ public function connect($ssid, $password) { try { WiFi::scan()->getBySsid($ssid)->connect($password, $this->device); } catch (Exception $exception) { echo $exception->getMessage(); } } /** * @throws Exception */ public function disconnect() { $networks = WiFi::scan()->getConnected(); foreach ($networks as $network) { $network->disconnect($this->device); } } } $example = new Example(); try { $example->device = 'en1'; $example->getAllNetworks(); $example->connect('Redmi', '12345'); $example->disconnect(); } catch (Exception $e) { // }
Running in console:
List of found wifi networks
$ ./vendor/bin/wifi list
List connected wifi networks
$ ./vendor/bin/wifi list --connected
Connect to wifi network
$ ./vendor/bin/wifi connect --bssid=4c:49:e3:f5:35:17 --password=12345 --device=en1
Disconnect from wifi network
$ ./vendor/bin/wifi disconnect --bssid=4c:49:e3:f5:35:17 --device=en1
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Efimov Aleksandr - Initial work - Sanchescom
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Platform support
- Linux
- MacOS
- Windows