This is a single-file Python application that provides a menu-driven interface (via dmenu, rofi, wofi, bemenu, etc.) for managing NetworkManager connections on Linux. It allows users to connect to WiFi, VPN, Wireguard, GSM, Bluetooth, Ethernet, and VLANs; enable/disable networking, WiFi, WWAN, and Bluetooth; delete connections; rescan WiFi; show WiFi passwords; and launch the connection editor. The script uses PyGObject to interact with NetworkManager over D-Bus, with asynchronous callbacks and a GLib main loop. Configuration is stored in an INI file, and the script supports multiple launchers with per-launcher flags for passphrase entry and highlighting. The code is well-structured, with clear separation of concerns (action creation, menu display, async callbacks), and includes workarounds for older library versions. It is a mature, actively maintained tool with a Nix flake for development and a GitHub release workflow.
This repository provides a WiFi configuration manager for ESP32 and ESP8266 microcontrollers using the Arduino framework. It enables devices to create a captive portal for WiFi setup, store credentials in the filesystem, and optionally define additional configuration parameters (strings, integers, booleans) via a simple API. The library operates as a singleton, handling WiFi connection attempts, portal management, and runtime language selection for the configuration interface. Key features include automatic password generation, support for OTA updates via the same credentials, and callback hooks for custom behavior during connection events. The architecture centers around the WiFiSettings class, which manages state through filesystem storage (SPIFFS for ESP32, LittleFS for ESP8266) and a dynamic parameter system. The configuration portal is implemented as a blocking web server with DNS redirect, serving a localized HTML form that saves user input to files. Language support is handled via a separate header using flash-stored strings and runtime selection, minimizing memory usage. The design prioritizes ease of use over advanced features, making it suitable for simple IoT devices requiring straightforward WiFi provisioning.