fshy

fshy / Storage

Transfer.it

transfer.it · Storage · 2 records · JSON

Transfer.it (MEGA) Storage

caveatinstitutionno cardRretention-clampeddisagrees

transfer.it · cloud-drive · storage/transfer-it · JSON · compare

Sibling records disagree:

Free tierNo per-transfer size limit (MEGA blog: 'Send 100 GB, 1 TB, or even more, all for free'). Backing store is a fresh ANONYMOUS ephemeral MEGA account per uploader with mstrg = 21474836480 (20 GiB), read live from the API.
unit TB; metered on stored-bytes
Pricenone stated
Per-object capnot stated
RetentionRetention: SERVER CLAMPS EXPIRY TO 90 DAYS (90 days)
Egressunmetered; direct host-issued CDN URL (gfsXXX.userstorage.mega.co.nz) supports Range and returns 206. Link/bandwidth not metered per-download on the free tier.
Identityinstitution derived from the record's prose, not from an identity field, and no signup was executed: ader with mstrg = 21474836480 (20 GiB), read live from the API. Expiry IS re-settable in place: a:xm with a new 'e' on an existing xh works and returns 0 (verified 1d -> 30d -> 90
Limits
  • per-ip-shaping 0.29 MB/s source
  • per-ip-shaping 2.73 MB/s source
  • retention-clamped Retention: SERVER CLAMPS EXPIRY TO 90 DAYS source
per-object-cap: none advertised per transfer, but the real ceiling is the 20 GiB ephemeral-account storage (mstrg) — a transfer larger than the account's remaining space cannot complete. Retention: SERVER CLAMPS EXPIRY TO 90 DAYS. Verified with a:xl on transfers requested at 1d/90d/1y/10y/no-expiry: all returned e = now+90.00 days. The 10-year ceiling in transferit-py's docs (MAX_EXPIRY_SECONDS) is a CLIENT clamp the server silently overrides. Request-rate: not hit in ~10 uploads.
Bindingretention-clamped a clock, not a quota: bytes leave whether or not the client is finished with them
Interfacerest, git, cli rest
Toolingtransferit-py (PyPI, github.com/viperadnan-git/transferit-py, 20 stars, pushed 2026-04-22) — CLI + library, pip install worked and roundtrip verified. Also NTFSvolume/mega.py has a read-only transfer.it client.
Composes withEach Transferit() upload creates a NEW anonymous MEGA account (a:up + a:us, no email/phone) => 20 GiB x unlimited free accounts. Shard a file into 20 GiB (or 4 GiB) objects, one ephemeral account per shard, one URL per shard. Cost per identity: two unauthenticated API calls.
ReliabilityExpiry IS re-settable in place: a:xm with a new 'e' on an existing xh works and returns 0 (verified 1d -> 30d -> 90d). This is the 'transfer as store' trick — an unexpired transfer can be pushed back to the 90-day wall indefinitely without re-uploading, so the object only dies if you stop touching it for 90 days. Parallel ranged GETs scale (0.29 MB/s @1 conn -> 2.73 MB/s @32 conn on a 32 MiB object, 206s throughout); occasional 403 on a range suggests per-connection shaping, not a hard pull cap.
NotesNo per-transfer size limit (MEGA blog: 'Send 100 GB, 1 TB, or even more, all for free'). Backing store is a fresh ANONYMOUS ephemeral MEGA account per uploader with mstrg = 21474836480 (20 GiB), read live from the API.
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Parsed numbers
  • $.limits[0].value limit:per-ip-shaping 0.29 MB
  • $.limits[1].value limit:per-ip-shaping 2.73 MB
Evidence (5)
datesourcewhat it proved
2026-10-21transfer.it/t/JzZzzDxj2JCSprobe: transferit upload 1 MiB -> , download + sha256 match 66a5b62e...d1637
2026-10-21withheldprobe: a:uq on ephemeral session -> mstrg 21474836480 (20 GiB), identical across two independent sessions
2026-10-21withheldprobe: a:xl after xm e=365d -> e=now+90.00 days (clamped); xm re-set to 30d then 90d both returned 0
2026-10-21transfer.it/t/<xh>probe: GET -> 200 text/html 900 bytes (JS SPA; the URL is NOT a plain-GET byte link)
2026-10-21blog.mega.io/introducing-transfer-it(archived 2025-07-21) — 'No file size limits. Send 100 GB, 1 TB, or even more, all for free'
Unknown or withheld values (6)
  • $.evidence[1].url private-url
  • $.evidence[2].url private-url
  • $.free_tier.notes process
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted

transfer.it (mega) as a paid capacity route Storage

fails: quotaemail?card?Rdisagrees

transfer.it/ · rejected-provider · storage/transfer-it-as-a-paid-capacity-route · JSON · compare

Sibling records disagree:

Free tierTransfer.it has no paid tier of its own — it is a sharing front end that requires MEGA storage: 'You can only share files that you have uploaded to MEGA.' Its expiry selector offers up to 1
unit none; metered on none
Pricenone stated
Per-object capnot recorded
Retentionnot recorded
Egressnot recorded
Identityemail (placeholder) not published
Bindingnone no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit
Interfaceunknown
Toolingnot recorded
Composes withnot recorded
ReliabilityTransfer.it has no paid tier of its own — it is a sharing front end that requires MEGA storage: 'You can only share files that you have uploaded to MEGA.' Its expiry selector offers up to 1
NotesTransfer.it has no paid tier of its own — it is a sharing front end that requires MEGA storage: 'You can only share files that you have uploaded to MEGA.' Its expiry selector offers up to 1
Evidence rungreported
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (1)
datesourcewhat it proved
2026-10-21transfer.it/Transfer.it has no paid tier of its own — it is a sharing front end that requires MEGA storage: 'You can only share files that you have uploaded to MEGA.' Its expiry selector offers up to 1
More fields (1)
{
 "dead_end": {
  "failure_class": "quota",
  "why": "Transfer.it has no paid tier of its own — it is a sharing front end that requires MEGA storage: 'You can only share files that you have uploaded to MEGA.' Its expiry selector offers up to 1",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (15)
  • $.chaining not-recorded
  • $.confidence_note withheld
  • $.egress.terms not-recorded
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.interface interface-unknown
  • $.interface_detail withheld
  • $.limits_note process
  • $.per_object_cap.notes not-recorded
  • $.per_object_cap.stated not-recorded
  • $.retention.notes process
  • $.retention.stated not-recorded
  • $.tooling not-recorded