Hi! I was the primary maintainer of ripmeapp/ripme from about 2016-2018. I'm pleased to see that while that repo was abandoned, a fork of the project continued over here. I'm back to poke around a bit and wanted to sync up the repo as well as make it clear who the primary developer is on the project now. I've also made an announcement post on the subreddit to point to the new active development repo. I've pushed the main of ripmeapp2/ripme to ripmeapp and I want to make this change as well to both repos to make it clear where active development is happening and who is the current primary developer. I'm not guaranteeing I'll stick around but I might poke around from time to time. I definitely don't have the time to resume any kind of primary development here. I'm also not necessarily encouraging the resurrection of ripmeapp/ripme over this fork, but if @soloturn wants to accept the maintainer invitation to that repo and merge the forks back together, I'd do what I can to support that. I have a personal (non-work) software-dev-capable computer again so working on a project like this is back on the table. This change also fixes a Markdown linter style complaint: bulleted lists are preferred to start lines with `-` to avoid ambiguity with `*` used for bold/italics.
RipMe
Recent development updates
- For a while, the ripmeapp/ripme repo was inactive, but development continued at ripmeapp2/ripme.
- Now, maintainers have been updated and development has been rejoined with ripmeapp/ripme where it will continue.
- You may find a number of stale issues on ripmeapp/ripme and/or on ripmeapp2/ripme until everything is merged back together and statuses are updated.
- The current active development repo for RipMe is located at ripmeapp/ripme.
Maintainers
RipMe has been maintained with ♥️ and in our limited free time by the following people, roughly in order from most recent primary developer, with current activity marked by color of the indicator:
- @soloturn 🟢,
- @cyian-1756 🟥,
- @kevin51jiang 🟥,
- @MetaPrime 🟡,
- and its original creator, @4pr0n 🟥.
If you'd like to become a maintainer, ask an active maintainer to be added to the team.
Contact
Chat with the team and community on gitter and reddit.com/r/ripme
About
RipMe is an album ripper for various websites. It is a cross-platform tool that runs on your computer, and requires Java 21 or later to run. RipMe has been tested and is confirmed working on Windows, Linux, and MacOS.
Downloads
Download ripme.jar
from the latest release. For information about running the .jar
file, see
the How To Run wiki.
The version number like ripme-1.7.94-17-2167aa34-feature_auto_release.jar
contains a release number (1.7.94
), given by
a person, the number of commits since this version (17
). The commit SHA (2167aa34
) uniquely references the
source code ripme was built from. If it is not built from the main branch, the branch name (feature/auto-release
) is
given.
Installation
On macOS, there is a cask.
brew install --cask ripme && xattr -d com.apple.quarantine /Applications/ripme.jar
Changelog
Changelog (ripme.json)
Features
- Quickly downloads all images in an online album. See supported sites
- Easily re-rip albums to fetch new content
- Built in updater
- Skips already downloaded images by default
- Can auto skip e-hentai and nhentai albums containing certain tags. See here for how to enable
- Download a range of urls. See here for how
List of Supported Sites
- imgur
- tumblr
- flickr
- photobucket
- gonewild
- motherless
- imagefap
- imagearn
- seenive
- vinebox
- 8muses
- deviantart
- xhamster
- (more)
Not Supported?
Request support for more sites by adding a comment to this Github issue.
If you're a developer, you can add your own Ripper by following the wiki guide: How To Create A Ripper for HTML Websites.
Compiling & Building
The project uses Gradle. To build the .jar file, navigate to the root project directory and run at least the test you change, e.g. Xhamster. test execution can also excluded completely:
./gradlew clean build testAll --tests XhamsterRipperTest.testXhamster2Album
./gradlew clean build -x test --warning-mode all
The generated JAR (java archive) in build/libs will include all dependencies.
Running Tests
Tests can be tagged as beeing slow, or flaky. The gradle build reacts to the following combinations of tags:
- default is to run all tests without tag.
- testAll runs all tests.
- testFlaky runs tests with tag "flaky".
- testSlow runs tests with tag "slow".
- tests can be run by test class, or single test. Use "testAll" so it does not matter if a test is tagged or not.
./gradlew test
./gradlew testAll
./gradlew testFlaky
./gradlew testSlow
./gradlew testAll --tests XhamsterRipperTest
./gradlew testAll --tests XhamsterRipperTest.testXhamster2Album
Please note that some tests may fail as sites change and our rippers become out of date. Start by building and testing a released version of RipMe and then ensure that any changes you make do not cause more tests to break.
New GUI - compose-jb
As Java Swing will go away in future, a new GUI technology should be used. One of the candidates is Jetpack Compose for Desktop.
The library leverages the compose library for android and provides it for android, desktop and web. The navigation library is not available for desktop, so Arkadii Ivanov implemented decompose.