-
Notifications
You must be signed in to change notification settings - Fork 539
Expand file tree
/
Copy pathstrings.xml
More file actions
125 lines (108 loc) · 9.02 KB
/
Copy pathstrings.xml
File metadata and controls
125 lines (108 loc) · 9.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">mhrv-rs</string>
<!-- Top-bar -->
<string name="tb_check_update_checking">checking…</string>
<string name="tb_version_prefix">v</string>
<!-- Section headers -->
<string name="sec_apps_script_relay">Apps Script relay</string>
<string name="sec_network">Network</string>
<string name="sec_sni_pool_tester">SNI pool + tester</string>
<string name="sec_advanced">Advanced</string>
<string name="sec_live_logs">Live logs</string>
<string name="sec_how_to_use">How to use</string>
<string name="sec_app_splitting">App splitting</string>
<!-- Primary actions -->
<string name="btn_connect">Connect</string>
<string name="btn_disconnect">Disconnect</string>
<string name="btn_install_mitm">Install MITM certificate</string>
<string name="btn_auto_detect_google_ip">Auto-detect google_ip</string>
<string name="btn_test_all">Test all</string>
<string name="btn_test">Test</string>
<string name="btn_add">Add</string>
<string name="btn_clear">Clear</string>
<string name="btn_copy">Copy</string>
<string name="btn_install">Install</string>
<string name="btn_cancel">Cancel</string>
<!-- Field labels -->
<string name="field_deployment_urls">Deployment URL(s) or script ID(s)</string>
<string name="placeholder_paste_ids">Paste one URL/ID, or many separated by newline / space / comma / semicolon</string>
<string name="field_auth_key">auth_key</string>
<string name="field_google_ip">google_ip</string>
<string name="field_front_domain">front_domain</string>
<string name="field_connection_mode">Connection mode</string>
<string name="field_add_custom_sni">Add custom SNI</string>
<!-- Connection mode -->
<string name="mode_vpn_tun">VPN (TUN) — routes every app</string>
<string name="mode_proxy_only">Proxy only — configure per-app</string>
<!-- App splitting -->
<string name="split_all">All apps</string>
<string name="split_only">Only selected apps</string>
<string name="split_except">All except selected</string>
<string name="split_pick_apps">Pick apps…</string>
<!-- Install dialog title -->
<string name="dialog_install_mitm_title">Install MITM certificate?</string>
<!-- Language toggle -->
<string name="lang_toggle_cd">Switch language</string>
<!-- Supporting / helper text -->
<string name="help_deployment_urls">Full URLs (https://script.google.com/macros/s/.../exec) or bare IDs. Paste many at once into the Add field — they\'ll be split on newline / space / comma / semicolon. Multiple IDs are rotated round-robin — more IDs = more pipeline throughput in full mode.</string>
<string name="help_auth_key">The shared secret you set in the Apps Script.</string>
<string name="help_mode_vpn_tun">Requests the OS VPN grant on Connect. All device traffic is routed automatically.</string>
<string name="help_mode_proxy_only">No OS VPN. Set your Wi-Fi proxy to 127.0.0.1:%1$d (HTTP) or %2$d (SOCKS5) after Connect. Only apps that honour the proxy settings will tunnel.</string>
<string name="help_sni_pool">Enabled SNIs are rotated when connecting to google_ip. Leaving all unchecked lets Rust auto-expand the default Google pool.</string>
<string name="help_app_splitting">Choose which apps go through the VPN. Only applies in VPN (TUN) mode. Our own app is always excluded to avoid routing its own traffic back through the tunnel.</string>
<!-- SNI pool extras -->
<string name="sni_selected_count">%1$d app(s) selected</string>
<!-- Advanced section -->
<string name="adv_verify_tls">Verify upstream TLS</string>
<string name="adv_verify_tls_help">Off disables cert checks for the Google edge. Only useful for debugging.</string>
<string name="adv_youtube_via_relay">Send YouTube through relay</string>
<string name="adv_youtube_via_relay_help">Route youtube.com / youtu.be / ytimg.com through Apps Script relay instead of SNI-rewrite tunnel. Avoids restricted mode but slower for video.</string>
<string name="adv_log_level">log_level</string>
<string name="adv_parallel_relay">parallel_relay: %1$d</string>
<string name="adv_parallel_relay_help">Fan-out per request. 1 is normal; bump to 2-3 on lossy links.</string>
<string name="adv_upstream_socks5">upstream_socks5 (optional)</string>
<string name="adv_upstream_socks5_help">If set, route upstream via this SOCKS5. Leave blank for direct.</string>
<!-- Curated fronting groups -->
<string name="adv_fronting_groups_count">Fronting groups: %1$d</string>
<string name="adv_fronting_groups_help">Curated bundle covers vercel, fastly (reddit/cnn/python), AWS CloudFront (netlify), and direct GitHub paths. Edit IPs in config.json if a group stops working.</string>
<string name="btn_load_curated_groups">Load curated fronting groups</string>
<string name="toast_curated_loaded">Loaded curated groups: %1$d added, %2$d already present.</string>
<string name="toast_curated_load_failed">Could not read curated fronting groups asset.</string>
<!-- Live logs -->
<string name="logs_lines_count">%1$d lines</string>
<!-- Config import/export -->
<string name="btn_import_clipboard">Paste config from clipboard</string>
<string name="btn_export_config">Export config</string>
<string name="btn_export_qr">Show QR code</string>
<string name="btn_scan_qr">Scan QR code</string>
<string name="btn_copy_hash">Copy to clipboard</string>
<string name="snack_config_imported">Config imported</string>
<string name="snack_config_copied">Config copied to clipboard</string>
<string name="snack_invalid_config">Invalid config in clipboard</string>
<string name="dialog_export_title">Export config</string>
<string name="dialog_export_warning">This includes your auth_key. Only share with people you trust.</string>
<string name="dialog_import_title">Import config?</string>
<string name="dialog_import_body">This will replace your current settings.</string>
<string name="label_camera_permission">Camera permission needed to scan QR codes</string>
<!-- Snackbar -->
<string name="snack_google_ip_updated">google_ip updated to %1$s</string>
<string name="snack_google_ip_current">google_ip already current (%1$s)</string>
<string name="snack_dns_lookup_failed">DNS lookup failed — check network</string>
<string name="snack_logs_copied">Logs copied to clipboard</string>
<!-- Usage today card -->
<string name="sec_usage_today">Usage today (estimated)</string>
<string name="label_calls_today">calls today</string>
<string name="label_bytes_today">bytes today</string>
<!-- Pacific Time day key — Apps Script's UrlFetchApp quota
resets at midnight Pacific, not midnight UTC, so the day
label and the reset countdown both use PT. -->
<string name="label_pt_day">PT day</string>
<string name="label_resets_in">resets in</string>
<string name="usage_calls_of_quota">%1$d / %2$d (%3$.1f%%)</string>
<string name="usage_resets_hm">%1$dh %2$dm</string>
<string name="btn_view_quota_on_google">View quota on Google →</string>
<string name="usage_today_note">Estimate — this is what this device relayed. Google\'s dashboard has the authoritative number.</string>
<!-- "How to use" guide body. Localized — FA copy lives in values-fa. -->
<string name="help_how_to_use">1. Paste one or more Apps Script deployment URLs (or bare IDs) and your auth_key.\n2. Tap Install MITM certificate. Confirm the dialog — the cert is saved to Downloads/mhrv-ca.crt and the Settings app opens. Use Settings\' search bar to find \"CA certificate\", tap that result (NOT \"VPN & app user certificate\" or \"Wi-Fi\"), and pick mhrv-ca.crt from Downloads. You\'ll be asked to set a screen lock if you don\'t have one (Android requirement).\n3. Before tapping Start, expand \"SNI pool + tester\" and hit \"Test all\". If every entry times out, your google_ip is unreachable — replace it with one that resolves locally (e.g. `nslookup www.google.com` on any working device).\n4. Tap Start. Accept the VPN prompt. The full TUN bridge routes every app on the device through the proxy — no per-app setup needed.\n5. If Chrome shows \"504 Relay timeout\": your Apps Script deployment isn\'t responding. Redeploy the script, grab the new /exec URL, and paste it above. Watch Live logs for \"Relay timeout\" vs \"connect:\" errors to tell which layer is failing.\n\nKnown limitation — Cloudflare Turnstile (\"Verify you are human\") will loop endlessly on most CF-protected sites. Every Apps Script request uses a rotating Google-datacenter egress IP + a fixed \"Google-Apps-Script\" User-Agent + a Google TLS fingerprint. The cf_clearance cookie is bound to the (IP, UA, JA3) tuple the challenge was solved against, so the NEXT request — from a different egress IP — gets re-challenged. Nothing in this app can fix that; it\'s inherent to Apps Script as a relay. Sites that only gate the initial page load (not every request) will work after one solve.</string>
</resources>