]>
git.gir.st - subscriptionfeed.git/log
girst [Thu, 30 Jul 2020 07:37:49 +0000 (09:37 +0200)]
fix running __main__
girst [Thu, 30 Jul 2020 07:22:18 +0000 (09:22 +0200)]
apply proxy to whole stream map (not just best-muxed)
girst [Thu, 30 Jul 2020 06:58:38 +0000 (08:58 +0200)]
implement audio-only-mode, return all streams from g_v_i
girst [Mon, 27 Jul 2020 10:08:16 +0000 (12:08 +0200)]
make flash messages nicer
girst [Sat, 25 Jul 2020 18:12:18 +0000 (20:12 +0200)]
UGLY-HACKY: fallback image for card thumbnail
girst [Sat, 25 Jul 2020 18:11:59 +0000 (20:11 +0200)]
remove unused file
girst [Sat, 25 Jul 2020 16:35:15 +0000 (18:35 +0200)]
switch to systemd units, redo INSTALL as markdown file
girst [Sat, 25 Jul 2020 15:22:35 +0000 (17:22 +0200)]
better document standalone modules
girst [Sat, 25 Jul 2020 15:12:50 +0000 (17:12 +0200)]
re-format config.ini
girst [Sat, 25 Jul 2020 14:47:27 +0000 (16:47 +0200)]
add /websub route
useful for testing if the websub is running.
girst [Sat, 25 Jul 2020 14:39:02 +0000 (16:39 +0200)]
fix loading webhooks as frontend module, simplify startup.sh
girst [Sat, 25 Jul 2020 14:28:36 +0000 (16:28 +0200)]
port refresh-cipher to python (mostly, still calling youtubedown)
girst [Sat, 25 Jul 2020 12:03:02 +0000 (14:03 +0200)]
decouple reddit from common
girst [Fri, 24 Jul 2020 23:25:50 +0000 (01:25 +0200)]
fix premiere video handling
isLiveContent==False, isLive==True
girst [Fri, 24 Jul 2020 20:07:34 +0000 (22:07 +0200)]
don't use proxy for videos that don't need it
girst [Fri, 24 Jul 2020 13:10:06 +0000 (15:10 +0200)]
document proxy endpoint
girst [Fri, 24 Jul 2020 13:02:23 +0000 (15:02 +0200)]
make invidious_url point to HTML version (except show=raw)
girst [Fri, 24 Jul 2020 13:02:02 +0000 (15:02 +0200)]
use proxy for geolocked videos (iff enabled)
girst [Fri, 24 Jul 2020 12:38:34 +0000 (14:38 +0200)]
remove superfluous headers
girst [Fri, 24 Jul 2020 12:37:47 +0000 (14:37 +0200)]
use whitelist for forwarded response headers
girst [Fri, 24 Jul 2020 12:28:45 +0000 (14:28 +0200)]
requests_cache breaks videoproxy
streaming responses are fetched in full (and would fill up the cache)
see https://requests-cache.readthedocs.io/en/latest/user_guide.html
girst [Thu, 23 Jul 2020 12:33:57 +0000 (14:33 +0200)]
let all templates inherit from a base template
also some minor html changes (emojibuttons, navigation, css, ...)
girst [Thu, 23 Jul 2020 12:23:33 +0000 (14:23 +0200)]
use requests for proxy endpoint
girst [Thu, 23 Jul 2020 12:18:26 +0000 (14:18 +0200)]
create video proxy endpoint
girst [Tue, 21 Jul 2020 12:55:24 +0000 (14:55 +0200)]
log POST request data on internal errors
girst [Tue, 21 Jul 2020 12:48:55 +0000 (14:48 +0200)]
improve default subtitle handling
was broken when autogenerated was available, due to sorted()
girst [Tue, 21 Jul 2020 10:53:27 +0000 (12:53 +0200)]
make webhook a blueprint/standalone-hybrid
girst [Tue, 21 Jul 2020 10:09:30 +0000 (12:09 +0200)]
create example blueprint to demo ease of extenability
girst [Tue, 21 Jul 2020 09:43:27 +0000 (11:43 +0200)]
add raw video id enpoint; make fallback_route return 404 if none available
also fix small usage error of fallback_route
girst [Tue, 21 Jul 2020 09:21:53 +0000 (11:21 +0200)]
move main (non-translation) subtitles to the first slot
girst [Mon, 20 Jul 2020 15:55:30 +0000 (17:55 +0200)]
awful hack to align last row of cards
girst [Mon, 20 Jul 2020 15:34:48 +0000 (17:34 +0200)]
more useful date formatting
girst [Mon, 20 Jul 2020 11:30:45 +0000 (13:30 +0200)]
Revert "use all muxed stream sources" for breaking edge-cases
specifically, geolocked video handling
This reverts commit
e38be6698b853bcdeccfb2f664a276b6f669e4b4 .
girst [Sun, 19 Jul 2020 18:46:51 +0000 (20:46 +0200)]
add subscribe button to channel page (TODO:invidious)
girst [Sun, 19 Jul 2020 18:18:14 +0000 (20:18 +0200)]
redirect /embedded to /watch
for invidition compat
girst [Sat, 18 Jul 2020 22:31:00 +0000 (00:31 +0200)]
update overview diagram
girst [Sat, 18 Jul 2020 17:16:39 +0000 (19:16 +0200)]
move test instance to subscriptions.gir.st:443
girst [Sat, 18 Jul 2020 15:57:57 +0000 (17:57 +0200)]
fix route fallback for /user (which has none)
girst [Sat, 18 Jul 2020 15:46:57 +0000 (17:46 +0200)]
clean up sub* managers
girst [Sat, 18 Jul 2020 15:31:17 +0000 (17:31 +0200)]
remove useless whitespace from emoji_link
girst [Sat, 18 Jul 2020 15:29:33 +0000 (17:29 +0200)]
remove now-unused reddit tables
girst [Sat, 18 Jul 2020 15:29:01 +0000 (17:29 +0200)]
reddit: use emoji abstractions, pin to subscriptions instead
girst [Sat, 18 Jul 2020 14:54:15 +0000 (16:54 +0200)]
abstract emoji buttons/links
girst [Sat, 18 Jul 2020 13:38:04 +0000 (15:38 +0200)]
allow (un)pinning and (un)subscribing on /watch
pinning also works now for videos yet not in the database
girst [Sat, 18 Jul 2020 13:33:15 +0000 (15:33 +0200)]
use all muxed stream sources
might allow falling back when a stream is broken
girst [Fri, 17 Jul 2020 21:22:10 +0000 (23:22 +0200)]
proxy and fixup subtitles
proxying is necessary, because youtube doesn't send CORS headers. we
don't either, since we expect the consumer of the timedtext-proxy to
only be us ourselves. if someone wants to use it externally (e.g. as an
api), they'd have to add cors headers.
thanks goes out to perflyst[m] on #invidious for checking that
youtube's timedtext endpoint is "safe" for us to use.
girst [Fri, 17 Jul 2020 16:15:06 +0000 (18:15 +0200)]
paper over reddit exceptions
this may return a html-response with tracking-javascript (e.g. "Our CDN
was unable to reach our servers")!
girst [Fri, 17 Jul 2020 16:08:12 +0000 (18:08 +0200)]
prioritize channel name element's width over details element's
girst [Fri, 17 Jul 2020 16:00:39 +0000 (18:00 +0200)]
webhook: only ask get_video_info if necessary (REVERTME)
maybe revert later to get more useful info from g_v_i (e.g. livestream
start date) to display on /feed/subscriptions
girst [Fri, 17 Jul 2020 15:59:38 +0000 (17:59 +0200)]
/watch: trim time from published date
girst [Fri, 17 Jul 2020 11:34:10 +0000 (13:34 +0200)]
return bytes (not str) from fetch_xml()
broke pull-subs logging when it choked on an unrelated error
Traceback (most recent call last):
File "/opt/yt/app/common/utils.py", line 151, in <module>
pull_subscriptions(verbosity, force, limit)
File "/opt/yt/app/common/utils.py", line 44, in pull_subscriptions
pull_feed(feed_id, feed_type, conn, verbose)
File "/opt/yt/app/common/utils.py", line 67, in pull_feed
f.write(xmlfeed + b"\n")
TypeError: must be str, not bytes
girst [Thu, 16 Jul 2020 22:34:29 +0000 (00:34 +0200)]
fix temporary logging not showing up
girst [Thu, 16 Jul 2020 22:33:29 +0000 (00:33 +0200)]
fix livestream start time metadata
not exactly sure where this came up due to insufficient logging :/
girst [Mon, 13 Jul 2020 13:41:01 +0000 (15:41 +0200)]
run websub more often
given that we only update channels that will run out in less than 12
hours, but only check every 24 hours, some channels will expire for up
to 12h per week. checking more often will also spread out the updates,
making the cronjob to finish faster.
girst [Mon, 13 Jul 2020 13:24:43 +0000 (15:24 +0200)]
subscription_manager: fix websub expired badge
girst [Mon, 13 Jul 2020 13:06:13 +0000 (15:06 +0200)]
use get_video_info for webhook uploads
girst [Mon, 13 Jul 2020 12:43:39 +0000 (14:43 +0200)]
document non-features, replace outdated 'usage' section
girst [Mon, 13 Jul 2020 12:03:35 +0000 (14:03 +0200)]
collaboratorInfoCardContentRenderer may have no subscriber count
girst [Tue, 30 Jun 2020 13:00:51 +0000 (15:00 +0200)]
fix pinned reddit video comments url
girst [Tue, 30 Jun 2020 11:51:13 +0000 (13:51 +0200)]
fix "available in ... countries"
girst [Sun, 28 Jun 2020 13:25:45 +0000 (15:25 +0200)]
fuck this. doesn't work with verical videos
girst [Sun, 28 Jun 2020 05:38:02 +0000 (07:38 +0200)]
webhooks: enforce signature checking, use channel_id from url path
girst [Sat, 27 Jun 2020 19:42:12 +0000 (21:42 +0200)]
fix /watch cards wrapping
girst [Sat, 27 Jun 2020 19:25:52 +0000 (21:25 +0200)]
use ?next in "log in or sign up" link
girst [Sat, 27 Jun 2020 19:01:58 +0000 (21:01 +0200)]
move upstream repo
gitea is overkill; gitweb works fine.
girst [Wed, 24 Jun 2020 12:01:10 +0000 (14:01 +0200)]
fix websub update being overzealous
updated all channels every day and getting 5 times the updates :|
girst [Tue, 23 Jun 2020 22:05:53 +0000 (00:05 +0200)]
use flexbox for card component
girst [Tue, 23 Jun 2020 20:30:07 +0000 (22:30 +0200)]
cleanup
girst [Tue, 23 Jun 2020 20:26:18 +0000 (22:26 +0200)]
webhook: simplify deleted-entry handling
girst [Mon, 22 Jun 2020 19:48:49 +0000 (21:48 +0200)]
tweak video's object-fit:cover *again*
girst [Mon, 22 Jun 2020 19:46:41 +0000 (21:46 +0200)]
add functional overview (preliminary)
girst [Fri, 19 Jun 2020 16:50:58 +0000 (18:50 +0200)]
implement websub hmac verification (not yet enforced)
only enforcing this once all current websub-subscriptions have expired
girst [Fri, 19 Jun 2020 15:01:37 +0000 (17:01 +0200)]
fix requests debugging if not within flask
girst [Fri, 19 Jun 2020 02:38:39 +0000 (04:38 +0200)]
fixup 72b1f8
girst [Wed, 17 Jun 2020 14:32:18 +0000 (16:32 +0200)]
fix exception and bad syntax
girst [Tue, 16 Jun 2020 16:17:46 +0000 (18:17 +0200)]
allow pinning and hiding reddit posts
girst [Tue, 16 Jun 2020 16:16:58 +0000 (18:16 +0200)]
don't assume video_id == post_id
girst [Tue, 16 Jun 2020 14:22:14 +0000 (16:22 +0200)]
split fetch_reddit into fetching and parsing blocks
girst [Tue, 16 Jun 2020 14:17:56 +0000 (16:17 +0200)]
token auth: don't 500 if user doesn't exist
girst [Tue, 16 Jun 2020 11:18:05 +0000 (13:18 +0200)]
load initial channel page ourselves
*way* faster
girst [Tue, 16 Jun 2020 11:08:53 +0000 (13:08 +0200)]
sometime playabilityStatus will have a messages array instead of a reason
girst [Mon, 15 Jun 2020 19:14:23 +0000 (21:14 +0200)]
implement shadowing invidious routes
girst [Mon, 15 Jun 2020 18:31:58 +0000 (20:31 +0200)]
implement fallback_route()
allows us to override minimalistic youtube routes with better invidious
routes and fall back to the minimalistic ones, if our invidious instance
is blocked.
girst [Mon, 15 Jun 2020 16:53:33 +0000 (18:53 +0200)]
don't double escape reddit submission titles
girst [Mon, 15 Jun 2020 16:46:32 +0000 (18:46 +0200)]
document dynamic blueprint loading
girst [Mon, 15 Jun 2020 16:44:20 +0000 (18:44 +0200)]
make token login persistent
when a user logs in using the ?token= method, we save their session in
a cookie, same as with regular login.
girst [Mon, 15 Jun 2020 16:18:37 +0000 (18:18 +0200)]
move subscription cronjobs into common/utils
in preparation for an eventually implemented job queue approach
girst [Mon, 15 Jun 2020 15:36:18 +0000 (17:36 +0200)]
raise error if config file not found, some comments
girst [Mon, 15 Jun 2020 14:15:02 +0000 (16:15 +0200)]
log api responses on error
girst [Sun, 14 Jun 2020 16:59:43 +0000 (18:59 +0200)]
use "prepared" query strings with requests
girst [Sun, 14 Jun 2020 16:15:53 +0000 (18:15 +0200)]
object-fit:cover for video poster
note that this only works because the video element has the exact
proportions of the video file.
girst [Sun, 14 Jun 2020 14:39:29 +0000 (16:39 +0200)]
/search using invidious api (very ugly)
girst [Sun, 14 Jun 2020 14:38:16 +0000 (16:38 +0200)]
stub out tombstones/deleted-entry support
girst [Sun, 14 Jun 2020 14:31:35 +0000 (16:31 +0200)]
use binary strings for cronjob error logging and other small fixes
girst [Sun, 14 Jun 2020 14:29:31 +0000 (16:29 +0200)]
more TODOs
girst [Sun, 14 Jun 2020 13:50:21 +0000 (15:50 +0200)]
fix metadata on completely unavailable videos
e.g. J2-6srITpKE: has metadata, but no 'availableCountries' key
girst [Sat, 13 Jun 2020 20:41:58 +0000 (22:41 +0200)]
add search bar (no impl yet)
girst [Sat, 13 Jun 2020 20:40:54 +0000 (22:40 +0200)]
fix currently-running livestream detection
girst [Sat, 13 Jun 2020 20:07:22 +0000 (22:07 +0200)]
harmonize layout; headerbar macro
girst [Fri, 12 Jun 2020 19:21:59 +0000 (21:21 +0200)]
rework fetch_reddit() params, support non-hot-ordering (undocumented)