Library for working with hostapd configuation files
Project description
This package contains a library for working with hostapd configuration file in Python. It is intended for configuring simple access points and supports the folowing configuration:
Interface selection
Driver selection (nl80211 and rtl871xdrv, as supported)
SSID
Country code
Channel
WPA configuration (passphrase, WPA mode)
Maximum client limit
Hidden SSID
Configuration class
To load the configuration file, use the HostapdConf class:
>>> from hostapdconf.parser import HostapdConf >>> conf = HostapdConf('example/hostapd_example.conf')
This class is a generic configuration parser/writer and doesn’t know much about how configuration options work. It behaves like a dictionary, and you can look up keys using subscript notation. For example:
>>> conf['interface'] 'wlan0'
If a key is not found, a KeyError is raised.
>>> conf['driver'] KeyError: '<HostapdConf "interface=wlan0...">' has no key 'driver'
You can set any key by assigning:
>>> conf['driver'] = 'nl80211'
You can update multiple values by calling the update() method with a dictionary as its argument, just like with Python dictionaries. Finally, if you want to save the configuration file, you can use the write() method:
>>> conf.write()
If you wish to save the file to another location, simply pass the path to the write() method. To reload the configuration, you can use the reload() method.
HostapdConf class will preserve the order of the configuration keys as much as possible, but it does not offer methods for inserting configuration options at random locations.
Helper functions
To help with common configuration tasks, there is a number of helper methods.
Helpers are found in the hosapdconf.helpers module.
>>> from hostapdconf import helpers as ha
Each helper function takes the configuration object as first argument followed by arguments specific to the setting. Here is a quick overview of the helper methods:
>>> ha.set_ssid(conf, 'Foobar') >>> ha.hide_ssid(conf) >>> ha.reveal_ssid(conf) >>> ha.set_iface(conf, 'wlan2') >>> ha.set_driver(conf, ha.REALTEK) # or ha.STANDARD >>> ha.set_channel(conf, 2) # wpa_modes supported: ha.WPA1_ONLY, ha.WPA2_ONLY, ha.WPA_BOTH >>> ha.enable_wpa(conf, passphrase='SECRET', wpa_mode=ha.WPA2_ONLY) >>> ha.disable_wpa(conf) >>> ha.set_country(conf, 'de')
License
pyhostapdconf is released under GPLv3. Please see the COPYING file in the source tree.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
File details
Details for the file pyhostapdconf-1.0.zip
.
File metadata
- Download URL: pyhostapdconf-1.0.zip
- Upload date:
- Size: 21.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e3c8f85b58f8d889285a7249fb28d57b840efdf8f45b9ac81b1b43840f59f33 |
|
MD5 | 4d59e1244c962b306dd3abc0ef40f8e2 |
|
BLAKE2b-256 | 193ffbcb1ee42944ca36d4597c11dad52e15730e9e33b88b28fa6921c56d8535 |
File details
Details for the file pyhostapdconf-1.0.tar.gz
.
File metadata
- Download URL: pyhostapdconf-1.0.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a889d06e7d141f325b6c8be328cf2a30d40559ae24a88e0d571229e217488a83 |
|
MD5 | c012c2e7696f2cb6899bad11d7a99588 |
|
BLAKE2b-256 | 595cb1c9069f1f6a72dcfb7b6e10c46a9eaa74e99e9a2b287a7f687e36e2db4f |