Skip to content

Commit 36eab6b

Browse files
committed
feat: Initial release - CyberGuardian-X complete threat intelligence suite
0 parents  commit 36eab6b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+4016
-0
lines changed

.gitignore

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# .gitignore
2+
3+
# API Keys and Configuration
4+
config.ini
5+
keys.example.ini
6+
*.key
7+
*.env
8+
9+
# Python
10+
__pycache__/
11+
*.py[cod]
12+
*$py.class
13+
*.so
14+
.Python
15+
build/
16+
develop-eggs/
17+
dist/
18+
downloads/
19+
eggs/
20+
.eggs/
21+
lib/
22+
lib64/
23+
parts/
24+
sdist/
25+
var/
26+
wheels/
27+
*.egg-info/
28+
.installed.cfg
29+
*.egg
30+
31+
# PyInstaller
32+
dist/
33+
build/
34+
35+
# Virtual Environment
36+
.venv/
37+
venv/
38+
ENV/
39+
env/
40+
41+
# IDE
42+
.vscode/
43+
.idea/
44+
*.swp
45+
*.swo
46+
47+
# Logs
48+
logs/
49+
*.log
50+
51+
# Database
52+
*.db
53+
*.sqlite
54+
*.sqlite3
55+
56+
# Quarantine
57+
quarantine/
58+
59+
# OS
60+
.DS_Store
61+
Thumbs.db
62+
63+
# Temporary files
64+
*.tmp
65+
*.temp

CONTRIBUTING.md

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
# Contributing to CyberGuardian-X
2+
3+
We love your input! We want to make contributing to CyberGuardian-X as easy and transparent as possible.
4+
5+
## Development Setup
6+
7+
1. Fork the repo and create your branch from `main`
8+
2. Set up the development environment:
9+
```bash
10+
git clone https://github.com/your-username/CyberGuardian-X.git
11+
cd CyberGuardian-X
12+
python -m venv .venv
13+
.venv\Scripts\activate # Windows
14+
pip install -r requirements.txt
15+
16+
Pull Request Process
17+
Ensure any install or build dependencies are removed before the end of the layer
18+
19+
Update the README.md with details of changes to the interface
20+
21+
Increase the version numbers in any examples and the README.md
22+
23+
Your PR will be merged once you have the sign-off of other developers
24+
25+
Code Style
26+
Follow PEP 8 for Python code
27+
28+
Use descriptive variable names
29+
30+
Add comments for complex logic
31+
32+
Include type hints where possible
33+
34+
Security
35+
Never commit API keys or sensitive data
36+
37+
Use keys.example.ini for configuration templates
38+
39+
Report security vulnerabilities privately
40+
41+
text
42+
43+
### **6. Create GitHub Release Preparation Script**
44+
```python
45+
# prepare_release.py
46+
import os
47+
import shutil
48+
import datetime
49+
50+
def prepare_release():
51+
"""Prepare files for GitHub release"""
52+
print("🚀 Preparing CyberGuardian-X Release...")
53+
54+
# Create release directory
55+
release_dir = "release"
56+
if os.path.exists(release_dir):
57+
shutil.rmtree(release_dir)
58+
os.makedirs(release_dir)
59+
60+
# Copy executable
61+
exe_source = "dist/CyberGuardian-X.exe"
62+
if os.path.exists(exe_source):
63+
shutil.copy2(exe_source, release_dir)
64+
print(f"✅ Copied executable: {exe_source}")
65+
else:
66+
print("❌ Executable not found. Build it first with: pyinstaller")
67+
68+
# Copy key files
69+
files_to_copy = [
70+
"README.md",
71+
"LICENSE",
72+
"requirements.txt",
73+
"keys.example.ini",
74+
"config.ini.example" # We'll create this
75+
]
76+
77+
for file in files_to_copy:
78+
if os.path.exists(file):
79+
shutil.copy2(file, release_dir)
80+
print(f"✅ Copied: {file}")
81+
82+
# Create example config without real keys
83+
with open("release/config.ini.example", "w") as f:
84+
f.write("""[API_KEYS]
85+
VIRUSTOTAL_API_KEY = your_virustotal_key_here
86+
OTX_API_KEY = your_otx_key_here
87+
ABUSEIPDB_API_KEY = your_abuseipdb_key_here
88+
SHODAN_API_KEY = your_shodan_key_here
89+
URLSCAN_API_KEY = your_urlscan_key_here
90+
HYBRIDANALYSIS_API_KEY = your_hybrid_analysis_key_here
91+
METADEFENDER_API_KEY = your_metadefender_key_here
92+
93+
[APP]
94+
CACHE_FILE = data/cache.json
95+
DB_FILE = data/cgx.db
96+
LOG_DIR = logs
97+
QUARANTINE_DIR = quarantine
98+
TIMEOUT = 30
99+
MAX_FILE_SIZE = 100
100+
USE_PROXY = false
101+
102+
[MONITORING]
103+
ENABLED = false
104+
WATCH_DIRS = Downloads,Desktop
105+
AUTO_QUARANTINE = true
106+
SCORE_THRESHOLD = 70
107+
""")
108+
109+
print(f"\n🎉 Release files prepared in: {release_dir}/")
110+
print("📦 Ready to upload to GitHub Releases!")
111+
112+
if __name__ == "__main__":
113+
prepare_release()

CyberGuardian-X.spec

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# -*- mode: python ; coding: utf-8 -*-
2+
3+
4+
a = Analysis(
5+
['app.py'],
6+
pathex=[],
7+
binaries=[],
8+
datas=[],
9+
hiddenimports=[],
10+
hookspath=[],
11+
hooksconfig={},
12+
runtime_hooks=[],
13+
excludes=[],
14+
noarchive=False,
15+
optimize=0,
16+
)
17+
pyz = PYZ(a.pure)
18+
19+
exe = EXE(
20+
pyz,
21+
a.scripts,
22+
a.binaries,
23+
a.datas,
24+
[],
25+
name='CyberGuardian-X',
26+
debug=False,
27+
bootloader_ignore_signals=False,
28+
strip=False,
29+
upx=True,
30+
upx_exclude=[],
31+
runtime_tmpdir=None,
32+
console=False,
33+
disable_windowed_traceback=False,
34+
argv_emulation=False,
35+
target_arch=None,
36+
codesign_identity=None,
37+
entitlements_file=None,
38+
)

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 APMarzuki
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)