Skip to main content

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

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

pyhostapdconf-1.0.zip (21.5 kB view details)

Uploaded Source

pyhostapdconf-1.0.tar.gz (18.0 kB view details)

Uploaded Source

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

Hashes for pyhostapdconf-1.0.zip
Algorithm Hash digest
SHA256 3e3c8f85b58f8d889285a7249fb28d57b840efdf8f45b9ac81b1b43840f59f33
MD5 4d59e1244c962b306dd3abc0ef40f8e2
BLAKE2b-256 193ffbcb1ee42944ca36d4597c11dad52e15730e9e33b88b28fa6921c56d8535

See more details on using hashes here.

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

Hashes for pyhostapdconf-1.0.tar.gz
Algorithm Hash digest
SHA256 a889d06e7d141f325b6c8be328cf2a30d40559ae24a88e0d571229e217488a83
MD5 c012c2e7696f2cb6899bad11d7a99588
BLAKE2b-256 595cb1c9069f1f6a72dcfb7b6e10c46a9eaa74e99e9a2b287a7f687e36e2db4f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page