Commit graph

260 commits

Author SHA1 Message Date
Omar Roth
6cd884555c
Patch StaticFileHandler to serve files from memory 2019-06-23 12:54:46 -05:00
Omar Roth
3be1c9261f
Fix sleep in pull_top_videos 2019-06-15 19:18:36 -05:00
Omar Roth
fa6bf21cd1
Update Google login 2019-06-09 13:48:31 -05:00
Omar Roth
b43e9ed7e7
Refactor 'description_html' 2019-06-08 15:08:27 -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
58995bb3a2
Add support for log levels 2019-06-07 21:13:50 -05:00
Omar Roth
8c944815bc
Minor refactor 2019-06-07 21:13:50 -05:00
Omar Roth
317d8703ca
Optimize query for pulling popular videos 2019-06-06 21:33:30 -05:00
Omar Roth
352e409a6e
Fix toggle_theme when visiting preferences with JS disabled 2019-06-04 20:13:58 -05:00
Omar Roth
d6ec441c8e
Add buffer for notification channels 2019-06-03 13:36:49 -05:00
Omar Roth
d892ba6aa5
Refactor connection channel for delivering notifications 2019-06-03 13:12:06 -05:00
Omar Roth
108648b427
Optimize query for creating subscription feeds 2019-06-02 11:48:18 -05:00
Omar Roth
71bf8b6b4d
Refactor connect_listen for notifications 2019-06-02 07:41:53 -05:00
Omar Roth
18d66ddded
Add 'needs_update' column for scheduling feed refresh 2019-06-01 10:19:18 -05:00
Omar Roth
da48bbf312
Add support for partial POST to '/api/v1/auth/preferences' 2019-05-30 19:00:38 -05:00
Omar Roth
ad09e734da
Refactor refresh_feeds 2019-05-27 14:48:57 -05:00
Omar Roth
c07ad0941c
Fix typo in refresh_feeds 2019-05-27 12:51:18 -05:00
Omar Roth
3ac766530d
Add proper queuing for feed events 2019-05-27 12:23:15 -05:00
Omar Roth
51c5f28443
Add config option for updating feeds on event 2019-05-26 12:06:01 -05:00
Omar Roth
b016a60a75
Add triggers for updating feeds 2019-05-26 11:28:54 -05:00
Omar Roth
208bb2d72f
Catch connection reset when proxying files 2019-05-26 09:41:12 -05:00
Omar Roth
267bf289c4
Exclude /api/v1/auth/notifications from middleware 2019-05-21 10:08:49 -05:00
Omar Roth
b3e083d866
Add POST /api/v1/auth/subscriptions 2019-05-21 09:01:17 -05:00
Omar Roth
a675c64c2d
Refactor DBConfig 2019-05-21 09:00:35 -05:00
Omar Roth
06bf0c2622
Copy proxy_file in chunks 2019-05-20 12:06:44 -05:00
Omar Roth
3ac8de0a64
Fix proxy_file when response body is empty 2019-05-19 07:13:13 -05:00
Omar Roth
ab4df7e078
Fix response for proxied assets 2019-05-18 19:15:47 -05:00
Omar Roth
97ef2191fd
Add 'hsts' as config option 2019-05-14 08:21:01 -05:00
Omar Roth
bdfe170c3b
Fix length seconds for videos with longer duration 2019-05-11 10:59:47 -05:00
Omar Roth
53fbb257b9
Update fix for HTTP Client 2019-05-05 19:03:56 -05:00
Omar Roth
65a32d6e20
Update fix for crystal-lang/crystal#7383 2019-05-05 17:47:45 -05:00
Omar Roth
bba80bc80f
Fix content-type for HEAD '.jpg' 2019-05-03 08:23:11 -05:00
Omar Roth
56fe3ede5b Add annotation preferences 2019-04-30 23:39:04 -05:00
Omar Roth
21190a240f
Add support for adding banner to site header 2019-04-30 21:17:34 -05:00
Omar Roth
ef309bd8d0 Translate value for 'familyFriendly' 2019-04-28 14:56:06 -05:00
Omar Roth
6cdb6ec711 Add support for plurlization to locales 2019-04-28 14:50:17 -05:00
Omar Roth
f15b7cebac Try to prevent timeout in /data_control 2019-04-24 20:18:35 -05:00
Omar Roth
fb7068d415 Add '/api/v1/notifications' 2019-04-20 09:33:45 -05:00
Allan Nordhøy
aa10a9d899 Language fixes (#366)
* Language fixes
2019-04-19 11:14:11 -05:00
Omar Roth
bb5a1ad513 Add 'continue_autoplay' preference 2019-04-19 09:38:27 -05:00
Omar Roth
2a6c81a89d Add authentication API 2019-04-18 16:23:50 -05:00
Omar Roth
b6fff53b21 Refactor HTTP::Client calls into make_client 2019-04-17 09:06:31 -05:00
Omar Roth
3bcb98e644 Add config option to cache annotations from IA 2019-04-15 11:13:09 -05:00
Omar Roth
b51fd7fc13 Add view count to video items 2019-04-14 17:43:44 -05:00
Omar Roth
80a567bf1e Fix video count in playlist extractor 2019-04-12 16:37:35 -05:00
Omar Roth
ce2a3361eb Fix missing author name for channel_videos 2019-04-12 16:29:23 -05:00
Omar Roth
4e6a931de3 Make check_tables config option 2019-04-11 12:13:25 -05:00
Omar Roth
e1c78fcbd3 Update view names to avoid collisions 2019-04-10 19:56:38 -05:00
Omar Roth
28d5bedcc7 Speed up table creation 2019-04-10 17:16:18 -05:00
Omar Roth
373b890e1d Log command before execution 2019-04-10 17:09:36 -05:00
Omar Roth
5dc45c35e6 Automatically migrate database 2019-04-10 16:23:37 -05:00
Omar Roth
305d636217 Add multithreading to pubsub job 2019-04-04 07:49:53 -05:00
Omar Roth
31312747e9 Fix from_yaml in ConfigPreferences 2019-04-03 19:04:33 -05:00
Omar Roth
f6615a490d Allow disabling download widget for specific videos (in compliance with DMCA) 2019-04-03 14:54:38 -05:00
Omar Roth
bd4f5ebcdf Add option to configure default user preferences 2019-04-03 11:38:41 -05:00
Omar Roth
1fd7ff5655 Add scheme to author thumbnail 2019-04-02 08:51:28 -05:00
afrmtbl
a7723e6ded Implement "fields" parameter from the YouTube Data API (#429)
* Implement fields handling
2019-03-30 20:18:34 -05:00
Omar Roth
1b78001201 Use struct for allocations 2019-03-29 16:30:02 -05:00
Omar Roth
388e58bf1e Update handling for preferences 2019-03-28 13:43:40 -05:00
Omar Roth
591a6b330a Remove 'crawl_threads', fix sleep in fibers 2019-03-25 09:23:42 -05:00
Omar Roth
847ee61bf4 Fix typo in APIHandler 2019-03-24 09:01:18 -05:00
Omar Roth
0c6cede287 Format files and trim trailing whitespace 2019-03-23 14:05:13 -05:00
Omar Roth
57c05354c2 Move 'pretty=1' into middleware 2019-03-23 10:24:30 -05:00
Omar Roth
fd26f9f34e Add support for premieres to search and feed 2019-03-22 14:54:35 -05:00
Omar Roth
2ebc773863 Add mixes to genre channels 2019-03-17 18:31:11 -05:00
Omar Roth
99aa214859 Add 'thumbnail_id' to playlists 2019-03-17 12:21:47 -05:00
Omar Roth
e86eb16d91 Add temporary fix for crystal-lang/crystal#7383 2019-03-11 16:17:40 -05:00
Omar Roth
bc1e62ce51 Add 'external_port' 2019-03-08 11:37:52 -06:00
Omar Roth
1435516a9c Add port number to host URL 2019-03-05 12:56:59 -06:00
Omar Roth
aa63c3f70e Update formatting and default feed menu 2019-03-04 10:46:58 -06:00
Omar Roth
64cfd2296c Add support for subscribing to channels via PubSubHubbub 2019-03-03 19:18:23 -06:00
Omar Roth
17cf0772fb Set domain to be nil by default 2019-03-03 12:02:15 -06:00
Omar Roth
66605196ad Remove "detect_language" from dependencies 2019-03-03 11:51:28 -06:00
Omar Roth
4be82c5ca6 Add /api/v1/stats 2019-03-01 19:25:16 -06:00
Omar Roth
a39b1583da Add administrator preferences 2019-03-01 16:06:45 -06:00
Omar Roth
9a1f4de323 Convert intervals to integers 2019-02-20 09:37:33 -06:00
Omar Roth
83493237a5 Add support for translating time intervals 2019-02-20 08:49:54 -06:00
Omar Roth
27663b10a2 Add minor API fixes 2019-02-15 17:28:54 -06:00
Omar Roth
7a9ef0d664 Add produce_channel_playlists_url 2019-02-09 10:15:14 -06:00
Omar Roth
29af5fc4a6 Prune proxy list 2019-02-06 21:29:31 -06:00
Omar Roth
276662a147 Use IO::Memory for creating continuation tokens 2019-02-04 15:17:10 -06:00
Omar Roth
d0a690c303 Add CORS to API endpoints 2019-02-02 22:48:47 -06:00
Omar Roth
7a6a0f364c Run 'crystal tool format' 2019-01-23 14:37:04 -06:00
Omar Roth
e1540390a8 Fix typo in config documentation 2019-01-23 14:30:45 -06:00
Omar Roth
71ba071160 Add documentation to config 2019-01-23 14:28:31 -06:00
Omar Roth
af449161ff Add -o option for redirecting output 2019-01-23 14:15:19 -06:00
Omar Roth
5cb57fb176 Move 'domain' into config.yml 2019-01-20 22:19:14 -06:00
Omar Roth
20c4d213d9 Use config.domain in place of hardcoded value 2019-01-19 09:10:52 -06:00
Omar Roth
0832fa9bdb Filter paid videos from RSS and channel list 2019-01-02 20:09:00 -06:00
Omar Roth
d06c5306be Update i18n 2018-12-20 17:41:42 -06:00
Omar Roth
7596baf03b Fix translation with non-existent locales 2018-12-20 16:59:46 -06:00
Omar Roth
a160c645c9 Add support for translations 2018-12-20 15:32:09 -06:00
Omar Roth
7d47b5d4bd Use named params for SearchChannel 2018-12-15 13:02:53 -06:00
Omar Roth
7fd4c76a59 Try to pull UCID instead of brand name in search results 2018-11-28 10:20:52 -06:00
Omar Roth
2be43c17ab Sample proxies to avoid overloading single proxy 2018-11-20 11:18:48 -06:00
Omar Roth
94c92b68a2 Add flat list of proxies for geo-bypass 2018-11-19 10:51:30 -06:00
Omar Roth
16964ca6ce Add 'region' parameter for bypassing region locks 2018-11-17 17:33:30 -06:00
Omar Roth
d185ba84bf Remember nonce to prevent replay attacks 2018-11-17 13:18:12 -06:00
Omar Roth
bf867c3fcf Add cookie sharing with subdomains 2018-11-15 16:41:43 -06:00
Omar Roth
1465cefa17 Move HMAC tokens into users.cr 2018-11-11 09:44:16 -06:00
Omar Roth
8e6bee75e7 Add CSRF prevention for /signout 2018-11-08 17:42:25 -06:00
Omar Roth
1ff8579575 Check user_id as part of validating CSRF tokens 2018-11-08 00:29:20 -06:00
Omar Roth
b9c29bf537 Add option for user to delete their account 2018-11-08 00:12:14 -06:00
Omar Roth
f988123820 Revert "Add Origin header checks"
This reverts commit 2be240767c.
2018-11-07 23:13:51 -06:00
Omar Roth
2be240767c Add Origin header checks 2018-11-07 23:05:50 -06:00
Omar Roth
4f856dd898 Add support for Crystal 0.27.0 2018-11-04 09:37:12 -06:00
Omar Roth
4875aa1d7e Add partial support for video duration in thumbnails 2018-10-20 20:37:55 -05:00
Omar Roth
5c87cf1547 Update subscribe buttons 2018-10-19 11:14:26 -05:00
Omar Roth
1cfa1f6559 Add 'paid' and 'premium' flags to API 2018-10-16 11:15:14 -05:00
Omar Roth
bcc8ba73bf Fix update_feeds job 2018-10-09 17:24:29 -05:00
Omar Roth
35e63fa3f5 Use materialized views for subscription feeds 2018-10-09 08:40:29 -05:00
Omar Roth
3830604e42 Try to speed up find_working_proxies 2018-10-03 10:38:07 -05:00
Omar Roth
f83e9e6eb9 Add config option for geo-bypass 2018-10-03 10:36:30 -05:00
Omar Roth
20130db556 Add mixes 2018-09-29 10:59:11 -05:00
Omar Roth
aa819a189e Use alternate source for proxies 2018-09-25 21:07:18 -05:00
Omar Roth
3e3de1890a Overhaul geo-bypass 2018-09-25 17:56:59 -05:00
Omar Roth
1922f6c69a Add more regions to geo-bypass 2018-09-23 19:29:47 -05:00
Omar Roth
5bdd8327d4 Add better support for movies in search and watch page 2018-09-23 12:13:08 -05:00
Omar Roth
1ab04638e3 Add 'videoCount' to playlists in search 2018-09-22 11:14:57 -05:00
Omar Roth
f80f4f2521 Add '/api/v1/channels/search' 2018-09-22 10:49:42 -05:00
Omar Roth
abb15b82e6 Don't discard search results with no metadata 2018-09-20 10:24:27 -05:00
Omar Roth
62380933b2 Add support for playlists and channels in search 2018-09-20 09:36:09 -05:00
Omar Roth
bb604c8925 Add movies to search results 2018-09-19 15:24:19 -05:00
Omar Roth
35bee987f6 Proxy profile pictures 2018-09-17 18:39:28 -05:00
Omar Roth
83ba4e2a4c Fix truncated thumbnails 2018-09-17 14:48:02 -05:00
Omar Roth
1eae76fc15 Add fix for empty descriptions 2018-09-06 16:50:12 -05:00
Omar Roth
4f91854bd3 Fix typo 2018-09-05 21:10:32 -05:00
Omar Roth
29a21860ae Strip leading slashes from referers 2018-09-05 21:07:19 -05:00
Omar Roth
96234e509f Add X-Frame-Options, X-XSS-Protection, and X-Content-Type-Options 2018-09-05 21:06:30 -05:00
Omar Roth
25c3ee034e Minor refactor 2018-09-04 08:52:30 -05:00
Omar Roth
76d3abb5f9 Make view extractor more robust 2018-08-20 19:25:12 -05:00
Omar Roth
567b9f31f3 Add fix for livestreams in search results 2018-08-17 16:08:07 -05:00
Omar Roth
4760b3c6e7
Merge pull request #116 from omarroth/add-playlists
Add playlist page and endpoint
2018-08-17 11:01:36 -05:00
Omar Roth
3ba2a7d921 Fix referers 2018-08-17 10:19:20 -05:00
Omar Roth
bb0b60e575 Add playlist page and endpoint 2018-08-16 14:26:16 -05:00
Omar Roth
bce01cba32 Add fix for videos without metadata 2018-08-16 09:05:48 -05:00
Omar Roth
ec399f5f7b Properly filter movies, playlists, channels from search results 2018-08-16 08:47:51 -05:00
Omar Roth
b72f3c2274 Rename 'layout' to 'template' 2018-08-15 20:31:47 -05:00
Omar Roth
8adb4650a0 Add support for multiple sessions 2018-08-15 12:40:42 -05:00
Omar Roth
c5bd5e6c6d Fix produce_playlist_url 2018-08-14 17:00:35 -05:00
Omar Roth
f26e9313ff Add ability to decrypt port numbers for proxy list 2018-08-14 13:22:39 -05:00
Omar Roth
3833366756 Change options to provide more proxies 2018-08-14 09:40:52 -05:00
Omar Roth
fada57a307 Add geo-bypass for video info 2018-08-13 09:17:28 -05:00
Omar Roth
7116421fa4 Use http-streaming for livestreams 2018-08-11 14:29:51 -05:00
Omar Roth
ce0e4babad Pull 'player' out into seperate component 2018-08-11 10:52:13 -05:00
Omar Roth
15c26d022b Pull 'extract_videos' out into seperate function 2018-08-10 09:44:19 -05:00
Omar Roth
9a78b55c53 Pull description into seperate function 2018-08-10 08:44:23 -05:00
Omar Roth
09d4d46fcd Clean up channel feed 2018-08-10 08:38:31 -05:00
Omar Roth
c09b41a8f8 Don't redirect to current page 2018-08-08 20:26:02 -05:00