{"id":15037109,"url":"https://github.com/ripmeapp/ripme","last_synced_at":"2025-05-14T10:12:58.730Z","repository":{"id":40005192,"uuid":"78223894","full_name":"RipMeApp/ripme","owner":"RipMeApp","description":"Downloads albums from the web in bulk for archive purposes","archived":false,"fork":false,"pushed_at":"2025-04-18T04:56:44.000Z","size":5231,"stargazers_count":3846,"open_issues_count":496,"forks_count":627,"subscribers_count":148,"default_branch":"main","last_synced_at":"2025-04-18T14:45:53.284Z","etag":null,"topics":["album","archival","archive","archiver","data-hoarder","data-hoarding","deviantart","downloader","good-first-issue","hacktoberfest","help-wanted","imgur","instagram","java","reddit","ripme","tumblr","twitter","up-for-grabs"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RipMeApp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-01-06T17:12:09.000Z","updated_at":"2025-04-18T04:54:32.000Z","dependencies_parsed_at":"2024-01-13T01:40:11.538Z","dependency_job_id":"faddd026-c2c2-478e-98cc-a0d221cacc7f","html_url":"https://github.com/RipMeApp/ripme","commit_stats":null,"previous_names":[],"tags_count":298,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RipMeApp%2Fripme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RipMeApp%2Fripme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RipMeApp%2Fripme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RipMeApp%2Fripme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RipMeApp","download_url":"https://codeload.github.com/RipMeApp/ripme/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254120179,"owners_count":22017953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["album","archival","archive","archiver","data-hoarder","data-hoarding","deviantart","downloader","good-first-issue","hacktoberfest","help-wanted","imgur","instagram","java","reddit","ripme","tumblr","twitter","up-for-grabs"],"created_at":"2024-09-24T20:33:23.955Z","updated_at":"2025-05-14T10:12:58.698Z","avatar_url":"https://github.com/RipMeApp.png","language":"Java","readme":"# RipMe\n\n[![Licensed under the MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](/LICENSE.txt)\n[![Join the chat at https://gitter.im/RipMeApp/Lobby](https://badges.gitter.im/RipMeApp/Lobby.svg)](https://gitter.im/RipMeApp/Lobby?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![Subreddit](https://img.shields.io/badge/discuss-on%20reddit-blue.svg)](https://www.reddit.com/r/ripme/)\n![alt Badge Status](https://github.com/ripmeapp/ripme/actions/workflows/gradle.yml/badge.svg)\n[![Coverage Status](https://coveralls.io/repos/github/RipMeApp/ripme/badge.svg?branch=main)](https://coveralls.io/github/RipMeApp/ripme?branch=main)\n\n## About\n\nRipMe is an album downloader (or \"ripper\") for various websites. This is a cross-platform tool that runs on *your* computer. Works on Windows, Linux, and Mac.\n\n![Screenshot](https://i.imgur.com/UCQNjeg.png)\n\n## Download\n\nDownload `ripme.jar` from the [latest release](https://github.com/ripmeapp/ripme/releases/latest). For information about running the `.jar` file, see\n[the How To Run wiki](https://github.com/ripmeapp/ripme/wiki/How-To-Run-RipMe).\n\n## Minimum Requirements\n\nRequires Java 17 or later to run. RipMe has been tested on and is confirmed working on Windows, Linux, and Mac.\n\nJava 17 is the most modern possible Java version that allows us to support the most platforms. See [thread](https://github.com/RipMeApp/ripme/pull/2057#issuecomment-2571472016).\n\n## Supported Sites\n\nJump to:\n- [List of Supported Sites](https://github.com/RipMeApp/ripme?tab=readme-ov-file#list-of-supported-sites)\n- [Site Not Supported?](https://github.com/RipMeApp/ripme?tab=readme-ov-file#site-not-supported)\n\n## Recent development updates\n\n- The current active development repo for RipMe is located at [ripmeapp/ripme](https://github.com/ripmeapp/ripme/).\n- Note: For a while, the ripmeapp/ripme repo was inactive, but development continued at ripmeapp2/ripme.\n- Now, maintainers have been updated and development has been rejoined with ripmeapp/ripme where it will continue.\n- 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.\n\n## Maintainers\n\nRipMe has been maintained with ♥️ and in our limited free time by the following\npeople, with current expected activity level marked by color of the indicator:\n\n- **[@MetaPrime](https://github.com/metaprime)** 🟡 (2025–present)\n- **[@soloturn](https://github.com/soloturn)** 🟡 (2021–present)\n- **[@cyian-1756](https://github.com/cyian-1756)** 🟥 (2017–2020)\n- **[@kevin51jiang](https://github.com/kevin51jiang)** 🟥 (2017–2018)\n- **[@MetaPrime](https://github.com/metaprime)** 🟡 (2016–2017)\n- and its original creator, **[@4pr0n](https://github.com/4pr0n)** 🟥 (2014–2016)\n\nIf you'd like to become a maintainer, reach out on https://gitter.im/RipMeApp/Lobby and ask an active maintainer to be added to the team.\n\n## Contact\n\nChat with the team and community on [gitter](https://gitter.im/RipMeApp/Lobby) and [reddit.com/r/ripme](https://www.reddit.com/r/ripme/)\n\n## Version Numbers\n\nThe version number like `ripme-1.7.94-17-2167aa34-feature_auto_release.jar` contains a release number (`1.7.94`), given by\na person, the number of commits since this version (`17`). The commit SHA (`2167aa34`) uniquely references the\nsource code ripme was built from. If it is not built from the main branch, the branch name (`feature/auto-release`) is\ngiven.\n\nNote that this follows the Semantic Versioning spec (see https://semver.org/),\nand uses the feature of the format that adds extra data after the `-` to\nprovide helpful context so that every commit on every branch has a dintinct\nsemver version associated with it.\n\n## Installation\n\nOn macOS, there is a [cask](https://github.com/Homebrew/homebrew-cask/blob/master/Casks/ripme.rb).\n\n```\nbrew install --cask ripme \u0026\u0026 xattr -d com.apple.quarantine /Applications/ripme.jar\n```\n\n## Changelog\n\n[Changelog](/ripme.json) **(ripme.json)**\n\n# Features\n\n- Quickly downloads all images in an online album. [See supported sites](https://github.com/ripmeapp/ripme/wiki/Supported-Sites)\n- Easily re-rip albums to fetch new content\n- Built in updater\n- Skips already downloaded images by default\n- 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)\n- Download a range of urls. [See here for how](https://github.com/RipMeApp/ripme/wiki/How-To-Run-RipMe#downloading-a-url-range)\n\n## List of Supported Sites\n\nSee the full list of [Supported Sites](https://github.com/ripmeapp/ripme/wiki/Supported-Sites) in the wiki.\n\nNote: Websites change over time and therefore rippers, which fundamentally depend on website layouts, can break at any time.\nFeel free to open an issue if you notice something not working, but please search the list of issues to see if it's already been reported.\n\nThe list of supported rippers includes:\n\n- imgur\n- twitter (currently broken, needs to be updated for X)\n- tumblr\n- instagram\n- flickr\n- photobucket\n- reddit\n- redgifs\n- motherless\n- imagefap\n- seenive\n- 8muses\n- deviantart (currently broken by major changes to the site)\n- xhamster\n- xvideos\n- ... and [more](https://github.com/ripmeapp/ripme/wiki/Supported-Sites)!\n\n## Site Not Supported?\n\nRequest support for more sites by adding a comment to [this Github issue](https://github.com/RipMeApp/ripme/issues/2068).\n\nIf you're a developer, you can add your own Ripper by following the wiki guide:\n[How To Create A Ripper for HTML Websites](https://github.com/ripmeapp/ripme/wiki/How-To-Create-A-Ripper-for-HTML-websites).\n\n# Maintainers\n\n## Compiling \u0026 Building\n\nThe project uses [Gradle](https://gradle.org).\n\nIn particular, we use the `gradlew` script (`gradlew.bat` on Windows) \nto build the app and run tests.\n\nTo build the .jar file and run the appropriate tests, navigate to the\nroot project directory and run `gradlew` with the appropriate commands\n(see below). Ensure that you manually test that your change works,\nadd or update the corresponding test, and run at least the test(s)\nthat are relevant to your change.\n\nFor example, if you modify the Xhamster ripper, you might run this or\na similar command:\n\n```\n./gradlew clean build testAll --tests XhamsterRipperTest.testXhamster2Album\n```\n\nHere's a breakdown of the functionality of the `gradlew` scripts:\n\nThe `build` verb will build the `.jar`, the tests, and will also *run*\nthe tests ,except for disabled and flaky tests.\n\nThus `build` and `build test` are actually synonymous.\n\n```bash\n./gradlew build\n./gradlew build test\n```\n\nYou can get more specific with your test commands:\n\n```bash\n./gradlew clean build testAll --tests XhamsterRipperTest.testXhamster2Album\n./gradlew clean build -x test --warning-mode all\n```\n\nTo perform a clean rebuild, which is only necessary to see warnings for\nunchanged files or if you believe that the incremental build is interfering\nwith the build picking up your changes, for example. That shouldn't be an issue\nfor gradle, so you should check for easier explanations like  whether you saved\nyour changes. :)\n\n```bash\n./gradlew clean\n```\n\nTo build (\"assemble\") the .jar without running the tests, which is useful for \nmanual verification of functionality of a work in progress, run the following:\n\n```bash\n./gradlew assemble\n```\n\nThe generated JAR (java archive) in build/libs will include all\ndependencies.\n\n## Running Tests\n\nTests can be tagged as beeing slow, or flaky. The gradle build reacts to\nthe following combinations of tags:\n\n- default is to run all tests without tag.\n- testAll runs all tests.\n- testFlaky runs tests with tag \"flaky\".\n- testSlow runs tests with tag \"slow\".\n- tests can be run by test class, or single test. Use \"testAll\" so it does\n  not matter if a test is tagged or not.\n- tests can give the full stack of an assertion, exception, or error if you pass `--info` to the command\n\n```bash\n./gradlew test\n./gradlew testAll\n./gradlew testFlaky\n./gradlew testSlow\n./gradlew testAll --tests XhamsterRipperTest\n./gradlew testAll --tests XhamsterRipperTest.testXhamster2Album\n./gradlew testAll --tests ChanRipperTest --info\n```\n\nPlease note that some tests may fail as sites change and our rippers\nbecome out of date. Start by building and testing a released version\nof RipMe and then ensure that any changes you make do not cause more\ntests to break.\n\n## Maintainers: How to Publish a New Release\n\nSee wiki: [How to Make a New Ripme Release](https://github.com/RipMeApp/ripme/wiki/How-to-make-a-new-ripme-release)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fripmeapp%2Fripme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fripmeapp%2Fripme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fripmeapp%2Fripme/lists"}