Renamed the workflow file from docker.yml to image.yml and updated workflow and step names to use 'Image' instead of 'Docker'. This improves clarity and generalizes the workflow for building and pushing images.
Introduced a step to extract the first image tag from build outputs and use it as the image reference for the Trivy vulnerability scanner. This ensures the scanner analyzes the correct image version.
Added debug output steps and changed the Trivy vulnerability scanner to reference the image by tag (${github.ref_name}) instead of digest. This helps with debugging and aligns the scan with the tagged image.
Adds outputs for image tags and digest in the build-and-push job and updates the Trivy scanner to reference the image by digest instead of the latest tag. This ensures the vulnerability scan is performed on the exact built image.
Grants the 'attestations: write' permission in the GitHub Actions Docker workflow to enable writing attestations. This may be required for enhanced security or provenance features.
Updates the GitHub Actions workflow to use the correct step ID 'build-and-push' for the Docker image digest output, ensuring the provenance attestation references the correct value.
Grants the workflow 'id-token: write' permission, which may be required for certain authentication steps or integrations in the Docker build and publish process.
Updated various dependencies in package-lock.json, including esbuild and related platform-specific packages, to newer versions. This ensures compatibility and includes the latest bug fixes and improvements from upstream packages.
Added express as a production dependency in package.json and updated the Dockerfile to install dependencies more efficiently using npm ci when package-lock.json is present. This streamlines the build process and ensures express is available in production environments.
Introduced Dockerfile, .dockerignore, and GitHub Actions workflow for building and publishing Docker images. Added server.js as the Express entrypoint for standalone deployment. Updated README with Docker, Docker Compose, and Kubernetes deployment instructions.
Introduces Vercel deployment support by adding Edge Function handlers in the api directory, Vercel configuration files, and related ignore rules. Updates documentation to include Vercel one-click deployment instructions and badges. Adds Vercel-specific scripts to package.json for development and deployment workflows.
Added information about the new URL converter (xuc.xi-xu.me) to both English and Chinese README files. Also adjusted formatting for public instance mentions for consistency.
Replaces 'npx wrangler auth login' with 'npx wrangler login' in both English and Chinese README files to reflect the updated Wrangler CLI authentication command.
Changed the example base_url for Xget-accelerated OpenAI API from '/ip/openai' to '/ip/openai/v1' in both English and Chinese README files to reflect the correct endpoint.
Improved language, consistency, and technical accuracy throughout the README.en.md file. Updated terminology (e.g., 'link' to 'URL', 'conversion' to 'transformation'), clarified instructions, corrected section titles, and enhanced example explanations. Streamlined descriptions for platform support, usage scenarios, and configuration steps to provide a clearer and more professional guide for users.
Expanded the README to document support for AI inference API acceleration, including a new badge, provider table, usage examples, environment variable configuration, and performance comparisons. This update details how to use Xget to accelerate API calls to over 25 mainstream AI inference providers, with code samples and production deployment recommendations.
Revised README to clarify 'AI 推理 API' terminology, updated Gemini API example URLs to use 'gemini-2.5-flash', and adjusted the related test case in platforms.test.js to match the new Gemini API path.
Renamed several AI provider keys and references (e.g., 'ip-google' to 'ip-gemini', 'ip-mistral' to 'ip-mistralai', etc.) in the codebase, documentation, and tests for improved clarity and alignment with provider branding. Updated README usage examples and provider tables to match the new keys.
Updated documentation and templates to consistently use 'URL' instead of '链接' when referring to web addresses. This improves clarity and aligns terminology across the README, issue, and pull request templates.
Expanded README with detailed documentation and usage examples for AI inference provider acceleration, including a new badge, platform table entries, and code samples for Python and JavaScript. Updated src/config/platforms.js to use the correct Hugging Face inference API endpoint.
Expanded and reordered the list of AI inference providers in the platform configuration to include new providers such as ip-github, ip-nvidia, ip-braintrust, ip-jina, ip-voyageai, ip-burncloud, and ip-poe. Updated the corresponding test to match the new provider list and order.
Introduces isAIInferenceRequest to detect AI inference API requests and updates request validation, caching, and header logic to support AI endpoints. Ensures proper content type and User-Agent headers for AI requests and skips caching for these operations, similar to Git and Docker requests.
Added major AI/ML inference providers to the PLATFORMS config. Introduced comprehensive tests to ensure all providers are defined, their paths are transformed correctly, and valid URLs are constructed.
Updated README.en.md to include Homebrew badge, mirror table entries, usage examples, and detailed configuration instructions for accelerating Homebrew with Xget. Removed Homebrew performance comparison section from README.md.
Added Homebrew, Homebrew API, and Homebrew Bottles platform support in the configuration. Updated the README with Homebrew usage instructions and examples. Introduced comprehensive tests for Homebrew path transformations to ensure correct behavior.
Added Apache as a supported platform in the documentation and configuration. Updated both English and Chinese README files with instructions and examples for accelerating Apache software downloads via Xget, and registered the Apache platform in the platforms.js config.
Added support and documentation for AOSP (Android Open Source Project), CPAN (Perl), and CTAN (TeX/LaTeX) mirrors in both English and Chinese README files. Updated src/config/platforms.js to include these platforms. No functional changes to request handling logic.
Adds special handling for HEAD requests to guarantee the Content-Length header is present. If the initial HEAD response lacks this header, a GET request is performed to retrieve or calculate the correct Content-Length value.
This commit removes all code, documentation, and tests related to the PyTorch platform. PyTorch is no longer listed as a supported platform in the configuration, README files, or test suites.
Refactors PyTorch path transformation logic and enhances URL rewriting for PyTorch wheel index pages to handle both absolute and relative links. Removes unnecessary cache skipping for PyTorch index pages and adds dedicated tests for PyTorch URL rewriting and path transformation.
Added special handling for PyTorch pip index requests to skip cache and set shorter cache duration for index pages. Updated URL rewriting logic to correctly rewrite PyTorch download URLs in HTML responses. Refactored code to distinguish between npm and PyTorch URL rewriting and clarified path transformation for PyTorch in the config.
Introduces PyTorch platform support with URL rewriting for wheel index pages in src/index.js. Updates documentation in both English and Chinese READMEs to reflect new PyTorch installation URLs and verification steps. Adds comprehensive tests for PyTorch proxying, URL transformation, and error handling in test/index.test.js and new test/pytorch.test.js.
Introduces PyTorch as a supported platform in the configuration, updates test utilities and test cases for PyTorch URLs, and adds detailed usage and acceleration instructions for PyTorch in both English and Chinese README files.
Updated both English and Chinese README files to use more precise and consistent names for various container registries in the supported registries table and related documentation sections. This improves clarity for users by specifying full registry names and aligning terminology across both language versions.
Introduces a createConfig function to generate configuration from environment variables, enabling dynamic overrides for deployment environments. Refactors request validation and error responses to use the new config and a standardized error response helper. Updates caching logic to only cache GET and HEAD requests, and rewrites response body handling for platform-specific URL rewrites. Sets package type to 'module' in package.json.
Changed references of ggplot2 from version 3.4.4 to 3.5.2 in both English and Chinese README files and updated related test cases in cran.test.js to ensure consistency with the latest package version.
Replaced outdated Gradle plugin and metadata example URLs with new plugin examples in both English and Chinese README files to provide more relevant and up-to-date references.
Added badges, conversion examples, and configuration instructions for CRAN (R), Rust Crates, openSUSE, and F-Droid mirrors. Improved and clarified documentation for multi-platform integration, updated section titles, and enhanced usage examples for new platforms. Various language and formatting improvements for clarity and consistency.