Code Monkey home page Code Monkey logo

avoonix / material-e621 Goto Github PK

View Code? Open in Web Editor NEW
45.0 4.0 4.0 4.6 MB

Material e621 is a modern, open source web client for e621.net. It is customizable, comes with a bunch of additional features that are not available on e621.net, and makes browsing posts a delightful experience.

Home Page: https://material-e621.vercel.app

License: GNU Affero General Public License v3.0

JavaScript 0.64% HTML 0.24% TypeScript 28.29% Vue 70.28% SCSS 0.35% Dockerfile 0.10% Rust 0.10%
material-design yiff nsfw vuejs typescript uwu progressive-web-app e621 vite furry image-gallery service-worker vue vuetify web-worker

material-e621's Introduction

Material e621

Material e621 is a modern, open source web client for e621.net. It is customizable, comes with a bunch of additional features that are not available on e621.net, and makes browsing posts a delightful experience.

Screenshot Gallery

Material e621 - Landing Page

Material e621 - Posts

Material e621 - Details

Material e621 - Artist Dashboard

Material e621 - Settings

Material e621 - Recommendations

Material e621 - Starred Tags

Usage

Hosted

Latest version is available on Vercel.

Docker

sudo docker run -d -p 8080:80 ghcr.io/avoonix/material-e621:latest

Alternatively, you can use docker-compose up with this docker-compose.yml. Alternative docker compose setups and dockerfiles can be found in #3 and #13.

latest can be replaced with any of the available versions

Development

pnpm install
pnpm run dev
pnpx playwright test
pnpx playwright test --debug
pnpx playwright codegen

Or, to build the desktop app:

Install the dependencies:

rust/cargo:

Linux

Use the package manager that comes with your distro

Windows Download and run the rust installer

nodejs/pnpm:

Linux

Use the package manager that comes with your distro

Windows

Download the installer from the NodeJS website

Then run:

pnpm install
cargo install tauri-cli
cargo tauri build

material-e621's People

Contributors

avoonix avatar tamaskan avatar thebearodactyl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

material-e621's Issues

[Bug]: Tried to build app for Desktop (windows 10)

Expected Behavior

the app should boot aup when cargo tauri build executes

Actual Behavior

i have installed rust

i did this:
i downloaded master
pnpm install
cargo install tauri-cli

but when i start the next command
cargo tauri build

gives the next error

image

i wanted to try it in my computer

Steps to Reproduce the Problem

download master

pnpm install
cargo install tauri-cli
cargo tauri build

[Bug]: Network Error Brave

Expected Behavior

Being able to access the web application upon logging in

Actual Behavior

network error upon logging in the API with an user's API key

I already tested it with google chrome and it works there, but not on other chromium browsers.

The browser used was Brave

Steps to Reproduce the Problem

  1. open a chromium-based browser
  2. Access web app
  3. Browse posts
  4. Open settings
  5. Reach API access
  6. Log in with your account
  7. Open Home tab

[Feature]: Star Single Posts

Description

As far as i can see there is no simple way to star a single post, so adding that before/after the context.emit("set-post-favorite" -code would solve that

[Bug]: Tag Limit of 6 when API should support up to 40

Expected Behavior

something like "anthro male fur tail claws clothing" would have many results but "anthro male fur tail claws clothing touching_cheek" would have roughly 3 results.

Actual Behavior

It ignores the last index of tags and only uses the first 6. And in the example of "anthro male fur tail claws clothing touching_cheek" it produces several thousand results rather then just the 3 it should.

Steps to Reproduce the Problem

type "anthro male fur tail claws clothing touching_cheek" in material search bar......
I believe createTagQuery.ts
return allTags.slice(0, 6).join(" ");
is what causes this.

I know the API used to be at a 6 tag limit on the old system but its been updated to 40 so I assume it should be
return allTags.slice(0, 40).join(" ");
or just return allTags if the API calls can work with ones longer then 40.

I don't know if this is intentional or a workaround of something else, but I'm assuming its not desired to have fewer tags then what E6 can support.

[Feature]: Desktop App

Should there be a desktop app?

Advantages

  • Fewer e621 API restrictions
    • Post favoriting would no longer need a proxy
    • The bulk downloader could be implemented again

Disadvantages

  • Could cause security issues if it is not properly maintained
  • Automatic updates will be more complicated than with the web version
  • Electron is way too bulky and other solutions (like tauri) are not ready for production yet
  • Someone would have to test windows and mac versions

Anything else I missed?

[Feature]: Import blacklist

Description

I am unsure if you could do this using the API key, so I won't focus on that here.

The blacklist is composed of elements, separated by line, which can be copied by the user.
This can easily be converted into the json file used by the importer.
Here is an example blacklist:

low_res
anthro -tail
standing

You can add quotes around every line,

"low_res"
"anthro -tail"
"standing"

Put a comma after every line, (except the last one)

"low_res",
"anthro -tail",
"standing"

Remove all line breaks,

"low_res","anthro -tail","standing"

And insert it into the blacklist section.

"blacklist":{"mode":0,"tags":["low_res","anthro -tail","standing"]}

Modifying the file like this, and importing it, has worked on my end.

[Bug]: Order tags stop working after the first page.

Expected Behavior

Tags like order:score and order:favcount continue to place posts in order after the first page.

Actual Behavior

Tags like order:score and order:favcount seem to stop working after loading the second page

Steps to Reproduce the Problem

Search for something like order:score or order:favcount, scroll down and load the next page either manually or automatically

[Bug]: Blacklisting Limitations

Expected Behavior

blacklist work properly and block post with blacklisted tag

Actual Behavior

although most blacklist work as intended (e.g. blacklisting 'female' tag would hide all post with that tag), tag(s) like 'the_magnus_archive' does not get hidden

Steps to Reproduce the Problem

  1. open home (default settings)
  2. scroll down, found post with 'the_magnus_archive' tag
  3. click (i) button and find 'the_magnus_archive' tag
  4. click the three-dots menu
  5. click add to blacklist
    6, refresh page with CTRL-R
  6. post still available to be seen

Alternate option: Manually add the tag in the settings

[Bug]: Can't mark Favorite at local websever or app

Expected Behavior

I can mark an image to My favorite.

Actual Behavior

Using 142eed1
OS:Windows 11
Webbrowser:Edage

After using API login e621,I cant mark favorite whatever "builded desktop app" or just "npm run preview"in local website and It shows "network error",but nothing show up in console.
Other feature is working well,and I can do it on https://material-e621.vercel.app/#/
Did I miss something?

Steps to Reproduce the Problem

No response

[Bug]: Network error when logged in account

Expected Behavior

I expect when I logged in my account I would be able to see hidden images

Actual Behavior

but instead I get network error pop up

Steps to Reproduce the Problem

This happens when you log in you e621 account and APL key

[Feature]: e6ai.net Support

Description

Surprise! There's a new instance of e621, directed firmly at AI generated art. Makes sense, keeps the main site clear of this form of art.

Hopefully adding support is as simple as adding a new item to that drop down.

Thanks!

[Feature]: Some Ideas

Description

  1. Docker-Container on hub.docker.com
  2. Integrate e621-dl (eg. auto download favorites/pool)
  3. Gallery with all downloaded Files
  4. Apprise-Integration (eg. follow artists and notify when there are new submissions)

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.