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!
- π¨ 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
pip install wirelesssgx
wirelesssgxcurl -sSL https://raw.githubusercontent.com/siva-sub/wireless-sgx-linux-tui/master/install.sh | bashgit clone https://github.com/siva-sub/wireless-sgx-linux-tui.git
cd wireless-sgx-linux-tui
pip install -e .
wirelesssgxTo update to the latest version:
curl -sSL https://raw.githubusercontent.com/siva-sub/wireless-sgx-linux-tui/master/update.sh | bashTo completely remove Wireless@SGx:
curl -sSL https://raw.githubusercontent.com/siva-sub/wireless-sgx-linux-tui/master/uninstall.sh | bash-
Launch the application:
wirelesssgx
Or if you prefer:
python -m wirelesssgx
-
Choose your action:
- New Registration: For first-time users
- Retrieve Existing: If you already have an account
- Auto-Connect: If you have saved credentials
-
Enter your details:
- Phone number (8-digit Singapore mobile, e.g., 9XXXXXXX)
- Date of birth (DDMMYYYY format)
- Select your ISP (Singtel/Starhub)
-
Enter OTP:
- Check your SMS for the OTP
- Enter it in the application
-
Done! Your credentials are saved and network is configured automatically.
After setting up, you can use these commands to manage your connection:
wirelesssgx showShows your saved username, ISP, and auto-connect status.
wirelesssgx connectConnect to Wireless@SGx using your saved credentials.
wirelesssgx autoconnectConfigure your system to automatically connect to Wireless@SGx when in range.
wirelesssgx statusCheck if you're currently connected to Wireless@SGx.
wirelesssgx forgetDelete your saved credentials and network configuration.
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!
- 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.
- Python 3.8 or higher
- Linux with NetworkManager or systemd-networkd
- Active Singapore mobile number for OTP
-
"Cannot connect to NetworkManager"
- Ensure NetworkManager is running:
sudo systemctl start NetworkManager
- Ensure NetworkManager is running:
-
"Keyring access denied"
- Install gnome-keyring or similar:
sudo apt install gnome-keyring
- Install gnome-keyring or similar:
-
"OTP timeout"
- The application will offer to resend OTP
- Check your phone number is correct
If automatic configuration fails, you can manually configure using the displayed credentials:
- Open your network settings
- Add new WiFi connection
- Settings:
- SSID:
Wireless@SGx - Security: WPA & WPA2 Enterprise
- Authentication: PEAP
- Inner Authentication: MSCHAPv2
- Username: [displayed username]
- Password: [displayed password]
- SSID:
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]"pytestContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- 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
This is an unofficial tool. Use at your own risk. The authors are not responsible for any misuse or damage.