aboutsummaryrefslogtreecommitdiffstats
path: root/lib/WWW/FairViewer.pm
Commit message (Collapse)AuthorAgeFilesLines
* version 1.0.6Jesús2020-12-161-1/+1
|
* Improve syntaxJesús2020-12-021-1/+1
|
* More entries in the list of invidious instances in `_extract_from_invidious()`.trizen2020-12-021-6/+11
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* When all the good invidious instances with `statusClass == "success"` fail, ↵trizen2020-12-021-5/+3
| | | | | | try instances without a status class. Signed-off-by: Jesús <heckyel@hyperbola.info>
* `weeklyRatio` for invidious instances is no longer available.trizen2020-12-021-1/+1
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* version 1.0.5Jesús2020-11-111-1/+1
|
* Fix nameJesús2020-11-091-1/+1
|
* Health status of invidious instances is back.trizen2020-11-091-3/+3
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Invidious no longer includes the health status for instances. (bug?)trizen2020-11-091-11/+8
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Stricter selection of a random invidious instance (with api_host => "auto").trizen2020-11-091-3/+32
| | | | | | | | Ensure that a randomly selected invidious actually works, by making a search request with keyword "test". Additionally, in the selection of instances, only include instances with "weeklyRatio = success" and "dailyRatios[0] = "success" (in addition to "statusClass = sucess"). Signed-off-by: Jesús <heckyel@hyperbola.info>
* Don't cache if "cache-control" says "no-cache".trizen2020-11-091-2/+2
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Pick and set a random invidious instance when the current instance is down.trizen2020-11-091-1/+1
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* - When `api_host => "auto"`, ignore invidious instances with "monitor" ↵trizen2020-11-091-3/+12
| | | | | | | | disabled or with non-success "statusClass". Only when there is no good instance to choose, we then also consider selecting from the instances with "monitor" disabled. Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Mention "pipe-viewer" in README. - Allow channel usernames in YouTube URLs ↵trizen2020-11-091-5/+0
| | | | | | to contain encoded characters of the form "%FF". - Removed some dead code. Signed-off-by: Jesús <heckyel@hyperbola.info>
* gtk: added the "Video License" combobox.trizen2020-11-091-1/+1
| | | | | | | | | It allows searching only for videos with Creative-Commons license. - Added tooltips for the comboboxes in the gtk version. - Several internal improvements. Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Filter out streams with "dur=0.000"trizen2020-11-091-2/+5
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Fix previous commit.trizen2020-11-091-2/+2
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Fixed the "403: Forbidden" errors for newly uploaded videos on unpopular ↵trizen2020-11-091-0/+10
| | | | | | | | channels. When "dashManifestUrl" or "sc=yes" is detected, we now use the fallback extraction method (hypervideo or invidious instances). Signed-off-by: Jesús <heckyel@hyperbola.info>
* - allow "invidious.snopyta.org" with `--api=auto`, as it seems to work ↵trizen2020-11-091-1/+2
| | | | | | better now. - ignore the broken instance "invidious.kavin.rocks" with `--api=auto`. Signed-off-by: Jesús <heckyel@hyperbola.info>
* Update from upstreamJesús2020-11-091-33/+9
| | | | | | | | - Documented the configuration options in `man fair-viewer`. - Fixed the `--page=i` option. - Added the `--dimension=3d` option. - Added the `--license=creative_commons` option. - Some code clean-up.
* - Implemented support for trending categories.trizen2020-11-091-10/+9
| | | | | | | | | | | | | | Example: fair-viewer --trending # trending videos fair-viewer --trending=music # trending music videos fair-viewer -c # list trending categories In the Gtk version, the trending categories are listed in the "Categories" tab. - Several internal code tweaks and improvements. Signed-off-by: Jesús <heckyel@hyperbola.info>
* Implemented support for popular videos.trizen2020-11-091-0/+4
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Added the "ignore_av1" config-option. (disabled by default)trizen2020-11-091-0/+1
| | | | | | When enabled, videos in AV1 format will be ignored. It's recommended to be enabled on slow hardware. Signed-off-by: Jesús <heckyel@hyperbola.info>
* update from upstreamJesús2020-11-091-3/+8
|
* quotemeta() the filename of the cookie file when passing it to `hypervideo`.trizen2020-09-281-3/+2
| | | | | | This now allows the filename to contain shell metacharacters. Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Implemented `sort_by` and `date` parameters for `/search`. ↵trizen2020-09-281-25/+23
| | | | | | | | | | | | | | | (https://github.com/iv-org/invidious/wiki/API#get-apiv1search) In the CLI version, we have: --order=s # valid values: relevance rating upload_date view_count --date=s # valid values: hour today week month year In the GTK3 version, this is implemented in the "Order by" and "Published within" comboboxes. Also implemented the `--hd`, `--captions` and `--region=s` options. Signed-off-by: Jesús <heckyel@hyperbola.info>
* - During `--debug`, display the invidious instances found. - Also allow ↵trizen2020-09-281-2/+6
| | | | | | "invidiou.site" in the list of instances. It seems to be working OK now. Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Added instance-caching for `_get_video_info()`, `_extract_from_ytdl()` and ↵trizen2020-09-281-1/+8
| | | | | | | | | | | | `_extract_from_invidious()`. Too many requests to `_get_video_info()` and/or `hypervideo` may lead to a "429 - Too Many Requests" issue. Caching these functions may help to prevent this a little bit. Also playing the same video twice, the second time it will load much faster, since `_get_video_info()` is cached. Signed-off-by: Jesús <heckyel@hyperbola.info>
* Suggest trying "--api=auto" when the current invidious instance fails.trizen2020-09-141-4/+4
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Added support for loading cookies from a file.trizen2020-09-141-37/+81
| | | | | | | | | | | | The file must be a "# Netscape HTTP Cookie File"; same format as "hypervideo" requires. The "cookies.txt" extension can be used for exporting the cookies from the browser. This helps with the "429: Too Many Requests" issue. See also: https://github.com/ytdl-org/hypervideo#how-do-i-pass-cookies-to-hypervideo Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Use random instances in `_extract_from_invidious()`.trizen2020-09-141-8/+37
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Ignore the non-working: invidiou.site and invidious.toot.koeln.trizen2020-09-141-0/+2
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* With `--api=auto`, ignore "invidious.snopyta.org". Seems to be too slow.trizen2020-09-141-1/+4
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Documented `--api=auto`.trizen2020-09-141-1/+2
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Added support for automatically picking an invidious instance.trizen2020-09-141-9/+87
| | | | | | | | | | | | | | | | Provided via: fair-viewer --api=auto or by setting in the configuration file: api_host => "auto", The list of instances ("instances.json") is cached locally and updated automatically every hour. In order to distribute the load evenly across the invidious instances, when "api_host" is set to "auto", fair-viewer will pick a random instance every time the program is started. Signed-off-by: Jesús <heckyel@hyperbola.info>
* - No longer prefer a specific version of TLS.trizen2020-09-141-1/+1
| | | | | | Defaults to TLS v1.3 if available. Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Fixed the support for closed-captions for some videos.trizen2020-09-141-2/+1
| | | | | | Also fixes the JSON warning ", or } expected while parsing object/hash". (closes https://github.com/trizen/fair-viewer/issues/21) Signed-off-by: Jesús <heckyel@hyperbola.info>
* When `prefer_mp4` is true and there is no AVC MP4 available, prefer VP9 over ↵trizen2020-08-141-3/+5
| | | | | | AV1. Much faster to decode. Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Changed the default API host to `invidious.snopyta.org`.trizen2020-08-141-2/+8
| | | | | | The instance `invidio.us` seems to be down at the moment. Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Starting with September 30th, use "invidious.snopyta.org" instead.trizen2020-08-071-1/+7
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Added support for ignoring high frame rate (HFR) videos.trizen2020-07-271-1/+2
| | | | | | | | | | | | Implemented via the `hfr` config-option. When set to "0", HFR videos will be ignored. Also available as a command-line option: $ fair-viewer --no-hfr By default, `hfr` is set to "1". Signed-off-by: Jesús <heckyel@hyperbola.info>
* Version 1.0.4Jesús2020-06-241-1/+1
|
* Handle some potential corner cases.trizen2020-06-151-1/+1
|
* Detect videos with `signatureCipher` and fallback to `hypervideo`.trizen2020-06-061-58/+46
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Version 1.0.3Jesús2020-03-241-1/+1
|
* - Extract URLs in description from `descriptionHtml` field. ↵trizen2020-03-141-3/+13
| | | | | | (https://github.com/trizen/fair-viewer/issues/6) - Added the `--api-host=<...>` command-line option for changing the API host. - Fixed the `--info=<URL>` option. Signed-off-by: Jesús <heckyel@hyperbola.info>
* Always keep itag=22 when checking for `contentLength > 0`.trizen2020-03-101-1/+1
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* - Support for next pages of playlists from username. - Better detection for ↵trizen2020-03-071-23/+19
| | | | | | the last page of results. Signed-off-by: Jesús <heckyel@hyperbola.info>
* Version 1.0.2Jesús2020-03-031-1/+1
|
* Keep dual licenses GPLv3 or later and Artistic 2.0Jesús2020-03-031-14/+35
|