# NETVNS

\
*A powerful and efficient tool for managing network namespaces and DNS settings.*

## Features

✅ **DNS Configuration**: Modify and apply custom DNS settings for specific namespaces.\
✅ **Real-Time Monitoring**: Get live insights on network activity and namespace usage.\
✅ **User-Friendly CLI**: Intuitive command-line interface with interactive prompts.\
✅ **Cross-Platform Support**: Works on Linux (with namespace support), Windows (limited features), and macOS.

---

## Installation

### Prerequisites

- Python 3.8+
- `pip` installed
- Linux (for full namespace support) or macOS/Windows (partial support)

### Install via pip

```sh
pip install netvns
```

### Install from source

```sh
git clone https://github.com/mozvfvri/netvns.git
cd netvns
pip install -e .
```

---

## Usage

### Display Help

```sh
netvns --help
```

### Set Custom DNS

```sh
sudo netvns set-dns mynamespace 8.8.8.8, 8.8.4.4
```

---

## Troubleshooting

**Issue:** `sudo: netvns: command not found`\
**Solution:** Ensure `netvns` is installed correctly and included in your `$PATH`. Try reinstalling:

```sh
pip uninstall netvns
pip install netvns --user
```

**Issue:** `This program must be run as sudo`
**Solution:** Run the command with `sudo`, e.g.:

```sh
sudo netvns
```

---

## Contributing

We welcome contributions! Feel free to submit pull requests, open issues, or suggest improvements.

1. Fork the repository
2. Create a feature branch (`git checkout -b feature-branch`)
3. Commit your changes (`git commit -m 'Add new feature'`)
4. Push to your branch (`git push origin feature-branch`)
5. Open a pull request

---

## License

This project is licensed under the MIT License. See the full text [here](https://opensource.org/licenses/MIT).

---

## Contact

🐙 **GitHub**: [Mozvfvri](https://github.com/mozvfvri)

