https://github.com/mohamedawnallah/connectmehub
ConnectMeHub is an open-source project designed exclusively for macOS users, simplifying Wi-Fi network management on this platform. It allows macOS users to seamlessly connect to specified Wi-Fi networks, ensuring a reliable and hassle-free network experience.
https://github.com/mohamedawnallah/connectmehub
internet internet-connection-checker wifi wifi-network
Last synced: about 2 months ago
JSON representation
ConnectMeHub is an open-source project designed exclusively for macOS users, simplifying Wi-Fi network management on this platform. It allows macOS users to seamlessly connect to specified Wi-Fi networks, ensuring a reliable and hassle-free network experience.
- Host: GitHub
- URL: https://github.com/mohamedawnallah/connectmehub
- Owner: mohamedawnallah
- License: mit
- Created: 2023-09-02T02:37:05.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-26T07:18:46.000Z (over 1 year ago)
- Last Synced: 2024-05-02T04:31:36.200Z (over 1 year ago)
- Topics: internet, internet-connection-checker, wifi, wifi-network
- Language: AppleScript
- Homepage:
- Size: 8.79 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ConnectMeHub
ConnectMeHub is an open-source project designed exclusively for macOS users, simplifying Wi-Fi network management on this platform. It allows macOS users to seamlessly connect to specified Wi-Fi networks, ensuring a reliable and hassle-free network experience.
## Features
- Automatically connects to a list of preferred Wi-Fi networks.
- Supports fallback to a backup network if the primary networks are unavailable.
- Passwords are securely stored in the macOS Keychain for enhanced security.## macOS Compatibility
ConnectMeHub is designed exclusively for macOS users. It takes advantage of macOS-specific features to simplify Wi-Fi network management on this platform.
Please note that this script is not compatible with other operating systems.
## Granting Keychain Access
To allow `osascript` to access the keychain and retrieve stored Wi-Fi passwords, follow these steps:
1. Open the "Keychain Access" application on your macOS.
2. Select the "Login" keychain on the left sidebar.
3. Search for the Keychain (Wi-Fi Name) that contains the Wi-Fi password and Select it.
3. Select the "Access Control" tab.
4. Click the "+" button to add an application to the list.
5. Navigate to `/usr/bin/osascript` and select it.
6. Click "Add" to grant `osascript` access to the keychain items.
## Getting Started
To get started with ConnectMeHub on macOS, follow these simple steps:
1. Clone the repository to your local machine.
```bash
git clone https://github.com/mohamedawnallah/ConnectMeHub.git
```
2. Open the project in your favorite code editor or script runner.
3. Customize the network configurations in the script by modifying the `mainNetworkSSIDs` and `backupNetworkSSIDs` properties. For example:
```applescript
-- Example: Customize the list of preferred networks
property mainNetworkSSIDs : {"MyHomeNetwork", "OfficeWiFi", "CafeFreeWiFi"}-- Example: Set a backup network
property backupNetworkSSIDs : {"BackupNetwork"}
```
Run the script by executing the main() function.
```bash
osascript ConnectMeHub.scpt
```## Running Periodically with Crontab
You can configure ConnectMeHub to run periodically using the crontab. Here's an example of how to set it up:
1. Open Terminal on your macOS.
2. Open your crontab configuration by running:
```bash
crontab -e
```
3. Add the following line to run ConnectMeHub every minute:
```bash
* * * * * osascript path/to/ConnectMeHub.scpt
```This schedule runs ConnectMeHub every minute. However, you can customize the cron schedule to match your specific needs. The format for the cron schedule is as follows:
- The five asterisks (*) represent the minute, hour, day of the month, month, and day of the week fields, respectively.
- You can adjust the values in these fields to determine when ConnectMeHub runs.
- Refer to the [Crontab documentation](https://manpages.debian.org/stretch/cron/crontab.5.en.html) for more information on customizing your cron schedule.After customizing your schedule, save and exit the crontab configuration to apply the changes.
ConnectMeHub will now run according to your specified schedule, automatically managing your Wi-Fi connections at the desired intervals.
## Usage
ConnectMeHub simplifies the process of connecting to preferred Wi-Fi networks on macOS. It automatically detects the current network and switches to a specified network if available. If no suitable network is found, it displays a notification.## Contributing
Contributions to ConnectMeHub are welcome! If you have suggestions for improvements, new features, or would like to add support for other operating systems (such as Windows, Ubuntu, etc.), please open an issue or submit a pull request.## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.