u/Coconutian

Image 1 — All In One Metadata Fixer tool - Reposted after a lot of work
Image 2 — All In One Metadata Fixer tool - Reposted after a lot of work
Image 3 — All In One Metadata Fixer tool - Reposted after a lot of work

All In One Metadata Fixer tool - Reposted after a lot of work

https://github.com/coconautilus17/LibraForge

Original post here

A full suite of tools all bundled in one WebApp to forge your library into shape, ready for audiobookshelf.

Metadata Forge

  • Match from various providers on a target source directory
  • Manual review section, threshold triggered review tags, selectable by category
  • Manual apply and search for any book, including quick loading from manual review report
  • Detailed statistics on matches, misses, skips.
  • Dynamic provider search if specific providers are recognized(GA and SBT)

M4B-Tool

  • UI for this pre-existing tool, with various QoL improvements to make its use easier
  • Automatic search for multi-file and any non M4B books with quickload
  • Recommendation on encoding based on existing bitrate, codec and sample rate
  • Manual match search available in the same UI to match the resulting file immediately

Folder Forge

  • Organize your books based on the matched metadata
  • Manual review section, threshold triggered and searchable by pattern
  • Organize from a source dir to a target dir - uses ABS's preferred format of Author > Series > Book

Audible Package

  • UI for the pre-existing package, with small QoL improvements
  • Multiple account selection and easy switch

Global settings for various cross-utility settings and patterns

Very open to feedback, please let me know if you find anything you think should/can be added, or if anything is broken. Please be aware, the tool is entirely vibe-coded with Claude and is a passion project

u/Coconutian — 10 days ago

All in one Metadata Fixer tool

So I've seen a few tools running around, and that was only after I've started building my own one, simply out of annoyance with the audibookshelf terrible one, that wrecked whole series metadata's for me which require to be fixed by hand.

I'll fully admit this is entirely vibe coded, despite knowing how to code, I am simply not this good to create this kind of tool.

The tool itself is 2 separate scripts - Metadata Fixer, Folder Organizer.

The fixer relies on the audible git for the audible api and is a requirement for it to work - https://github.com/mkb79/Audible

The folder organizer will use metadata and other clues to organize folders in this manner - Author > Series > Books > files

I have also wrapped m4b-tool in to make it a one stop shop for my library needs. reference here - https://github.com/sandreas/m4b-tool

This whole thing is bundled in a local webpage, so access and security are of-course all reliant on your lab environment, and I am not planning to make this thing work differently, because it needs direct access to your mounted directory of audiobooks to function.

Regarding success on matching and speed -
I think its pretty fast, I'm currently working on making it a bit faster with concurrent searches.
Actual writing in the metadata could be a bit I/O heavy, despite using Mutagen, it all depends on where the metadata is in the file.
I'm thinking of adding an option to make a "metadata.json" file instead of re-write, will be placed in the book folder, which will be a lot faster than actually fixing the metadata (which I dont like but I understand the necessity)
Match success is like 95% i think, most of the time even 100%, and there are a few fallbacks and thresholds for manual review.

EDIT:

Uploaded to git - https://github.com/coconautilus17/LibraForge

Feel free to provide feedback, I am only one man with a decent library and some occasionally free time, and a bad habit of trying to solve issues in the most complicated way possible.

Here are snippets of the tool - there is a bit more to it but we cant have an album here

https://preview.redd.it/1tr9kxq8uf7h1.png?width=1780&format=png&auto=webp&s=be4e57d7a27695c67c40f83829d443c8b9fbe7f2

https://preview.redd.it/3qkqexq8uf7h1.png?width=1689&format=png&auto=webp&s=4307cc5b7eb295d12c289bfe28d027653f895dd6

https://preview.redd.it/jvtzko7vuf7h1.png?width=1647&format=png&auto=webp&s=29fac0cbe2a5cc911e57fb6bd47f89ae0a4f2828

https://preview.redd.it/7d7cnp7vuf7h1.png?width=1667&format=png&auto=webp&s=1039123ba7bf1b39b6e40e2cf52fdae7242e4d08

reddit.com
u/Coconutian — 21 days ago

playit.gg on Ubuntu - Fetch your active URLS via CLI

So I am building a personal homepage for my homelab stuff, and wanted to find a way to populate my playit.gg links automatically.

Since the api option is behind their subscription, I've cooked up a way to extract it in a script.

For anyone who needs this, it requires tmux to be installed as we are extracting it from the playit attach TUI.

The script:

#!/bin/bash

set -u

SESSION_NAME="playit-url-capture"

CAPTURE_FILE="/tmp/playit-pane.txt"

PLAYIT_BIN="$(command -v playit || true)"

if [ -z "$PLAYIT_BIN" ]; then

echo "ERROR: playit binary not found in PATH" >&2

exit 1

fi

# Clean up any previous capture session

tmux kill-session -t "$SESSION_NAME" 2>/dev/null || true

rm -f "$CAPTURE_FILE"

# Start playit attach in a detached tmux session

tmux new-session -d -s "$SESSION_NAME" "$PLAYIT_BIN attach"

# Give the TUI time to render

sleep 1

# Capture the visible pane content

tmux capture-pane -t "$SESSION_NAME" -p -S -200 > "$CAPTURE_FILE"

# Close the temporary attach session

tmux kill-session -t "$SESSION_NAME" 2>/dev/null || true

# Extract Playit public URLs/domains

grep -Eo '([A-Za-z0-9-]+\.)+(ply\.gg|playit\.gg|joinmc\.link)(:[0-9]+)?' "$CAPTURE_FILE" \

| sort -u

Hope this helps anyone.

reddit.com
u/Coconutian — 2 months ago