Skip to content

Riplox 1.3.0 - a second way in, and a relay that sleeps

Choose a tag to compare

@xniperbuilds xniperbuilds released this 15 Aug 19:24
· 70 commits to main since this release

A second way in for the sites that refuse the engine, a relay that sleeps
between links, and four defects found by auditing the above rather than by
using it.

When yt-dlp is refused, Riplox now has its own way in

Every desktop downloader is built on yt-dlp, so when a site turns it down they
all stop working on the same day. That is what a TikTok link did here for a
week, and the only advice on offer was to try a different connection — which
did not help either.

So there is a second route for the three sites where it matters: TikTok,
Instagram and Facebook
. It is tried only after yt-dlp has actually failed,
so nothing that works today changes. No browser, no signing, no impersonation —
standard library only: a plain request with a cookie jar, which turned out to
be what the site was waiting for.

YouTube deliberately has no second route. Most of it is signature work that
would break weekly, and yt-dlp already does it better. The second door is for
where yt-dlp loses.

The relay stops holding itself awake

The relay held each poll open for 25 seconds and reopened it the instant it
returned. To Cloudflare that is a request still being processed, and a Durable
Object is billed for wall-clock time whenever it cannot hibernate — so the room
of any PC with Sharing switched on could never sleep.

Measured on this project's own account: one PC used up to 51% of an entire
day's free allowance
, while requests never passed 2%.

Sharing now uses a hibernating WebSocket. The connection stays open while the
relay sleeps, and it is only billed for the moments it is actually handling a
link. The old polling route is untouched — older copies keep working exactly as
they did, and a network that will not pass a WebSocket upgrade falls back to it
automatically.

Also in this release

  • Sign-ins can be paused rather than only forgotten. A stale login used to
    take public videos down with it, and the only cure was throwing the session
    away.
  • A failed request retries once with the saved session left out, for the
    same reason.
  • Settings is one screen again — 5,441 pixels of it became 636. Groups say
    what is inside them, and 36 fields start as 5.
  • A site picker, and a filter so "download copied links instantly" can be
    limited to sites you choose.
  • How each site is behaving — worked · needed Riplox's own route · failed.
    The middle one is the interesting one, and only Riplox can report it.
  • Find everything on a page, a schedule, queue search, bulk
    pause/resume/retry
    , and Accounts in the Library.
  • The browser extension's in-page button can be dragged out of the way, and
    remembers where you put it.

Four defects the audit found

  • Addresses were read out of a page with a pattern that scanned the whole
    thing, including text other people wrote. A comment containing
    "playable_url":"file:///C:/..." was picked up and would have been fetched;
    so were 127.0.0.1 and the cloud metadata address. Addresses are now checked
    against the site's own network before anything is downloaded.
  • A part-finished download resumed on size alone. These addresses are signed
    afresh each time, so a retry is not always the same file — two encodes were
    spliced into one of exactly the right length, with nothing reporting a
    problem. A .part now records what wrote it.
  • A link that could not be handled was let go after three tries with no time
    condition, and those three ran back to back: one that would have worked on
    the fourth attempt was discarded in 31 milliseconds.
  • Instagram captions were decoded in a way that splits an emoji into two halves
    that are not characters, which then fails on the way to a file name.

Files

SHA-256
Riplox Riplox_Setup_v1.3.0.exe (72.10 MB) EB1D19D1BEE69AE28F1988AD5C8F30CCF45BB502CEA5DEBED8F1DF142B7E86C4
Sender, Windows RiploxSend_Setup_v1.0.1.exe (18.49 MB) C5BB64932B58BB71D656799ACD439ACCB5B7E79C86997EA64EAE6DE599E74CAD
Sender, Android RiploxSend_Android_v1.0.1.apk (97 KB) 07D0DFE4385E56A0ED761F0926C1216314BDC10085B9D5BEA9579D2352304875

Riplox is the app that downloads — that is the one to install, and the only
one most people need. The two senders are unchanged from 1.2.1 and are
optional: install one on a phone or another PC you want to send links from.

Installing

Per-user, no administrator rights. Windows may show "Windows protected your
PC"
the first time — these builds are not code-signed, so choose More info
→ Run anyway
, or check the file first:

certutil -hashfile Riplox_Setup_v1.3.0.exe SHA256

Requires Windows 10 or 11 with the Microsoft Edge WebView2 Runtime. The Android
APK is signed but not from a store, so Android will ask permission to install
it. Android 8 or newer.