# freetar - an alternative frontend for ultimate-guitar.com
This is like [Invidious](https://invidious.io/) but only for [Ultimate Guitar](https://www.ultimate-guitar.com/).
## Instances
- https://freetar.de
- https://freetar.habedieeh.re
- https://tabs.adast.dk
## 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
## How to use it
After successfull installation, there is an executable called `freetar` in the PATH. Execute it without parameters and it listens on 0.0.0.0:22000.
**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
```
### Dev environment
You need [poetry](https://python-poetry.org/). Then:
```
poetry install
vim freetar/*.py
poetry run python freetar/backend.py
Visit localhost:22000 in browser
# static files: freetar/static/*
# html templates: freetar/templates/*
poetry run freetar
```
## Future work
- ~~show chords~~
- improve UX on mobile devices
- on smartphones: prevent lock screen
- ~~share chords (qr code)?~~ (done by #12 with export/import functionality)
- save favs encrypted server side?
- Browser Extension like [Invidious Redirection](https://addons.mozilla.org/en-US/firefox/addon/invidious-redirection/)
Raw data
{
"_id": null,
"home_page": "https://github.com/kmille/freetar",
"name": "freetar",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": null,
"author": "kmille",
"author_email": "github@androidloves.me",
"download_url": "https://files.pythonhosted.org/packages/2b/d0/89db9deba6440eef4aef3005bb9300b56af4ae1abec205d52717e1ba3012/freetar-0.7.0.tar.gz",
"platform": null,
"description": "# freetar - an alternative frontend for ultimate-guitar.com\n\nThis is like [Invidious](https://invidious.io/) but only for [Ultimate Guitar](https://www.ultimate-guitar.com/). \n\n## Instances\n- https://freetar.de\n- https://freetar.habedieeh.re\n- https://tabs.adast.dk\n\n## Features\n- no ads, popups, AI, blockchain. Just a simple design\n- search for tabs and view them\n- save your favorite chords as favs (everything is stored in session storage (not send to the server), no account needed)\n- dark mode\n- auto scroll\n- useful for printing chords\n- show chords\n\n\n## How to use it\nAfter successfull installation, there is an executable called `freetar` in the PATH. Execute it without parameters and it listens on 0.0.0.0:22000. \n\n\n**PyPi** \nPackage: https://pypi.org/project/freetar/\n\n```\npip install freetar\n```\n\n**Docker** \nImage: https://hub.docker.com/r/kmille2/freetar \nPort: 22000\n\n```\nsudo docker pull kmille2/freetar\nsudo docker run -p 127.0.0.1:22000:22000 kmille2/freetar\n```\n\n\n### Dev environment\nYou need [poetry](https://python-poetry.org/). Then:\n```\npoetry install\nvim freetar/*.py\npoetry run python freetar/backend.py\nVisit localhost:22000 in browser\n\n# static files: freetar/static/*\n# html templates: freetar/templates/*\npoetry run freetar\n```\n\n## Future work\n\n- ~~show chords~~\n- improve UX on mobile devices\n- on smartphones: prevent lock screen\n- ~~share chords (qr code)?~~ (done by #12 with export/import functionality)\n- save favs encrypted server side?\n- Browser Extension like [Invidious Redirection](https://addons.mozilla.org/en-US/firefox/addon/invidious-redirection/)\n",
"bugtrack_url": null,
"license": null,
"summary": null,
"version": "0.7.0",
"project_urls": {
"Homepage": "https://github.com/kmille/freetar",
"Repository": "https://github.com/kmille/freetar"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9a329ba2144c4ce69a1d5e187c2dab33c6ac5ed1df27d618e3a0e75d1328c46c",
"md5": "8bff4bed461ec54aa6d2025b16e3e8db",
"sha256": "8af5b3e52fc32d22978f0812684a599304260a6d14b20d6861df5b9df360784b"
},
"downloads": -1,
"filename": "freetar-0.7.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8bff4bed461ec54aa6d2025b16e3e8db",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 50757,
"upload_time": "2024-05-26T15:15:08",
"upload_time_iso_8601": "2024-05-26T15:15:08.472015Z",
"url": "https://files.pythonhosted.org/packages/9a/32/9ba2144c4ce69a1d5e187c2dab33c6ac5ed1df27d618e3a0e75d1328c46c/freetar-0.7.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2bd089db9deba6440eef4aef3005bb9300b56af4ae1abec205d52717e1ba3012",
"md5": "6e39fdd79b54d65206721ab42f1173c1",
"sha256": "e593412d39b60ff220f9955e14e2aaf8dc151cfdc4432b70b05880d2ed40a101"
},
"downloads": -1,
"filename": "freetar-0.7.0.tar.gz",
"has_sig": false,
"md5_digest": "6e39fdd79b54d65206721ab42f1173c1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 51086,
"upload_time": "2024-05-26T15:15:10",
"upload_time_iso_8601": "2024-05-26T15:15:10.945647Z",
"url": "https://files.pythonhosted.org/packages/2b/d0/89db9deba6440eef4aef3005bb9300b56af4ae1abec205d52717e1ba3012/freetar-0.7.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-26 15:15:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kmille",
"github_project": "freetar",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "freetar"
}