CARVIEW |
Select Language
HTTP/2 200
date: Wed, 23 Jul 2025 23:26:22 GMT
content-type: text/html; charset=utf-8
cache-control: max-age=0, private, must-revalidate
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
link: ; rel=preload; as=fetch; crossorigin=use-credentials
referrer-policy: no-referrer-when-downgrade
server-timing: issue_layout-fragment;desc="issue_layout fragment";dur=258.765958,issue_conversation_content-fragment;desc="issue_conversation_content fragment";dur=793.865692,issue_conversation_sidebar-fragment;desc="issue_conversation_sidebar fragment";dur=42.009135,nginx;desc="NGINX";dur=1.090277,glb;desc="GLB";dur=102.00717
strict-transport-security: max-age=31536000; includeSubdomains; preload
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With, Accept,Accept-Encoding, Accept, X-Requested-With
x-content-type-options: nosniff
x-frame-options: deny
x-voltron-version: fd8fbbc
x-xss-protection: 0
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=SoiR%2BYVKhluKtwqKVkpRtyaqKZUMNZi4kCCnrLLlr4kmpyt74QSmf%2B7yLharf83RwoKvamefBxgNL8R5IhoIFoiFjXJmKbSuRUHhK41fAnt5dnHWrBAQ0Jqb%2FShOgn3uwD0w2Y0GY9uVhqaL36PojSFLnzvLdT5ZntFtjsabHq5lcD%2BgGPKAPefuaSwHgAqrHkD%2F5%2Bma9L2b407N35CF1RJTHhAPXRrguuxSshyFd6IRfe%2F0YYOS2F6gaOWtxp9acF9rAaYyioZ5jrvpAxRY7Q%3D%3D--7UxB4zRc78fB%2BjYF--Cbyy%2FVmm9i8GhBgNio6EVA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.197636031.1753313181; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 23:26:21 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 23:26:21 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: CCE2:124FF4:114F459:14CBEA5:68816F9D
Uniquely identify URLs by UUID/ULID/hash of url instead of archive timestamp · Issue #74 · ArchiveBox/ArchiveBox · GitHub
No one assignedNo projectsNo milestoneNone yetNo branches or pull requests
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Copy link
Labels
size: hardstatus: backlogWork is planned someday but is not the highest priority at the momentWork is planned someday but is not the highest priority at the momenttouches: API/CLI/Spectouches: data/schema/architecturetouches: docswhy: functionalityIntended to improve ArchiveBox functionality or featuresIntended to improve ArchiveBox functionality or featureswhy: performanceIntended to improve ArchiveBox speed or responsivenessIntended to improve ArchiveBox speed or responsivenesswhy: securityIntended to improve ArchiveBox security or data integrityIntended to improve ArchiveBox security or data integrity
Description
My Pinboard export contains several bookmarks with identical timestamps (presumably from imports from Delicious years ago).
The first time I run archive.py
, I end up with several archive directories named like 1317249309
, 1317249309.0
, 1317249309.1
, …. These directory names correspond properly with entries in index.json
as expected.
If I run archive.py
a second time with the same input, it appears to rewrite index.json
, assigning different numerical suffixes to the 1317249309
timestamp. The entries in index.json
no longer correspond with the contents of those archive directories on disk.
You can reproduce this with the following JSON file (pinboard.json
):
[{"href":"http:\/\/www.flickr.com\/groups\/photoshopsupport\/discuss\/72157600201629413\/","description":"Flickr: Discussing Index Of Topics: Compliments of LifeLive~ in Photoshop Support Group","extended":"","meta":"c9aa62c0eaa3c35a587903100870df43","hash":"8dd9951810c0eae6af67651341af5110","time":"2011-09-28T18:35:09Z","shared":"yes","toread":"no","tags":"photography photoshop retouching"},
{"href":"http:\/\/allinthehead.com\/retro\/345\/whats-in-your-utility-belt","description":"What's In Your Utility Belt? \u2014 All in the head","extended":"","meta":"746e69822f36f2e78c16fc789a7545b5","hash":"ac4d0527bca6c7d6741fee117f45f631","time":"2011-09-28T18:35:09Z","shared":"yes","toread":"no","tags":"php"},
{"href":"http:\/\/www.tyndellphotographic.com\/plasticwallet.html","description":"Plastic Wallet Boxes for Wallet sized photos","extended":"","meta":"c133eb53f29d97c35c3f31768ff7ce45","hash":"60bbf228c559518b818ed7d0ff997a69","time":"2011-09-28T18:35:09Z","shared":"yes","toread":"no","tags":"photography supply"},
{"href":"http:\/\/www.arduino.cc\/","description":"Arduino - HomePage","extended":"","meta":"a80835b5f374965f5f8a5990da6cf2be","hash":"78532ff2155cd9feeac11aba18739bdc","time":"2011-09-28T18:35:09Z","shared":"yes","toread":"no","tags":"arduino elecdiy"},
{"href":"http:\/\/mbed.org\/","description":"Rapid Prototyping for Microcontrollers | mbed","extended":"","meta":"644e8e0c9ae522eb1ca025c2af604f7d","hash":"fd2d014879e63a9aca6c18eb11e19b02","time":"2011-09-28T18:35:09Z","shared":"yes","toread":"no","tags":"elecdiy"},
{"href":"http:\/\/www.tasankokaiku.com\/jarse\/?p=268","description":"Jarse \u00bb Blog Archive \u00bb Kohtauskone","extended":"","meta":"8483f7b4d0423ddd0930142c55c909e3","hash":"e971d3670f0fe1b2638c343e458f88bd","time":"2011-09-28T18:35:09Z","shared":"yes","toread":"no","tags":"elecdiy arduino dmx512"}]
Run the following commands:
./archive.py ~/path/to/pinboard.json
# contents on disk match up with contents of index.json
./archive.py ~/path/to/pinboard.json
# timestamp suffices in index.json have been changed and no longer match content on disk
Metadata
Metadata
Assignees
Labels
size: hardstatus: backlogWork is planned someday but is not the highest priority at the momentWork is planned someday but is not the highest priority at the momenttouches: API/CLI/Spectouches: data/schema/architecturetouches: docswhy: functionalityIntended to improve ArchiveBox functionality or featuresIntended to improve ArchiveBox functionality or featureswhy: performanceIntended to improve ArchiveBox speed or responsivenessIntended to improve ArchiveBox speed or responsivenesswhy: securityIntended to improve ArchiveBox security or data integrityIntended to improve ArchiveBox security or data integrity
Type
Projects
Milestone
Relationships
Development
Issue actions
You can’t perform that action at this time.