Git Product home page Git Product logo

reverser's Introduction

FoxTrove

codecov

A content aggregator for a variety of sites to make uploading to e6 easier. Created because Saucenao doesn't support all the sites I want it to.

You provide links where the artist is uploading their content to. The content will then be scraped of those sites and put into iqdb (a reverse image search software). It also checks e6' version of iqdb to provide you information on if submissions are already uploaded, or if the current upload has a better version available elsewere.

It's also useful to clean up source:none artist_name searches.

Larger image search for kenket

Image dimensions and filesize are displayed, links to the original submission, the direct link of the downloaded file, and a link to start reverse image search for similar already scraped files.

Larger submission example

The current upload on e6 is only 0.3x of the dimensions from the twitter post. It's also 1.83MB larger, a prime example for replacement. Please check manually if the file is actually superior, just because the filessize is greater doesn't mean that the visual quality is too.

Non-uploaded submissions from kenket

You can also search for non-uploaded submission for artists. How well this works depends on the artist and page. Some artists don't seperate their personal and art accounts and post irrelevant content which would also appear in this list.

Currently supported sites

  • Art Fight
  • Artconomy
  • ArtStation
  • Baraag
  • Bluesky
  • Cohost
  • Commishes
  • DeviantArt
  • FurAffinity
  • FurryNetwork
  • Inkbunny
  • Itaku
  • Newgrounds
  • Omorashi
  • Pawoo
  • Piczel
  • Pixiv
  • Reddit
  • Sofurry
  • Tumblr (see notes)
  • Twitter
  • Weasyl

Tumblr

Tumblr doesn't expose the full resolution image through normal means. Getting full resolution on tumblr is a bit more compicated. Here's what you need to do, and what is done for you. Manual steps are marked with (*)

  1. Reblog every post of the blog
  2. (*) Download an archive of your blog
  3. (*) Upload the archive through the "Archive Importer"
  4. (*) Remove drafts from your blog with the Mega-Editor
  5. Import full resolution files from the uploaded archive

The first step starts when you add a tumblr url to an artist. Instead of downloading the image like all other scrapers, it reblogs them.

Captchas

A few sites throw captchas at you when trying to login through an automated browser. You will need to solve these captchas manually. Click on the Selenium link and connect to see what is happening inside the automated browser. Solve captchas as needed when adding artist urls or enqueuing new updates.

Configuration

A few scraper require credentials to work, you can configure them through the web UI under the Config header link.

How do I actually use this?

The following software is required to get started:

Windows users

Install a WSL distribution, enable WSL2, and clone the project inside there. Executing docker inside WSL will still work, without directly accessing the host filesystem. This will give you a significant performance boost.

Installation

  1. Clone the repo with git clone https://github.com/Earlopain/FoxTrove.git.
  2. cd into the repo.
  3. cp .env.sample .env and fill out the necessary environment variables.
  4. Build the docker image with docker compose build.
  5. Run docker compose run --rm foxtrove bin/setup.
  6. Run docker compose up. The container is now available at http://localhost:9000. A few config options are mandatory, you will be notified of them when accessing the site. See Configuration on how to set them.

This project is only meant to run locally on your machine. You may host it somewhere and make it accessible to others, but be aware that there are no user accounts or fine grained permissions. Everyone can do anyhting.

Development tools

The compose file contains services to easily run some developments tools:

  • docker compose run --rm tests
  • docker compose run --rm rubocop

You can pass addition parameters like individual test files or -a for rubocop simply by appending it to the command. I suggest you make an alias for these. You may also run these commands locally, since docker does add a fair bit of startup overhead.

reverser's People

Contributors

donttalktomethx avatar earlopain avatar faucetlol avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

reverser's Issues

Add Home Page

Users should be able to search both by upload and url.

Artist page errors when post is deleted

Trying to view most the pages for artists now presents me with undefined method `[]' for nil:NilClass post_json["file_url"] || post_json["file"]["url"] because the posts are deleted and have no file_url - manually setting post_is_deleted to true makes the page render but there's potentially thousands of these and that sounds painful :(

I ran the migrations when I updated and it didn't seem to help

Similar images result page

Display stats:

  • dimensions
  • size
  • artist site url
  • artist site submission
  • direct link (when applicable)
  • direct download (for members)

Improve readme

Hey there,

I'm really curious what this project is, but the readme has no information, and browsing through the code gives me only half an idea.

So, what is this project, if I may ask?
My immediate guess is maybe a reverse image lookup system? Possibly?

Add stats page

  • Artists count
  • Queued updates count
  • Post count
  • Posts per sites
  • Artists per site
  • Used storage
    ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.