Thanks to visit codestin.com
Credit goes to github.com

Skip to content

nuin/selfspy3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Selfspy - Comprehensive Activity Monitoring Suite

Modern, cross-platform computer activity monitoring with multiple implementation options

License: MIT Python Support Rust Support Elixir Support

Selfspy is a comprehensive activity monitoring suite that tracks keyboard input, mouse activity, window changes, and terminal commands across multiple platforms. Choose from Python, Rust, or Phoenix implementations based on your needs.

πŸš€ Quick Start

Choose Your Implementation

Implementation Best For Key Features
Python General use, scripting, research Original implementation, mature ecosystem
Rust Performance, system integration Native GUI, low resource usage
Elixir/Phoenix Web dashboard, real-time analytics LiveView interface, multi-user
Objective-C/macOS macOS desktop integration Native widgets, system notifications
Nim Compiled performance, Python-like syntax Memory-safe, fast compilation
Crystal Ruby-like syntax, native performance Type-safe, excellent concurrency
Zig Maximum performance, systems programming Memory-safe C replacement, minimal overhead

One-Line Install

# Python (recommended for most users)
curl -sSL https://install.selfspy.dev/python | bash

# Or clone and choose your implementation
git clone https://github.com/selfspy/selfspy3.git
cd selfspy3

# Quick Python setup
cd python && python3 install.py

Basic Usage

# Start monitoring (from Python directory)
cd python && selfspy start

# View enhanced statistics
selfviz enhanced

# Terminal analytics
selfterminal commands --days 7

# Check permissions (macOS)
selfspy check-permissions

πŸ“ Project Structure

selfspy/
β”œβ”€β”€ python/                       # 🐍 Python Implementation
β”‚   β”œβ”€β”€ src/selfspy/              # Main Python package
β”‚   β”œβ”€β”€ tests/                    # Python tests
β”‚   β”œβ”€β”€ desktop-app/              # macOS desktop widgets
β”‚   └── README.md                 # Python-specific guide
β”‚
β”œβ”€β”€ rust/                         # πŸ¦€ Rust Implementation
β”‚   β”œβ”€β”€ selfspy-core/             # Core library
β”‚   β”œβ”€β”€ selfspy-gui/              # GUI application
β”‚   β”œβ”€β”€ selfspy-cli/              # Command line tools
β”‚   └── README.md                 # Rust-specific guide
β”‚
β”œβ”€β”€ elixir/                       # πŸ”₯ Elixir/Phoenix Implementation
β”‚   β”œβ”€β”€ lib/                      # Elixir source code
β”‚   β”œβ”€β”€ assets/                   # Frontend assets
β”‚   β”œβ”€β”€ priv/                     # Migrations and static files
β”‚   └── README.md                 # Elixir-specific guide
β”‚
β”œβ”€β”€ objective-c/                  # 🍎 Objective-C/macOS Implementation
β”‚   β”œβ”€β”€ SelfspyWidgets.xcodeproj/ # Xcode project
β”‚   β”œβ”€β”€ SelfspyWidgets/           # Source code
β”‚   β”œβ”€β”€ Scripts/                  # Build scripts
β”‚   └── README.md                 # Objective-C guide
β”‚
β”œβ”€β”€ nim/                          # ⚑ Nim Implementation
β”‚   β”œβ”€β”€ src/                      # Nim source code
β”‚   β”œβ”€β”€ selfspy.nimble            # Package configuration
β”‚   └── README.md                 # Nim-specific guide
β”‚
β”œβ”€β”€ crystal/                      # πŸ’Ž Crystal Implementation
β”‚   β”œβ”€β”€ src/                      # Crystal source code
β”‚   β”œβ”€β”€ shard.yml                 # Shard configuration
β”‚   └── README.md                 # Crystal-specific guide
β”‚
β”œβ”€β”€ zig/                          # ⚑ Zig Implementation
β”‚   β”œβ”€β”€ src/                      # Zig source code
β”‚   β”œβ”€β”€ build.zig                 # Build configuration
β”‚   └── README.md                 # Zig-specific guide
β”‚
β”œβ”€β”€ docs/                         # πŸ“š Documentation
β”‚   β”œβ”€β”€ installation/             # Installation guides
β”‚   β”œβ”€β”€ user-guides/              # User documentation
β”‚   └── development/              # Developer guides
β”‚
β”œβ”€β”€ shared/                       # πŸ”§ Shared Resources
β”‚   β”œβ”€β”€ scripts/                  # Development scripts
β”‚   β”œβ”€β”€ schemas/                  # Database schemas
β”‚   └── configs/                  # Configuration templates
β”‚
└── tools/                        # πŸ› οΈ Development Tools
    β”œβ”€β”€ docker/                   # Container configurations
    └── ci/                       # CI/CD configurations

🎯 Features

Core Monitoring

  • Keystroke Tracking - Encrypted text capture with activity analysis
  • Mouse Activity - Click events, movement patterns, and usage statistics
  • Window Management - Active application tracking and window metadata
  • Terminal Analytics - Command history with git integration and project detection

Security & Privacy

  • Encryption by Default - All sensitive data encrypted at rest
  • Local Storage Only - No cloud transmission, complete data ownership
  • Configurable Exclusions - Exclude sensitive applications and windows
  • Permission Management - Granular control over what gets monitored

Multiple Interfaces

  • Command Line - Full-featured CLI for all operations
  • Web Dashboard - Real-time Phoenix LiveView interface
  • Native GUI - Cross-platform Rust application with charts
  • Desktop Widgets - macOS notification center integration

πŸš€ Development

Quick Setup

# Setup development environment for all implementations
./shared/scripts/setup-dev-env-new.sh

# Use the development helper
./dev python uv run selfspy start       # Python
./dev rust cargo run --bin selfspy-gui  # Rust GUI  
./dev elixir mix phx.server             # Phoenix web
./dev objective-c make all              # macOS widgets
./dev nim nimble run selfspy start      # Nim compiled
./dev crystal shards run selfspy start  # Crystal compiled
./dev zig zig build run -- start        # Zig maximum performance
./dev test                              # All tests
./dev build                             # Build everything

Development Helper

The ./dev script provides easy access to all implementations:

./dev [language] [command]

# Examples:
./dev python uv run selfspy start
./dev rust cargo build --release
./dev elixir mix phx.server
./dev objective-c make all
./dev nim nimble build
./dev crystal shards build --release
./dev zig zig build -Doptimize=ReleaseFast
./dev test                    # Run all tests
./dev build                   # Build all implementations

πŸ“– Documentation

🀝 Contributing

  1. Choose the implementation you want to work on
  2. Read the language-specific README in that directory
  3. Follow the development setup instructions
  4. See Contributing Guide for details

πŸ“„ License

MIT License - see LICENSE for details.

πŸ”— Links


Built with ❀️ by the Selfspy community

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •