Gucken is a Terminal User Interface which allows you to browse and watch your favorite anime's with style.
Project description
Gucken
Project state: Pre-Alpha
Description
Gucken is a Terminal User Interface which allows you to browse and watch your favorite anime's with style.
Usage
Installation
Windows
Install Python and if you are on Windows 10 Windows Terminal for a better experience.
pip install gucken
gucken
Android
Install Termux and run:
yes|pkg update
pkg install python ffmpeg -y
pip install gucken
gucken
Shortcut
Install Termux:Widget.
mkdir ~/.shortcuts
Lunch shortcut
echo gucken>~/.shortcuts/Gucken
Update shortcut
echo pip install -U gucken>~/.shortcuts/Update\ Gucken
Custom Font
If you want a custom font then just pace the ttf in ~/.termux/font.ttf
. Recommended fonts: Nerd fonts (Only use Mono fonts!)
Downloads
Setup storage for downloads. (Default download location: /data/data/com.termux/files/home/storage/movies
)
termux-setup-storage
Features
- Update checker
- Language priority list
- Hoster priority list
- Automatically use working hoster
- Browsing
- Descriptions
- Watching
- Trailer
- Automatically start next episode
- Discord Presence Very WIP
- MPV only
- Tracker support
- Downloading
- Watch from download
Provider
List of supported Anime sites
- AniWorld.to & SerienStream.to
- Filme
- bs.to
- www3.streamcloud.info
- www.crunchyroll.com
- Add some from International Piracy Sites German
Hoster
List of supported video hoster.
- Streamtape
- VEO
- Vidoza
- Doodstream
Player
List of supported video players
- MPV (most features, recommended)
- VLC
- ffplay
- Custom
- Windows
- mpv.net
- wmplayer.exe (fallback on Windows)
- Android
- mpv-android
- VLC
- Choose
- Linux (Flatpack)
- Linux
- MacOS
Custom CSS
For power users only
Place your custom CSS in user_config_path("gucken").joinpath("custom.css")
and it will be automatically loaded by Gucken.
Optional dependencies
speedups
(with:gucken[speedups]
)- Faster fuzzy sort/search. (
levenshtein
) - Faster json parsing. (
orjson
)
- Faster fuzzy sort/search. (
socks
- SOCKS proxy support. (with:gucken[socks]
)
Todo
Privacy
- Proxy support
Proxies can easiely be implented
for the http client in python
AsyncClient(proxy="http://...")
for the player mpv Note: mpv dos not support socks5
--http-proxy=<proxy>
FFmpeg: env.http_proxy
ytdl: --ytdl-raw-options=proxy=
yt-dlp
--proxy URL
- Tor as proxy
AniWorld.to need Cloudflare captcha and JS challange
SerienStream.to can be bypassed by using diract ip
Cloudflare captcha and JS challange can be solved by using something like
selenium or playwright
- DoH support
- Reverse proxy for player
- DoH
- proxy
UX
- Add hotkey to clear cache (F5)
- Translation DE, EN
- Improve settings design
- Merge SerienStream.to and AniWorld.to search results
- Focus window on autoplay popup
- Utilize next and previous buttons in mpv
- Chapters for VLC
- Window in settings menu to show where files are located (data, logs, config, downloads)
- s.to, aniworld.to scrape episode description
- Search in episodes
- Next and Cancel hotkeys
- Show hotkeys in Footer
- Create shortcut Windows & Linux
- Installation helper
- Colors themes
Speedups
- Pre-fetching
- More threads and asyncio.gather to make everything faster
- More Caching
- Reuse Client
Code
- Do unescape and stripe only on render
- Dont coppy code from SerienStream.to to AniWorld.to
- BIG CODE CLEANUP
Features
- Update checker option to perform update
- Watchlist
- New anime/series Notifications
- Image preview (Kitty protocol, iterm protocol, Sixel, textual-web)
- Use something like opencv to time match a sub from aniworld with a high quality video form another site.
- Nix package
- Docker image
- Flatpack package
- Detect existing chapters and use them for skip
- Reverse proxy for players that do not support headers
- Up-scaling (after download)
- Modular (Custom extractors/players, open API)
- More CLI args
- MPV Screen selection
- Custom player args
- Custom player
- Anime4k options
Support
- Mac support
- IOS support
- Support textual-web
- Syncplay on Android
- Improve Flatpack support
- Improve Snap support
Bugs & DX
- Proper error handling
- Logging and Crash reports
- Blacklist detection & bypass
- 404 detection inside Hoster and don't crash whole program on http error + crash reports/logs
- CI Testing (Windows, Linux)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gucken-0.2.3.tar.gz
.
File metadata
- Download URL: gucken-0.2.3.tar.gz
- Upload date:
- Size: 28.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 295016a636426594d692458aa53473670510c63f68ebe5fa01bf09d7b63d9818 |
|
MD5 | 114425905d5a683d659b220856c31307 |
|
BLAKE2b-256 | bbe25c3828f3301c9d1b97832c1d4f1296df42ed9e82e555394fcb1f16c5a9e6 |
File details
Details for the file gucken-0.2.3-py2.py3-none-any.whl
.
File metadata
- Download URL: gucken-0.2.3-py2.py3-none-any.whl
- Upload date:
- Size: 43.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f1b95113055c88dff33a408f3f133e7b69074864da417077f68e0d117a75681 |
|
MD5 | 9f9d3763d3496e2ef91a7d946e243ee0 |
|
BLAKE2b-256 | f2f38f17c606fb967c230e3053adf0d75aedcf63120c8970d60624068940bd88 |