You've already forked amazing-ytdlp-archive
Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
75d42ad3cd | ||
![]() |
4fa0ee2c68 | ||
![]() |
7e06c8673b | ||
![]() |
96565e9e2b |
10
README.md
10
README.md
@@ -48,17 +48,17 @@ Extra functionality for further development of features.
|
||||
- [x] Video reporting functionality
|
||||
- [x] Ability (for external applications) to queue up video ids for download
|
||||
- [x] Add websub requesting and receiving ability. (not fully usable yet without celery tasks)
|
||||
- [] OIDC or Webauthn logins instead of static argon2 passwords
|
||||
- [x] OIDC or Webauthn logins instead of static argon2 passwords
|
||||
|
||||
### Stage 3
|
||||
Mainly focused on retiring the cronjob based scripts and moving it to celery based tasks
|
||||
- [] manage videos by ID's instead of per channel basis
|
||||
- [] download videos from queue
|
||||
- [] Manage websub callbacks
|
||||
- [ ] manage videos by ID's instead of per channel basis
|
||||
- [ ] download videos from queue
|
||||
- [ ] Manage websub callbacks
|
||||
|
||||
### Stage 4
|
||||
Mongodb finally has it's limitations.
|
||||
- [] Migrate to postgresql
|
||||
- [ ] Migrate to postgresql
|
||||
|
||||
### Stage ...
|
||||
Since this is my flagship software which I have developed more features will be added.
|
||||
|
@@ -34,7 +34,7 @@ def channel(channelId):
|
||||
for videoId in videoIds:
|
||||
videos.append(get_nosql().get_video_info(videoId, limited=True))
|
||||
|
||||
videos = sorted(videos, key=lambda x: x.get('upload_date'), reverse=True)
|
||||
videos = sorted(videos, key=lambda x: x.get('upload_date', '19700101'), reverse=True)
|
||||
|
||||
return render_template('channel/channel.html', channel=channelInfo, videos=videos)
|
||||
|
||||
|
@@ -114,8 +114,10 @@ class OIDC():
|
||||
algorithms=jwt.algorithms.get_default_algorithms(),
|
||||
issuer=self.provider,
|
||||
require=['aud', 'client_id', 'exp', 'iat', 'iss', 'rat', 'sub'],
|
||||
audience=self.client_id)
|
||||
except:
|
||||
audience=self.client_id,
|
||||
leeway=5)
|
||||
except Exception as e:
|
||||
print(e, flush=True)
|
||||
return False
|
||||
|
||||
# double check if given token is really requested by us
|
||||
|
@@ -10,7 +10,7 @@ def subscribe_websub_callback(channelId):
|
||||
|
||||
url = 'https://pubsubhubbub.appspot.com/subscribe'
|
||||
data = {
|
||||
'hub.callback': f'https://{current_app.config["DOMAIN"]}/api/websub//{callbackId}',
|
||||
'hub.callback': f'{current_app.config["DOMAIN"]}/api/websub//{callbackId}',
|
||||
'hub.topic': f'https://www.youtube.com/xml/feeds/videos.xml?channel_id={channelId}',
|
||||
'hub.verify': 'async',
|
||||
'hub.mode': 'subscribe',
|
||||
|
@@ -5,8 +5,7 @@ flask-caching
|
||||
flask-limiter
|
||||
pymongo
|
||||
yt-dlp
|
||||
argon2-cffi
|
||||
gunicorn
|
||||
celery
|
||||
sqlalchemy
|
||||
pyjwt
|
||||
pyjwt[crypto]
|
Reference in New Issue
Block a user