A Python automation tool that securely logs you into LPU's 24online wireless network with a single click!
Logging into LPU's 24online wireless network can be tedious β opening the captive portal page, entering credentials, checking the terms box, and clicking submit... every single time you connect to WiFi.
LPU Wireless Auto-Login eliminates this hassle by automating the entire login process:
-
Problem: LPU's campus WiFi requires manual login through a web portal (
internet.lpu.in/24online) every time you connect. This repetitive process is time-consuming, especially for students who switch between buildings or reconnect frequently. -
Solution: This Python-based automation tool securely stores your credentials and handles the complete login flow with a single command. It features multi-profile support, AES-256 encryption, and optional biometric unlock.
-
Who is this for?: LPU students and staff who want a faster, one-click solution to authenticate with the campus WiFi network.
π‘ First run: Set a master password and enter your credentials β Every subsequent run: Instant automatic login!
- π₯οΈ Modern GUI - Clean, dark-themed interface for credential management
- π AES-256 Encryption - Credentials encrypted with industry-standard encryption
- π€ Full Automation - Opens browser, fills forms, clicks buttons automatically
- π One-Click Login - After setup, just run the script to login instantly
- π₯ Multi-Profile Support - Store multiple WiFi credentials (personal, work, guest, etc.)
- π Master Password Protection - All profiles protected by a single master password
- ποΈ Biometric Unlock - Optional Windows Hello support (fingerprint/face)
- π Password Strength Meter - Visual indicator for password security
- π PBKDF2 Key Derivation - 480,000 iterations for brute-force resistance
- π Clear Storage Location - Always know where your data is stored
pip install -r requirements.txtOr install individually:
pip install playwright keyring cryptographyplaywright install chromiumpython lpu_auto_login.pyFirst run: A setup wizard will guide you through:
- Creating a master password
- Optionally enabling biometric unlock
- Adding your first credential profile
Subsequent runs: Enter your master password β Auto-login begins!
| Command | Description |
|---|---|
python lpu_auto_login.py |
Run with default profile |
python lpu_auto_login.py --gui |
Launch full GUI application |
python lpu_auto_login.py --profile Work |
Use a specific profile |
python lpu_auto_login.py --reset |
Add new credentials |
python lpu_auto_login.py --add-profile |
Add a new profile |
python lpu_auto_login.py --profiles |
List all stored profiles |
python lpu_auto_login.py --info |
Show security information |
python lpu_auto_login.py --change-master-password |
Change master password |
python lpu_auto_login.py --tray |
Run in system tray (background) |
python lpu_auto_login.py --headless |
Run browser invisibly |
python lpu_auto_login.py --enable-startup |
Enable Windows startup |
python lpu_auto_login.py --disable-startup |
Disable Windows startup |
python lpu_auto_login.py --legacy |
Use OS keyring (legacy mode) |
python lpu_auto_login.py --help |
Show all options |
Launch the complete GUI with navigation between pages:
python lpu_auto_login.py --guiFeatures:
- π± Single window with multi-page navigation
- β Back buttons to return to previous pages
- πΎ Save buttons that return to profiles list
- π Master password setup/unlock screen
- π€ Profile management with add/edit/delete
- π Security info page
- β»οΈ No more closing dialogs - smooth navigation
Navigation Flow:
Unlock β Profiles β Add/Edit Profile β Back to Profiles
β
Security Info β Back to Profiles
Run the auto-login tool silently in your system tray:
python lpu_auto_login.py --trayFeatures:
- πΆ Auto-detects when you connect to LPU WiFi
- π Notifications for login status
- ποΈ Tray menu for quick actions
- π Toggle auto-login on/off
- π€ Quick profile access
Tray Menu Options:
- πΆ Login Now - Manually trigger login
- π Check Connection - Force connection check
- β Auto-Login Enabled - Toggle auto-login
- π€ Manage Profiles - Open profile manager
- βΉοΈ Security Info - View security details
- π Run at Startup - Toggle Windows startup
- β Quit - Exit the tray app
Enable automatic startup so you never have to manually login again:
# Enable startup
python lpu_auto_login.py --enable-startup
# Disable startup
python lpu_auto_login.py --disable-startupWhen enabled:
- LPU Auto-Login starts minimized in system tray when Windows boots
- Monitors for WiFi connections
- Automatically logs in when you connect to LPU network
- Shows notification when login completes
Run the browser invisibly (no visible window):
python lpu_auto_login.py --headlessPerfect for:
- Scheduled tasks
- Background automation
- Minimal resource usage
# Add a new profile
python lpu_auto_login.py --add-profile
# List all profiles
python lpu_auto_login.py --profiles
# Use specific profile
python lpu_auto_login.py --profile "Home WiFi"
# Reset/add credentials
python lpu_auto_login.py --resetYour credentials are stored in an encrypted SQLite database with the following security measures:
| Feature | Implementation |
|---|---|
| Encryption | AES-256 (Fernet - AES-128-CBC with HMAC) |
| Key Derivation | PBKDF2-HMAC-SHA256 with 480,000 iterations |
| Master Password | Never stored - only secure hash for verification |
| Storage Location | Platform-specific secure directory |
| Platform | Database Location |
|---|---|
| Windows | %APPDATA%\LPU_Wireless_Login\credentials.db |
| macOS | ~/Library/Application Support/LPU_Wireless_Login/credentials.db |
| Linux | ~/.config/LPU_Wireless_Login/credentials.db |
β
AES-256 Encryption - Military-grade encryption for all stored passwords
β
Master Password Required - Single password unlocks all profiles
β
No Plain-text Storage - Credentials never stored unencrypted
β
Secure Hash Only - Master password verified via hash, never stored
β
PBKDF2 Protection - 480,000 iterations prevent brute-force attacks
β
Optional Biometrics - Windows Hello for passwordless unlock
β
Password Strength Meter - Visual feedback on password security
python lpu_auto_login.py --infoThis displays:
- Exact storage location
- Encryption method
- Number of stored profiles
- Biometric status
If you prefer the simpler OS keyring storage (Windows Credential Manager, macOS Keychain):
python lpu_auto_login.py --legacyLPU_Wireless_Login/
β
βββ lpu_auto_login.py # Main automation script with multi-profile support
βββ secure_credentials.py # Encrypted credential manager
βββ gui_dialogs.py # Modern GUI components
βββ requirements.txt # Python dependencies
βββ README.md # This file
| Package | Purpose |
|---|---|
playwright |
Browser automation (controls Chromium) |
keyring |
Legacy credential storage (OS keyring API) |
cryptography |
AES-256 encryption & PBKDF2 key derivation |
tkinter |
GUI for credential input (built into Python) |
Master Password
β
PBKDF2-HMAC-SHA256 (480,000 iterations + random salt)
β
32-byte Encryption Key
β
Fernet (AES-128-CBC + HMAC-SHA256)
β
Encrypted Password (stored in SQLite)
1. Unlock credential manager (master password / biometric)
β
2. Select or auto-use default profile
β
3. Launch Chromium (visible mode)
β
4. Navigate to login page
β
5. Find & fill username/password fields
β
6. Check Terms & Conditions
β
7. Click Submit/Login
β
8. Keep browser open for session
# Try with administrator privileges
pip install --upgrade playwright
playwright install --force# Windows - Install Visual C++ Build Tools
# Download from: https://visualstudio.microsoft.com/visual-cpp-build-tools/
# Linux
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev
pip install cryptographyMake sure you've run playwright install to download browser binaries.
The login page structure may have changed. Please open an issue with the error message.
# Ubuntu/Debian
sudo apt-get install python3-tk
# Fedora
sudo dnf install python3-tkinter
# Arch
sudo pacman -S tkIf you forget your master password, you'll need to reset:
# Delete the credentials database (all saved passwords will be lost!)
# Windows
del "%APPDATA%\LPU_Wireless_Login\credentials.db"
# Linux/macOS
rm ~/.config/LPU_Wireless_Login/credentials.dbThen run the program again to set up a new master password.
- π Keep browser open - Don't close the browser window while using the network
- πͺ Logout properly - Always logout before moving to a new location
- π Usage check - Visit https://172.20.0.66/myaccount.html to check your data usage
- π Remember master password - There's no recovery option if forgotten!
- π₯ Multiple profiles - Great for managing personal and work accounts
If you were using the older keyring-based storage, the new version will automatically offer to migrate your credentials to the encrypted database on first run.
This project is for educational purposes. Use responsibly and in accordance with LPU's network policies.
Made with β€οΈ for LPU students | Now with Enhanced Security! v2.0