feat: configurable VPS URL, 163 mail support, mail provider selector

- VPS URL: now an input field in Side Panel, no longer hardcoded
  - Dynamic script injection via chrome.scripting.executeScript
  - host_permissions changed to <all_urls> for flexibility
- 163 Mail: new content script (mail-163.js) with actual selectors
  - Mail items: div[sign="letter"], sender: .nui-user, subject: span.da0
  - Supports aria-label fallback for matching
- Mail provider selector: dropdown to switch between QQ Mail and 163 Mail
  - Background routes steps 4/7 to correct mail content script
- Settings persist in chrome.storage.session
This commit is contained in:
unknown
2026-04-05 09:56:48 +08:00
parent 5d6b2789b1
commit c6f1070ace
9 changed files with 3063 additions and 35 deletions
+13 -2
View File
@@ -41,13 +41,24 @@
<section id="data-section">
<div class="data-card">
<div class="data-row">
<span class="data-label">OAuth</span>
<span id="display-oauth-url" class="data-value mono truncate">Waiting...</span>
<span class="data-label">VPS</span>
<input type="text" id="input-vps-url" class="data-input" placeholder="http://ip:port/management.html#/oauth" />
</div>
<div class="data-row">
<span class="data-label">Mail</span>
<select id="select-mail-provider" class="data-select">
<option value="qq">QQ Mail (wx.mail.qq.com)</option>
<option value="163">163 Mail (mail.163.com)</option>
</select>
</div>
<div class="data-row">
<span class="data-label">Email</span>
<input type="text" id="input-email" class="data-input" placeholder="Paste DuckDuckGo email" />
</div>
<div class="data-row">
<span class="data-label">OAuth</span>
<span id="display-oauth-url" class="data-value mono truncate">Waiting...</span>
</div>
<div class="data-row">
<span class="data-label">Callback</span>
<span id="display-localhost-url" class="data-value mono truncate">Waiting...</span>