MTProto client · not a bot, not a relay

Your files.
Your account.
No server in between.

TeleWire signs into your personal Telegram account and pulls media straight to disk over several parallel connections. It supports pausing, resuming, queueing, and downloads that survive an unexpected crash.

Free & open source (MIT) .msi installer All releases
No server
No bot account
No relay, ever
Zero telemetry
MIT licensed
What it does

Every chat. Every file type. On your terms.

The Rust backend is a standard Telegram client. It works exactly like the official desktop app. Nothing hidden, nothing extra.

01 · coverage

Every chat, grouped

Search and browse channels, groups, bots, one-to-one chats, and Saved Messages. We classify them the same way Telegram does.

02 · classify

Every file type

Video, audio, photos, and documents are classified using both MIME and filename. That means an octet-stream video will still correctly show up as a video.

03 · throughput

Parallel by default

Each file splits into 512 KiB chunks. Multiple connections pull these chunks simultaneously from a shared work-stealing queue.

04 · tuning

Adaptive speed

We tune the worker count based on actual measured throughput, rather than guessing. It adds workers when it helps and scales back if it stops helping.

05 · resilience

Crash-safe resume

If you kill the app mid-transfer, it's fine. We use a manifest of confirmed-flushed chunks, so the next launch resumes exactly where you left off.

06 · order

Auto-organised

Files automatically land in organized folders: <download root>/<chat>/<YYYY-MM>/<filename>. You get pause, resume, cancel, and retry controls for every single job.

How downloading works

One file, from request to a name on disk

This happens in six specific steps every single time. A file only gets its real name on your disk when it is 100% complete. Everything before that stays as a .part file.

Size & plan

We pull the file size from the message's metadata and divide it into 512 KiB, 4 KiB-aligned chunks.

Preallocate

The destination file is preallocated to its full size as <name>.part before any data arrives.

Work-steal

Workers pull tasks from a shared queue of chunk indices. A slow connection simply processes fewer chunks.

Adapt

Concurrency increases as long as new workers improve throughput, and backs off if we hit flood-waits.

Record

A sidecar manifest logs chunks only after they are confirmed flushed to the disk. This is the source of truth for resuming.

Verify & rename

We check the final byte count, then atomically rename the .part file. Complete means complete.

Privacy

Zero telemetry is a concrete guarantee

Because this app signs directly into your Telegram account, you need to know exactly what it's doing. You can verify every single claim here in the open source code.

  • No analytics, no crash reporting, no phone-home The only network destination is Telegram's own servers. There is no update check and no error collector.
  • The webview never makes a network request A strict Content-Security-Policy blocks all remote origins. Even the fonts are bundled locally.
  • api_hash lives in your OS keychain We use Windows Credential Manager, macOS Keychain, or Linux Secret Service. Never a plain text config file.
  • Session key never crosses into the frontend The MTProto session stays secure in an owner-only SQLite file inside your per-user app data directory.
Frequently Asked Questions

Answers about TeleWire

Is TeleWire a Telegram bot?

No, TeleWire is not a bot. It is a native MTProto client built in Rust that signs into your personal Telegram account, exactly like the official desktop app. It only accesses what you already have access to.

How does TeleWire download files faster?

By splitting large media files into 512 KiB chunks. TeleWire uses a work-stealing queue to pull these chunks simultaneously over multiple parallel connections, which maximizes your available bandwidth.

Is my Telegram account data safe?

Yes. The app features zero telemetry and no third-party servers. Your session is saved locally in a secure SQLite file, and your `api_hash` is safely stored in your native OS keychain. The source code is entirely open source and verifiable.

Does it bypass Telegram download limits?

No. TeleWire completely respects Telegram's API limitations (including flood-waits). It simply optimizes the connection architecture to ensure you hit the maximum speed Telegram allows for your account tier.

A note from the developer

Hi there! I built TeleWire purely because I needed a robust download manager for my own Telegram files. This project is completely non-monetized. It started as a fun project to solve a personal pain point, and I decided to put it out here open-source, hoping you might find it genuinely useful too.

I really appreciate your feedback, bug reports, or messages!

— Yaser Zarifi (Let's connect on my portfolio)
Get TeleWire

Free. Open source. Nothing to pay for, ever.

Sign in with your phone number, exactly like the official app. TeleWire is not a bot. It only sees what your account can already see.

v1.0 · Windows x64 · 2.8 MB · release notes on GitHub · macOS & Linux build from source today