Open-source project
RipMeApp/ripme avatar
RipMeApp/ripme

RipMe: a Java album ripper for bulk image archiving, and where it breaks

Downloads albums from the web in bulk for archive purposes

4,128 stars673 forksJavaMIT

At a glance

What is it?
RipMe downloads whole image albums from supported sites using per-site ripper classes. It is a desktop Java 21 tool with a built-in updater, and several of its rippers are currently broken by site changes.
Who is it for?
RipMe fits people who archive whole albums from the sites whose rippers still work, and who accept that a site redesign can break a ripper until someone fixes it. It is the wrong tool if you need a working ripper for X/Twitter or DeviantArt right now, since the README lists both as currently broken, and it is the wrong tool if you cannot run Java 21.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 45 days ago.
What is it written in?
Mainly Java, according to GitHub's language statistics.

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

Editorial analysis

What RipMe is for, and who ends up using it

RipMe describes itself as an album downloader, or ripper, for various websites, and it runs on your own computer rather than as a hosted service. The repository topics include archival, archive, archiver and data-hoarder, which matches the stated purpose: downloading albums from the web in bulk for archive purposes. The typical user is someone who wants a local copy of an album before it changes or disappears, and who would rather point a tool at a URL than click through a gallery by hand.

The README lists imgur, tumblr, instagram, flickr, photobucket, reddit, redgifs, motherless, imagefap, seenive, 8muses, xhamster and xvideos among the supported rippers, with a full list in the wiki. Two entries carry an explicit warning: twitter is described as currently broken and needing an update for X, and deviantart is described as currently broken by major changes to the site. That is the honest shape of this project. It is a collection of site-specific scrapers, and sites change.

Re-ripping is a first-class idea here. The README states that RipMe skips already downloaded images by default, so pointing it at the same album again fetches only what is new. For anyone maintaining a mirror of an album that keeps growing, that behaviour matters more than raw speed.

How the ripper mechanism works

RipMe is not a generic crawler. The README points developers at a wiki guide titled How To Create A Ripper for HTML Websites, and the repository has a ripper test class per site, for example XhamsterRipperTest. So the architecture is one ripper implementation per supported site, each one knowing how that site lays out an album and where the image URLs live. When a site changes its markup, the ripper for that site stops working while the rest of the application is unaffected.

That design has a clear consequence for maintenance. The README says outright that websites change over time and therefore rippers, which fundamentally depend on website layouts, can break at any time. It asks users to open an issue when something stops working, and to search existing issues first. Support for a new site is requested by commenting on a single GitHub issue, and developers can add their own ripper following the wiki guide.

The application is a Java program distributed as a jar. The README states it requires Java 21 or later, and that Java 21 is the most modern version that still allows support for the most platforms, being the default JDK on current Debian stable. There is a built-in updater, and the README notes that the current active development repository is ripmeapp/ripme after a period when work continued at ripmeapp2/ripme. It also warns that stale issues may remain in either repository until everything is merged back and statuses are updated, so issue state is not a reliable signal of whether a ripper works today.

Installing RipMe and running a first rip

The README gives one package-manager installation, for macOS, through a Homebrew cask. The same command also removes the quarantine attribute from the downloaded jar, which is what macOS applies to files fetched from the internet.

bash
brew install --cask ripme && xattr -d com.apple.quarantine /Applications/ripme.jar

On Windows and Linux the README points to the latest release page, where you download ripme.jar, and to a wiki page titled How To Run RipMe for the details of launching the jar. The README does not spell out a launch command in the repository text; it defers to that wiki page, so check it before relying on any particular invocation.

What you should see once it starts is the RipMe window shown in the README screenshot, where you paste an album URL and begin the rip. Files land in a folder for that album, and running the same URL again downloads only what is missing, because already downloaded images are skipped by default. The README also mentions downloading a range of URLs, with the how-to in the wiki rather than in the repository text.

Supported sites, cookies, and the 403 case

The supported sites list is the real specification of what RipMe can do, and it is maintained in the wiki rather than in the README. The README's own list is partial and ends with an ellipsis pointing at the wiki. If the site you care about is not on that list, RipMe will not handle it, and the route forward is the support request issue or writing a ripper yourself.

Two entries in the README carry a broken marker, twitter and deviantart, and the README attributes both to site changes. That is not a temporary note about a pending release; it is the project telling you those rippers do not currently work. Anyone whose archive target is X/Twitter or DeviantArt should treat RipMe as unavailable for that job until the note changes.

The related searches around RipMe include status code 403 and cookie questions, and the README does not document a cookie configuration in the text available here. What it does document is a config-options wiki page, referenced for the e-hentai and nhentai tag blacklist, which means configuration lives in the wiki and in the application rather than in the README. If a site returns 403 for you, the honest position is that the repository text does not tell you how RipMe handles authentication; check the wiki and the issue tracker for the specific site before assuming a setting exists.

Building RipMe from source with Gradle

The project uses Gradle and ships the gradlew wrapper, with gradlew.bat for Windows. The README says the build verb compiles the jar, builds the tests and runs them, excluding disabled and flaky tests, so build and build test are synonymous. To do a full build from the repository root:

bash
./gradlew build

For a targeted change the README gives a narrower example, running a single ripper test by name. This is the pattern to copy if you modify one ripper and want to check only that one.

bash
./gradlew clean build testAll --tests XhamsterRipperTest.testXhamster2Album

There is also a form that skips tests and turns on full Gradle warnings, which the README presents as a way to see more detail during a build:

bash
./gradlew clean build -x test --warning-mode all

Version strings follow Semantic Versioning with extra context after the hyphen. The README explains that ripme-1.7.94-17-2167aa34-feature_auto_release.jar carries a human-assigned release number, the commit count since that version, the commit SHA, and the branch name when the build did not come from main. That makes it possible to tell exactly which commit a jar came from, which is more than many projects of this size offer.

Where RipMe is the wrong tool

RipMe depends on site layouts, and the README says so plainly. The practical failure mode is a ripper that returns nothing, partial albums, or errors after a site redesign, with no automatic recovery until a maintainer or contributor updates that ripper. The README lists two rippers in exactly that state. If your archive target is one of those, RipMe is not a fallback, it is simply not working.

The second constraint is the runtime. Java 21 or later is a hard requirement, and the README explains the choice as a trade-off: Java 21 is the most modern version that lets the project support the most platforms. If your environment is pinned to an older JDK, this build will not run, and the README offers no older branch as an alternative.

The third is scope. RipMe is an album ripper, not a general web archiver. It does not save pages as they appeared, and the README does not claim to. If you need a faithful snapshot of a page including its markup and assets, a site-specific album downloader is the wrong category of tool.

Maintenance status is worth stating factually. The last push to the repository was on 2026-08-16, and the latest release listed is a development build of main dated 2026-08-15, with a versioned build 2.1.21-17-0d8fc72f dated 2026-08-09. The README describes maintainers working in their limited free time, with activity indicators, and warns that stale issues may persist while the old and new repositories are merged back together. Plan for the possibility that a fix for your site arrives on the maintainers' schedule, not yours.

Alternatives and the licence

The closest alternative in kind is gallery-dl, a Python command-line downloader with a large set of site extractors. The difference in approach is the interface and the runtime: RipMe is a Java desktop application with a window, a built-in updater and a jar you double-click, while gallery-dl is driven from a shell and configured through files. If you want to script a nightly archive job on a headless machine, a command-line tool fits that shape more naturally; if you want to paste a URL into a window and watch it work, RipMe is the shorter path. The README does not compare RipMe to other tools, so the choice comes down to how you want to drive it.

Within RipMe's own design, the alternative to waiting for a fix is writing the ripper. The README links a wiki guide, How To Create A Ripper for HTML Websites, and the build and test workflow above is the loop you would use. That is a real option for a site you depend on, and it is the reason the project keeps a per-site ripper structure.

Licensing is MIT, per the repository's LICENSE.txt and the badge at the top of the README. MIT is permissive: it allows use, modification and redistribution provided the copyright notice and permission notice are kept. That is a summary of the licence text, not legal advice, and anyone redistributing a modified ripme.jar should read LICENSE.txt themselves. There is no separate commercial tier or licence key mentioned anywhere in the README.

Editorial conclusion

RipMe fits people who archive whole albums from the sites whose rippers still work, and who accept that a site redesign can break a ripper until someone fixes it. It is the wrong tool if you need a working ripper for X/Twitter or DeviantArt right now, since the README lists both as currently broken, and it is the wrong tool if you cannot run Java 21. Before adopting it, download ripme.jar from the latest release, run it against one album from the site you actually care about, and confirm the file count matches the album; then check the supported sites list and the open issues for that site before you build a workflow around it.

Frequently asked questions

How do I install RipMe?

On macOS the README gives a Homebrew cask command that also clears the quarantine attribute from the jar. On Windows and Linux you download ripme.jar from the latest release page and follow the How To Run RipMe wiki page, with Java 21 or later required.

How do I use RipMe?

You run the jar, which opens the RipMe window, and point it at an album URL to download the images. The README notes that already downloaded images are skipped by default, so re-running the same album fetches only new content.

What is RipMe?

RipMe is an album downloader, or ripper, for various websites, and it runs on your own computer on Windows, Linux and Mac. The repository describes it as downloading albums from the web in bulk for archive purposes.

Official sources

  1. Issues
  2. License: MIT
  3. README
  4. Releases
  5. RipMeApp/ripme on GitHub
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/ripmeapp-ripme.svg)](https://hysenlabs.com/projects/ripmeapp-ripme)