Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: wiresock/proxifyre
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.0.12
Choose a base ref
...
head repository: wiresock/proxifyre
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.1.1
Choose a head ref
  • 18 commits
  • 21 files changed
  • 4 contributors

Commits on Aug 15, 2025

  1. Configuration menu
    Copy the full SHA
    74ea528 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    82cee21 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2025

  1. * netlib: fix SOCKS5 proxy templates and sockaddr usage

    - Replace custom ip_address concept with net::ip_address in template
      declarations across TCP/UDP proxy and filter classes
    - Fix bind() calls to use sizeof(sockaddr_in) / sizeof(sockaddr_in6)
      instead of sizeof(sockaddr), preventing WSAEFAULT on IPv6 sockets
    - Update SOCKS5 CONNECT request to set ATYP = 1 (IPv4) or 4 (IPv6)
      according to RFC 1928
    - Add explicit enum underlying types (uint8_t) for action_t and
      direction_t
    - Improve SOCKS5 negotiation logging and error handling
    wiresock committed Aug 25, 2025
    Configuration menu
    Copy the full SHA
    b87a7f1 View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2025

  1. docs: add firewall troubleshooting tip to README (#83)

    docs: add firewall troubleshooting tip to README (#83)
    
    - Documented potential Windows Firewall interference with ProxiFyre
    - Added instructions to create an inbound firewall rule for ProxiFyre.exe
    - Improves onboarding for newcomers who may face connectivity issues
    - Closes #83
    wiresock authored Sep 1, 2025
    Configuration menu
    Copy the full SHA
    c14ad59 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2025

  1. Configuration menu
    Copy the full SHA
    ce25214 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    91ec6b1 View commit details
    Browse the repository at this point in the history
  3. Allowed loading the list from config.

    Revised NukaColaM's code (#46).
    PoneyClairDeLune committed Sep 2, 2025
    Configuration menu
    Copy the full SHA
    190d82f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dafcd7c View commit details
    Browse the repository at this point in the history
  5. feat: improve process exclusion logic and documentation consistency

    Fixes for PR #84 from https://github.com/PoneyClairDeLune
    
    - Fix case-insensitive matching in socks_local_router exclusion logic
      * Update exclusion checks to follow same path/name selection logic as pattern matching
      * Remove redundant to_upper() calls since network_process fields are already uppercase
      * Ensure consistent behavior between exclusion and association logic
    
    - Add comprehensive documentation for match_app_name function
      * Document two-stage matching process (exclusion then pattern matching)
      * Clarify intelligent field selection based on path separators
      * Add detailed parameter descriptions with examples
    
    - Update configuration documentation and examples
      * Add missing excludedList parameter documentation in ProxiFyreSettings constructor
      * Include "excludes" array in JSON configuration example with various exclusion patterns
      * Demonstrate support for process names, full paths, and partial path matching
    
    - Enhance code consistency across C++ and C# components
      * Align exclusion logic implementation with documented behavior
      * Improve documentation completeness for better maintainability
    
    These changes ensure robust process filtering with consistent case-insensitive
    matching and comprehensive documentation for configuration and usage.
    wiresock committed Sep 2, 2025
    Configuration menu
    Copy the full SHA
    3ef98af View commit details
    Browse the repository at this point in the history
  6. Update socksify/Socksifier.h

    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    wiresock and Copilot authored Sep 2, 2025
    Configuration menu
    Copy the full SHA
    4dbc4a5 View commit details
    Browse the repository at this point in the history
  7. Update socksify/Socksifier.cpp

    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    wiresock and Copilot authored Sep 2, 2025
    Configuration menu
    Copy the full SHA
    e90fa11 View commit details
    Browse the repository at this point in the history
  8. Update ProxiFyre/Program.cs

    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    wiresock and Copilot authored Sep 2, 2025
    Configuration menu
    Copy the full SHA
    39bcaa1 View commit details
    Browse the repository at this point in the history
  9. Update netlib/src/proxy/socks_local_router.h

    Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
    wiresock and gemini-code-assist[bot] authored Sep 2, 2025
    Configuration menu
    Copy the full SHA
    f8dae05 View commit details
    Browse the repository at this point in the history
  10. perf: add comprehensive caching for process matching optimization

    - Implement full result caching for match_app_name function
      * Cache complete matching results (not just exclusions) using process ID + app pattern key
      * Add composite cache key with custom hash function for optimal performance
      * Implement time-based expiration (30 seconds TTL) and size-limited cache (2000 entries)
      * Add automatic cleanup for expired and oldest entries to prevent memory bloat
    
    - Enhance cache management and invalidation
      * Clear cache when exclusion list or proxy mappings change via clear_match_cache()
      * Update associate_process_name_to_proxy and exclude_process_name to invalidate cache
      * Add comprehensive cache cleanup strategy with timestamp-based sorting
    
    - Optimize packet processing hot path performance
      * Eliminate repeated string operations for same process/app combinations
      * Convert O(n) linear searches to O(1) hash map lookups for cached results
      * Maintain thread safety with mutex protection for concurrent access
    
    - Update documentation to reflect caching behavior
      * Document comprehensive result caching in match_app_name function
      * Add detailed comments for cache data structures and management
      * Explain performance benefits and cache invalidation strategy
    
    This optimization significantly improves performance for high-traffic scenarios where
    the same processes generate many packets, eliminating redundant exclusion checks and
    pattern matching operations through intelligent caching.
    wiresock committed Sep 2, 2025
    Configuration menu
    Copy the full SHA
    939b987 View commit details
    Browse the repository at this point in the history
  11. refactor: simplify cache cleanup by removing internal mutex handling

    - Remove mutex acquisition from cleanup_match_cache() function
    - Function now assumes caller holds match_cache_mutex_ (which is correct)
    - Eliminates unsafe lock unlock/relock pattern in match_app_name()
    - Simplifies code flow with single lock ownership per operation
    - Called only from match_app_name() where lock is already held
    
    This change improves thread safety by removing complex mutex manipulation
    and clarifies lock ownership responsibilities. The cache cleanup is now
    a simple utility function that operates under the caller's lock protection.
    wiresock committed Sep 2, 2025
    Configuration menu
    Copy the full SHA
    8eb8dee View commit details
    Browse the repository at this point in the history
  12. fix: handle missing "excludes" field in JSON configuration gracefully

    - Make excludedList parameter optional with default null value in ProxiFyreSettings constructor
    - Add NullValueHandling.Ignore to JsonProperty attribute for ExcludedList
    - Ensure ExcludedList is always initialized as empty list when field is missing from JSON
    - Remove duplicate class summary comment for ProxiFyreSettings
    
    This change prevents deserialization errors when app-config.json doesn't contain
    the "excludes" field, making the exclusion configuration truly optional while
    maintaining backward compatibility with existing configurations.
    wiresock committed Sep 2, 2025
    Configuration menu
    Copy the full SHA
    3eba7f1 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    fb2df5f View commit details
    Browse the repository at this point in the history
  14. Merge pull request #85 from wiresock/pr-with-fixes

    fix: enhance process exclusion logic and improve configuration documentation (PR #84)
    wiresock authored Sep 2, 2025
    Configuration menu
    Copy the full SHA
    aa8524e View commit details
    Browse the repository at this point in the history
Loading