Skip to main content

Mac Internet Sharing

A Python CLI tool to manage internet sharing on macOS.

Installation

pipx install mac-internet-sharing

Usage

The tool provides several commands to manage internet sharing. Here are some common use cases:

Starting Internet Sharing

There are two methods to start internet sharing:

1. Manual Configuration (configure)

This method requires you to manually specify the primary network interface and one or more device UDIDs. It sets up internet sharing based on your initial configuration. Note that newly connected USB devices after the initial setup are not added automatically—you will need to re-run the command to update the configuration.

sudo misha configure -n <primary_interface> -u <udid> -u <udid> -s
  • <primary_interface>: Replace with your network interface name (e.g., "Ethernet Adapter (en6)").
  • -u <udid>: Optionally specify one or more device UDIDs.
  • -s: Automatically start sharing after configuration.

2. Automatic USB Detection (plug-n-share)

This method continuously monitors for new USB devices and automatically updates the sharing configuration when a new device is detected. It is ideal if you frequently plug in different devices and want your sharing setup to update in real time. You can also run it as a daemon.

sudo misha plug-n-share -n <primary_interface> -t <timeout>
  • <primary_interface> (optional): Specify the network service name. If not provided, the default network service is used.
  • -t <timeout>: Set the polling interval in seconds (default is 5 seconds).

Note: The manual configuration (configure) does not automatically detect newly connected devices after the initial setup. Use plug-n-share if you require automatic updates.

Toggling Internet Sharing

Manage the sharing state with the following commands:

  • Turn Sharing Off:

    sudo misha off
    
  • Turn Sharing On:

    sudo misha on
    

Contributing

Contributions, bug reports, and feature requests are welcome! Feel free to open issues or submit pull requests.

Metadata

Release files for mac-internet-sharing 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mac-internet-sharing 0.1.4
File Size Uploaded
mac_internet_sharing-0.1.4.tar.gz 12.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mac-internet-sharing 0.1.4
File Interpreter ABI Platform
mac_internet_sharing-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 24.0 kB

Release files / mac_internet_sharing-0.1.4.tar.gz

Download URL mac_internet_sharing-0.1.4.tar.gz
Size 12.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5cf933d3d648880ee90da5eb37e2b0c79b06e312aedb455701ceddc54cff3a28
BLAKE2b-256 checksum
How to use checksums
84c467bff91b5f5ddadd628327322afe4ca7305fab7a137095c97f59fce4eb03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / mac_internet_sharing-0.1.4-py3-none-any.whl

Download URL mac_internet_sharing-0.1.4-py3-none-any.whl
Size 11.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b01d635b45a4758f64bb36a3b653c713f55b26ad677212a48d0722362cf5cfde
BLAKE2b-256 checksum
How to use checksums
b7b013d8958a1267ae894e9e55dcc83e7ffab7b051cbc87f120773adf5b915be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page