Commit graph

249 commits

Author SHA1 Message Date
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
Omar Roth 6d8caaee65 Add option to pull all videos 2018-08-08 20:12:17 -05:00
Omar Roth 3ebe9139b7 Provide response on video error 2018-08-08 10:20:07 -05:00
Omar Roth c1bb75e616 Add CORS headers to local URLs 2018-08-07 13:18:38 -05:00
Omar Roth 373c5378b2 Add '/videoplayback' redirect 2018-08-07 11:39:56 -05:00
Omar Roth 2c4a3b19e2 Add support for 'seconds' in decode_date 2018-08-07 08:10:24 -05:00
Omar Roth 3c359df22e Fix routing for '/videoplayback'' 2018-08-06 22:42:11 -05:00
Omar Roth 5a6b36ecce Add extra handling for year format 2018-08-05 18:35:52 -05:00
Omar Roth a29458e32f Allow 'host' header to be optional 2018-08-05 14:37:32 -05:00
Omar Roth b9315bc534 Major cleanup 2018-08-04 23:14:57 -05:00
Omar Roth 90d661e4a7 Split helpers.cr into multiple files 2018-08-04 15:30:44 -05:00