switch to another network, change Wi-Fi/DNS/gateway settings, or launch the Python or restoration of the router's internet service. On ChromeOS, Wi-Fi recovery and
DNSS Network Tools
This Python package provides command-line tools for sharing an existing Linux internet connection over Wi-Fi and checking or changing local network settings. It does not create an internet connection when no upstream connection exists.
Install
After the package has been published to PyPI, install it in a virtual environment:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install dnss-network-tools
Share Ethernet With a Chromebook
You need a Linux computer with this package installed, Ethernet internet that works, and a Wi-Fi adapter that supports hotspot mode. Run these steps on the Linux computer itself, not in a Codespaces terminal.
-
Plug the Ethernet cable into the Linux computer and check that it can open a website.
-
Start the Wi-Fi hotspot:
sudo "$(command -v dnss-hotspot)" start --ssid "Chromebook Internet"
-
Enter your Linux password if asked. NetworkManager then asks you to choose a password for the new Wi-Fi network. Remember it.
-
On the Chromebook, open the network menu, turn on Wi-Fi, and select Chromebook Internet.
-
Enter the Wi-Fi password and open a website to check the connection.
Stop the hotspot from the Linux computer when finished:
sudo "$(command -v dnss-hotspot)" stop
If the helper cannot find a suitable Wi-Fi adapter, the adapter may not support hotspot mode. If Ethernet does not provide internet to the Linux computer, the hotspot cannot provide internet to the Chromebook.
Other Command
The package also installs network-resilience for network status, DNS, and
gateway diagnostics. For example:
network-resilience status
The PWA files in this repository are a separate offline status screen; they are not part of the PyPI package and cannot create a hotspot.
Build and Publish
From this project directory, build and check the package:
python3 -m pip install --upgrade build twine
python3 -m build
python3 -m twine check dist/*
Create a PyPI API token in your PyPI account. Then upload without putting the token in your shell command or saving it in the project:
export TWINE_USERNAME=__token__
read -rsp "PyPI token: " TWINE_PASSWORD
printf '\n'
python3 -m twine upload dist/*
unset TWINE_USERNAME TWINE_PASSWORD
The name dnss-network-tools was available when checked, but PyPI names can be
claimed at any time. Uploading requires your own token; do not share it here or
commit it to the repository.
- A Linux computer with this project available on it
- An Ethernet cable and an internet connection that works on the Linux computer
- A Wi-Fi adapter in the Linux computer that supports hotspot mode
The Linux computer and Chromebook are separate devices. Run the commands below on the Linux computer itself, not in a Codespaces terminal.
Start the Hotspot
-
Plug the Ethernet cable into the Linux computer.
-
Check that the Linux computer can open a website over Ethernet.
-
Open a terminal in the project folder and run:
sudo python3 linux_hotspot.py start --ssid "Chromebook Internet"
-
Enter your Linux password if asked. NetworkManager will then ask for a password for the new Wi-Fi network. Choose one and remember it.
-
On the Chromebook, open the network menu, turn on Wi-Fi, and select Chromebook Internet.
-
Enter the Wi-Fi password you chose. Open a website to check that the Chromebook has internet access.
Stop the Hotspot
When you are finished, run this on the Linux computer:
sudo python3 linux_hotspot.py stop
If It Does Not Work
- If the Linux computer cannot browse the internet over Ethernet, the hotspot cannot provide internet to the Chromebook.
- If the script reports that it cannot find a suitable Wi-Fi adapter, the adapter may not support hotspot mode. You may need another adapter.
- If you are using Codespaces, run the helper from the project on the physical Linux computer instead. Codespaces cannot control that computer's network hardware.
Metadata
Release files for dnss-network-tools 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dnss_network_tools-0.1.0.tar.gz | 8.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dnss_network_tools-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.9 kB
Release files / dnss_network_tools-0.1.0.tar.gz
| Download URL | dnss_network_tools-0.1.0.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
58ace6eb414a2394bbd192a937a02803ab2994ae9d4a13812b3ee16cf3a14066
|
|
BLAKE2b-256 checksum How to use checksums |
d42acdeb9695cc7bfe110cb078024bd14b49f1bf691ce5de12dc99bf6b41485f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.2
|
Release files / dnss_network_tools-0.1.0-py3-none-any.whl
| Download URL | dnss_network_tools-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0c50242672d652eeb6b6bc87456ea6fd92c91db7a55c3dcf35fd20a49c2ffd4c
|
|
BLAKE2b-256 checksum How to use checksums |
b7ab0f17822e0b42c133322e2a6fc9c823bed4687f9c4cdf35a10c6e40b6d9bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.2
|