GitPedia
kutovoys

kutovoys/xray-checker

Xray Checker: A Prometheus exporter for monitoring Xray proxies

22 Releases
Latest: 3mo ago
v1.2.4Latest
github-actions[bot]github-actions[bot]·3mo ago·March 15, 2026
GitHub

🐛 🐛 Bug Fixes

  • Fix subscription parsing failing entirely when a single broken config is present — add line-by-line fallback parsing that skips invalid configs and continues with valid ones
  • Fix web interface not rendering proxy cards when multiple subscriptions contain configs with duplicate names — use `stableId` instead of `name` as Alpine.js iteration key

📦 🔄 Improvements

  • Improve Pushgateway documentation with correct endpoint format and basic auth usage notes
  • ---
  • Full Changelog: https://github.com/kutovoys/xray-checker/compare/v1.2.3...v1.2.4
v1.2.3
github-actions[bot]github-actions[bot]·4mo ago·January 24, 2026
GitHub

🐛 Bug Fixes

  • Fix stable ordering of resolved IPs when using proxy-resolve-domains. Previously, resolved IPs could appear in random order causing config churn and metrics instability. Now IPs are sorted by their stable ID for consistent ordering across restarts.
  • ---
  • Full Changelog: https://github.com/kutovoys/xray-checker/compare/v1.2.2...v1.2.3
v1.2.2
github-actions[bot]github-actions[bot]·4mo ago·January 23, 2026
GitHub

📦 🎨 Transparent Background for Badges

  • Badges now support transparent backgrounds, making them easier to embed on any page.
  • Usage:
  • ```
  • https://your-server.com/?stableId=abc123&transparent=true
  • ```
  • The Badge Playground in documentation also includes a new "Transparent" option in the theme selector.

📦 🖼️ Flexible Logo Customization

  • You can now use different logos for dark and light themes:
  • `logo-dark.svg` / `logo-dark.png` — for dark theme
  • `logo-light.svg` / `logo-light.png` — for light theme
  • `logo.svg` / `logo.png` — universal fallback
  • Priority: theme-specific SVG → theme-specific PNG → universal SVG → universal PNG

📦 🔍 Improved Name Sorting

  • Names with leading emojis are now sorted correctly by their text content, ignoring emoji prefixes.

📦 🔄 Metrics Not Clearing on Subscription Update

  • Fixed a race condition where metrics for removed proxy locations would persist with status 0 after subscription updates.
  • Affected scenario: When using `proxy-resolve-domains=true` and an IP was removed from DNS, the metric for that IP would remain in Prometheus.
  • Root cause: Goroutines completing proxy checks could write metrics after `ClearMetrics()` had already run.
  • Fix: Added generation tracking to skip metric updates when the proxy configuration has changed during a check cycle.

📝 📚 Documentation

  • Added live demo links throughout documentation and README
  • Updated architecture docs with Badge System and Asset Manager components
  • Added `WEB_PUBLIC` parameter to CLI and Docker examples
  • Improved code formatting in nginx configuration examples
v1.2.1
github-actions[bot]github-actions[bot]·5mo ago·January 11, 2026
GitHub

📦 🎨 Web Interface Customization

  • Full customization support for the web interface. You can now replace the default template, add custom styles, change the logo, favicon, and add any other static files.
  • Configuration:
  • ```bash
  • WEB_CUSTOM_ASSETS_PATH=/path/to/custom
  • --web-custom-assets-path=/path/to/custom
  • ```
  • Supported files:
  • index.html — Full template replacement (Go template with access to all page data)
  • + 25 more

📝 📚 Documentation

  • New page: Web Customization guide with Go template variables reference
  • Reorganized: Public Status Page moved from Integrations to Configuration section

📦 🔧 Technical Details

  • New AssetLoader component for custom assets management
  • Assets are loaded once at startup for optimal performance
  • Custom files overlay embedded defaults (custom first, fallback to default)
  • Automatic custom.css injection before </head> tag
v1.2.0
github-actions[bot]github-actions[bot]·5mo ago·January 10, 2026
GitHub

📦 🏷️ Embeddable Status Badges

  • You can now embed individual proxy status badges anywhere using simple URL parameters. Perfect for status pages, dashboards, documentation, or README files.
  • https://your-server.com/?stableId=abc123&theme=light&variant=pill
  • Available parameters:
  • | Parameter | Values | Description |
  • | ------------------ | -------------------------------- | --------------------------- |
  • | `stableId` | `{id}` | Proxy identifier (required) |
  • | `theme` | `dark`, `light` | Color theme |
  • | `variant` | `default`, `flat`, `pill`, `dot` | Badge style |
  • + 5 more

📦 🎨 Page Customization via URL

  • Customize the dashboard view using URL parameters for seamless embedding:
  • `hideHeader=true` — Hide header with logo and controls
  • `hideStats=true` — Hide statistics cards
  • `hideServersHeader=true` — Hide "Servers" heading
  • `hideControls=true` — Hide search and filters
  • `hideProxies=true` — Hide proxy list
  • `hideStatusInfo=true` — Hide technical info footer
  • `hideFooter=true` — Hide page footer
  • + 3 more

📦 📡 Custom Subscription Request Headers

  • Subscription fetch requests now include custom headers(HWID):
  • | Header | Value |
  • | ---------------- | ---------------------- |
  • | `User-Agent` | `Xray-Checker` |
  • | `X-Device-OS` | `CheckerOS` |
  • | `X-Ver-OS` | `{version}` |
  • | `X-Device-Model` | `Xray-Checker Pro Max` |
  • | `X-Hwid` | `{hwid}` |

🐛 🐛 Bug Fixes

  • Fixed race condition in endpoint registration that could cause panic under concurrent requests

📝 📚 Documentation

  • Added Public Status Page guide
  • Added Badge System documentation with interactive Playground
v1.1.2
github-actions[bot]github-actions[bot]·5mo ago·January 8, 2026
GitHub

✨ New Features

  • Country Flag Emoji Support on Windows — Added Twemoji polyfill for proper country flag emoji rendering on Windows systems where native flag emoji support is missing.

🐛 🐛 Bug Fixes

  • Fixed latency sorting — Offline servers (with zero latency) are now placed at the end when sorting by latency, instead of appearing first.
  • Fixed gRPC ServiceName — Removed default value for empty ServiceName, allowing proper handling of gRPC configurations without explicit service name.
v1.1.1
github-actions[bot]github-actions[bot]·5mo ago·January 7, 2026
GitHub

🐛 Hotfix Font

  • b0c7c78c0d4297b2cec724e104fcf19cc4d6c2d2 Remove deprecated inter-latin font file and replace it with inter-regular font in index.html. Refactor HTML for improved readability.
v1.1.0
github-actions[bot]github-actions[bot]·5mo ago·January 7, 2026
GitHub

✨ New Features

  • Public Dashboard Mode (`--web-public`) — Expose the dashboard publicly without authentication, perfect for VPN service status pages. The `/metrics` and `/api/` endpoints remain protected with Basic Auth while the main dashboard and individual proxy status pages are publicly accessible. Requires `METRICS_PROTECTED=true`.
  • Subscription Name Support — New `sub_name` label added to Prometheus metrics (`xray_proxy_status`, `xray_proxy_latency_ms`) for identifying which subscription a proxy belongs to. The name is parsed from URL fragment (`#My%20VPN`) or `profile-title` HTTP header.
  • API Enhancements:
  • Added `subName` field to proxy responses in `/api/v1/proxies`
  • Added `subscriptionNames` array to `/api/v1/config` response

🐛 🐛 Bug Fixes

  • Fixed XHTTP/SplitHTTP config parsing — Properly parse XHTTP and SplitHTTP transport settings including `mode` parameter and raw settings.
  • Fixed race condition in subscription loading — When loading multiple subscriptions, the order of URLs is now preserved instead of being determined by HTTP response timing.
  • Fixed scheduler immediate execution — Subscription update scheduler no longer runs immediately on startup, respecting the configured interval.

📝 📚 Documentation

  • Added `--web-public` documentation and examples in all languages (EN/RU/FA)
  • Added `sub_name` metric label documentation
  • Updated API reference with new fields
  • Fixed download check method description (50KB/1min instead of incorrect 10MB/5min)
  • Removed unnecessary quotes from `--subscription-url` examples
v1.0.0
github-actions[bot]github-actions[bot]·5mo ago·January 6, 2026
GitHub

📦 🔗 Multiple Subscriptions Support

  • ```bash
  • xray-checker --subscription-url "https://provider1.com/sub" --subscription-url "https://provider2.com/sub"
  • SUBSCRIPTION_URL="https://provider1.com/sub,https://provider2.com/sub"
  • ```

📦 🌐 Full REST API with OpenAPI/Swagger

  • A complete REST API is now available for integration with your own tools and dashboards:
  • | Endpoint | Description |
  • | ---------------------------- | -------------------------------------------- |
  • | `GET /api/v1/proxies` | List all proxies with full details |
  • | `GET /api/v1/proxies/{id}` | Get specific proxy info |
  • | `GET /api/v1/public/proxies` | Public endpoint (no auth, no sensitive data) |
  • | `GET /api/v1/status` | Overall status summary |
  • | `GET /api/v1/config` | Current configuration |
  • + 4 more

📦 📊 Improved Latency Measurement

  • Latency is now measured using Time To First Byte (TTFB) instead of total request time. This provides a more accurate representation of proxy responsiveness using Go's `httptrace` package.
  • ---

📦 📝 Advanced Logging System

  • A completely new logging system with configurable levels:
  • ```bash
  • xray-checker --log-level debug
  • LOG_LEVEL=debug
  • ```
  • debug: Verbose output including parsed proxy configurations
  • info: Standard operational messages (default)
  • warn: Warnings only
  • + 2 more

📦 🌍 Automatic Geo Files Management

  • Xray Checker now automatically downloads and manages `geoip.dat` and `geosite.dat` files. No more manual file management!
  • Files are downloaded from official Loyalsoldier repository
  • Automatic updates when files are missing or corrupted
  • Stored in `./geo/` directory

📦 🔧 Share Link Parsing with libxray

  • Native parsing of share links using the official libxray library:
  • `vless://` - VLESS protocol
  • `vmess://` - VMess protocol
  • `trojan://` - Trojan protocol
  • `ss://` - Shadowsocks protocol
  • This ensures 100% compatibility with Xray Core's own parsing logic.

📦 🔍 Domain Resolution Option

  • New `--proxy-resolve-domains` flag to resolve proxy server hostnames to IP addresses and create separate configurations for each resolved IP. Thanks to @TheMelbine for the contribution.
  • ```bash
  • xray-checker --proxy-resolve-domains
  • ```

📦 🎨 Web UI Privacy Option

  • Control whether server details (IP addresses and ports) are shown in the web interface:
  • ```bash
  • xray-checker --web-show-details=false # Hide server details (default)
  • xray-checker --web-show-details=true # Show server details
  • ```
  • Thanks @x-socks for the feature request.
  • ---

📦 Smaller & Faster Image

  • Base image: Switched from `distroless` to `alpine:3.21` for better compatibility
  • Go version: Upgraded to Go 1.25
  • Binary compression: Using UPX for ~60% smaller binary size
  • Build flags: Added `-s -w` for stripped binaries

New Capabilities

  • curl: Available in container for debugging
  • tzdata: Proper timezone support
  • ca-certificates: Updated root certificates
  • Thanks @drode1 for issue #113
  • ---

📝 🇮🇷 Persian (Farsi) Documentation

  • Complete documentation is now available in Persian (فارسی) with RTL support!

📝 📖 Updated Docs

  • New logos and favicons for documentation site
  • Updated all configuration examples
  • Improved API reference documentation
  • New troubleshooting guides
  • ---

♻️ Architecture Refactoring

  • The codebase has been significantly refactored for better maintainability:
  • | Old Structure | New Structure |
  • | ----------------------------------- | ------------------------ |
  • | `parser/parser.go` | `subscription/parser.go` |
  • | `runner/runner.go` | `xray/runner.go` |
  • | `xray/template.go` + `xray/xray.go` | `xray/config.go` |
  • | N/A | `xray/geo_files.go` |
  • | N/A | `xray/utils.go` |
  • + 2 more

📦 Independent Schedulers

  • Subscription updates and proxy checks now run on independent schedulers:
  • Subscription updates follow `SUBSCRIPTION_UPDATE_INTERVAL`
  • Proxy checks follow `PROXY_CHECK_INTERVAL`
  • No more coupling between the two operations

📦 Improved Download Check Method

  • Fixed the download check method to exit immediately when the minimum download size is reached, improving efficiency.
  • ---

New Environment Variables

  • | Variable | Description | Default |
  • | ----------------------- | ---------------------------------------------- | ------- |
  • | `LOG_LEVEL` | Logging verbosity (debug/info/warn/error/none) | `info` |
  • | `PROXY_RESOLVE_DOMAINS` | Resolve domain names to IPs | `false` |
  • | `WEB_SHOW_DETAILS` | Show server IPs in web UI | `false` |

📋 Changed Behavior

  • | Variable | Old Behavior | New Behavior |
  • | ------------------- | ------------------ | ------------------------------------------------- |
  • | `SUBSCRIPTION_URL` | Single URL only | Multiple URLs (comma-separated or multiple flags) |
  • | Latency measurement | Total request time | Time To First Byte (TTFB) |
  • ---

📦 💬 Telegram Chat

  • Join our community for discussions, support, and updates:
  • [Xray tools](https://t.me/+TsZRKvuoH_44MWYy)
  • ---

📝 Docker (Recommended)

  • ```bash
  • docker pull kutovoys/xray-checker:latest
  • docker run -d \
  • -e SUBSCRIPTION_URL=https://your-subscription-url/sub \
  • -p 2112:2112 \
  • kutovoys/xray-checker
  • ```

📦 Binary

  • Download from [GitHub Releases](https://github.com/kutovoys/xray-checker/releases/latest)
  • ---

📦 🙏 Contributors

  • Thanks to everyone who contributed to this release!
  • ---

📋 📄 Full Changelog

  • For a complete list of changes, see the [commit history](https://github.com/kutovoys/xray-checker/compare/v0.5.1...v1.0.0).
  • ---
  • Happy monitoring! 🎉
v0.5.1
github-actions[bot]github-actions[bot]·8mo ago·September 27, 2025
GitHub

📦 🔧 **Enhanced Subscription Management**

  • Added version parameter support: All subscription-related functions now accept and utilize version information for better compatibility tracking
  • Updated function signatures: Modified `InitializeConfiguration`, `ReadFromSource`, `ParseSubscription`, and `ParseSubscriptionURL` to include version parameter

📦 🌐 **Improved HTTP Client Headers**

  • Enhanced User-Agent: Maintained "Xray-Checker" identification
  • Added HWID headers
v0.5.0
github-actions[bot]github-actions[bot]·8mo ago·September 22, 2025
GitHub

📦 Download-Based Proxy Checking

  • Added a new download check method for more comprehensive proxy testing that validates actual data transfer capabilities, specifically addressing new censorship techniques.
  • Background:
  • What's New:
  • New check method: `download` - Tests proxies by downloading files through them to detect data transfer limitations
  • Configurable parameters: Set custom download URLs, timeouts, and minimum size requirements
  • Real-world testing: Validates proxy performance with actual file transfers instead of simple connectivity checks
  • Detection of TCP freezing: Identifies proxies that work for small requests but fail for larger data transfers
  • Configuration Options:
  • + 10 more

📝 Docker

  • ```bash
  • docker run -d \
  • -e PROXY_CHECK_METHOD=download \
  • -e PROXY_DOWNLOAD_URL=https://proof.ovh.net/files/1Mb.dat \
  • -e PROXY_DOWNLOAD_TIMEOUT=60 \
  • -e PROXY_DOWNLOAD_MIN_SIZE=51200 \
  • kutovoys/xray-checker
  • ```

📦 CLI

  • ```bash
  • --proxy-check-method=download \
  • --proxy-download-url=https://proof.ovh.net/files/1Mb.dat \
  • --proxy-download-timeout=60 \
  • --proxy-download-min-size=51200
  • ```
  • This release enhances proxy validation capabilities to detect modern censorship techniques while maintaining full backward compatibility with existing configurations.
  • Related Issue: [Russia] Censor has a new method of blocking - [net4people/bbs#490](https://github.com/net4people/bbs/issues/490)
v0.4.3
github-actions[bot]github-actions[bot]·1y ago·June 1, 2025
GitHub

📦 HTTPUpgrade Transport Support

  • ✨ Added full support for HTTPUpgrade transport type - a new transport protocol similar to WebSocket but with HTTP upgrade mechanism
  • 🔧 Enhanced parser capabilities to handle HTTPUpgrade configurations from subscription URLs and JSON configs
  • 📝 Updated Xray configuration templates to generate proper `httpupgradeSettings` sections
  • 🏗️ Extended data models with `HTTPUpgradeSettings` struct and related helper functions

📦 Enhanced Base64 Decoding

  • 🛠️ Improved Base64 auto-detection with new `utils.AutoDecode()` function that automatically detects:
  • Standard vs URL-safe Base64 encoding
  • Padded vs non-padded formats
  • 🔄 Migrated from manual decoding to unified auto-detection across parser and subscription modules
  • 📈 Better compatibility with various subscription formats and VMess configurations

📦 WebSocket Configuration Improvements

  • 🌐 Enhanced WebSocket settings in Xray templates to properly include Host headers
  • 🔧 Fixed WebSocket header generation for better compatibility with proxy servers

📦 Code Organization

  • 📁 Refactored Base64 handling into dedicated `utils` package for better code reuse
  • 🧹 Cleaned up parser logic by removing duplicate Base64 decoding implementations
  • 📝 Improved code documentation and removed unnecessary comments

📦 Configuration Parsing

  • ⚡ Streamlined VMess parsing with unified Base64 decoding approach
  • 🔍 Enhanced error handling in proxy URL parsing
  • 🏷️ Better support for various configuration formats in subscription processing

📦 Core Updates

  • ⬆️ Xray-core: Updated from `v1.250306.0` to `v1.250516.0`
  • ⬆️ Kong CLI: Updated from `v1.10.0` to `v1.11.0`
  • ⬆️ Prometheus Common: Updated from `v0.63.0` to `v0.64.0`

📦 Template Updates

  • 📄 Xray JSON template now includes HTTPUpgrade settings generation
  • 🏷️ Improved WebSocket headers configuration in generated configs
  • 🛠️ Better Host header handling across different transport types

New Contributors

  • @sujoshua made their first contribution in https://github.com/kutovoys/xray-checker/pull/65
  • @iphizic made their first contribution in https://github.com/kutovoys/xray-checker/pull/72
  • Full Changelog: https://github.com/kutovoys/xray-checker/compare/v0.4.2...v0.4.3
v0.4.2
github-actions[bot]github-actions[bot]·1y ago·April 28, 2025
GitHub

fix: downgrade github.com/refraction-networking/utls from v1.7.0 to v1.6.7 **Full Changelog**: https://github.com/kutovoys/xray-checker/compare/v0.4.1...v0.4.2

v0.4.1
github-actions[bot]github-actions[bot]·1y ago·April 27, 2025
GitHub

📦 Configurable Metrics Host

  • Added the ability to configure the host address for metrics and status endpoints
  • Introduced new `METRICS_HOST` environment variable and `--metrics-host` CLI flag
  • Default value set to `0.0.0.0` for backward compatibility
  • Added documentation for the new configuration option in both English and Russian

📦 Metrics Management

  • Fixed memory leak in metrics cleanup process
  • Added proper cleanup for metrics when clearing metrics data
  • Changed metric key validation to support keys with more than 3 parts (`len(parts) >= 3`)

📦 UI Improvements

  • Updated server information display to show full `host:port` instead of just port
  • Improved formatting in the copyToClipboard function for better readability

📦 Updates

  • Updated `github.com/refraction-networking/utls` from v1.6.7 to v1.7.0
  • Updated Go version formatting in go.mod from 1.24 to 1.24.0
  • Retained toolchain specification at go1.24.2

📝 Documentation Enhancements

  • Added the new `METRICS_HOST` parameter to all CLI examples
  • Updated Docker examples to include the new environment variable
  • Added examples of binding to localhost (127.0.0.1) for improved security
  • Updated all documentation in both English and Russian languages

📦 Server Startup

  • Modified server startup log message to display both host and port
  • Updated HTTP server binding to use the configured host address
  • Improved code formatting and readability in various places

📦 Compatibility Notes

  • Full Changelog: https://github.com/kutovoys/xray-checker/compare/v0.4.0...v0.4.1
v0.4.0
github-actions[bot]github-actions[bot]·1y ago·April 19, 2025
GitHub

💥 🚨 Breaking Changes

  • The metric key format has changed to include `StableID`. This will impact any external systems relying on the previous metric key format.
  • Config endpoints now use `StableID` instead of index-based paths, which will break any scripts or integrations that depended on the previous URL format.
  • Go version upgraded from 1.23 to 1.24, requiring a toolchain update.

New Features

  • Added `StableID` to proxy configurations for stable and consistent identification
  • Implemented support for xHTTP transport type with `mode` and `extra` parameters
  • Added WebSocket `host` field alongside the existing headers configuration

📦 Improvements

  • Enhanced proxy configuration stability with SHA-256 based identifier generation
  • Updated Xray core to version 1.250306.0
  • Improved proxy configuration comparison logic using StableID
  • Fixed WebSocket configuration template to properly handle host parameters
  • Modernized config endpoint URLs to use stable IDs instead of index-based paths

📋 API Changes

  • Added `GenerateStableID()` method to ProxyConfig
  • Added `GetProxyByStableID()` method to ProxyChecker
  • Enhanced the ProxyConfig struct with new fields: `Mode`, `ExtraXhttp`, and `StableID`

📋 Internal Changes

  • Improved config comparison logic for better stability detection
  • Updated Docker base image to Go 1.24
  • Enhanced error messages in web handlers

New Contributors

  • @antonydevanchi made their first contribution in https://github.com/kutovoys/xray-checker/pull/45
  • @Akiyamov made their first contribution in https://github.com/kutovoys/xray-checker/pull/56
  • Full Changelog: https://github.com/kutovoys/xray-checker/compare/v0.3.1...v0.4.0
v0.3.1
github-actions[bot]github-actions[bot]·1y ago·January 25, 2025
GitHub

📋 Major Changes

  • Added support for serving metrics and monitoring interface under a custom base path
  • New configuration option `METRICS_BASE_PATH` allows specifying a custom URL path
  • Example: Set to `/xray/monitor` to serve metrics at `http://your-domain.com/xray/monitor`

📦 Configuration Updates

  • Added new configuration options:
  • Environment variable: `METRICS_BASE_PATH`
  • CLI flag: `--metrics-base-path`
  • Default value: "" (empty string, serves at root path)

📝 Documentation Improvements

  • Added new section "Configuration for steal-from-yourself domain" with detailed nginx setup instructions
  • Updated Docker and CLI usage examples to include the new base path parameter
  • Added documentation for the new `METRICS_BASE_PATH` parameter in both English and Russian

New Contributors

  • @stepkareserva made their first contribution in https://github.com/kutovoys/xray-checker/pull/38
  • Full Changelog: https://github.com/kutovoys/xray-checker/compare/v0.3.0...v0.3.1
v0.3.0
github-actions[bot]github-actions[bot]·1y ago·January 22, 2025
GitHub

Major Features

  • 🎯 Added VMess protocol support with comprehensive configuration options
  • 🔄 New configuration sources support:
  • JSON files via `file://` prefix
  • Folders with multiple configs via `folder://` prefix
  • Direct Base64 string input
  • 🌓 Redesigned web interface with dark/light theme support
  • 📊 Real-time status indicators showing proxy health and latency

📦 Proxy Configuration Enhancements

  • ✨ Extended protocol configuration capabilities:
  • gRPC transport layer support with multiMode, idleTimeout, and windowSize settings
  • TLS/Reality security layer improvements
  • ALPN protocol negotiation support
  • Advanced VMess settings (alterId, level)
  • 🔧 Improved subscription URL handling with multiple format support
  • 🛡️ Added allowInsecure option for TLS connections
  • 🔄 More flexible flow control settings

📦 Web Interface Improvements

  • 🎨 New responsive grid-based layout
  • 🚥 Live status indicators (green/red) for each proxy
  • ⏱️ Real-time latency display
  • 📋 Improved URL copying functionality
  • 🌙 Theme persistence across sessions
  • 📊 Better organized server information display

📦 Infrastructure

  • 📚 Added comprehensive documentation
  • 🔧 Improved error handling and logging
  • 🧪 Better validation for proxy configurations
  • 🎯 More robust subscription parsing
  • ⚡ Enhanced Xray Core integration

🐛 Bug Fixes

  • 🐛 Fixed Base64 decoding issues with URL-safe encodings
  • 🔍 Improved error handling for invalid configurations
  • 🚫 Better handling of ports 0 and 1
  • 📝 Fixed template issues in Xray configuration
  • 🔒 Enhanced security validation

📝 [Documentation](https://xray-checker.kutovoy.dev/)

  • 📘 Added detailed API reference
  • 🔧 Improved configuration documentation
  • 📝 Added troubleshooting guide
  • 🚀 New quick start guide
  • 🌐 Added multi-language support (English/Russian)
  • For more detailed information, please visit our [documentation](https://xray-checker.kutovoy.dev/).
  • Full Changelog: https://github.com/kutovoys/xray-checker/compare/v0.2.2...v0.3.0
v0.2.2
github-actions[bot]github-actions[bot]·1y ago·January 12, 2025
GitHub

📋 Changes

  • Updated the main application logic to only parse the metrics push URL if it is provided, enhancing error handling.
  • Modified the ParseURL function to return nil instead of an error for empty URLs, simplifying the logic.
  • Adjusted the GetPushURL function to handle nil configurations more gracefully, ensuring robustness in metrics pushing.
  • Added SubscriptionUpdateInterval to PageData for improved subscription management.
  • Updated the IndexHandler and ConfigStatusHandler to utilize proxy index for endpoint registration and path formatting.
  • Enhanced the index.html template to conditionally display Instance and Push URL information based on availability.
  • Improved the rendering logic for Check Method related URLs, ensuring clarity in the displayed information.

📋 What's Changed

  • Update README files to reflect GitHub Actions integration by @kutovoys in https://github.com/kutovoys/xray-checker/pull/22
  • Bug fixes by @kutovoys in https://github.com/kutovoys/xray-checker/pull/23
  • Full Changelog: https://github.com/kutovoys/xray-checker/compare/v0.2.1...v0.2.2
v0.2.1
github-actions[bot]github-actions[bot]·1y ago·January 11, 2025
GitHub

📋 What's Changed

  • Added support for instance labeling in metrics, allowing for better identification of metrics per instance.
  • Introduced a new metrics push URL configuration option for Prometheus integration.
  • Updated the proxy checker to utilize the instance label in metrics recording and deletion.
  • Refactored the main application logic to remove the commit parameter from the version parsing function.
  • Enhanced the web interface to display instance and push URL information.
  • Updated documentation in README and README_RU to reflect new configuration options and usage examples.
  • Full Changelog: https://github.com/kutovoys/xray-checker/compare/v0.2.0...v0.2.1
v0.2.0
github-actions[bot]github-actions[bot]·1y ago·January 7, 2025
GitHub

💥 ⚠️ Breaking Changes

  • Configuration parameters and environment variables have been renamed
  • Update all environment variables in your deployment configurations

📋 What's Changed

  • feat: new check method: STATUS, new latency metric, simulate latency on endpoints by @kastov in https://github.com/kutovoys/xray-checker/pull/17
  • feat: enhance subscription update handling and proxy checking logic by @kutovoys in https://github.com/kutovoys/xray-checker/pull/18
  • Full Changelog: https://github.com/kutovoys/xray-checker/compare/v0.1.1...v0.2.0
v0.1.1
github-actions[bot]github-actions[bot]·1y ago·January 6, 2025
GitHub

📋 Changelog

  • 7dd9e07d8582c72b77698cc6e6e7da950b573446 Enhance proxy checker functionality and update configuration options
  • ca769415d485d765ff204212f1b9f1b6532ead90 Merge pull request #15 from kastov/more-customization
  • c3658116823c0601d2cf1e4c82b9ef5ea43a7c17 Update Dockerfile and CI workflow to use dynamic USERNAME and REPOSITORY_NAME
  • d71eb4c046d9a06ab3bd85a910e68c7b2b80264c doc: added lang badges to README
  • fa805ff988e60f5797594bf82be8b5674eea515c fix: env vars
  • 7f65ae0f8a37c35f444036449a78e8cd76763919 fix: issues with templates and xray-config.json inside docker container
  • 8e95b87e7b2548981065819157f68e0377d2bee3 refactor: remove SubscriptionURL from configuration and update README
  • 06cb638e1de019d36124925dae12877253105617 refactor: update GitHub Actions and goreleaser configuration for dynamic repository handling

📋 What's Changed

  • Overall improvements & fix Docker container by @kastov in https://github.com/kutovoys/xray-checker/pull/15

New Contributors

  • @kastov made their first contribution in https://github.com/kutovoys/xray-checker/pull/15
  • Full Changelog: https://github.com/kutovoys/xray-checker/compare/v0.1.0...v0.1.1
🚀 Xray Checker 0.1.0 - Stable Releasev0.1.0
github-actions[bot]github-actions[bot]·1y ago·January 5, 2025
GitHub

New Architecture

  • Completely redesigned internal application architecture
  • Improved stability and reliability of checks
  • Optimized system resource usage
  • Enhanced configuration processing efficiency

📦 Improved Monitoring System

  • Added detailed Prometheus metrics
  • New API endpoints for monitoring each proxy
  • Simpler and more informative monitoring system integration
  • Improved proxy state detection accuracy

🔒 Security

  • Added optional Basic Auth protection for metrics and API
  • Enhanced sensitive data handling
  • Secure configuration file processing

📦 Configuration Handling

  • New dynamic Xray configuration generation system
  • Automatic configuration updates without restart
  • Enhanced configuration file validation

📦 Connection Checking

  • Redesigned proxy availability checking mechanism
  • Optimized operability detection logic
  • Added support for various IP checking services

📦 Logging

  • Improved logging system
  • Added detailed debug logs
  • Configurable logging levels

New Endpoints

  • `/health` - Application health check
  • `/config/{protocol}-{address}-{port}` - Individual proxy status
  • `/metrics` - Extended Prometheus metrics