Name: youtube-local Version: 2023.08.28 Release: 239366 Summary: browser-based client for watching Youtube anonymously and with greater page performance BuildArch: noarch License: AGLPv3 URL: https://github.com/user234683/%{name}/ Source0: %{name}-%{version}_%{release}.tar.xz BuildRequires: make Requires: (python3-flask or python3-Flask), python3-gevent, (python3-brotli or python3-Brotli), (python3-pysocks or python3-PySocks), python3-urllib3, python3-defusedxml, python3-cachetools, python3-stem %description youtube-local is a browser-based client written in Python for watching Youtube anonymously and without the lag of the slow page used by Youtube. One of the primary features is that all requests are routed through Tor, except for the video file at googlevideo.com. This is analogous to what HookTube (defunct) and Invidious do, except that you do not have to trust a third-party to respect your privacy. The assumption here is that Google won't put the effort in to incorporate the video file requests into their tracking, as it's not worth pursuing the incredibly small number of users who care about privacy (Tor video routing is also provided as an option). Tor has high latency, so this will not be as fast network-wise as regular Youtube. However, using Tor is optional; when not routing through Tor, video pages may load faster than they do with Youtube's page depending on your browser. The Youtube API is not used, so no keys or anything are needed. It uses the same requests as the Youtube webpage. %prep %autosetup %build #nothing required %install mkdir -p %{buildroot}/opt/youtube-local cp -rv youtube-local/* %{buildroot}/opt/youtube-local/ mkdir -p %{buildroot}/usr/share/licenses/youtube-local %{buildroot}/usr/lib/systemd/user/ install -Dm644 LICENSE %{buildroot}/usr/share/licenses/youtube-local/LICENSE install -Dm644 youtube-local.service %{buildroot}/usr/lib/systemd/user/youtube-local.service %files /opt/youtube-local/youtube/yt_data_extract/watch_extraction.py /opt/youtube-local/youtube/yt_data_extract/everything_else.py /opt/youtube-local/youtube/yt_data_extract/common.py /opt/youtube-local/youtube/yt_data_extract/__init__.py /opt/youtube-local/youtube/watch.py /opt/youtube-local/youtube/util.py /opt/youtube-local/youtube/templates/watch.html /opt/youtube-local/youtube/templates/unsubscribe_verify.html /opt/youtube-local/youtube/templates/subscriptions.xml /opt/youtube-local/youtube/templates/subscriptions.html /opt/youtube-local/youtube/templates/subscription_manager.html /opt/youtube-local/youtube/templates/status.html /opt/youtube-local/youtube/templates/shared.css /opt/youtube-local/youtube/templates/settings.html /opt/youtube-local/youtube/templates/search.html /opt/youtube-local/youtube/templates/playlist.html /opt/youtube-local/youtube/templates/local_playlists_list.html /opt/youtube-local/youtube/templates/local_playlist.html /opt/youtube-local/youtube/templates/home.html /opt/youtube-local/youtube/templates/error.html /opt/youtube-local/youtube/templates/embed.html /opt/youtube-local/youtube/templates/common_elements.html /opt/youtube-local/youtube/templates/comments_page.html /opt/youtube-local/youtube/templates/comments.html /opt/youtube-local/youtube/templates/channel.html /opt/youtube-local/youtube/templates/base.html /opt/youtube-local/youtube/subscriptions.py /opt/youtube-local/youtube/static/plyr_fixes.css /opt/youtube-local/youtube/static/modules/plyr/plyr.svg /opt/youtube-local/youtube/static/modules/plyr/plyr.js /opt/youtube-local/youtube/static/modules/plyr/plyr.css /opt/youtube-local/youtube/static/modules/plyr/build-instructions.md /opt/youtube-local/youtube/static/modules/plyr/blank.webm /opt/youtube-local/youtube/static/light_theme.css /opt/youtube-local/youtube/static/js/watch.js /opt/youtube-local/youtube/static/js/transcript-table.js /opt/youtube-local/youtube/static/js/sponsorblock.js /opt/youtube-local/youtube/static/js/plyr-start.js /opt/youtube-local/youtube/static/js/hotkeys.js /opt/youtube-local/youtube/static/js/common.js /opt/youtube-local/youtube/static/js/comments.js /opt/youtube-local/youtube/static/js/av-merge.js /opt/youtube-local/youtube/static/gray_theme.css /opt/youtube-local/youtube/static/favicon.ico /opt/youtube-local/youtube/static/dark_theme.css /opt/youtube-local/youtube/static/comments.css /opt/youtube-local/youtube/search.py /opt/youtube-local/youtube/proto_debug.py /opt/youtube-local/youtube/proto.py /opt/youtube-local/youtube/playlist.py /opt/youtube-local/youtube/opensearch.xml /opt/youtube-local/youtube/local_playlist.py /opt/youtube-local/youtube/comments.py /opt/youtube-local/youtube/channel.py /opt/youtube-local/youtube/__init__.py /opt/youtube-local/tests/test_util.py /opt/youtube-local/tests/test_responses/429.html /opt/youtube-local/tests/conftest.py /opt/youtube-local/settings.py /opt/youtube-local/server.py /opt/youtube-local/pytest.ini /opt/youtube-local/generate_release.py /usr/share/licenses/youtube-local/LICENSE /usr/lib/systemd/user/youtube-local.service %changelog * Sat Nov 12 2022 Anarcoco - 2022-11-12 * Initial setup of this spec file