Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
79adc7b
chore: update dependencies, improve setup configuration, and add Wind…
umerfarok Mar 3, 2025
96f0b0a
chore: update requirements to include pystray and Pillow for icon sup…
umerfarok Mar 3, 2025
1b3a03d
docs: enhance README and DEVELOPER documentation with new features, U…
umerfarok Mar 3, 2025
4b72d25
docs: add issue templates for feature requests and bug reports; creat…
umerfarok Mar 3, 2025
fec9964
ci: add test dependencies and improve test configuration; implement s…
umerfarok Mar 3, 2025
bb685ae
ci: update GitHub Actions workflow for documentation build and deploy…
umerfarok Mar 3, 2025
66a9603
ci: enhance CI workflows for macOS icon generation and add frontend C…
umerfarok Mar 4, 2025
c3d59e3
ci: remove linting step from frontend CI workflow to streamline the p…
umerfarok Mar 4, 2025
4f31a6c
ci: remove test step from frontend CI workflow to optimize deployment…
umerfarok Mar 4, 2025
da49bf6
ci: update platform-specific dependency for pynsis in requirements-bu…
umerfarok Mar 4, 2025
29bd127
ci: update pynsist dependency version for Windows platform in require…
umerfarok Mar 4, 2025
c734c3f
ci: enhance CI workflows for icon generation on Windows and macOS; up…
umerfarok Mar 4, 2025
77fb2e0
ci: remove frontend CI workflow to streamline deployment process
umerfarok Mar 4, 2025
a5b8ff6
refactor: clean up code by removing unused dependency checks and fixi…
umerfarok Mar 4, 2025
2e3c665
ci: remove iconset directory creation step from CI workflow
umerfarok Mar 4, 2025
b8931dc
refactor: improve error handling and code structure in build process
umerfarok Mar 4, 2025
2dd5780
feat: add Flask and Flask-CORS to build requirements
umerfarok Mar 4, 2025
4c51664
refactor: enhance CI workflow and build process with improved depende…
umerfarok Mar 4, 2025
3e74038
refactor: update dependency versions in requirements files to align w…
umerfarok Mar 4, 2025
5348eb9
refactor: enhance CI workflow and build process with improved artifac…
umerfarok Mar 15, 2025
a54f244
feat: add PyInstaller availability check and automatic installation o…
umerfarok Mar 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @umerfarok will be requested for review when someone
# opens a pull request.
* @umerfarok

# Network monitoring core
/networkmonitor/monitor.py @umerfarok
/networkmonitor/npcap_helper.py @umerfarok

# Web interface
/networkmonitor/web/ @umerfarok

# Build and deployment
/.github/workflows/ @umerfarok
/build.py @umerfarok
/installer.nsi @umerfarok
42 changes: 42 additions & 0 deletions .github/CODEOWNERS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Code Owners Documentation

This document explains the code ownership structure of the NetworkMonitor project.

## Overview

The CODEOWNERS file is used to automatically request reviews from the appropriate team members when a pull request is opened.

## Current Ownership Structure

### Core Components
- **Network Monitoring Core** (@umerfarok)
- `/networkmonitor/monitor.py`
- `/networkmonitor/npcap_helper.py`

### Web Interface
- **Frontend Components** (@umerfarok)
- `/networkmonitor/web/`

### Build & Deployment
- **Build System** (@umerfarok)
- `/build.py`
- `/installer.nsi`
- `/.github/workflows/`

## Review Process

1. When a pull request is opened, GitHub automatically requests reviews from the appropriate code owners.
2. At least one approval from a code owner is required to merge changes.
3. Code owners should review changes within their area of responsibility within 3 business days.

## Becoming a Code Owner

To become a code owner:
1. Demonstrate expertise in the relevant area through contributions
2. Request ownership by opening an issue
3. Get approval from existing code owners

## Contact

For questions about code ownership, contact:
- Umer Farooq (@umerfarok)
112 changes: 112 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# Contributing to NetworkMonitor

Thank you for your interest in contributing to NetworkMonitor! We welcome contributions from everyone.

## Getting Started

1. Fork the repository
2. Clone your fork:
```bash
git clone https://github.com/your-username/networkmonitor.git
```
3. Create a virtual environment and install dependencies:
```bash
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
pip install -r requirements.txt
pip install -r requirements-build.txt
```

## Development Process

1. Create a branch for your changes:
```bash
git checkout -b feature/your-feature-name
```

2. Make your changes, following our coding standards:
- Follow PEP 8 style guide
- Write descriptive commit messages
- Include tests for new features
- Update documentation as needed

3. Test your changes:
```bash
python -m pytest tests/
```

4. Push your changes and create a pull request:
```bash
git push origin feature/your-feature-name
```

## Pull Request Guidelines

1. Fill out the PR template completely
2. Include tests for new features
3. Update documentation if needed
4. Ensure CI passes
5. Request review from appropriate code owners

## Code Style

- Follow PEP 8 conventions
- Use type hints where possible
- Document public functions and classes
- Keep functions focused and concise
- Write descriptive variable names

## Commit Messages

Format:
```
type(scope): description

[optional body]
[optional footer]
```

Types:
- feat: New feature
- fix: Bug fix
- docs: Documentation only
- style: Code style changes
- refactor: Code changes that neither fix bugs nor add features
- test: Adding or modifying tests
- chore: Maintenance tasks

Example:
```
feat(monitor): add packet filtering by protocol

Added support for filtering network packets by protocol type.
Implements #123
```

## Documentation

- Update README.md for user-facing changes
- Update DEVELOPER.md for development changes
- Add comments for complex code sections
- Include docstrings for public APIs

## Testing

- Write unit tests for new features
- Update existing tests when modifying features
- Include integration tests where appropriate
- Test on all supported platforms if possible

## Release Process

1. Version bumps are handled automatically via GitHub Actions
2. Releases are created from the main branch
3. Changelog is generated automatically
4. Builds are created for all platforms

## Getting Help

- Check existing documentation
- Ask in GitHub Discussions
- Contact maintainers:
- Umer Farooq (@umerfarok)
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
name: Bug report
about: Create a report to help us improve NetworkMonitor
title: '[BUG] '
labels: bug
assignees: ''
---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Environment (please complete the following information):**
- OS: [e.g. Windows 10]
- Python Version: [e.g. 3.9.0]
- NetworkMonitor Version: [e.g. 0.1.0]
- Npcap Version: [e.g. 1.60]

**Log Files**
Please attach the following logs if available:
- NetworkMonitor log (`%LOCALAPPDATA%\NetworkMonitor\logs\networkmonitor.log`)
- Debug log (`networkmonitor_debug.log`)

**Additional context**
Add any other context about the problem here.
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Feature request
about: Suggest an idea for NetworkMonitor
title: '[FEATURE] '
labels: enhancement
assignees: ''
---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
70 changes: 70 additions & 0 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Security Policy

## Supported Versions

We currently support the following versions of NetworkMonitor with security updates:

| Version | Supported |
| ------- | ------------------ |
| 0.1.x | :white_check_mark: |

## Reporting a Vulnerability

We take security vulnerabilities seriously. Please follow these steps to report a security issue:

1. **DO NOT** open a public GitHub issue if the bug is a security vulnerability.
2. Instead, please send an email to umerfarooq.dev@gmail.com with:
- Subject line: "Security Vulnerability: NetworkMonitor"
- Description of the vulnerability
- Steps to reproduce (if possible)
- Potential impact
- Any suggested fixes (if you have them)

### What to expect:
- Acknowledgment within 48 hours
- Regular updates on the progress
- Credit in the security advisory when the issue is fixed

## Security Best Practices

When using NetworkMonitor:

1. Always run with minimum required privileges
2. Keep the software updated to the latest version
3. Monitor logs for suspicious activity
4. Follow network security best practices
5. Report any security concerns immediately

## Disclosure Timeline

Our standard disclosure timeline:

1. **0 hours**: Initial report received
2. **48 hours**: Initial acknowledgment
3. **7 days**: Initial assessment completed
4. **30 days**: Fix developed and tested
5. **45 days**: Fix released
6. **60 days**: Public disclosure

This timeline may be adjusted based on severity and complexity.

## Security Updates

Security updates are distributed through:
- GitHub Releases
- Security Advisories
- Email notifications (for registered users)

## Code Security

We maintain security through:

1. Regular dependency updates
2. Automated security scanning
3. Code review requirements
4. Security-focused testing
5. Regular security audits

## Acknowledgments

We appreciate the security research community's efforts in responsibly disclosing vulnerabilities. Security researchers who have contributed will be credited in our Hall of Fame (unless they wish to remain anonymous).
28 changes: 28 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
## Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.

Fixes # (issue)

## Type of change
Please delete options that are not relevant.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update

## How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.

- [ ] Test A
- [ ] Test B

## Checklist:
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
Loading
Loading