2021-03-07 02:46:24 +01:00
# RipMe
[![Licensed under the MIT License ](https://img.shields.io/badge/License-MIT-blue.svg )](/LICENSE.txt)
[![Join the chat at https://gitter.im/RipMeApp/Lobby ](https://badges.gitter.im/RipMeApp/Lobby.svg )](https://gitter.im/RipMeApp/Lobby?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge& utm_content=badge)
[![Subreddit ](https://img.shields.io/badge/discuss-on%20reddit-blue.svg )](https://www.reddit.com/r/ripme/)
2021-03-18 09:20:51 +01:00
![alt Badge Status ](https://github.com/ripmeapp2/ripme/actions/workflows/gradle.yml/badge.svg )
2017-11-18 20:31:50 -08:00
[![Coverage Status ](https://coveralls.io/repos/github/RipMeApp/ripme/badge.svg?branch=master )](https://coveralls.io/github/RipMeApp/ripme?branch=master)
2014-03-02 01:30:10 -08:00
2022-04-16 02:06:10 +02:00
RipMe is maintained with ♥️ and in our limited free time by ** [@MetaPrime ](https://github.com/metaprime )**, ** [@cyian-1756 ](https://github.com/cyian-1756 )** and ** [@kevin51jiang ](https://github.com/kevin51jiang )**. If you'd like to contribute but aren't good with code, help keep us happy with a small contribution! Chat on [gitter ](https://gitter.im/RipMeApp/Lobby ).
2017-11-19 12:47:41 -08:00
2017-11-19 12:54:35 -08:00
[![Tip with PayPal ](https://img.shields.io/badge/PayPal-Buy_us...-lightgrey.svg )](https://www.paypal.me/ripmeapp)
2017-11-19 12:47:41 -08:00
[![Tip with PayPal ](https://img.shields.io/badge/coffee-%245-green.svg )](https://www.paypal.com/paypalme/ripmeapp/send?amount=5.00& currencyCode=USD& locale.x=en_US& country.x=US)
[![Tip with PayPal ](https://img.shields.io/badge/beer-%2410-yellow.svg )](https://www.paypal.com/paypalme/ripmeapp/send?amount=10.00& currencyCode=USD& locale.x=en_US& country.x=US)
[![Tip with PayPal ](https://img.shields.io/badge/lunch-%2420-orange.svg )](https://www.paypal.com/paypalme/ripmeapp/send?amount=20.00& currencyCode=USD& locale.x=en_US& country.x=US)
2017-11-19 12:55:35 -08:00
[![Tip with PayPal ](https://img.shields.io/badge/dinner-%2450-red.svg )](https://www.paypal.com/paypalme/ripmeapp/send?amount=50.00& currencyCode=USD& locale.x=en_US& country.x=US)
2017-11-19 12:54:35 -08:00
[![Tip with PayPal ](https://img.shields.io/badge/custom_amount-...-lightgrey.svg )](https://www.paypal.me/ripmeapp)
2017-11-19 12:47:41 -08:00
# About
2023-09-27 23:32:20 +02:00
RipMe is an album ripper for various websites. It is a cross-platform tool that runs on your computer, and
requires Java 17. RipMe has been tested and confirmed working on Windows, Linux and MacOS.
2014-03-02 01:30:10 -08:00
2018-10-17 12:00:44 +02:00
![Screenshot ](https://i.imgur.com/UCQNjeg.png )
2014-06-25 01:39:47 -07:00
2019-10-30 11:25:38 -05:00
## Downloads
2016-12-20 04:06:26 -08:00
2023-06-11 00:50:27 +02:00
Download `ripme.jar` from the [latest release ](https://github.com/ripmeapp2/ripme/releases ). For information about running the `.jar` file, see
2021-02-28 17:08:24 +01:00
[the How To Run wiki ](https://github.com/ripmeapp/ripme/wiki/How-To-Run-RipMe ).
2016-12-20 04:06:26 -08:00
2021-02-28 17:08:24 +01:00
The version number like ripme-1.7.94-17-2167aa34-feature_auto_release.jar contains a release number (1.7.94), given by
2022-04-15 11:19:13 +02:00
a person, the number of commits since this version (17). The commit SHA (2167aa34) uniquely references the
2021-02-28 17:08:24 +01:00
source code ripme was built from. If it is not built from the main branch, the branch name (feature/auto-release) is
given.
2016-12-20 04:06:26 -08:00
2020-10-13 05:59:48 +02:00
## Installation
On macOS, there is a [cask ](https://github.com/Homebrew/homebrew-cask/blob/master/Casks/ripme.rb ).
```
2021-01-27 15:18:51 -06:00
brew install --cask ripme & & xattr -d com.apple.quarantine /Applications/ripme.jar
2020-10-13 05:59:48 +02:00
```
2019-10-30 11:25:38 -05:00
## Changelog
2021-03-07 02:46:24 +01:00
[Changelog ](/ripme.json ) ** (ripme.json)**
2014-04-06 23:08:55 -07:00
2016-12-20 04:06:26 -08:00
# Features
2014-03-02 01:30:10 -08:00
2019-10-30 11:25:38 -05:00
* Quickly downloads all images in an online album. [See supported sites ](https://github.com/ripmeapp/ripme/wiki/Supported-Sites )
2014-04-05 09:01:45 -07:00
* Easily re-rip albums to fetch new content
2018-03-08 06:15:27 -05:00
* Built in updater
* Skips already downloaded images by default
2019-10-30 11:25:38 -05:00
* Can auto skip e-hentai and nhentai albums containing certain tags. [See here for how to enable ](https://github.com/RipMeApp/ripme/wiki/Config-options#nhentaiblacklisttags )
* Download a range of urls. [See here for how ](https://github.com/RipMeApp/ripme/wiki/How-To-Run-RipMe#downloading-a-url-range )
2014-03-02 01:30:10 -08:00
2019-10-30 11:25:38 -05:00
## List of Supported Sites
2016-12-20 04:06:26 -08:00
2014-03-12 19:43:19 -07:00
* imgur
* twitter
* tumblr
* instagram
2014-04-27 04:54:04 -07:00
* flickr
* photobucket
* reddit
* gonewild
2014-03-12 19:43:19 -07:00
* motherless
* imagefap
* imagearn
* seenive
* vinebox
* 8muses
2014-04-05 09:01:45 -07:00
* deviantart
* xhamster
2019-10-30 11:25:38 -05:00
* [(more) ](https://github.com/ripmeapp/ripme/wiki/Supported-Sites )
2014-03-14 08:18:21 -07:00
2016-12-20 04:06:26 -08:00
## Not Supported?
2014-06-27 00:19:03 -07:00
2017-08-10 03:01:10 -07:00
Request support for more sites by adding a comment to [this Github issue ](https://github.com/RipMeApp/ripme/issues/38 ).
2014-04-05 09:01:45 -07:00
2019-10-30 11:25:38 -05:00
If you're a developer, you can add your own Ripper by following the wiki guide:
2017-06-24 15:05:55 -07:00
[How To Create A Ripper for HTML Websites ](https://github.com/ripmeapp/ripme/wiki/How-To-Create-A-Ripper-for-HTML-websites ).
2014-04-05 09:01:45 -07:00
2016-12-20 04:06:26 -08:00
# Compiling & Building
2021-03-28 10:36:30 +02:00
The project uses [Gradle ](https://gradle.org ). 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:
2014-03-14 08:18:21 -07:00
```bash
2021-03-28 10:36:30 +02:00
./gradlew clean build testAll --tests XhamsterRipperTest.testXhamster2Album
2021-02-14 12:23:15 +01:00
./gradlew clean build -x test --warning-mode all
2014-03-14 08:18:21 -07:00
```
2014-04-05 09:01:45 -07:00
2021-03-28 10:36:30 +02:00
The generated JAR (java archive) in build/libs will include all
dependencies.
2014-05-25 23:48:13 -07:00
2016-12-20 04:06:26 -08:00
# Running Tests
2016-12-20 01:26:05 -08:00
2021-03-28 10:36:30 +02:00
Tests can be tagged as beeing slow, or flaky. The gradle build reacts to
the following combinations of tags:
2016-12-20 01:26:05 -08:00
2021-03-28 10:36:30 +02:00
- 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.
2016-12-20 01:26:05 -08:00
2021-02-14 12:23:15 +01:00
```bash
./gradlew test
2021-03-28 10:36:30 +02:00
./gradlew testAll
./gradlew testFlaky
./gradlew testSlow
./gradlew testAll --tests XhamsterRipperTest
./gradlew testAll --tests XhamsterRipperTest.testXhamster2Album
2021-02-14 12:23:15 +01:00
```
2021-03-28 10:36:30 +02:00
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.
2021-05-14 21:08:20 +02:00
# 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 ](https://github.com/JetBrains/compose-jb/ ).
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 ](https://proandroiddev.com/a-comprehensive-hundred-line-navigation-for-jetpack-desktop-compose-5b723c4f256e ).