Frequently Asked Questions
A collection of common issues encountered when using the plugin.
🔐 Authentication Methods
What is the difference between Cookie mode and Access Token method?
The plugin supports two authentication methods:
| Authentication Method | Features | Applicable Scenarios | Recommendation Level |
|---|---|---|---|
| Access Token | ✅ Supports multiple accounts ✅ Permanently valid, does not expire ✅ More secure and stable | Most standard relay sites | ⭐⭐⭐⭐⭐ Highly Recommended |
| Cookie | ⚠️ Single account ⚠️ May expire ✅ Good compatibility | Special sites with Token restrictions Modified sites | ⭐⭐⭐ Use in special cases |
It is recommended to use the Access Token method, unless you encounter the following situations:
- The site does not support access tokens
- Using a modified version of the relay station
- Token functionality is disabled
How to switch authentication methods?
When adding an account, select the corresponding authentication method in the account dialog:
- Click "Add Account"
- Enter the site address
- Select
Access TokenorCookiefrom the "Authentication Method" dropdown - Click "Auto-identify"
🔧 Special Site Issues
What to do if AnyRouter website reports an error?
AnyRouter is a modified relay station and does not support the standard Access Token method.
Solution:
- When adding an account, select Cookie mode
- First, log in to the AnyRouter site in your browser
- Then use the plugin's auto-identify function to add the account
Note
Because AnyRouter has modified the API, some functions may not work properly. If you encounter problems, it is recommended to contact the site administrator.
How to add Sub2API (JWT Site)?
Common features of Sub2API sites: the console interface is at /api/v1/*, and it uses a short-term JWT (auth_token) + refresh token (which rotates) login state. The console writes login information to localStorage:
auth_token: JWT access token (short-term)auth_user: User information (includingid, etc.)refresh_token: Refresh token (optional; used to refresh access token, and usually rotates)token_expires_at: Access token expiration timestamp (milliseconds, optional)
The plugin supports two operating modes:
Mode One: Console Session Mode (Default/Compatible)
In this mode, the refresh_token is not saved in the plugin. The plugin needs to read auth_token / auth_user from the console's localStorage to auto-identify and refresh the balance. Therefore, you must first log in to the site console in your browser.
Adding Steps:
- Open the target site console in your browser and log in (ensure you are not redirected back to the login page).
- Open the plugin → Add Account.
- Enter the site URL and click "Auto-identify".
Notes and Limitations:
- For the same site (same origin), localStorage can only have one set of login states in a browser session. Therefore, in this mode, the multi-account experience for the same site is very poor: switching console accounts will overwrite localStorage, and the plugin will also "switch users" accordingly.
- If refresh results in 401, the plugin will try to re-read
auth_tokenand retry once; if it still fails, please re-log in to the site console before refreshing/re-identifying.
Mode Two: Plugin-Managed Session (Multi-Account, Recommended)
When enabled, the plugin saves the refresh_token as an account-private credential (and will be included with export/WebDAV backups), allowing each Sub2API account to independently refresh JWTs, supporting multi-account for the same site.
Recommended Import Process (Incognito/Private Window, to reduce rotation conflicts):
- Open an incognito/private window and log in to the target Sub2API console.
- In the plugin, add/edit an account, click "Import from current logged-in account" (or "Auto-identify/Re-identify") to import session information.
- In the form, enable "Plugin-managed session (multi-account)" and confirm that the
refresh_tokenhas been brought in, then save. - Close the incognito/private window (to clear the site's localStorage/cookies), to avoid the console and plugin from concurrently refreshing the same
refresh_tokencausing mutual invalidation.
Security Reminder:
refresh_tokenis a long-term credential; after enabling this mode, it will be saved with account export/WebDAV backups. Please keep your backup files and WebDAV credentials safe.- If the browser requires it, please enable "Allow in incognito/private window" in extension management.
Troubleshooting:
- If a message indicates that
refresh_tokenis invalid/rotated, please re-import according to the above process (or manually paste the newrefresh_token) and retry.
Other Known Limitations:
- Only supports Access Token (JWT) mode, does not support Cookie authentication.
- Does not currently support site check-in functionality (check-in detection will be automatically closed).
- The current version mainly synchronizes balance/quota; statistics such as "today's usage/income" may be 0.
What to do if auto-identification fails?
If auto-identification fails, you can try the following methods:
- Switch authentication method: Try switching from Access Token to Cookie mode
- Manual addition: If auto-identification fails, manually fill in the following information:
- Username
- User ID
- Access Token
- Recharge Ratio
- Check login status: Ensure you are logged in to the target site in your browser
- Check site compatibility: Confirm whether the site is based on a supported project (see below)
Which sites might not be compatible?
If a site has undergone deep secondary development and modified key interfaces (such as /api/user), the plugin may not work properly.
Common incompatibility situations:
- Modified user information interface
- Disabled access token functionality
- Customized authentication methods
- Modified API response format
🐛 Features and Bugs
What to do if I encounter a functional issue or bug?
- Search Issues: Go to GitHub Issues to search for similar issues
- Use the latest version:
- Store versions update slowly, it is recommended to use the GitHub Release version
- Or directly use the development version from the
mainbranch
How to get the latest version?
The plugin is published on multiple platforms, with varying update speeds:
| Platform | Update Speed | Version Acquisition |
|---|---|---|
| GitHub Releases | ⚡ Fastest | Download Here |
| Chrome Web Store | 🐌 Slower (3-5 days review) | Install Here |
| Edge Add-ons | 🐌 Slower (3-5 days review) | Install Here |
| Firefox Add-ons | ⚡ Fast (a few hours review) | Install Here |
Recommendation
If you encounter a bug that has been fixed, it is recommended to download the latest version from GitHub Releases and install it manually.
⚙️ Feature Usage Issues
How to use WebDAV backup?
WebDAV backup can help you synchronize data across multiple devices:
Configure WebDAV:
- Open "Settings" → "WebDAV Backup"
- Fill in the WebDAV server address (full URL)
- Fill in username and password
Select synchronization strategy:
Merge(recommended): Intelligently merge local and remote dataUpload only: Only upload local data to the serverDownload only: Only download data from the server
Enable auto-synchronization:
- Check "Enable auto-synchronization"
- Set the synchronization interval (default 3600 seconds/1 hour)
Recommended Services
- Jianguoyun (Nutstore) (Fast access in China)
- Nextcloud (Self-hosted)
- Synology NAS
How to export to CherryStudio / New API?
The quick export function allows one-click import of site configurations to other platforms:
Configuration Steps:
For New API:
- Open "Settings" → "Basic Settings"
- Configure the New API server address
- Fill in the Admin Token
- Fill in the User ID
For CherryStudio:
- No additional configuration required
- Ensure CherryStudio is running
Export Process:
- Go to the "Key Management" page
- Find the site to be exported
- Click the operation menu
- Select "Export to CherryStudio" or "Export to New API"
Smart Detection
When exporting to New API, the plugin will automatically detect if the same channel already exists to avoid duplicate additions.
For more complete export and integration instructions, please refer to Quick Export Site Configuration; if you wish to integrate with the CLIProxyAPI management interface, please refer to CLIProxyAPI Integration.
How to use the site check-in feature?
Some relay stations support daily check-ins to receive rewards:
Enable check-in detection:
- Edit account
- Check "Enable check-in detection"
Custom check-in URL (optional):
- If the site check-in page is not a standard path
- You can fill in "Custom check-in URL"
- Fill in "Custom recharge URL" (optional)
Perform check-in:
- Accounts requiring check-in will display a check-in icon
- Click the check-in button on the account card
- The check-in page will automatically open
How to customize account sorting?
The plugin supports setting priorities for various sorting methods:
Enter sorting settings:
- Open "Settings" → "Sorting Priority Settings"
Adjust priority:
- Drag sorting conditions to adjust priority
- Check/uncheck to enable/disable conditions
Available sorting conditions:
- 📌 Current site pinned to top
- 🏥 Health status sorting (Error > Warning > Unknown > Normal)
- ✅ Accounts needing check-in pinned to top
- 🔗 Accounts with custom check-in URL pinned to top
- 📊 User-defined field sorting (Balance/Consumption/Income/Name)
For detailed meanings and example configurations of each sorting rule, please refer to Sorting Priority Settings.
How to set up automatic refresh?
Automatic refresh keeps account data up-to-date:
Enable automatic refresh:
- Open "Settings" → "Automatic Refresh"
- Check "Enable timed automatic refresh"
Set refresh interval:
- Default: 360 seconds (6 minutes)
- Minimum: 60 seconds (1 minute)
- Adjust based on the number of sites
Other options:
- ✅ Auto-refresh when opening the plugin
- ✅ Display health status
Note
A refresh interval that is too short may lead to frequent requests. It is recommended to be no less than 60 seconds.
How to use Balance History?
Balance history is used to view account balance changes and daily income/expense trends over the long term. When enabled, it records daily aggregated snapshots locally and displays them in charts.
Recorded content (maximum one entry per account per day):
- Balance/Quota:
quota - Today's income:
today_income(from recharge/system log statistics) - Today's expense:
today_quota_consumption(from consumption log statistics) - Record time:
capturedAt - Source:
source(refresh / end-of-day capture)
Recording methods:
- Refresh driven: After a successful account refresh, the current day's snapshot is updated. This process follows the "Show today's income/expense" switch and will not force additional log retrieval specifically for balance history.
- End-of-day capture (optional): When enabled, a background capture will be performed once every day around
23:55, and will force inclusion of today's income/expense to fill in as much income/expense data for the day as possible.
Prerequisites (Important):
- If "Show today's income/expense" is turned off, the income/expense fields driven by refresh will be empty.
- If you wish to record income/expense history, please enable any of the following:
- "Show today's income/expense" (calculates today's income/expense during refresh)
- "End-of-day capture" (forces a daily retrieval of today's income/expense)
Limitations and Notes:
- Best-effort: Browser sleep, network interruptions, or site restrictions may cause some days to be missing, and the chart will show breaks/blanks.
- No historical backfill: Historical logs will not be re-queried to fill in past dates (to avoid generating a large number of network requests).
- Retention and cleanup: Only the most recent N days (default 365 days) are retained. Snapshots outside the window are automatically cleaned up during writing; you can also manually execute "Clean up" on the page.
- Local storage: Balance history is only stored locally (the current version does not migrate with import/export / WebDAV synchronization).
📱 Mobile Usage
How to use on mobile phones?
The plugin supports use on mobile devices:
Android Devices:
Install Kiwi Browser (recommended)
- Perfect compatibility with Chrome extensions
- Supports all features
Or install Firefox for Android
- Install from Firefox Add-ons
iOS Devices:
- Not currently supported (iOS restrictions)
Mobile Usage Recommendations
- Use sidebar mode: More suitable for mobile screens
- Enable automatic refresh: Avoid frequent manual refreshes
- Configure WebDAV synchronization: Synchronize data between computer and phone
🔒 Data Security
Where is the data stored?
- Local storage: All data is stored in the browser's local storage
- Completely offline: The core functionality of the plugin does not require internet
- No data upload: No data is uploaded to any third-party servers
Will data be lost?
It is recommended to back up data regularly:
JSON Export:
- Go to "Settings" → "Data and Backup"
- Click "Export Data"
- Save the JSON file
WebDAV Synchronization (recommended):
- Automatic backup to the cloud
- Supports multi-device synchronization
🆘 Other Issues
What is site duplication detection?
When adding a site, the plugin automatically detects if the same site already exists:
- Based on the site URL
- If it already exists, it will prompt and allow quick modification
- Avoids adding duplicate sites
What does "Health Status" mean?
Health status indicates account availability:
| Status | Icon | Meaning |
|---|---|---|
| 🟢 Normal | Healthy | Account is operating normally |
| 🟡 Warning | Warning | Low balance or needs attention |
| 🔴 Error | Error | API call failed or account anomaly |
| ⚪ Unknown | Unknown | Not yet detected or status cannot be obtained |
Does the plugin consume traffic?
- Only accesses the site API when refreshing account data
- Very small request volume (approx. a few KB per site)
- It is recommended to use automatic refresh in a WiFi environment
How to contribute code?
Pull requests are welcome:
- Fork the project repository
- Create a feature branch
- Commit your code
- Submit a Pull Request
See: CONTRIBUTING.md
📚 Related Documentation
Can't find an answer?
If the above content does not solve your problem, feel free to ask in GitHub Issues.