Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
95 changes: 95 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Spectrum Protocol 2026 - Environment Configuration Example
# Copy this file to .env and fill in your actual values
# For environment-specific configurations, see environments/<env>/.env.template

# ============================================
# MCP Gateway Configuration
# ============================================
NODE_ENV=production
MCP_PORT=3000
SOCKET_MCP_PORT=3001
LOG_LEVEL=info

# ============================================
# Security Configuration
# ============================================
MAX_SCAN_TIMEOUT=300000
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_WINDOW=60000
ENABLE_SOCKET_MCP=true
ALLOWED_HOSTS=localhost,127.0.0.1,mcp-gateway,geminiswiss1909.online,api.geminiswiss1909.online

# ============================================
# Tool Configuration
# ============================================
NMAP_MAX_HOSTS=256
NMAP_MAX_PORTS=1000
WHOIS_CACHE_TTL=3600
DNS_RESOLVER=8.8.8.8

# ============================================
# AI Model API Keys
# ============================================
# Get your Gemini API key from: https://makersuite.google.com/app/apikey
GEMINI_API_KEY=your_gemini_api_key_here

# Get your Anthropic Claude API key from: https://console.anthropic.com/
ANTHROPIC_API_KEY=your_anthropic_api_key_here
CLAUDE_API_KEY=your_claude_api_key_here

# Get your OpenAI API key from: https://platform.openai.com/api-keys
OPENAI_API_KEY=your_openai_api_key_here

# Get your GitHub token from: https://github.com/settings/tokens
GITHUB_TOKEN=your_github_personal_access_token_here

# ============================================
# ChromaDB Configuration
# ============================================
CHROMADB_HOST=host.docker.internal
CHROMADB_PORT=8001
CHROMADB_COLLECTION=network_archaeology

# ============================================
# Cloudflare Tunnel Configuration
# ============================================
# Get your tunnel token from: https://one.dash.cloudflare.com/
CLOUDFLARE_TUNNEL_ID=your_tunnel_id_here
CLOUDFLARE_TOKEN=your_cloudflare_tunnel_token_here

# ============================================
# Feedback System Configuration
# ============================================
# Discord webhook for feedback/alerts
DISCORD_WEBHOOK_URL=your_discord_webhook_url_here

# Slack webhook (optional)
SLACK_WEBHOOK_URL=your_slack_webhook_url_here

# Email configuration (optional)
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your_email@gmail.com
SMTP_PASSWORD=your_email_app_password_here
EMAIL_TO=recipient@example.com

# Custom webhook (optional)
CUSTOM_WEBHOOK_URL=your_custom_webhook_url_here

# ============================================
# Monitoring Configuration
# ============================================
# Grafana API key for MCP integration
GRAFANA_API_KEY=your_grafana_api_key_here

# Cloudflare credentials for tunnel exporter
CLOUDFLARE_ACCOUNT_ID=your_cloudflare_account_id
CLOUDFLARE_API_TOKEN=your_cloudflare_api_token

# ============================================
# Optional: Environment-Specific Configuration
# ============================================
# Uncomment and set if using specific environment
# ENVIRONMENT=swissai # or 'anthropic'
# WORKSPACE_ID=your_workspace_id
# DEPLOYMENT_REGION=eu-central # or 'us-east'
47 changes: 47 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Environment variables
.env
.env.*
!.env.example
!.env.template
.env.backups/

# Logs
logs/*
!logs/.gitkeep
*.log
npm-debug.log*

# Data directory
data/*
!data/.gitkeep

# Config secrets
config/*.key
config/*.pem
config/.secrets

# Node modules
node_modules/

# ChromaDB memory (external volume)
chromadb-memory/

# Docker
.docker/
docker-compose.override.yml
!environments/**/docker-compose.override.yml

# OS
.DS_Store
Thumbs.db

# IDE
.vscode/
.idea/
*.swp
*.swo

# Rclone (Google Drive sync)
rclone.conf
.rclone.conf
service-account-*.json
66 changes: 66 additions & 0 deletions .rclone.conf.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Rclone Configuration Template for Spectrum Protocol 2026
# Copy this to ~/.config/rclone/rclone.conf and fill in your credentials

# Google Drive remote for agentEther project
[agentether-gdrive]
type = drive
client_id = your_google_client_id_here
client_secret = your_google_client_secret_here
scope = drive
token = {"access_token":"YOUR_ACCESS_TOKEN","token_type":"Bearer","refresh_token":"YOUR_REFRESH_TOKEN","expiry":"2024-12-31T23:59:59.999999999Z"}
team_drive =

# Alternative: Use service account for automation
[agentether-gdrive-service]
type = drive
scope = drive
service_account_file = /path/to/service-account-key.json
team_drive =

# ============================================
# Configuration Options
# ============================================

# For better performance, you can add these options:
# uploads = true
# acknowledge_abuse = false
# keep_revision_forever = false
# size_only = false
# skip_gdocs = true
# skip_checksum_gphotos = false
# shared_with_me = false
# trashed_only = false
# starred_only = false
# formats =

# ============================================
# Setup Instructions
# ============================================

# 1. Install rclone (if not already installed):
# curl https://rclone.org/install.sh | sudo bash

# 2. Configure Google Drive remote:
# rclone config
# - Choose: n (New remote)
# - Name: agentether-gdrive
# - Type: drive (Google Drive)
# - Follow OAuth flow

# 3. Test connection:
# rclone lsd agentether-gdrive:

# 4. Create project folder on Google Drive:
# rclone mkdir agentether-gdrive:agentEther

# 5. Test sync:
# ./sync-gdrive.sh backup

# ============================================
# Security Notes
# ============================================

# - NEVER commit ~/.config/rclone/rclone.conf to git
# - Store service account keys securely
# - Use encryption for sensitive data: rclone crypt
# - Consider using environment variables for credentials
130 changes: 130 additions & 0 deletions .rcloneignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Rclone Ignore File for Spectrum Protocol 2026
# Files and directories to exclude from Google Drive sync

# ============================================
# Git and Version Control
# ============================================
.git/
.gitignore
.gitattributes

# ============================================
# Secrets and Credentials (CRITICAL!)
# ============================================
.env
.env.*
!.env.example
!.env.template
**/.env
**/.env.*
.env.backups/
*.key
*.pem
*.p12
*.pfx
config/*.key
config/*.pem
config/.secrets
service-account-*.json
rclone.conf

# ============================================
# Docker Runtime
# ============================================
.docker/
docker-compose.override.yml
!environments/**/docker-compose.override.yml

# ============================================
# Logs (exclude large log files)
# ============================================
logs/*.log
logs/**/*.log
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# ============================================
# Data and Caches
# ============================================
node_modules/
.npm/
.cache/
.tmp/
temp/
tmp/

# ============================================
# OS Files
# ============================================
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
desktop.ini

# ============================================
# IDE and Editors
# ============================================
.vscode/
.idea/
*.swp
*.swo
*.swn
*~
.project
.classpath
.settings/

# ============================================
# Build Artifacts
# ============================================
dist/
build/
*.compiled
*.o
*.so
*.exe
*.dll

# ============================================
# Large Files and Media (optional)
# ============================================
# Uncomment if you want to exclude large files
# *.mp4
# *.avi
# *.mov
# *.zip
# *.tar.gz
# *.iso

# ============================================
# Exclude ChromaDB data (too large, backup separately)
# ============================================
chromadb-memory/
*.db
*.sqlite
*.sqlite3

# ============================================
# Temporary Docker volumes
# ============================================
data/cache/
data/temp/
data/tmp/

# ============================================
# Coordination (sync state, exclude backups/locks)
# ============================================
coordination/*.bak
coordination/*.backup
coordination/*.tmp
coordination/locks/*.lock
# Include: state.json, tasks.json, messages/*.json
# Exclude: temporary and runtime files

# Note: .gitkeep files ARE synced to preserve directory structure
Loading
Loading