Skip to content

calvinchai/NetCage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


NetCage: User-Level Network Access Controller

TODO:

  • Add a --verbose option
  • Track all child processes
  • Support IPv6
  • Support more network system calls
  • Support add rule in arguments
  • Support non-standard IPV6 address
  • Support Listening
  • Support domain names
  • Support port filter
  • Support wildcard

Version: 1.1.0
License: MIT


Description

NetCage is a user-level network access control tool designed to provide network access restrictions for processes, particularly in environments where you don't have root access or are in incompatible containers. Unlike traditional methods such as iptables or firewalls, NetCage offers an alternative approach through Ptrace to ensure your processes remain within defined network parameters.


Features

  • User-level Control: No root access required.
  • Container-friendly: Works seamlessly in a variety of container environments.
  • Lightweight: Minimal resource overhead.
  • Custom Rules: Define specific network access rules per process.

Build

git clone https://github.com/YourUsername/NetGuardian.git
cd NetGuardian
cargo build

Usage

  1. Basic Usage:

    netcage -p [PROFILE] [COMMAND]

For more detailed usage instructions, please refer to the User Guide.


Contributing

We welcome contributions! Please check out our CONTRIBUTING.md for guidelines.


Support & Feedback

For support or to provide feedback, please raise an issue on our GitHub repository.


License

NetCage is released under the MIT License.


Acknowledgments

Special thanks to the community and everyone who contributed to making this project possible.


Changelog

  • 1.1.0: Added support for IPv6 and tracking child processes.

  • 1.0.0: Initial release.

For a detailed changelog, refer to the CHANGELOG.md.