Open-source project
filecxx/FileCentipede avatar
filecxx/FileCentipede

File Centipede: an all-in-one download manager with a closed-source core

Cross-platform internet upload/download manager for HTTP(S), FTP(S), SSH, magnet-link, BitTorrent, m3u8, ed2k, and online videos. WebDAV client, FTP client, SSH client.

10,930 stars683 forksC++License varies

At a glance

What is it?
File Centipede bundles HTTP, FTP, SSH, WebDAV, BitTorrent and m3u8 handling into one Qt desktop client, plus a browser extension for capturing video. The repository ships the full source for demonstration only, because the libraries it depends on are not open source.
Who is it for?
File Centipede suits desktop users who want one client for HTTP, FTP, SSH, WebDAV, BitTorrent and m3u8 work, and who accept that the repository's source is demonstration code rather than the buildable project. It is the wrong tool if you need something you can compile yourself, if you are on mobile, or if you need a documented licence before deploying it inside a company.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 36 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What File Centipede actually replaces

Most people end up running three or four tools to move files around: a browser for HTTP, a separate torrent client, an FTP program, and something to pull m3u8 streams off a video page. File Centipede's stated goal is to collapse that into one Qt application. The README calls it an "All-In-One internet file upload/download manager, BitTorrent Client, WebDAV client, FTP client, and SSH client," and the feature list backs the claim with HTTP/HTTPS, FTP/FTPS, magnet and hash addresses, BitTorrent, m3u8 stream tasks, SSH/SFTP, and WebDAV, each marked with the version that introduced it.

The audience is a desktop user who is comfortable with protocol settings. The feature list includes proxy management, tracker management, site rules, custom filters, speed limits, queue versus unlimited concurrency, and a set of small utilities (HTTP requester, checksum tool, file merge, regex tester, Base64 and URI encoders, torrent-to-magnet and magnet-to-torrent converters). None of those are individually unusual. Having them in one window is the pitch.

The browser extension is the other half. According to the README it captures videos and audio from web pages, finds all magnets on a page, and includes a resource explorer for images and scripts. The README also claims it can download "even encrypted videos," with stream task AES-128 decryption listed as a feature and SAMPLE-AES decryption listed as not yet supported.

How the pieces fit together

The architecture visible from the repository is a desktop client plus a browser extension plus a web dashboard. The README lists three URLs: the marketing site at filecxx.com, a dashboard at w.filecxx.com, and a sponsors page. Remote download appears in the feature list at version 2.6, which is the mechanism that ties the dashboard to a running client.

The client itself is C++. The repository has a source_code directory, and the README is explicit about what it contains: "It's for demonstration purposes only, the dependent libraries used in the project are not open source." That sentence is the single most important fact for anyone evaluating this as an open source project. What you can read is the application layer, including the UI, which the README says is written in .sml files under a UI directory. What you cannot get is a complete buildable tree.

Around the C++ client sit language files in three places: lang/website, lang/software, and lang/browser_extension, each holding .lang files. The repository root carries per-locale directories (de_DE, en_US, id_ID, ko_KR, ru_RU, tr_TR, zh_CN, zh_TW) alongside README translations in seventeen languages. There is an update.json and an update.sh, plus a release directory, which is where a self-updating desktop client would look for new builds.

Installing File Centipede and running a first task

The README does not give a package-manager command for any platform. It points at the website, http://filecxx.com, and the repository carries a release directory and an update.json. Treat the project's own download page as the source of the installer rather than a mirror, since the repository does not publish checksums or signing details in the README.

Once the client is running, the basic unit of work is a task. The README's screenshots show add-task, edit-task and confirm dialogs, and the feature list includes "Dynamically edit transfer-task config," so a running task's settings are not frozen. A magnet link is the simplest first test because it exercises the BitTorrent path without needing credentials. The README lists magnet and HASH addresses as a supported protocol, and its screenshots include a torrent confirm dialog that appears when you add one. From there you pick the files and the download directory before the transfer starts.

For a plain HTTP fetch, the feature list covers custom cookie, header and user-agent values, which is what you reach for when a server rejects the default client identity. The README also documents a custom address scheme, filec and fileu, created for passing links into the client, and lists JSON formatted address and other custom protocols such as thunder, flashget and qqdl among the supported inputs.

If the browser extension is installed, links can be handed to the client from the page instead, and the extension's video panel is the route for m3u8 captures. The README lists a video bar, videos and audios panels, a custom files panel, and a videos collector.

The source code is a demonstration, not a build

This is the limitation that decides most adoption questions. A repository with a source_code directory, a C++ codebase and an MIT-style layout invites the assumption that you can clone it, build it, and ship your own binary. The README blocks that: the dependent libraries are not open source, so the published source is a demonstration of how the application layer is written.

That has three practical consequences. You cannot audit the full dependency chain, which matters if the client handles credentials for SSH, FTP and WebDAV servers. You cannot patch a bug and rebuild. And you cannot fork the project if it stops being maintained.

Maintenance is the second thing to check. The most recent release listed in the repository is v2.82.0, dated 2023-02-06, with 2.81 on 2023-01-06 and 2.8 stable on 2022-12-30. The last push to the default branch was on 2026-08-25, so the repository is still receiving commits even though the release list has not moved since early 2023. Anyone reading the repository should look at what those later commits touch before assuming a new binary exists.

The licence is also unstated in the README. The README does not name one, and a repository without a licence file means the default position is that no rights are granted. That is a question for whoever handles compliance at your organisation, not something to infer from the presence of a source_code directory.

Where File Centipede is the wrong choice

If you need a download manager you can run headless on a server, this is not it. File Centipede is a Qt desktop application with a browser extension; the README describes a GUI, screenshots of dialogs, and a web dashboard for remote download rather than a daemon with a configuration file. For a seedbox or a NAS, a command-line client is a better fit.

If your work is mostly BitTorrent and you care about the client being fully open source, File Centipede's own feature list points elsewhere. It names transmission among its topics, and the feature list includes curl, wget, aria2 and axel as command-line integrations at version 2.0. Those are the projects to compare against when the torrent engine is the whole job.

If you need SAMPLE-AES stream decryption, the README says it is not supported yet. AES-128 stream decryption is listed; SAMPLE-AES is explicitly excluded. That single line rules out some DRM-protected sources regardless of how well the rest of the client works.

And if you are on mobile, there is nothing here. The repository is a desktop C++ application with a Chrome and Firefox extension. No mobile client appears in the feature list, the screenshots, or the repository layout.

Alternatives and how they differ in approach

The closest conceptual alternative is a general-purpose download manager with a browser extension, such as the ones the README's own feature list references. The difference is scope. A single-protocol downloader does HTTP well and stops there. File Centipede's design choice is to put an FTP/SFTP/WebDAV file browser, a torrent client, an m3u8 stream handler and a set of encoding utilities behind one task list, with shared proxy, filter and site-rule configuration. That is convenient when you routinely move between protocols and awkward when you want one component that does one thing predictably.

Against a command-line BitTorrent client, the trade-off is the opposite. A CLI client is scriptable, runs without a display, and can be rebuilt from source. File Centipede gives you a task queue you can edit while it runs, per-task speed limits, tracker management and a torrent-to-magnet converter in the same window. You give up automation and auditability for that.

Against a dedicated m3u8 or video downloader, File Centipede's advantage is the browser extension that finds media on the page rather than requiring you to extract a stream URL by hand. Its disadvantage is the same as everywhere else: the stream handling lives inside a closed dependency set, so when a site changes its delivery method you are waiting on the project rather than fixing it yourself.

Maintenance, upgrades and licence questions to settle first

The repository carries update.json and update.sh at the root, and a release directory, which is consistent with a client that checks for and applies its own updates. The README does not document a rollback path if an update goes wrong, and it does not document a way to pin a specific version. That is worth knowing before you let a client with SSH and WebDAV credentials update itself.

The release list is the clearest signal about cadence. v2.82.0 arrived on 2023-02-06 and nothing newer appears in the release list, while the default branch was last pushed on 2026-08-25. A gap that long between tagged releases and ongoing commits usually means either that releases are published somewhere other than the repository, or that the commits are documentation, language files and site assets rather than application code. The repository layout supports the second reading: the root holds per-locale directories, README translations, index.html, favicon files and a style directory, all of which change without a new binary.

On licensing, the README does not state a licence for the project. The README says the source in source_code is for demonstration and that dependent libraries are not open source. Those two statements together mean you should not assume the source grants you redistribution rights. Confirm the terms on the project website before shipping it inside an organisation.

Editorial conclusion

File Centipede suits desktop users who want one client for HTTP, FTP, SSH, WebDAV, BitTorrent and m3u8 work, and who accept that the repository's source is demonstration code rather than the buildable project. It is the wrong tool if you need something you can compile yourself, if you are on mobile, or if you need a documented licence before deploying it inside a company. Before installing anything, check the release directory and update.json in the repository for the current build, and read the project's own troubleshooting.html rather than trusting a third-party mirror.

Frequently asked questions

What is File Centipede?

It is an all-in-one internet upload and download manager built with Qt, covering HTTP/HTTPS, FTP/FTPS, magnet and hash addresses, BitTorrent, m3u8 stream tasks, SSH/SFTP and WebDAV. The README also describes a browser extension that captures video and audio from web pages and finds magnets on a page.

How do I install File Centipede?

The README does not provide package-manager commands for any platform. It directs readers to the project website at http://filecxx.com, and the repository contains a release directory and an update.json for the client's own update mechanism.

How do I install File Centipede on Linux?

The README does not list a Linux install command or a distribution package. The only installation route it names is the project website, and the repository's release directory is where builds are published.

How do I use File Centipede?

You add a task, which the README shows through its add-task, edit-task and confirm dialogs, and the feature list notes that a running transfer's config can be edited dynamically. Magnet links, plain HTTP URLs and the custom filec and fileu address schemes are all input formats the README mentions.

Official sources

  1. filecxx/FileCentipede on GitHub
  2. Issues
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/filecxx-filecentipede.svg)](https://hysenlabs.com/projects/filecxx-filecentipede)