{"id":19442268,"url":"https://github.com/commandcracker/gucken","last_synced_at":"2025-04-25T00:31:40.648Z","repository":{"id":237187188,"uuid":"793992239","full_name":"Commandcracker/gucken","owner":"Commandcracker","description":"Gucken is a Terminal User Interface which allows you to browse and watch your favorite anime's with style.","archived":false,"fork":false,"pushed_at":"2024-05-22T11:26:47.000Z","size":273,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-22T11:32:14.237Z","etag":null,"topics":["anime-downloader","anime-list","anime-scraper","anime-search","anime-streaming","terminal-user-interface","tui"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/gucken/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Commandcracker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-30T08:52:29.000Z","updated_at":"2024-05-27T19:15:34.962Z","dependencies_parsed_at":"2024-05-10T19:16:35.667Z","dependency_job_id":"89462dc3-1fbd-461d-98b9-cd7c94154e7f","html_url":"https://github.com/Commandcracker/gucken","commit_stats":null,"previous_names":["commandcracker/anitui","commandcracker/gucken"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Commandcracker%2Fgucken","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Commandcracker%2Fgucken/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Commandcracker%2Fgucken/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Commandcracker%2Fgucken/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Commandcracker","download_url":"https://codeload.github.com/Commandcracker/gucken/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223974619,"owners_count":17234687,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anime-downloader","anime-list","anime-scraper","anime-search","anime-streaming","terminal-user-interface","tui"],"created_at":"2024-11-10T15:38:50.527Z","updated_at":"2025-04-25T00:31:40.629Z","avatar_url":"https://github.com/Commandcracker.png","language":"Python","readme":"# Gucken\r\n\r\nProject state: **Pre-Alpha**\r\n\r\n## Description\r\n\r\nGucken is a Terminal User Interface which allows you to browse and watch your favorite anime's with style. \r\n\r\n## Usage\r\n\r\n\u003cimg alt=\"Search\" src=\"https://github.com/Commandcracker/gucken/assets/49335821/d91de2af-c086-485c-8aec-1e68cdb02aa3\"/\u003e\r\n\u003cimg alt=\"Watch\" src=\"https://github.com/Commandcracker/gucken/assets/49335821/7354eeff-bd97-4226-91b9-317939128a81\"/\u003e \r\n\r\n## Installation\r\n\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003eWindows\u003c/b\u003e\u003c/summary\u003e\r\n\r\nInstall [Python] and if you are **on Windows 10** [Windows Terminal] for a better experience.\r\n\r\n```\r\npip install gucken\r\ngucken\r\n```\r\n\r\n\u003c/details\u003e\r\n\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003eLinux\u003c/b\u003e\u003c/summary\u003e\r\n\r\nInstall [Python] and then\r\n\r\n```\r\npip install gucken\r\ngucken\r\n```\r\n\r\n\u003c/details\u003e\r\n\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003eAndroid\u003c/b\u003e\u003c/summary\u003e\r\n\r\nInstall [Termux](https://termux.dev/en/) and run:\r\n\r\n```\r\nyes|pkg update\r\npkg install python ffmpeg -y\r\npip install gucken\r\ngucken\r\n```\r\n\r\n#### Shortcut\r\n\r\nInstall [Termux:Widget](https://github.com/termux/termux-widget?tab=readme-ov-file#Installation).\r\n\r\n```\r\nmkdir ~/.shortcuts\r\n```\r\n\r\n##### Lunch shortcut\r\n\r\n```\r\necho gucken\u003e~/.shortcuts/Gucken\r\n```\r\n\r\n##### Update shortcut\r\n\r\n```\r\necho pip install -U gucken\u003e~/.shortcuts/Update\\ Gucken\r\n```\r\n\r\n#### Custom Font\r\n\r\nIf you want a custom font then just pace the ttf in `~/.termux/font.ttf`. Recommended fonts: [Nerd fonts](https://www.nerdfonts.com/font-downloads) (**Only use Mono fonts!**)\r\n\r\n#### Downloads\r\n\r\nSetup storage for downloads. (Default download location: `/data/data/com.termux/files/home/storage/movies`)\r\n\r\n```\r\ntermux-setup-storage\r\n```\r\n\r\n\u003c/details\u003e\r\n\r\n## Features\r\n\r\n- [x] Update checker\r\n- [x] Language priority list\r\n- [x] Hoster priority list\r\n- [x] Automatically use working hoster\r\n- [x] Browsing\r\n  - [x] Descriptions\r\n- [x] Watching\r\n  - [ ] Trailer\r\n  - [x] Automatically start next episode\r\n  - [x] Discord Presence **Very WIP**\r\n  - [MPV] only\r\n    - [X] [ani-skip](https://github.com/synacktraa/ani-skip) support\r\n    - [x] [Syncplay](https://github.com/Syncplay/syncplay) support (almost out of WIP)\r\n    - [ ] Remember watch time **WIP**\r\n    - [ ] Remember completed Episodes (and series)\r\n  - [ ] Tracker support\r\n    - [ ] [MyAnimeList](https://myanimelist.net/)\r\n    - [ ] [AniList](https://anilist.co/)\r\n    - [ ] [AniWorld.to] \u0026 [SerienStream.to]\r\n- [ ] Downloading\r\n  - [ ] Watch from download\r\n\r\n## Provider\r\n\r\nList of supported Anime sites\r\n\r\n- [x] [AniWorld.to] \u0026 [SerienStream.to]\r\n  - [ ] Filme\r\n- [ ] [bs.to](https://bs.to/)\r\n- [ ] [www3.streamcloud.info](https://www3.streamcloud.info/)\r\n- [ ] [www.crunchyroll.com](https://www.crunchyroll.com)\r\n- [ ] Add some from [International Piracy Sites German](https://fmhy.net/non-english#german-deutsch)\r\n\r\n## Hoster\r\n\r\nList of supported video hoster.\r\n\r\n- [x] VEO\r\n- [x] Vidoza\r\n- [x] Doodstream\r\n- [x] SpeedFiles\r\n- [x] Vidmoly\r\n- [x] Streamtape (Removed from AniWorld \u0026 SerienStream)\r\n- [x] Luluvdo\r\n- [ ] Filemoon\r\n- [ ] LoadX\r\n\r\n## Player\r\n\r\nList of supported video players\r\n\r\n- [x] [MPV] (most features, recommended)\r\n- [x] [VLC]\r\n- [x] [ffplay](https://www.ffmpeg.org/ffplay.html)\r\n- [ ] Custom\r\n- Windows\r\n  - [x] [mpv.net](https://github.com/mpvnet-player/mpv.net)\r\n  - [x] wmplayer.exe (fallback on Windows)\r\n- Android\r\n  - [x] [mpv-android](https://github.com/mpv-android/mpv-android)\r\n  - [x] [VLC]\r\n  - [x] Choose\r\n- Linux (Flatpack)\r\n  - [x] [MPV](https://flathub.org/apps/io.mpv.Mpv)\r\n  - [x] [VLC](https://flathub.org/apps/org.videolan.VLC)\r\n  - [x] [Celluloid](https://flathub.org/apps/io.github.celluloid_player.Celluloid)\r\n- Linux\r\n  - [x] [Celluloid](https://celluloid-player.github.io/)\r\n- MacOS\r\n  - [ ] [IINA](https://iina.io/)\r\n\r\n## Custom CSS\r\n\r\n**For power users only**\r\n\r\nPlace your custom CSS in `user_config_path(\"gucken\").joinpath(\"custom.css\")` and it will be automatically loaded by Gucken.\r\n\r\n- [Textual CSS Guide](https://textual.textualize.io/guide/CSS/)\r\n- [Textual CSS Reference](https://textual.textualize.io/css_types/)\r\n\r\n## Optional dependencies\r\n\r\n- `speedups` (with: `gucken[speedups]`)\r\n  - Faster fuzzy sort/search. (`levenshtein`)\r\n  - Faster json parsing. (`orjson`)\r\n- `socks` - SOCKS proxy support. (with: `gucken[socks]`)\r\n\r\n## Todo\r\n\r\n### Privacy\r\n\r\n- [ ] Proxy support\r\n```\r\nProxies can easiely be implented\r\n\r\nfor the http client in python\r\nAsyncClient(proxy=\"http://...\")\r\n  \r\nfor the player mpv Note: mpv dos not support socks5\r\n--http-proxy=\u003cproxy\u003e\r\nFFmpeg: env.http_proxy\r\nytdl: --ytdl-raw-options=proxy=\r\n  \r\nyt-dlp\r\n--proxy URL\r\n```\r\n- [ ] [Tor](https://www.torproject.org/) as proxy\r\n```\r\nAniWorld.to need Cloudflare captcha and JS challange\r\nSerienStream.to can be bypassed by using diract ip\r\n  \r\nCloudflare captcha and JS challange can be solved by using something like\r\nselenium or playwright\r\n```\r\n- [ ] DoH support\r\n- [ ] Reverse proxy for player\r\n  - [ ] DoH\r\n  - [ ] proxy\r\n\r\n### UX\r\n\r\n- [ ] Add hotkey to clear cache (F5)\r\n- [ ] Translation DE, EN\r\n- [ ] Improve settings design\r\n- [ ] Merge SerienStream.to and AniWorld.to search results\r\n- [ ] Focus window on autoplay popup\r\n- [ ] Utilize next and previous buttons in mpv\r\n- [ ] Chapters for VLC\r\n- [ ] Window in settings menu to show where files are located (data, logs, config, downloads)\r\n- [ ] s.to, aniworld.to scrape episode description\r\n- [ ] Search in episodes\r\n- [ ] Next and Cancel hotkeys\r\n- [ ] Show hotkeys in Footer\r\n- [ ] Create shortcut Windows \u0026 Linux\r\n- [ ] Installation helper\r\n  - [ ] [MPV]\r\n    - [ ] [Anime4k]\r\n  - [ ] [VLC]\r\n- [ ] Colors themes\r\n\r\n### Speedups\r\n\r\n- [ ] Pre-fetching\r\n- [ ] More threads and asyncio.gather to make everything faster\r\n- [ ] More Caching\r\n- [ ] Reuse Client\r\n\r\n### Code\r\n\r\n- [ ] Do unescape and stripe only on render\r\n- [ ] Dont coppy code from SerienStream.to to AniWorld.to\r\n- [ ] BIG CODE CLEANUP\r\n\r\n### Features\r\n\r\n- [ ] Update checker option to perform update\r\n- [ ] Watchlist\r\n- [ ] New anime/series Notifications\r\n- [ ] Image preview (Kitty protocol, iterm protocol, Sixel, textual-web)\r\n- [ ] Use something like opencv to time match a sub from aniworld with a high quality video form another site.\r\n- [ ] Nix package\r\n- [ ] Docker image\r\n- [ ] Flatpack package\r\n- [ ] Detect existing chapters and use them for skip\r\n- [ ] Reverse proxy for players that do not support headers\r\n- [ ] Up-scaling (after download)\r\n  - [ ] [video2x](https://github.com/k4yt3x/video2x)\r\n  - [ ] [waifu2x](https://github.com/nagadomi/waifu2x)\r\n  - [ ] [Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN)\r\n  - [ ] [FSRCNN](https://github.com/igv/FSRCNN-TensorFlow)\r\n  - [ ] [Anime4k]\r\n- [ ] Modular (Custom extractors/players, open API)\r\n- [ ] More CLI args\r\n- [ ] [MPV] Screen selection\r\n- [ ] Custom player args\r\n- [ ] Custom player\r\n- [ ] [Anime4k] options\r\n\r\n#### Support\r\n\r\n- [ ] Mac support\r\n- [ ] IOS support\r\n- [ ] Support textual-web\r\n- [ ] Syncplay on Android\r\n- [ ] Improve Flatpack support\r\n- [ ] Improve Snap support\r\n\r\n### Bugs \u0026 DX\r\n\r\n- [ ] Proper error handling\r\n- [ ] Logging and Crash reports\r\n- [ ] Blacklist detection \u0026 bypass\r\n- [ ] 404 detection inside Hoster and don't crash whole program on http error + crash reports/logs\r\n- [ ] CI Testing (Windows, Linux)\r\n\r\n[Anime4k]: https://github.com/bloc97/Anime4K\r\n[MPV]: https://mpv.io/\r\n[VLC]: https://www.videolan.org/vlc/\r\n[AniWorld.to]: https://aniworld.to\r\n[SerienStream.to]: https://186.2.175.5\r\n[Python]: https://www.python.org/downloads/\r\n[Windows Terminal]: https://apps.microsoft.com/detail/9n0dx20hk701\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcommandcracker%2Fgucken","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcommandcracker%2Fgucken","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcommandcracker%2Fgucken/lists"}