From dd05ad04fa4ef6489c280c439e4f77ba62281bef Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 2 Sep 2024 01:13:19 -0700 Subject: [PATCH 1/5] disable cookie auth in API because csrf=False --- archivebox/api/auth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/archivebox/api/auth.py b/archivebox/api/auth.py index 1af564e2..7d88b928 100644 --- a/archivebox/api/auth.py +++ b/archivebox/api/auth.py @@ -105,6 +105,6 @@ API_AUTH_METHODS = [ HeaderTokenAuth(), BearerTokenAuth(), QueryParamTokenAuth(), - django_auth_superuser, + # django_auth_superuser, # django admin cookie auth, not secure to use with csrf=False UsernameAndPasswordAuth(), ] From 5f7bca298cd5a218eb8bf95d4e957c1cbd0b4cd1 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 2 Sep 2024 01:13:50 -0700 Subject: [PATCH 2/5] bump USER_AGENT config default to chrome v128 --- archivebox/config.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/archivebox/config.py b/archivebox/config.py index 8d4a0695..0495161c 100644 --- a/archivebox/config.py +++ b/archivebox/config.py @@ -152,10 +152,10 @@ CONFIG_SCHEMA: Dict[str, ConfigDefaultDict] = { 'CHECK_SSL_VALIDITY': {'type': bool, 'default': True}, 'MEDIA_MAX_SIZE': {'type': str, 'default': '750m'}, - 'USER_AGENT': {'type': str, 'default': None}, - 'CURL_USER_AGENT': {'type': str, 'default': lambda c: c['USER_AGENT'] or 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/) curl/{CURL_VERSION}'}, - 'WGET_USER_AGENT': {'type': str, 'default': lambda c: c['USER_AGENT'] or 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/) wget/{WGET_VERSION}'}, - 'CHROME_USER_AGENT': {'type': str, 'default': lambda c: c['USER_AGENT'] or 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)'}, + 'USER_AGENT': {'type': str, 'default': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)'}, + 'CURL_USER_AGENT': {'type': str, 'default': lambda c: c['USER_AGENT'] + ' curl/{CURL_VERSION}'}, + 'WGET_USER_AGENT': {'type': str, 'default': lambda c: c['USER_AGENT'] + ' wget/{WGET_VERSION}'}, + 'CHROME_USER_AGENT': {'type': str, 'default': lambda c: c['USER_AGENT']}, 'COOKIES_FILE': {'type': str, 'default': None}, 'CHROME_USER_DATA_DIR': {'type': str, 'default': None}, From 9be7e1a0bc22e70d2aff5b3bf3e56d5aed96c85c Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 2 Sep 2024 01:14:06 -0700 Subject: [PATCH 3/5] change Snapshot admin action UI button text --- archivebox/core/admin.py | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/archivebox/core/admin.py b/archivebox/core/admin.py index 29463623..0b0407e9 100644 --- a/archivebox/core/admin.py +++ b/archivebox/core/admin.py @@ -251,6 +251,7 @@ from django.contrib.admin.widgets import FilteredSelectMultiple class SnapshotActionForm(ActionForm): tags = forms.ModelMultipleChoiceField( + label='Edit tags', queryset=Tag.objects.all(), required=False, widget=FilteredSelectMultiple( @@ -526,16 +527,7 @@ class SnapshotAdmin(SearchResultsAdminMixin, ABIDModelAdmin): # return super().changelist_view(request, extra_context=None) @admin.action( - description="Pull" - ) - def update_snapshots(self, request, queryset): - archive_links([ - snapshot.as_link() - for snapshot in queryset - ], out_dir=CONFIG.OUTPUT_DIR) - - @admin.action( - description="⬇️ Title" + description="ℹ️ Get Title" ) def update_titles(self, request, queryset): archive_links([ @@ -544,7 +536,17 @@ class SnapshotAdmin(SearchResultsAdminMixin, ABIDModelAdmin): ], overwrite=True, methods=('title','favicon'), out_dir=CONFIG.OUTPUT_DIR) @admin.action( - description="Re-Snapshot" + description="⬇️ Get Missing" + ) + def update_snapshots(self, request, queryset): + archive_links([ + snapshot.as_link() + for snapshot in queryset + ], out_dir=CONFIG.OUTPUT_DIR) + + + @admin.action( + description="📑 Archive again" ) def resnapshot_snapshot(self, request, queryset): for snapshot in queryset: @@ -553,7 +555,7 @@ class SnapshotAdmin(SearchResultsAdminMixin, ABIDModelAdmin): add(new_url, tag=snapshot.tags_str()) @admin.action( - description="Reset" + description="♲ Redo" ) def overwrite_snapshots(self, request, queryset): archive_links([ @@ -562,7 +564,7 @@ class SnapshotAdmin(SearchResultsAdminMixin, ABIDModelAdmin): ], overwrite=True, out_dir=CONFIG.OUTPUT_DIR) @admin.action( - description="Delete" + description="☠️ Delete" ) def delete_snapshots(self, request, queryset): remove(snapshots=queryset, yes=True, delete=True, out_dir=CONFIG.OUTPUT_DIR) From 3ea116f0b622dd297a04752a5cd2f7c5a02dc6dc Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 2 Sep 2024 01:14:41 -0700 Subject: [PATCH 4/5] tweak Pkgs app name and admin button CSS --- archivebox/pkg/apps.py | 4 +++- archivebox/templates/static/admin.css | 4 ++-- archivebox/vendor/pydantic-pkgr | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/archivebox/pkg/apps.py b/archivebox/pkg/apps.py index fa8a6913..b3be5712 100644 --- a/archivebox/pkg/apps.py +++ b/archivebox/pkg/apps.py @@ -4,8 +4,10 @@ from django.apps import AppConfig class PkgsConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' name = 'pkg' + verbose_name = 'Package Management' + + default_auto_field = 'django.db.models.BigAutoField' def ready(self): from .settings import LOADED_DEPENDENCIES diff --git a/archivebox/templates/static/admin.css b/archivebox/templates/static/admin.css index 25314429..395e5d86 100644 --- a/archivebox/templates/static/admin.css +++ b/archivebox/templates/static/admin.css @@ -143,11 +143,11 @@ body.model-snapshot.change-list #content .object-tools { color: #333; } #content #changelist .actions .button[name=update_snapshots] { - background-color:lightseagreen; + background-color: #9ee54b; color: #333; } #content #changelist .actions .button[name=resnapshot_snapshot] { - background-color: #9ee54b; + background-color:lightseagreen; color: #333; } #content #changelist .actions .button[name=overwrite_snapshots] { diff --git a/archivebox/vendor/pydantic-pkgr b/archivebox/vendor/pydantic-pkgr index 2cd84453..ec5d19c7 160000 --- a/archivebox/vendor/pydantic-pkgr +++ b/archivebox/vendor/pydantic-pkgr @@ -1 +1 @@ -Subproject commit 2cd844533d888ce29b9bf32b8363510dd0d76166 +Subproject commit ec5d19c7450215b11503007657e57fde6532c793 From 23c7d2f860f2e09fce6200cb2b741a0393eec665 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 2 Sep 2024 15:06:10 -0700 Subject: [PATCH 5/5] bump pydantic-pkgr --- archivebox/vendor/pydantic-pkgr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/archivebox/vendor/pydantic-pkgr b/archivebox/vendor/pydantic-pkgr index ec5d19c7..c97de57f 160000 --- a/archivebox/vendor/pydantic-pkgr +++ b/archivebox/vendor/pydantic-pkgr @@ -1 +1 @@ -Subproject commit ec5d19c7450215b11503007657e57fde6532c793 +Subproject commit c97de57f8df5f36a0f8cd1e51645f114e74bffb0