diff --git a/README.md b/README.md index 5937b04..94b6377 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,6 @@ Since version 6.0.19, the WebUI has been rolled into the main program. You can a - Download existing authentication files - Delete single or all authentication files - Display file details -- **Gemini Web Token**: Direct authentication using browser cookies ### Usage Statistics - **Real-time Analytics**: Track API usage with interactive charts diff --git a/README_CN.md b/README_CN.md index 7931d6e..3862032 100644 --- a/README_CN.md +++ b/README_CN.md @@ -42,7 +42,6 @@ https://remote.router-for.me/ - 下载现有认证文件 - 删除单个或所有认证文件 - 显示文件详细信息 -- **Gemini Web Token**: 使用浏览器 Cookie 直接认证 ### 使用统计 - **实时分析**: 通过交互式图表跟踪 API 使用情况 diff --git a/app.js b/app.js index 1741b17..f07660a 100644 --- a/app.js +++ b/app.js @@ -538,12 +538,6 @@ class CLIProxyManager { } - // Gemini Web Token - const geminiWebTokenBtn = document.getElementById('gemini-web-token-btn'); - if (geminiWebTokenBtn) { - geminiWebTokenBtn.addEventListener('click', () => this.showGeminiWebTokenModal()); - } - // 认证文件管理 const uploadAuthFile = document.getElementById('upload-auth-file'); const deleteAllAuthFiles = document.getElementById('delete-all-auth-files'); @@ -2430,107 +2424,6 @@ class CLIProxyManager { - // 显示 Gemini Web Token 模态框 - showGeminiWebTokenModal() { - const inlineSecure1psid = document.getElementById('secure-1psid-input'); - const inlineSecure1psidts = document.getElementById('secure-1psidts-input'); - const inlineLabel = document.getElementById('gemini-web-label-input'); - const modalBody = document.getElementById('modal-body'); - modalBody.innerHTML = ` -

${i18n.t('auth_login.gemini_web_button')}

-
-
- - -
从浏览器开发者工具 → Application → Cookies 中获取
-
-
- - -
从浏览器开发者工具 → Application → Cookies 中获取
-
-
- - -
为此认证文件设置一个标签名称(可选)
-
- -
- `; - this.showModal(); - - const modalSecure1psid = document.getElementById('modal-secure-1psid'); - const modalSecure1psidts = document.getElementById('modal-secure-1psidts'); - const modalLabel = document.getElementById('modal-gemini-web-label'); - - if (modalSecure1psid && inlineSecure1psid) { - modalSecure1psid.value = inlineSecure1psid.value.trim(); - } - if (modalSecure1psidts && inlineSecure1psidts) { - modalSecure1psidts.value = inlineSecure1psidts.value.trim(); - } - if (modalLabel && inlineLabel) { - modalLabel.value = inlineLabel.value.trim(); - } - - if (modalSecure1psid) { - modalSecure1psid.focus(); - } - } - - // 保存 Gemini Web Token - async saveGeminiWebToken() { - const secure1psid = document.getElementById('modal-secure-1psid').value.trim(); - const secure1psidts = document.getElementById('modal-secure-1psidts').value.trim(); - const label = document.getElementById('modal-gemini-web-label').value.trim(); - - if (!secure1psid || !secure1psidts) { - this.showNotification('请填写完整的 Cookie 信息', 'error'); - return; - } - - try { - const requestBody = { - secure_1psid: secure1psid, - secure_1psidts: secure1psidts - }; - - // 如果提供了 label,则添加到请求体中 - if (label) { - requestBody.label = label; - } - - const response = await this.makeRequest('/gemini-web-token', { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(requestBody) - }); - - this.closeModal(); - this.loadAuthFiles(); // 刷新认证文件列表 - const inlineSecure1psid = document.getElementById('secure-1psid-input'); - const inlineSecure1psidts = document.getElementById('secure-1psidts-input'); - const inlineLabel = document.getElementById('gemini-web-label-input'); - if (inlineSecure1psid) { - inlineSecure1psid.value = secure1psid; - } - if (inlineSecure1psidts) { - inlineSecure1psidts.value = secure1psidts; - } - if (inlineLabel) { - inlineLabel.value = label; - } - this.showNotification(`${i18n.t('auth_login.gemini_web_saved')}: ${response.file}`, 'success'); - } catch (error) { - this.showNotification(`保存失败: ${error.message}`, 'error'); - } - } - // ===== Codex OAuth 相关方法 ===== // 开始 Codex OAuth 流程 diff --git a/i18n.js b/i18n.js index fe21c4e..1cfe8bb 100644 --- a/i18n.js +++ b/i18n.js @@ -214,17 +214,6 @@ const i18n = { 'auth_files.delete_all_success': '成功删除', 'auth_files.files_count': '个文件', - // Gemini Web Token - 'auth_login.gemini_web_title': 'Gemini Web Token', - 'auth_login.gemini_web_button': '保存 Gemini Web Token', - 'auth_login.gemini_web_hint': '从浏览器开发者工具中获取 Gemini 网页版的 Cookie 值,用于直接认证访问 Gemini。', - 'auth_login.secure_1psid_label': '__Secure-1PSID Cookie:', - 'auth_login.secure_1psid_placeholder': '输入 __Secure-1PSID cookie 值', - 'auth_login.secure_1psidts_label': '__Secure-1PSIDTS Cookie:', - 'auth_login.secure_1psidts_placeholder': '输入 __Secure-1PSIDTS cookie 值', - 'auth_login.gemini_web_label_label': '标签 (可选):', - 'auth_login.gemini_web_label_placeholder': '输入标签名称 (可选)', - 'auth_login.gemini_web_saved': 'Gemini Web Token 保存成功', // Codex OAuth 'auth_login.codex_oauth_title': 'Codex OAuth', @@ -593,18 +582,6 @@ const i18n = { 'auth_files.delete_all_success': 'Successfully deleted', 'auth_files.files_count': 'files', - // Gemini Web Token - 'auth_login.gemini_web_title': 'Gemini Web Token', - 'auth_login.gemini_web_button': 'Save Gemini Web Token', - 'auth_login.gemini_web_hint': 'Obtain the Cookie value of the Gemini web version from the browser\'s developer tools, used for direct authentication to access Gemini.', - 'auth_login.secure_1psid_label': '__Secure-1PSID Cookie:', - 'auth_login.secure_1psid_placeholder': 'Enter __Secure-1PSID cookie value', - 'auth_login.secure_1psidts_label': '__Secure-1PSIDTS Cookie:', - 'auth_login.secure_1psidts_placeholder': 'Enter __Secure-1PSIDTS cookie value', - 'auth_login.gemini_web_label_label': 'Label (Optional):', - 'auth_login.gemini_web_label_placeholder': 'Enter label name (optional)', - 'auth_login.gemini_web_saved': 'Gemini Web Token saved successfully', - // Codex OAuth 'auth_login.codex_oauth_title': 'Codex OAuth', 'auth_login.codex_oauth_button': 'Start Codex Login', diff --git a/index.html b/index.html index 37d4cbd..6bfe113 100644 --- a/index.html +++ b/index.html @@ -372,45 +372,6 @@ - -
-
-

Gemini Web Token

- -
-
-

- 从浏览器开发者工具中获取 Gemini 网页版的 Cookie 值,用于直接认证访问 Gemini。 -

-
- - -
-
- - -
-
- - -
-
-
-
diff --git a/styles.css b/styles.css index 69c98b7..c66e458 100644 --- a/styles.css +++ b/styles.css @@ -1923,44 +1923,6 @@ input:checked+.slider:before { } -/* Gemini Web Token 模态框样式 */ -.gemini-web-form .form-group { - margin-bottom: 20px; -} - -.gemini-web-form .form-group label { - display: block; - margin-bottom: 8px; - color: var(--text-secondary); - font-weight: 600; - font-size: 14px; -} - -.gemini-web-form .form-group input { - width: 100%; - padding: 12px 16px; - border: 2px solid var(--border-primary); - border-radius: 8px; - font-size: 14px; - transition: all 0.3s ease; - background: var(--bg-tertiary); - color: var(--text-primary); - font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; -} - -.gemini-web-form .form-group input:focus { - outline: none; - border-color: var(--border-focus); - box-shadow: 0 0 0 3px var(--border-primary); -} - -.gemini-web-form .form-hint { - margin-top: 6px; - color: var(--text-tertiary); - font-size: 12px; - line-height: 1.4; -} - /* 使用统计样式 */ .stats-overview { display: grid;