aboutsummaryrefslogtreecommitdiffstats
path: root/server.py
Commit message (Collapse)AuthorAgeFilesLines
* fix: use YouTube-provided thumbnail URLs instead of hardcoded hq720.jpgAstounds10 hours1-1/+0
| | | | | | | | Videos without hq720.jpg thumbnails caused mass 404 errors. Now preserves the actual thumbnail URL from YouTube's API response, falls back to hqdefault.jpg only when no thumbnail is provided. Also picks highest quality thumbnail from API (thumbnails[-1]) and adds progressive fallback for subscription/download functions.
* Release v0.4.0 - HD Thumbnails, YouTube 2024+ Support, and yt-dlp Integrationv0.4.0Astounds5 days1-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Major Features: - HD video thumbnails (hq720.jpg) with automatic fallback to lower qualities - HD channel avatars (240x240 instead of 88x88) - YouTube 2024+ lockupViewModel support for channel playlists - youtubei/v1/browse API integration for channel playlist tabs - yt-dlp integration for multi-language audio and subtitles Bug Fixes: - Fixed undefined `abort` import in playlist.py - Fixed undefined functions in proto.py (encode_varint, bytes_to_hex, succinct_encode) - Fixed missing `traceback` import in proto_debug.py - Fixed blurry playlist thumbnails using default.jpg instead of HD versions - Fixed channel playlists page using deprecated pbj=1 format Improvements: - Automatic thumbnail fallback system (hq720 → sddefault → hqdefault → mqdefault → default) - JavaScript thumbnail_fallback() handler for 404 errors - Better thumbnail quality across all pages (watch, channel, playlist, subscriptions) - Consistent HD avatar display for all channel items - Settings system automatically adds new settings without breaking user config Files Modified: - youtube/watch.py - HD thumbnails for related videos and playlist items - youtube/channel.py - HD thumbnails for channel playlists, youtubei API integration - youtube/playlist.py - HD thumbnails, fixed abort import - youtube/util.py - HD thumbnail URLs, avatar HD upgrade, prefix_url improvements - youtube/comments.py - HD video thumbnail - youtube/subscriptions.py - HD thumbnails, fixed abort import - youtube/yt_data_extract/common.py - lockupViewModel support, extract_lockup_view_model_info() - youtube/yt_data_extract/everything_else.py - HD playlist thumbnails - youtube/proto.py - Fixed undefined function references - youtube/proto_debug.py - Added traceback import - youtube/static/js/common.js - thumbnail_fallback() handler - youtube/templates/*.html - Added onerror handlers for thumbnail fallback - youtube/version.py - Bump to v0.4.0 Technical Details: - All thumbnail URLs now use hq720.jpg (1280x720) when available - Fallback handled client-side via JavaScript onerror handler - Server-side avatar upgrade via regex in util.prefix_url() - lockupViewModel parser extracts contentType, metadata, and first_video_id - Channel playlist tabs now use youtubei/v1/browse instead of deprecated pbj=1 - Settings version system ensures backward compatibility
* Use response.headers instead of response.getheaders()Astound2024-03-111-1/+1
| | | | response.getheaders() will be deprecated by urllib3.
* server.py: route any subdomain of googleusercontent.com &Jesus E2023-05-281-2/+2
| | | | | | | | ggpht.com Avatars no longer loaded after YouTube changed the subdomain. Fixes #163
* Filter out noisy video routing requests in consoleJames Taylor2022-03-301-4/+6
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Add support for more qualities, merging video+audio using MSEJames Taylor2021-08-291-0/+3
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Revert "Add support for more qualities, merging video+audio using MSE"Jesús2021-08-291-3/+0
| | | | This reverts commit d56df02e7b1eba86baf511289208295b1f6c5a50.
* Add support for more qualities, merging video+audio using MSEJames Taylor2021-08-291-0/+3
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Capitalize name appJesús2021-06-101-5/+5
|
* Add hidden setting to allow foreign post requestsJames Taylor2021-03-151-1/+3
| | | | | | See #55 Signed-off-by: Jesús <heckyel@hyperbola.info>
* Improve regex to pep8Jesús2020-12-311-1/+6
|
* Fix env["PATH_INFO"] for UWSGI, prevents bad url formattingJesús2020-12-191-0/+6
| | | | | e.g: ValueError: Invalid or unsupported url: https:/www.youtube.com/watch
* Patch-import-migrate: Add embed page for embeds on the webJesús2020-12-191-0/+1
| | | | | | | Issue #36 From e51f0a78c778a2283887db7ffc22421a7c849296 Mon Sep 17 00:00:00 2001 From: James Taylor <user234683@users.noreply.github.com>
* video routing: Range request missing content when connection closedJames Taylor2020-12-191-32/+110
| | | | | | | | | | googlevideo sometimes doesn't send all video content and closes the connection. Retry with a range request for the bytes needed a maximum of three times. Fixes first type of #40 Signed-off-by: Jesús <heckyel@hyperbola.info>
* pep8Jesús2020-12-151-6/+11
|
* Improve message Starting httpserverJesús2020-12-151-1/+5
|
* Put vid title at end of download urls so downloads w/ that filenameJames Taylor2020-10-221-0/+3
|
* Remove commenting system. Because:James Taylor2020-10-211-1/+1
| | | | | | | | - Actually using it will result in comments being shadowbanned, even those posted from Youtube's interfacs, because your account gets downranked since no analytics are present so it looks like a bot posting the comment. - It's been broken for awhile
* proxy 'sponsor.ajay.app'zrose5842020-10-181-3/+4
|
* Use tor video routing instead of invidious for 403sJames Taylor2020-09-251-5/+5
| | | | | Using invidious isn't always successful, whereas Tor video routing appears to be near 100% successful.
* server.py: support alternative server softwareJames Taylor2020-09-241-8/+11
| | | | | | Add if __name__ == '__main__' check and add the name "application" pointing to the callable. Fixes #19
* Increase max redirects for video routingJames Taylor2020-09-221-1/+5
|
* Add setting for tor_portuser9381202020-09-191-1/+1
|
* Add tor video routingJames Taylor2020-09-181-6/+30
| | | | | | | | | | Includes non-tor video routing by default, so no more chances of the browser leaking headers or user agent to googlevideo Adjust settings upgrade system to facilitate change to route_tor setting. Add some more space on settings page for dropdown settings so does not overflow due to options with long names. Closes #7
* Merge branch 'master' of https://github.com/user234683/youtube-localJames Taylor2020-09-051-0/+1
|\
| * server.py: Add python3 shebangJelle Licht2020-09-051-0/+1
| |
* | Don't log noisy caption requests to consoleJames Taylor2020-09-051-1/+1
|/
* Don't log noisy thumbnail and avatar requests in the consoleJames Taylor2020-08-121-3/+13
|
* Fix parameters being ignored in youtu.be linksJames Taylor2020-04-051-1/+4
| | | | The parameters weren't passed to the underlying function
* Correct malformed query strings: change ? to & so flaskJames Taylor2020-03-081-0/+3
| | | | | | | | parses it correctly. Otherwise, parameters starting with ? will be included in the video id, which messes up the comments since the extraneous data is passed into the the ctoken.
* Redirect localhost:8080 to homepageJames Taylor2019-09-071-0/+5
|
* Convert subscriptions page to flask frameworkJames Taylor2019-08-101-1/+1
|
* Delete obsolete filesJames Taylor2019-07-211-18/+0
|
* Convert comment posting system to flask frameworkJames Taylor2019-07-211-1/+1
|
* Convert comments to flask frameworkJames Taylor2019-07-191-1/+1
|
* Convert local_playlist to flask frameworkJames Taylor2019-07-061-1/+1
|
* Convert channel page to flask frameworkJames Taylor2019-07-061-1/+1
|
* Convert playlist page to flask frameworkJames Taylor2019-07-041-1/+1
|
* Refactor search pageJames Taylor2019-06-211-1/+1
|
* Convert watch page to flask frameworkJames Taylor2019-06-161-8/+11
|
* Use persistent connectionsJames Taylor2019-02-251-10/+12
|
* server.py: remove obsolete codeJames Taylor2019-02-021-23/+1
|
* Don't use tor when logging inJames Taylor2018-12-261-7/+9
|
* Properly handle terminated channel on channel's playlist and about pageJames Taylor2018-12-211-0/+4
|
* When url fetch fails with http error, report it instead of just 500James Taylor2018-12-211-0/+4
|
* Correctly handle case where channel doesn't existJames Taylor2018-12-201-1/+5
|
* Can now store settings&data in ~/.youtube-local, keeping program files separateJames Taylor2018-11-101-1/+1
|
* relay headers when proxying site so caching happensJames Taylor2018-07-241-1/+1
|
* move settings to file, fix error if no banned_addresses.txtJames Taylor2018-07-131-10/+12
|
* remove hardcoded pathJames Taylor2018-07-101-1/+0
|