Skip to content

Basedfloppa/E621-Account-Parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

E621 Account Parser

A tiny web app for storing personal favorites and generating a personalized post feed.

Stars Watchers Forks Issues Open PRs Contributors License Last Commit Commit Activity Top Language Code Size Repo Size Latest Release

💜 NOW LIVE 💜

At temporary domain https://e621scraper.duckdns.org

✨ Features

  • Save and manage personal favorites
  • Generate a customized feed based on your preferences
  • Simple local dev setup (Rust backend + Trunk-served frontend)

🧰 Tooling Installation

Make sure you have Rust and cargo installed. Then:

cargo install cargo-watch
cargo install --locked trunk

cargo-watch enables hot-reload for the backend, and trunk serves/builds the frontend.

🚀 Running Locally


Backend

./config.toml

admin_user = "username"
admin_api = "api_key"
tag_blacklist = ["tag1", "tag2", "tagN"]
posts_domain = "https://uri.com"
posts_limit = 320 # 320 is max
rps_delay_ms = 250
max_retries = 3
df_floor = 0.7
idf_max = 100.0

[group_weights]
'artist' = 2.0
'character' = 1.5
'copyright' = 1.3
'species' = 1.2
'general' = 1.0
'meta' = 0.4
'lore' = 0.6

[priors]
now = "2000-1-01T12:00:00Z" # dummy value, will be replaced with current date
recency_tau_days = 14.0
quality_a = 0.00
quality_b = 0.00
mix_sim = 1.0
mix_quality = 0.0
mix_recency = 0.0
idf_lambda = 0.0
idf_alpha = 1.0
freq_alpha = 0.5

Small guide on scoring vars

Variable Lower → Higher →
df_floor rarer tags hit harder (risk: spiky) rarer tags toned down (stable)
idf_max compress extremes allow rarities to dominate more
idf_lambda blend IDF toward 1 (flatter) keep raw IDF contrast (sharper)
idf_alpha stronger compression (flatter) less compression (sharper)
freq_alpha downplay frequency (treat counts similarly; more diversity) amplify frequent tags (favorites dominate; less diversity)
quality_a score_total matters less score_total matters more
quality_b fav_count matters less fav_count matters more
recency_tau_days faster decay (newer wins) slower decay (older survives)
mix_sim personalization weaker personalization stronger
mix_quality quality matters less quality matters more
mix_recency freshness matters less freshness matters more

http://localhost:8080

cd ./parser-api/
cargo watch -x run

Frontend

./static/config.js

window.APP_CONFIG = Object.freeze({
    posts_domain: "https://uri.com",
    backend_domain: "https://uri.com",
});

http://localhost:8000

cd ./parser-web/
trunk serve

About

A Rust API + Trunk-served frontend that stores your e621 favorites and builds a personalized post feed.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages