]> git.gir.st - subscriptionfeed.git/log
subscriptionfeed.git
3 years agoimplement /user/<nice_username> endpoint in youtube
girst [Sun, 2 Aug 2020 21:17:22 +0000 (23:17 +0200)]
implement /user/<nice_username> endpoint in youtube

turns out there's an undocumented xmlfeed endpoint we can use

3 years agofix subscribe button on Subscription Manager
girst [Thu, 30 Jul 2020 18:23:32 +0000 (20:23 +0200)]
fix subscribe button on Subscription Manager

3 years agoprevent linebreaks in cards
girst [Thu, 30 Jul 2020 18:13:15 +0000 (20:13 +0200)]
prevent linebreaks in cards

playlist endcards break between number and "videos" due to very
agressive flex sizing.

3 years agoremove stray html comment
girst [Thu, 30 Jul 2020 17:41:19 +0000 (19:41 +0200)]
remove stray html comment

3 years agobetter pagination
girst [Thu, 30 Jul 2020 17:28:27 +0000 (19:28 +0200)]
better pagination

3 years agoexample blueprint: show how to add a header item
girst [Thu, 30 Jul 2020 15:32:42 +0000 (17:32 +0200)]
example blueprint: show how to add a header item

3 years agomove search bar out of header, implement way to include links in headerbar
girst [Thu, 30 Jul 2020 15:16:14 +0000 (17:16 +0200)]
move search bar out of header, implement way to include links in headerbar

3 years agomove audio-only next to raw-video button
girst [Thu, 30 Jul 2020 15:13:04 +0000 (17:13 +0200)]
move audio-only next to raw-video button

3 years agosystemd units: put gunicorn config in /etc/yt
girst [Thu, 30 Jul 2020 11:36:58 +0000 (13:36 +0200)]
systemd units: put gunicorn config in /etc/yt

3 years agoswitch frontend to eventlet
girst [Thu, 30 Jul 2020 11:31:03 +0000 (13:31 +0200)]
switch frontend to eventlet

3 years agoless verbose welcome message
girst [Thu, 30 Jul 2020 09:01:14 +0000 (11:01 +0200)]
less verbose welcome message

3 years agotone down welcome message css
girst [Thu, 30 Jul 2020 08:59:42 +0000 (10:59 +0200)]
tone down welcome message css

3 years agoclean up README, add license notice
girst [Thu, 30 Jul 2020 08:46:25 +0000 (10:46 +0200)]
clean up README, add license notice

3 years agomake site R E S P O N S I V E (mobile friendly)
girst [Thu, 30 Jul 2020 07:54:32 +0000 (09:54 +0200)]
make site R E S P O N S I V E (mobile friendly)

3 years agoadd a way to print all routes in their order of precedence
girst [Thu, 30 Jul 2020 07:38:19 +0000 (09:38 +0200)]
add a way to print all routes in their order of precedence

3 years agofix running __main__
girst [Thu, 30 Jul 2020 07:37:49 +0000 (09:37 +0200)]
fix running __main__

3 years agoapply proxy to whole stream map (not just best-muxed)
girst [Thu, 30 Jul 2020 07:22:18 +0000 (09:22 +0200)]
apply proxy to whole stream map (not just best-muxed)

3 years agoimplement audio-only-mode, return all streams from g_v_i
girst [Thu, 30 Jul 2020 06:58:38 +0000 (08:58 +0200)]
implement audio-only-mode, return all streams from g_v_i

3 years agomake flash messages nicer
girst [Mon, 27 Jul 2020 10:08:16 +0000 (12:08 +0200)]
make flash messages nicer

3 years agoUGLY-HACKY: fallback image for card thumbnail
girst [Sat, 25 Jul 2020 18:12:18 +0000 (20:12 +0200)]
UGLY-HACKY: fallback image for card thumbnail

3 years agoremove unused file
girst [Sat, 25 Jul 2020 18:11:59 +0000 (20:11 +0200)]
remove unused file

3 years agoswitch to systemd units, redo INSTALL as markdown file
girst [Sat, 25 Jul 2020 16:35:15 +0000 (18:35 +0200)]
switch to systemd units, redo INSTALL as markdown file

3 years agobetter document standalone modules
girst [Sat, 25 Jul 2020 15:22:35 +0000 (17:22 +0200)]
better document standalone modules

3 years agore-format config.ini
girst [Sat, 25 Jul 2020 15:12:50 +0000 (17:12 +0200)]
re-format config.ini

3 years agoadd /websub route
girst [Sat, 25 Jul 2020 14:47:27 +0000 (16:47 +0200)]
add /websub route

useful for testing if the websub is running.

3 years agofix loading webhooks as frontend module, simplify startup.sh
girst [Sat, 25 Jul 2020 14:39:02 +0000 (16:39 +0200)]
fix loading webhooks as frontend module, simplify startup.sh

3 years agoport refresh-cipher to python (mostly, still calling youtubedown)
girst [Sat, 25 Jul 2020 14:28:36 +0000 (16:28 +0200)]
port refresh-cipher to python (mostly, still calling youtubedown)

3 years agodecouple reddit from common
girst [Sat, 25 Jul 2020 12:03:02 +0000 (14:03 +0200)]
decouple reddit from common

3 years agofix premiere video handling
girst [Fri, 24 Jul 2020 23:25:50 +0000 (01:25 +0200)]
fix premiere video handling

isLiveContent==False, isLive==True

3 years agodon't use proxy for videos that don't need it
girst [Fri, 24 Jul 2020 20:07:34 +0000 (22:07 +0200)]
don't use proxy for videos that don't need it

3 years agodocument proxy endpoint
girst [Fri, 24 Jul 2020 13:10:06 +0000 (15:10 +0200)]
document proxy endpoint

3 years agomake invidious_url point to HTML version (except show=raw)
girst [Fri, 24 Jul 2020 13:02:23 +0000 (15:02 +0200)]
make invidious_url point to HTML version (except show=raw)

3 years agouse proxy for geolocked videos (iff enabled)
girst [Fri, 24 Jul 2020 13:02:02 +0000 (15:02 +0200)]
use proxy for geolocked videos (iff enabled)

3 years agoremove superfluous headers
girst [Fri, 24 Jul 2020 12:38:34 +0000 (14:38 +0200)]
remove superfluous headers

3 years agouse whitelist for forwarded response headers
girst [Fri, 24 Jul 2020 12:37:47 +0000 (14:37 +0200)]
use whitelist for forwarded response headers

3 years agorequests_cache breaks videoproxy
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

3 years agolet all templates inherit from a base template
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, ...)

3 years agouse requests for proxy endpoint
girst [Thu, 23 Jul 2020 12:23:33 +0000 (14:23 +0200)]
use requests for proxy endpoint

3 years agocreate video proxy endpoint
girst [Thu, 23 Jul 2020 12:18:26 +0000 (14:18 +0200)]
create video proxy endpoint

3 years agolog POST request data on internal errors
girst [Tue, 21 Jul 2020 12:55:24 +0000 (14:55 +0200)]
log POST request data on internal errors

3 years agoimprove default subtitle handling
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()

3 years agomake webhook a blueprint/standalone-hybrid
girst [Tue, 21 Jul 2020 10:53:27 +0000 (12:53 +0200)]
make webhook a blueprint/standalone-hybrid

3 years agocreate example blueprint to demo ease of extenability
girst [Tue, 21 Jul 2020 10:09:30 +0000 (12:09 +0200)]
create example blueprint to demo ease of extenability

3 years agoadd raw video id enpoint; make fallback_route return 404 if none available
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

3 years agomove main (non-translation) subtitles to the first slot
girst [Tue, 21 Jul 2020 09:21:53 +0000 (11:21 +0200)]
move main (non-translation) subtitles to the first slot

3 years agoawful hack to align last row of cards
girst [Mon, 20 Jul 2020 15:55:30 +0000 (17:55 +0200)]
awful hack to align last row of cards

3 years agomore useful date formatting
girst [Mon, 20 Jul 2020 15:34:48 +0000 (17:34 +0200)]
more useful date formatting

3 years agoRevert "use all muxed stream sources" for breaking edge-cases
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.

3 years agoadd subscribe button to channel page (TODO:invidious)
girst [Sun, 19 Jul 2020 18:46:51 +0000 (20:46 +0200)]
add subscribe button to channel page (TODO:invidious)

3 years agoredirect /embedded to /watch
girst [Sun, 19 Jul 2020 18:18:14 +0000 (20:18 +0200)]
redirect /embedded to /watch

for invidition compat

3 years agoupdate overview diagram
girst [Sat, 18 Jul 2020 22:31:00 +0000 (00:31 +0200)]
update overview diagram

3 years agomove test instance to subscriptions.gir.st:443
girst [Sat, 18 Jul 2020 17:16:39 +0000 (19:16 +0200)]
move test instance to subscriptions.gir.st:443

3 years agofix route fallback for /user (which has none)
girst [Sat, 18 Jul 2020 15:57:57 +0000 (17:57 +0200)]
fix route fallback for /user (which has none)

3 years agoclean up sub* managers
girst [Sat, 18 Jul 2020 15:46:57 +0000 (17:46 +0200)]
clean up sub* managers

3 years agoremove useless whitespace from emoji_link
girst [Sat, 18 Jul 2020 15:31:17 +0000 (17:31 +0200)]
remove useless whitespace from emoji_link

3 years agoremove now-unused reddit tables
girst [Sat, 18 Jul 2020 15:29:33 +0000 (17:29 +0200)]
remove now-unused reddit tables

3 years agoreddit: use emoji abstractions, pin to subscriptions instead
girst [Sat, 18 Jul 2020 15:29:01 +0000 (17:29 +0200)]
reddit: use emoji abstractions, pin to subscriptions instead

3 years agoabstract emoji buttons/links
girst [Sat, 18 Jul 2020 14:54:15 +0000 (16:54 +0200)]
abstract emoji buttons/links

3 years agoallow (un)pinning and (un)subscribing on /watch
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

3 years agouse all muxed stream sources
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

3 years agoproxy and fixup subtitles
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.

3 years agopaper over reddit exceptions
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")!

3 years agoprioritize channel name element's width over details element's
girst [Fri, 17 Jul 2020 16:08:12 +0000 (18:08 +0200)]
prioritize channel name element's width over details element's

3 years agowebhook: only ask get_video_info if necessary (REVERTME)
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

3 years ago/watch: trim time from published date
girst [Fri, 17 Jul 2020 15:59:38 +0000 (17:59 +0200)]
/watch: trim time from published date

3 years agoreturn bytes (not str) from fetch_xml()
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

3 years agofix temporary logging not showing up
girst [Thu, 16 Jul 2020 22:34:29 +0000 (00:34 +0200)]
fix temporary logging not showing up

3 years agofix livestream start time metadata
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 :/

3 years agorun websub more often
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.

3 years agosubscription_manager: fix websub expired badge
girst [Mon, 13 Jul 2020 13:24:43 +0000 (15:24 +0200)]
subscription_manager: fix websub expired badge

3 years agouse get_video_info for webhook uploads
girst [Mon, 13 Jul 2020 13:06:13 +0000 (15:06 +0200)]
use get_video_info for webhook uploads

3 years agodocument non-features, replace outdated 'usage' section
girst [Mon, 13 Jul 2020 12:43:39 +0000 (14:43 +0200)]
document non-features, replace outdated 'usage' section

3 years agocollaboratorInfoCardContentRenderer may have no subscriber count
girst [Mon, 13 Jul 2020 12:03:35 +0000 (14:03 +0200)]
collaboratorInfoCardContentRenderer may have no subscriber count

3 years agofix pinned reddit video comments url
girst [Tue, 30 Jun 2020 13:00:51 +0000 (15:00 +0200)]
fix pinned reddit video comments url

3 years agofix "available in ... countries"
girst [Tue, 30 Jun 2020 11:51:13 +0000 (13:51 +0200)]
fix "available in ... countries"

3 years agofuck this. doesn't work with verical videos
girst [Sun, 28 Jun 2020 13:25:45 +0000 (15:25 +0200)]
fuck this. doesn't work with verical videos

3 years agowebhooks: enforce signature checking, use channel_id from url path
girst [Sun, 28 Jun 2020 05:38:02 +0000 (07:38 +0200)]
webhooks: enforce signature checking, use channel_id from url path

3 years agofix /watch cards wrapping
girst [Sat, 27 Jun 2020 19:42:12 +0000 (21:42 +0200)]
fix /watch cards wrapping

3 years agouse ?next in "log in or sign up" link
girst [Sat, 27 Jun 2020 19:25:52 +0000 (21:25 +0200)]
use ?next in "log in or sign up" link

3 years agomove upstream repo
girst [Sat, 27 Jun 2020 19:01:58 +0000 (21:01 +0200)]
move upstream repo

gitea is overkill; gitweb works fine.

3 years agofix websub update being overzealous
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 :|

3 years agouse flexbox for card component
girst [Tue, 23 Jun 2020 22:05:53 +0000 (00:05 +0200)]
use flexbox for card component

3 years agocleanup
girst [Tue, 23 Jun 2020 20:30:07 +0000 (22:30 +0200)]
cleanup

3 years agowebhook: simplify deleted-entry handling
girst [Tue, 23 Jun 2020 20:26:18 +0000 (22:26 +0200)]
webhook: simplify deleted-entry handling

3 years agotweak video's object-fit:cover *again*
girst [Mon, 22 Jun 2020 19:48:49 +0000 (21:48 +0200)]
tweak video's object-fit:cover *again*

3 years agoadd functional overview (preliminary)
girst [Mon, 22 Jun 2020 19:46:41 +0000 (21:46 +0200)]
add functional overview (preliminary)

3 years agoimplement websub hmac verification (not yet enforced)
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

3 years agofix requests debugging if not within flask
girst [Fri, 19 Jun 2020 15:01:37 +0000 (17:01 +0200)]
fix requests debugging if not within flask

3 years agofixup 72b1f8
girst [Fri, 19 Jun 2020 02:38:39 +0000 (04:38 +0200)]
fixup 72b1f8

3 years agofix exception and bad syntax
girst [Wed, 17 Jun 2020 14:32:18 +0000 (16:32 +0200)]
fix exception and bad syntax

3 years agoallow pinning and hiding reddit posts
girst [Tue, 16 Jun 2020 16:17:46 +0000 (18:17 +0200)]
allow pinning and hiding reddit posts

3 years agodon't assume video_id == post_id
girst [Tue, 16 Jun 2020 16:16:58 +0000 (18:16 +0200)]
don't assume video_id == post_id

3 years agosplit fetch_reddit into fetching and parsing blocks
girst [Tue, 16 Jun 2020 14:22:14 +0000 (16:22 +0200)]
split fetch_reddit into fetching and parsing blocks

3 years agotoken auth: don't 500 if user doesn't exist
girst [Tue, 16 Jun 2020 14:17:56 +0000 (16:17 +0200)]
token auth: don't 500 if user doesn't exist

3 years agoload initial channel page ourselves
girst [Tue, 16 Jun 2020 11:18:05 +0000 (13:18 +0200)]
load initial channel page ourselves

*way* faster

3 years agosometime playabilityStatus will have a messages array instead of a reason
girst [Tue, 16 Jun 2020 11:08:53 +0000 (13:08 +0200)]
sometime playabilityStatus will have a messages array instead of a reason

3 years agoimplement shadowing invidious routes
girst [Mon, 15 Jun 2020 19:14:23 +0000 (21:14 +0200)]
implement shadowing invidious routes

3 years agoimplement fallback_route()
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.

3 years agodon't double escape reddit submission titles
girst [Mon, 15 Jun 2020 16:53:33 +0000 (18:53 +0200)]
don't double escape reddit submission titles

3 years agodocument dynamic blueprint loading
girst [Mon, 15 Jun 2020 16:46:32 +0000 (18:46 +0200)]
document dynamic blueprint loading

Imprint / Impressum