Skip to content

MultiLangSwitcher - a Chromium-based V3 extension. It helps users quickly switch the Accept-Language HTTP header —— 一个 Chromium 内核浏览器V3扩展,帮助用户快速切换 HTTP 请求头语言

License

Notifications You must be signed in to change notification settings

ChuwuYo/MultiLangSwitcher

Repository files navigation

MultiLangSwitcher Icon

MultiLangSwitcher

English | 简体中文

Ask DeepWiki zread

Project Overview

MultiLangSwitcher is a Chromium-based browser extension that helps users quickly switch the Accept-Language HTTP request header sent by the browser. Users can also customize the full Accept-Language string on the debugging tools page.

The extension utilizes the chrome.declarativeNetRequest API to modify the request header, ensuring performance and privacy.

Note: This extension is not suitable for websites that determine language based on IP address.

The website's layout and styling are built with Bootstrap.

If the built-in request header detection fails or returns no results, you can manually navigate to BrowserScan or header-echo for further verification.

If you need to switch the browser UA, you can take a look at this project: User-Agent Switcher and Manager

CN_Light EN_Dark

Additionally, you can configure browser language settings as shown to confuse simple navigator.languages detection (though this will increase the uniqueness of your browser fingerprint).

Suggestion

This is a demonstration of customizing the Accept-Language string.

Custom Accept-Language

Features

  • Language Request Header Switching: Popup interface for selecting languages and modifying Accept-Language request headers
  • Domain-Based Auto-Switching: Automatically applies corresponding language settings based on visited domains
    • Supports top-level domains (e.g., .cn, .jp) and second-level domains (e.g., com.cn, co.jp)
    • Built-in domain rules covering major countries and regions
    • Defaults to English for unmatched domains
  • Persistent Settings: Language preferences and auto-switch status saved to local storage
  • Efficient Header Modification: Uses chrome.declarativeNetRequest API for better performance than the WebRequest API
  • Background Auto-Application: Extension automatically loads settings on startup with error retry mechanism
  • Theme Switching: Support for light/dark theme switching
  • Update Checker: Automatically checks GitHub Releases for the latest version information
  • Reset Function: One-click reset of the Accept-Language request header
  • Detection Page: detect.html for verifying request header modifications, which detects:
    • Accept-Language request headers
    • JavaScript language preferences (navigator.language, navigator.languages)
    • Internationalization API (Intl) information
    • WebRTC local IP leakage
    • Canvas, WebGL, and AudioContext fingerprinting information
  • Debugging Tools: debug.html provides debugging and diagnostic features, including:
    • View declarativeNetRequest dynamic rule details
    • Multi-endpoint request header testing
    • Custom Accept-Language strings (e.g., en-US,en;q=0.9,zh-CN;q=0.8)
    • Real-time log display with category filtering
    • Rule priority fixes and rule rebuilding
    • Extension diagnostic information (version, permissions, configuration, storage status)
    • Domain-language mapping rules viewer
    • Reset Accept-Language request header

Installation Guide

Install from Chrome Web Store / Microsoft Edge Extensions Home (Not Published)

Currently, only installation from source code is supported.

Note: This extension has not been published to the Chrome Web Store due to the developer not registering a Google developer account.

Install from Source Code

  1. Download or Clone the Code: Clone the project repository to your local computer (Or download the ZIP from the release and unzip it)

    git clone https://github.com/ChuwuYo/MultiLangSwitcher.git
  2. Open Browser Extensions Management: Enter chrome://extensions/ / edge://extensions/ in the Chrome browser address bar and press Enter to go to the Extensions management page.

  3. Enable Developer Mode: Turn on the "Developer mode" switch in the top right corner of the page.

  4. Load Unpacked Extension: Click the "Load unpacked" button in the top left corner of the page and select the MultiLangSwitcher project folder you downloaded.

  5. Complete: The extension will be successfully added to the browser, and you can start using it.


Usage

  1. Open the Extension Popup: Click the MultiLangSwitcher extension icon in the browser toolbar.
  2. Select Preferred Language: In the popup dropdown menu, select the language you want the browser to simulate.
  3. Apply Settings: Click the "Apply Changes" button at the bottom of the interface. Your settings will be saved and immediately applied to new network requests.
  4. Verification and Debugging: Click the "Detection Page" or "Debugging Tools" links provided in the popup to verify if the language settings are effective, or to diagnose issues when they occur.

Thanks to Contributors (Welcome to Submit PRs)

License

FOSSA Status

About

MultiLangSwitcher - a Chromium-based V3 extension. It helps users quickly switch the Accept-Language HTTP header —— 一个 Chromium 内核浏览器V3扩展,帮助用户快速切换 HTTP 请求头语言

Topics

Resources

License

Stars

Watchers

Forks