
What Gemini Config Checker Does
Gemini Config Checker tests proxy configurations to determine whether they can reach Google AI Studio and Gemini. Unlike a basic HTTP probe, its region-checking mode opens the services in a signed-in Chromium-based browser and reads the verdict Google presents to the account.
This distinction matters because Google determines regional availability after a signed-in page loads. A route may successfully reach Google while still being blocked from AI Studio, Gemini, or both. The same proxy exit can also receive different results over time.
Version 0.1.0 is an early pre-release. The complete workflow has been tested on Windows. macOS, Linux, and Android packages are produced by CI, but the README notes that they have not yet been exercised on real devices.
Key Features
- Signed-in region verification: Checks the messages and redirects shown by Google AI Studio and Gemini.
- Connectivity-only testing: Confirms that a route reaches Google and measures latency without requiring a browser sign-in.
- Simple mode: Tests proxy configurations directly from your device.
- Advanced mode: Chains free configurations behind a working base configuration to find alternative exits.
- Multiple input formats: Accepts supported share links, subscription URLs, base64 subscriptions, and, where applicable, complete Xray JSON configurations.
- Anti-DPI profile: Applies editable fragmentation, fingerprint, ALPN, cipher-suite, and clean-IP settings.
- Result filtering and export: Copies links, generates base64 subscriptions, and creates Xray configurations.
- Cross-platform packages: Releases include desktop, web server, and Android variants, subject to platform-specific limitations.
Understand Simple and Advanced Modes
Simple mode
Use Simple mode when you already have a collection of configurations and want to identify which ones work. The tested route is:
you -> config -> AI Studio or GeminiYou can provide vless://, vmess://, trojan://, or ss:// links, a subscription URL, or base64 subscription text. You may also leave the input empty and select a ready-made free list.
Advanced mode
Use Advanced mode when you have a base configuration that connects successfully but need a different exit that Google accepts. The route becomes:
you -> base config -> free config -> AI Studio or GeminiThe base may be a share link, a complete Xray JSON configuration, or a multi-hop chain. Before scanning candidates, the application tests the base route and stops if it cannot reach Google.
In this mode, anti-DPI settings affect the base configuration's first hop. Exported Xray configurations preserve the base -> free chain.
Installation and Setup
Download and verify a release
- Open the project's Releases page.
- Download the package matching your operating system and architecture.
- Use the included
SHA256SUMS.txtfile to verify the download when possible.
Windows
- Download the Windows desktop ZIP for
amd64orarm64. - Extract it to a directory of your choice.
- Run
GeminiConfigChecker.exe. - If SmartScreen warns about the unsigned build, select More info and then Run anyway if you trust the downloaded release.
Region checks require Chrome, Edge, or Brave. WebView2 is included with Windows 10 and Windows 11.
macOS
- Download and extract the universal macOS archive.
- Move the application to Applications.
- On the first launch, right-click the application and choose Open.
If macOS continues to block the application, the README provides this command:
xattr -dr com.apple.quarantine "/Applications/GeminiConfigChecker.app"Linux
On Debian or Ubuntu, install the desktop runtime libraries:
sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0Extract the archive and start the desktop application:
tar -xzf gemini-config-checker-desktop_<version>_linux_amd64.tar.gz
./GeminiConfigCheckerUse the web server build on a machine without a desktop environment:
./gemini-config-checkerThen open http://localhost:8787. Region checking on Linux requires Chrome, Chromium, Edge, or Brave and a graphical session.
Android
- Download the
arm64-v8aAPK on an Android 8 or newer device. - Allow installation from the browser or file manager used to open it.
- Install and launch the application.
Android supports connectivity-only scans, not signed-in regional checks. Its persistent notification keeps the scanning engine alive when the screen turns off. Use the notification's Stop action to shut down the engine.
If a later APK uses a different signing key, it cannot update the existing installation in place. Uninstall the earlier build before installing the new one.
Web server safety
The web server accepts options such as:
./gemini-config-checker -addr 127.0.0.1:8787
./gemini-config-checker -no-open
./gemini-config-checker -versionThe interface has no authentication. Keep it bound to localhost. To access it remotely, tunnel it instead of exposing it publicly:
ssh -L 8787:localhost:8787 your-serverConnect a Google Account for Region Checks
The application has Scan, Results, and Export tabs. Before running an accurate regional check, connect a Google account:
- Select Sign in with Google.
- Wait for Chrome, Edge, or Brave to open with a separate profile used by the application.
- Sign in normally. The application does not receive your password.
- Wait until the browser closes automatically and the interface reports that the Google account is connected.
Using a secondary account is recommended because requests may originate from many IP addresses, which can trigger a suspicious-sign-in warning. Selecting Remove account from app deletes the application's isolated profile without changing your regular browser profile.
If a supported browser is unavailable, change the check type to connectivity only. This requires no sign-in, but it cannot tell you whether Google permits the exit region.
Basic Usage: Scan Configurations in Simple Mode
- Set the header switch to Simple.
- Paste one supported proxy link per line. You may alternatively paste a subscription URL or base64 subscription.
- If you want to scan a built-in free list, leave the input empty and choose one of the available lists.
- Enable Anti-DPI if ordinary Cloudflare-based configurations do not connect on your network.
- Choose Region with signed-in browser for an availability verdict or Connectivity only for a faster reachability test.
- Select Start scan, or press
CtrlandEnter. - Open the Results tab to watch entries appear.
A basic input might look like this:
vless://...
vmess://...
trojan://...
ss://...The scanner first drops unreachable configurations during connectivity testing. In region mode, surviving routes proceed to browser checks against AI Studio and Gemini.
Basic Usage: Build Chains in Advanced Mode
- Switch to Advanced.
- Paste a working base configuration. This can be a share link, full Xray JSON, or an existing multi-hop chain.
- Enable anti-DPI when the first connection leaving your machine needs it.
- Choose a free configuration source. The README recommends the
verifiedlist, whilecustomaccepts a subscription URL. - Alternatively, paste candidate free configurations yourself.
- Confirm the check type and browser sign-in settings.
- Start the scan.
The application validates the base configuration before testing free routes behind it. If that base cannot reach Google, correct it before continuing.
Configure the Anti-DPI Profile
The anti-DPI profile is designed for filtered networks where plain Cloudflare configurations fail. Its suggested defaults include two fragment masks, an unsafe fingerprint, http/1.1 ALPN, a predefined 13-suite cipher list, and an optional clean IP.
- Finalmask: Splits the TLS ClientHello using the recipe's fragment masks.
- Fingerprint: Defaults to
unsafe, which uses native Go TLS so the configured cipher list applies. - ALPN: Defaults to
http/1.1. - Cipher suites: Uses the list defined by the referenced anti-DPI recipe.
- Clean IP: Replaces the connection address while retaining the original domain for SNI and Host.
Select Read from config to import compatible values from JSON fields such as finalmask, cipherSuites, and alpn, or link parameters such as fm, ciphers, alpn, and fp. Select Suggested values to restore the defaults.
The application's local forwarder reproduces the per-segment lengths and delays behavior used by the PattN Xray fork. Only fragment masks are supported. Disable the profile outside filtered networks because it adds latency.
Choose Practical Scan Settings
- Check type: Region mode is accurate but takes roughly 20 to 40 seconds per configuration. Connectivity mode is faster but does not verify regional access.
- Healthy means: Require both products, only AI Studio, or only Gemini.
- Max configs: Defaults to 60, with the candidate list shuffled before testing.
- Simultaneous browser checks: Defaults to four. Each browser check uses about 200 MB of memory, so reduce this on smaller systems.
- Simultaneous connectivity tests: Defaults to 20.
- Connectivity timeout: Defaults to 10 seconds and can be increased for slower routes.
- Remember: Stores configurations and settings in local storage on the device. Disable it on a shared computer.
Interpret the Results
- Healthy: In region mode, the route passed the selected product rule.
- Connected: In connectivity mode, the route reached Google, but its region was not verified.
- Region blocked: At least one required product displayed its regional restriction.
- Error: The configuration was unreachable, timed out, or encountered a browser problem. Hover over the label for the reported reason.
- Ping: Measures one request through the complete route.
The AI Studio and Gemini columns show separate results because the products may apply different regional rules. You can filter by status, search by name or address, sort by ping or name, and select multiple entries for bulk copying.
A passing result is a sample, not a permanent guarantee. Cloudflare Worker exits may change between connections, so retest the route you intend to keep.
Export Working Configurations
Use Copy to place a share link on the clipboard. You can paste it into clients such as v2rayN, Hiddify, or PattN, or into BPB's Chain Proxy field.
In Simple mode, Copy full config creates an Xray configuration for the selected route. In Advanced mode, Copy with chain creates the complete base-to-free chain. The Export tab can also produce one-link-per-line output, a base64 subscription, or a saved JSON file.
Choose the export target carefully:
- PattN or PattNG: Select the option that includes
finalmask. - Stock Xray or v2rayN: Select the standard option, which removes
finalmaskbecause stock cores cannot parse the fork-specific schema.
Generated files use mixed inbounds on ports 10808 and 10809, pinned DNS, and a UDP port 443 block. In v2rayN, use Servers, then Add custom configuration server. You can also test a generated file directly:
xray run -c file.jsonAdvanced Tips and Troubleshooting
Use the right health rule
If AI Studio works but Gemini is blocked, or the reverse, change Healthy means to match the product you actually need. The two services can return different regional verdicts.
Reduce memory use
Lower the number of simultaneous browser checks on machines with limited memory. Connectivity checks are cheaper and can remain more concurrent unless the network is overloaded.
Fix browser detection
If no supported browser is found, install Chrome, Edge, Brave, or a supported Chromium variant. For a browser in a nonstandard location, set GCC_BROWSER or CHROME_BIN to its executable. Flatpak browsers cannot be driven by the application.
Handle widespread timeouts
If every route times out, verify the configurations in your normal proxy client. In Advanced mode, confirm that the base configuration works. On filtered networks, enable the anti-DPI profile and try a clean IP.
Recover from an expired session
If the application reports that the Google session expired, sign in again. Repeated requests from changing IP addresses may cause Google to require another security check.
Reset the application
First remove the account from the application, then delete its local data if necessary:
- Windows:
%AppData%\GeminiConfigChecker - macOS:
~/Library/Application Support/GeminiConfigChecker - Linux:
~/.config/GeminiConfigChecker
Build from Source
Building requires the Go version specified by go.mod. Desktop builds additionally require Wails v2 and the platform webview dependencies. Android builds require the Android SDK, JDK 17 or newer, and Gradle 8.10.
make test
make web
make desktop
make android
make dist VERSION=0.1.0make test runs vet and unit tests. The other commands build the web server, native desktop application, Android APK, or cross-compiled distribution binaries.
Privacy and Security Considerations
- Google sign-in occurs in a separate browser profile rather than inside the application.
- The application does not receive your Google password.
- Configurations and settings remain in local storage and are saved only when Remember is enabled.
- Traffic to Google remains protected by end-to-end TLS, but a free proxy operator can still observe destinations.
- Do not send sensitive traffic through free configurations operated by unknown parties.
- Do not expose the unauthenticated web interface to a public network.
Conclusion
Gemini Config Checker provides a practical way to distinguish simple connectivity from actual Google AI Studio and Gemini regional availability. Start with Simple mode for direct testing, use Advanced mode when you need an alternate exit behind a reliable base route, and export successful results in the format supported by your client. Because routes and regional verdicts can change, always retest a configuration before relying on it.
