Skip to main content

freetar - an open source alternative front-end to ultimate-guitar.com

This is like Invidious but only for Ultimate Guitar.

Instances

Features

  • no ads, popups, AI, blockchain. Just a simple design
  • search for tabs and view them
  • save your favorite chords as favs (everything is stored in session storage (not send to the server), no account needed)
  • dark mode
  • auto scroll
  • useful for printing chords
  • show chords
  • prvent screen from turning off (using WakeLock API)

How to use it

After successful installation, there is an executable called freetar in the PATH. Execute it without parameters and it listens on 0.0.0.0:22000. You can specify a custom listen host or port by using environment variables.

Environment variables

  • FREETAR_HOST
  • FREETAR_PORT
  • FREETAR_CACHING (ram (default) for memory caching, use off for developing/debugging, disk for disk cache)
  • FREETAR_CACHE_TIMEOUT (how log should tabs be cached in memory, reduces the requests to Ultimate Guitar, defaults to 0 (inifnity), only needed if ram or disk caching is used)
  • FREETAR_CACHE_DIR (location of disk cache, defaults to /tmp)
  • FREETAR_LOCAL=1 fetches directly from Ultimate Guitar instead of the public Freetar proxies.

PyPi
Package: https://pypi.org/project/freetar/

pip install freetar

Docker
Image: https://hub.docker.com/r/kmille2/freetar
Port: 22000

sudo docker pull kmille2/freetar
sudo docker run -p 127.0.0.1:22000:22000 kmille2/freetar

Or use Docker compose:

sudo docker compose up -d

Set a custom bind port with the environment variable FREETAR_PORT

You can also build and run the local repository instead of pulling from Docker Hub:

docker compose build
docker compose up -d

Dev environment

You need uv. Then:

FREETAR_CACHING=off uv run freetar/backend.py  # dev server
FREETAR_CACHING=off uv run freetar # production server
vim freetar/*.py
Visit localhost:22000 in browser

# static files: freetar/static/*
# html templates: freetar/templates/*

Future work

  • improve UX on mobile devices
  • package it as PGA (Progressive Web App)
  • share chords (qr code)? (done by #12 with export/import functionality)
  • save favs encrypted server side?
  • Browser Extension like Invidious Redirection (done)
  • show qr code to quickly share a tab?

Contributions

Feel free to contribute, but please create an issue before with a proposal of the feature. I don't want freetar to be bloated (neither UI nor functionality).

Release files for freetar 0.21.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for freetar 0.21.0
File Size Uploaded
freetar-0.21.0.tar.gz 116.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for freetar 0.21.0
File Interpreter ABI Platform
freetar-0.21.0-py3-none-any.whl Python 3 none any Details

Total release size: 234.3 kB

Release files / freetar-0.21.0.tar.gz

Download URL freetar-0.21.0.tar.gz
Size 116.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c8533b18fbd7c97c7aae274501bffb5296314782f6514c098ec68ecb9d8e8f4f
BLAKE2b-256 checksum
How to use checksums
5a7ba102e54008da96c9e824ed48eb69e30e96fe0eceab9590330276c387444b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / freetar-0.21.0-py3-none-any.whl

Download URL freetar-0.21.0-py3-none-any.whl
Size 117.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
54d64bd3a3f1480836ca090107386cd6519f1993fcffeeee80d70ed5524e1d4e
BLAKE2b-256 checksum
How to use checksums
017310bd074747ca4bb5de4b34d8650796a0a8805a86bcc62138043a8889a1ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.21.0 This release

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.17.0

1 release file

0.16.0

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page