Skip to main content

A modern TUI for Wireless@SGx setup on Linux

Project description

Wireless@SGx Linux TUI

A modern, user-friendly TUI (Text User Interface) application for setting up Wireless@SGx on Linux systems. No more manual configuration or command-line hassles!

Python Version License

Features

  • 🎨 Beautiful TUI - Modern terminal interface using Textual framework
  • 🔐 Secure Storage - Credentials stored securely in system keyring
  • 🔧 Auto Configuration - Automatically configures NetworkManager
  • 🌐 Multi-ISP Support - Works with Singtel and Starhub
  • 📱 Easy OTP Entry - User-friendly OTP input with timer
  • 🚀 One-Line Install - Simple installation process

Quick Start

Option 1: Install from PyPI (Recommended)

pip install wirelesssgx
wirelesssgx

Option 2: One-Line Installer

curl -sSL https://raw.githubusercontent.com/siva-sub/wireless-sgx-linux-tui/master/install.sh | bash

Option 3: Install from Source

git clone https://github.com/siva-sub/wireless-sgx-linux-tui.git
cd wireless-sgx-linux-tui
pip install -e .
wirelesssgx

Updating

To update to the latest version:

curl -sSL https://raw.githubusercontent.com/siva-sub/wireless-sgx-linux-tui/master/update.sh | bash

Uninstalling

To completely remove Wireless@SGx:

curl -sSL https://raw.githubusercontent.com/siva-sub/wireless-sgx-linux-tui/master/uninstall.sh | bash

Usage

  1. Launch the application:

    wirelesssgx
    

    Or if you prefer:

    python -m wirelesssgx
    
  2. Choose your action:

    • New Registration: For first-time users
    • Retrieve Existing: If you already have an account
    • Auto-Connect: If you have saved credentials
  3. Enter your details:

    • Phone number (Singapore mobile)
    • Date of birth (DDMMYYYY format)
    • Select your ISP (Singtel/Starhub)
  4. Enter OTP:

    • Check your SMS for the OTP
    • Enter it in the application
  5. Done! Your credentials are saved and network is configured automatically.

What is a TUI?

This application uses a Text User Interface (TUI) - it runs in your terminal but provides a graphical-like experience with:

  • Mouse support
  • Buttons and forms
  • Colored interface
  • Keyboard navigation

Think of it as a GUI that runs in your terminal!

Supported ISPs

  • Singtel - Fully tested and working
  • Starhub - Fully tested and working

Note: M1 and SIMBA are also Wireless@SG operators but their API endpoints are not publicly available for this registration method.

Requirements

  • Python 3.8 or higher
  • Linux with NetworkManager or systemd-networkd
  • Active Singapore mobile number for OTP

Troubleshooting

Common Issues

  1. "Cannot connect to NetworkManager"

    • Ensure NetworkManager is running: sudo systemctl start NetworkManager
  2. "Keyring access denied"

    • Install gnome-keyring or similar: sudo apt install gnome-keyring
  3. "OTP timeout"

    • The application will offer to resend OTP
    • Check your phone number is correct

Manual Network Configuration

If automatic configuration fails, you can manually configure using the displayed credentials:

  1. Open your network settings
  2. Add new WiFi connection
  3. Settings:
    • SSID: Wireless@SGx
    • Security: WPA & WPA2 Enterprise
    • Authentication: PEAP
    • Inner Authentication: MSCHAPv2
    • Username: [displayed username]
    • Password: [displayed password]

Development

Setup Development Environment

git clone https://github.com/siva-sub/wireless-sgx-linux-tui.git
cd wireless-sgx-linux-tui
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -e ".[dev]"

Run Tests

pytest

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Based on the original wireless-sg-wifi-for-linux project
  • Uses the Textual framework for the TUI
  • Thanks to the Singapore tech community for reverse engineering efforts

Disclaimer

This is an unofficial tool. Use at your own risk. The authors are not responsible for any misuse or damage.

Project details


Download files

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

Source Distribution

wirelesssgx-1.0.2.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wirelesssgx-1.0.2-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file wirelesssgx-1.0.2.tar.gz.

File metadata

  • Download URL: wirelesssgx-1.0.2.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for wirelesssgx-1.0.2.tar.gz
Algorithm Hash digest
SHA256 c2d39f7cec3b2f8136df2d98cabfe1d8f46c9a8299909b9f22cf5f4ef89ddb3f
MD5 873bbb25ecbbbfee1a7f38da1804fbfb
BLAKE2b-256 920ca75d33ee368f0a9dbecf97fad74f62a0ed18b703a38953a2f79b4c771f42

See more details on using hashes here.

File details

Details for the file wirelesssgx-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: wirelesssgx-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for wirelesssgx-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 abd82134b315ac5caffcd45b3b07a2396c76a0494400400970b453755a2d5363
MD5 bcf193b20431cb5c2be1a8b11cd4988d
BLAKE2b-256 7a73c004c398190c51a00062fd07300d7746538b225f9f391a5a4c02cdac5841

See more details on using hashes here.

Supported by

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