Commit graph

75 commits

Author SHA1 Message Date
Andrew Zhao 9a8f1a0b0a add option to disable quic 2021-04-14 12:03:31 -04:00
syeopite 20b961c1c8
Preserve original cookies 2021-04-02 17:08:55 -07:00
TheFrenchGhosty b794c5cfcf
Set the request cookie to "YES+" 2021-04-01 15:59:24 +00:00
syeopite e08bea5f51
Fix lint 2021-03-31 15:34:29 -07:00
syeopite 739f610507
Add new YT consent cookie to every request 2021-03-31 14:57:00 -07:00
saltycrys 5f03a583d1 Update code for Crystal 0.36.0
Rename `HTTPClient@socket` to `HTTPClient@io`, see
https://github.com/crystal-lang/crystal/pull/9543.

Rename `URI#full_path` to `URI#request_target`, see
https://github.com/crystal-lang/crystal/pull/10099.
2021-02-02 20:01:02 +01:00
saltycrys b45f371911 Make config a constant
Instead of passing around `config` there is now the global `CONFIG`.
2021-01-23 19:39:04 +01:00
Andrew Zhao e0d25ff887 Close http clients after using
The crystal http client maintains a keepalive connection to the other
server which stays alive for some time. This should be closed if the
client instance is not used again to avoid hogging resources
2020-12-27 19:40:58 -05:00
saltycrys 2de206cb81 Fix comments
The YouTube headers are now always added for requests to YouTube.
Previously they were only added for requests going through QUIC.

The session token is now JSON decoded to unescape escaped Unicode characters.

The comment continuation protobuf has been updated and the request now goes
through the YouTube `pbj` JSON API.
2020-12-06 04:11:41 +01:00
Omar Roth 1eca969cf6
Add support for polymer redesign 2020-06-15 18:18:04 -05:00
Omar Roth c1cbdae5ee
Make HOST_URL constant 2020-06-15 18:13:14 -05:00
Omar Roth d30a972a90
Support Crystal 0.35.0 2020-06-15 18:11:06 -05:00
Omar Roth ceb252986e
Update captcha job 2020-05-25 12:52:15 -05:00
Omar Roth ca1185d0be
Fix warnings in latest version of Crystal 2020-04-09 12:18:09 -05:00
Omar Roth 59a15ceef6
Remove VarInt class 2020-03-15 17:47:16 -04:00
Omar Roth 4011a113cc
Strip invalid characters from referer URLs 2020-03-15 17:47:16 -04:00
Omar Roth a117d87f33
Skip validation checks for videoplayback, ggpht 2020-03-04 13:06:17 -05:00
Leon Klingele bc9dc3bf1e
Update code formatting for Crystal 0.33.0
Crystal 0.33.0 introduced some changes to to the code formatter.
Run "crystal tool format" so CI doesn't fail anymore.
2020-02-15 19:52:28 +01:00
Omar Roth a017574f74 Add support for force_resolve to QUIC client 2019-11-28 08:19:28 -06:00
Omar Roth 0e3a48ff76
Update QUICPool 2019-11-24 13:41:47 -05:00
Omar Roth d46b26e3bc
Use QUIC for connections to YouTube 2019-11-18 17:28:32 -05:00
Omar Roth 142d974641
Use force_resolve for search suggestions 2019-11-07 12:25:34 -05:00
Omar Roth 833a60f29c
Update pubsub to use client pool 2019-11-01 07:34:36 -04:00
Omar Roth 13e7cca1a4
Bump read timeout 2019-10-28 12:34:50 -04:00
Omar Roth bdeb325bad
Fix monkeypatch for HTTP::Client 2019-10-26 11:51:23 -04:00
Omar Roth a1225b6d0d
Sanitize input to decode_length_seconds 2019-10-26 10:17:25 -04:00
Omar Roth 202de1436d
Fix broken connections in pool 2019-10-25 23:06:08 -04:00
Omar Roth 7f8746fcd4
Remove invalid connections from pool 2019-10-25 22:40:53 -04:00
Omar Roth e05a25d701
Vary user-agent 2019-10-25 18:02:33 -04:00
Omar Roth 6930570fa2
Add HTTPClient pool 2019-10-25 12:58:16 -04:00
Omar Roth 2a4b252a9d
Only force resolve for www.youtube.com 2019-10-18 12:41:03 -04:00
leonklingele 1aefc5b540 Update to Crystal 0.31.0, resolve compiler deprecation warnings, update dependencies (#764)
* shard: update to crystal 0.31.0

Additionally, no longer use the Crystal "markdown" library which has
been removed from the Crystal stdlib in version 0.31.0.
See https://github.com/crystal-lang/crystal/pull/8115.

Also fix some deprecation warnings using the following commands:

    find . \( -type d -name .git -prune \) -o -type f -exec sed -i 's/URI\.escape/URI\.encode_www_form/g' "{}" \;
    find . \( -type d -name .git -prune \) -o -type f -exec sed -i 's/URI\.unescape/URI\.decode_www_form/g' "{}" \;
    sed -i 's/while \%pull\.kind \!\= \:end_object/until \%pull\.kind\.end_object\?/g' src/invidious/helpers/patch_mapping.cr
2019-09-24 13:31:33 -04:00
Omar Roth b1fc80b79a
Update sub_count extractor 2019-09-12 21:09:23 -04:00
Omar Roth 7b53b6bfef
Shrink continuation cursor for YouTube comments 2019-09-04 15:47:27 -04:00
psvenk f54fbd057e Add prefers-color-scheme support (#601)
* Add prefers-color-scheme support

This should fix <https://github.com/omarroth/invidious/issues/559>.
The cookie storage format has been changed from boolean
("true"/"false") to tri-state ("dark"/"light"/""), so that users
without a cookie set will get dark mode if they have enabled the dark
theme in their operating system. The code for handling the cookie
state, along with the user's operating system theme, has been factored
out into a new function `update_mode`, which is called both at window
load and at the "storage" event listener, because the "storage" event
listener is only trigerred when a change is made to the localStorage
from another tab/window (for more info - see
<https://stackoverflow.com/a/4679754>).
2019-08-15 11:29:55 -05:00
Omar Roth f18d8229c0
Refactor continuation protocol buffers 2019-07-20 20:18:08 -05:00
Omar Roth 1b74a04efd
Add 'force_resolve' to fix issues with rate limiting 2019-07-18 18:51:10 -05:00
Omar Roth e5fa5df7be
Chunk video files to bypass throttling 2019-07-04 23:29:28 -05:00
Omar Roth 041debcd93
Revert "Chunk videoplayback response to avoid throttling"
This reverts commit 818cd2454d.
2019-07-01 10:45:09 -05:00
Omar Roth e30d70b6d4
Refactor proxy_list into global 2019-06-28 21:17:56 -05:00
Omar Roth 818cd2454d
Chunk videoplayback response to avoid throttling 2019-06-26 14:43:33 -05:00
Omar Roth 801dffd571
Fix RSS content-type 2019-06-07 21:39:32 -05:00
Omar Roth 2febc268f7
Fix warnings in Crystal 0.29 2019-06-07 21:13:50 -05:00
Omar Roth 8c944815bc
Minor refactor 2019-06-07 21:13:50 -05:00
Omar Roth 352e409a6e
Fix toggle_theme when visiting preferences with JS disabled 2019-06-04 20:13:58 -05:00
Omar Roth bdfe170c3b
Fix length seconds for videos with longer duration 2019-05-11 10:59:47 -05:00
Omar Roth b6fff53b21 Refactor HTTP::Client calls into make_client 2019-04-17 09:06:31 -05:00
Omar Roth b51fd7fc13 Add view count to video items 2019-04-14 17:43:44 -05:00
Omar Roth 99aa214859 Add 'thumbnail_id' to playlists 2019-03-17 12:21:47 -05:00
Omar Roth bc1e62ce51 Add 'external_port' 2019-03-08 11:37:52 -06:00