Skip to content

LoopCtrl v0.3.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 18:11

LoopCtrl 0.3.0:合并仓库后的首个正式 tag,版本号与中继(server-v0.3.0)、Pair(pair-v0.3.0)统一。主打新功能:通过中继或局域网直接从浏览器远程控制 iPhone。/ The first tagged release of the merged repository, with version numbers unified to 0.3.0 across the app, the relay (server-v0.3.0) and Pair (pair-v0.3.0). Headline: control the iPhone from a browser, through the relay or directly on the LAN.

🔧 改进 / Improvements

  • 浏览器远程控制:手机保持一条到中继的 WebSocket 隧道,浏览器打开手机的公共地址(…/d/<slug>/)即可控制,与局域网直连同一套 /remote 控制页和 /rpc 接口(见 remote-control.md)/ Browser remote control: the phone holds one WebSocket tunnel to the relay; opening the phone's public address (…/d/<slug>/) in a browser gives the same /remote control page and /rpc API as the LAN
  • 版本统一:app、中继、Pair 三端从本版本起使用同一版本号迭代 / Unified versioning: the app, the relay and Pair share one version number from this release on
  • 中继配套:本版本需要支持 loopctrl-tunnel-v1 的中继(server-v0.3.0 起)才可远程;旧中继只影响远程功能,USB 直连不受影响 / Relay requirement: remote control needs a tunnel-capable relay (server-v0.3.0 or later); USB pairing and LAN control are unaffected
  • 控制页功能区去掉「锁屏」和「唤醒」:锁屏对浏览器这一侧没有可见收益;unlock 只能按 Home 键,设有密码时进不去,而它把「真的解锁」当作成功条件,于是白等几秒报超时。RPC 的 lock / unlock / is_locked 不变,无密码的无人值守测试机照旧可调用 / The control page's tool rail no longer carries Lock and Wake: locking gains the browser operator nothing, and unlock only presses Home — with a passcode set it can never meet its own success test, so it waited out and timed out. The lock / unlock / is_locked RPCs are unchanged, as before for unattended test devices without a passcode
  • 中继连接详情页两行同栅格:控制地址落在标题那一列,复制 / 分享落在值那一列的右边缘 / The relay connection detail rows share one grid: the control address sits in the title's column, copy and share on the value's trailing edge
  • 局域网也有了「网页控制」入口:设置首页的连接卡片新增一行,给出 http://<局域网地址>:8300/remote,可复制、可分享;地址取服务自己报告的那份(隧道和蜂窝的占位地址已被排除),没有局域网就不出现这一行。齿轮页里重复显示的本机 / 局域网两条一并删掉,一个地址从此只出现在一处 / The LAN gets a Control page entry: the home screen's connection card now carries http://<lan address>:8300/remote, to copy or share. The address comes from what the service itself advertises (tunnel and cellular placeholders excluded), and the row is absent when there is no LAN. The gear page's duplicate This device / Wi-Fi rows are gone — an address now appears in exactly one place

📥 下载地址 / Downloads

  • iOS 应用 App(未签名 IPA,需自行重签后侧载):LoopCtrl.ipa — 一个应用占一个侧载位,可直接覆盖旧版 LoopCtrl
  • 全部文件的 SHA256 / Checksums:SHA256SUMS.txt

Bundle version 0.3.0 (build 3).

Install

Download LoopCtrl.ipa. It is one app and takes one sideloading slot. It
replaces an older LoopCtrl install. Check it against SHA256SUMS.txt if you
like.

  1. Re-sign and install it: the latest SideStore (My Apps → +) with a free
    Apple ID, or on a Mac Scripts/sign-ipa.sh -i LoopCtrl.ipa.
    Signers that skip the nested .xctest produce an app that crashes on open.
  2. Trust the certificate under Settings → General → VPN & Device Management,
    and turn on Developer Mode.
  3. Below iOS 27, pair once over USB with
    LoopCtrl Pair (Windows,
    macOS, Linux, Android) or import a pairing file. On iOS 27 and later, pair
    on the phone.
  4. Open LoopCtrl → mount the Developer Disk Image (with LocalDevVPN or
    Shadowrocket connected) → Start. The first start asks for your passcode
    and for Notifications and Local Network access.

The package is unsigned, so iOS will not install it as-is. It carries no
provisioning profile, no team id and no device identifiers.

See the README for
requirements by iOS version, pairing approval, LAN and remote access, and the
API.