mirror of
git://f0xx.org/android_cast
synced 2026-07-29 04:18:09 +03:00
some rssh stuff
This commit is contained in:
@@ -518,8 +518,16 @@
|
||||
const rowKey = 'ra-' + i;
|
||||
const briefId = 'ra-brief-' + rowKey;
|
||||
const wl = Number(d.whitelisted) === 1;
|
||||
const canOpen = canOperate() && wl && (d.opt_in_mode === 'wireguard' || d.opt_in_mode === 'rssh');
|
||||
const openDisabled = canOpen ? '' : ' disabled title="Whitelist device and wait for WireGuard/RSSH opt-in poll"';
|
||||
const optIn = d.opt_in_mode || 'none';
|
||||
const openReady = wl && (optIn === 'wireguard' || optIn === 'rssh');
|
||||
const openHint = !canOperate()
|
||||
? 'Need remote_access_operate permission'
|
||||
: !wl
|
||||
? 'Whitelist device first'
|
||||
: openReady
|
||||
? 'Open session — device connects on next poll (≤7 min)'
|
||||
: 'Phone must poll with RSSH/WG enabled (dev settings on device; wait ≤7 min)';
|
||||
const openDisabled = canOperate() ? '' : ' disabled';
|
||||
const wlDisabled = canAdmin() ? '' : ' disabled';
|
||||
const isOpen = lastExpanded.has(String(d.device_id || ''));
|
||||
const rowClass =
|
||||
@@ -545,6 +553,8 @@
|
||||
openDisabled +
|
||||
' data-open-session="' +
|
||||
esc(d.device_id) +
|
||||
'" title="' +
|
||||
esc(openHint) +
|
||||
'">Open session</button> ' +
|
||||
'<button type="button" class="btn btn-sm"' +
|
||||
wlDisabled +
|
||||
@@ -691,6 +701,22 @@
|
||||
const openId = t.getAttribute('data-open-session');
|
||||
if (openId) {
|
||||
if (!canOperate()) return;
|
||||
const dev = (lastDevices || []).find((d) => String(d.device_id) === openId);
|
||||
const wl = dev && Number(dev.whitelisted) === 1;
|
||||
const optIn = dev ? dev.opt_in_mode || 'none' : 'none';
|
||||
if (!wl) {
|
||||
setStatus('Whitelist device ' + openId + ' first', true);
|
||||
return;
|
||||
}
|
||||
if (optIn !== 'wireguard' && optIn !== 'rssh') {
|
||||
setStatus(
|
||||
'Device opt-in is "' +
|
||||
optIn +
|
||||
'". On phone: dev settings → Remote access → RSSH, then wait for poll (≤7 min).',
|
||||
true
|
||||
);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
setStatus('Opening session for ' + openId + '…');
|
||||
await fetchJson(apiUrl('open_session'), {
|
||||
|
||||
Reference in New Issue
Block a user