{"_id":"parrot-blackbox","_rev":"31-9e8ae27cca0de1f43d6edb2a7bd6c8f2","name":"parrot-blackbox","dist-tags":{"latest":"2.2.2"},"versions":{"1.0.0":{"name":"parrot-blackbox","version":"1.0.0","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.0","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"cfac884bcb97df187d1745bdc57dcbe9b72cd5cc","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.0.tgz","fileCount":26,"integrity":"sha512-tPF1GawW/PG3OkLyiWAqW2NpkZ7koFwOBJAgFWJ0hgqk7aKOg8gRs1xyheN7SYT8AIlQ7OxMLONtbVtRlsJb7Q==","signatures":[{"sig":"MEUCIQCYg91E9ejYEwqHhS1qtio6v4YQYvfydVlrQZNNsTm4oAIgLQYw+E/IEalzSMHtT3JL0WQfhWVZnmgEPrhaZZ6Pjno=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121169},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"38fa1a70dff3fede4007dd179e48c27c9493997c","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"parrot-blackbox — crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.0_1788040461036_0.8404966321901803","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"parrot-blackbox","version":"1.0.1","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.1","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"ef534ed82601a087c5b45c7652d5a6701aae3625","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.1.tgz","fileCount":27,"integrity":"sha512-QNHcbhXLSyTA/vhVPQMAOUuk95vJca2oj0bHwmzosAjznHUe8wbU4Mw3oROukdQUMzXm1oNi737qYcZvYg4drA==","signatures":[{"sig":"MEYCIQCBWA6tvncsZnURqi+QjbZbXx4ToaNxfUAj0v1wpf/BrwIhAIz/fUUxfZsUP9DClQzy+SqG7jGcbe0M5QryHz1lhuXT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132621},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"9bf911fc65f378660568e526477534a312d58a7d","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"parrot-blackbox — crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.1_1788094475289_0.23817539863797732","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"parrot-blackbox","version":"1.0.2","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.2","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"7b63524653acac85160e2b81f76162187453c4bb","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.2.tgz","fileCount":27,"integrity":"sha512-7apovGr34Q6yiOWDuzzF5lDcG2OogPj8P0xYlb9UY8r7ic8cFacMzbjFUb2mjklFHnW8JfKMZsmEk12dU7d5Yg==","signatures":[{"sig":"MEUCIQCy7EwFb2lkzFDPLlkNpsAzMU+8MnD0zvGN/i4xkctXcgIgJLXgv7dmUk5w3yLCIzGFBlZh/04+7h/zDvnkmuf53hY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141101},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"106136295c3c9418f6ea57548abeee87583519e2","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"parrot-blackbox — crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.2_1788095394742_0.6904330154321492","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"parrot-blackbox","version":"1.0.3","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.3","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"a380ee8556d07f11baa0d175f3c0a3d4fc661c77","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.3.tgz","fileCount":30,"integrity":"sha512-mctyVnjWAsaBeygEPffJIkM4jzg+eP2PeQR0W+hTrzFyL5KFTIdGhSPiACZ/FI4UCxnEEp5ocJ5rfMGc0bGSkw==","signatures":[{"sig":"MEUCIQDgJLEG2nPm8l8lAq/j0mcogSDpHI0mKf87ImFib23BogIgGN/WQYji1JH2MXq6EEUpqsFtgj2ZtuynuZ0TpKgtS0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171164},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"ee30697638c6e91a837ba65887f2f9fa44f01e97","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"parrot-blackbox — crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.3_1788120833434_0.5757651004125859","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"parrot-blackbox","version":"1.0.4","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.4","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"d54d3aba41feb81ee21630e19ab0e3c1602c8265","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.4.tgz","fileCount":30,"integrity":"sha512-iRdmHJcKBvL8s9sAo29qIWxWgdK89U3BeFxSMgsUi1JqfWEGU4AXx/WmHw8B7MzKT4/ZGKwM4ivlmnO4gNhqJg==","signatures":[{"sig":"MEQCIAejQg40dGV0OfG5XhYR1WCphgrpOsnhq9ujXtP2zp+FAiB6abadK4HktTDOmjcCbeXoDSuvj5uumVJtWN7zCpjU2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171299},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"9657957e3040eb889f9f56f1855429a37299c5ab","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"parrot-blackbox — crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.4_1788127898579_0.04038332789902355","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"parrot-blackbox","version":"1.0.5","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.5","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"dd2c45a871507a52f7084fadf3bf5fb398dc22b9","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.5.tgz","fileCount":30,"integrity":"sha512-BELbUV0xXCBrGZlCDCPnmyakWJH8VmLTQAbPFqBn74qdBuBmwyVO5Qb1NTTWD6FlX50jZrcq85K+LccYfWyjQA==","signatures":[{"sig":"MEUCIHqstYOPdsV1w8jCGA+DRu3/k4wU1aHjbVXQ1e7VqG1lAiEA3FQaSjRjEFE+E9LpoLJAO2EHAvgrFfGdkjleNmTDyp0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172825},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"c3c5f19a72fa796a24f012a5041b6265556bf40e","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"parrot-blackbox — crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.5_1788174672441_0.21708979541834195","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"parrot-blackbox","version":"1.0.6","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.6","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"09f55eeb28f4f3ac33ea3e4b0d118ffd01ee2f04","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.6.tgz","fileCount":30,"integrity":"sha512-AmlOjY4OJOIgm/LwaNwmIGd0GG9z/Zn09UqKM0Dypkis1uJtuTJ14R69Gxl1TkMzIY6FpT/8yKW57bCV5GMsQA==","signatures":[{"sig":"MEQCIB94n33ba5vsoYhllRzAPE6CztO7WT3kBeUJhJ3ni1xnAiA5Oh3zHVxMQx7TLHr+b+SeBtwhOio4pEN+hXf1mtlWhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176401},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"dfd892dfb3062a612d68953c29fc4fc681139f98","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"parrot-blackbox — crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.6_1788283602251_0.2132111839856785","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"parrot-blackbox","version":"1.0.7","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.7","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"2f1379f0fe1dcbc6e73727613aa3c9f983747728","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.7.tgz","fileCount":30,"integrity":"sha512-xyXGgI3D8mTDPNFGfnNaxN2qIzIbO1cGsZi/HEZWXB1UCTwneJ1caewwvCzXC3Eu5Y1z/pO/7jMLz8k0tRzN4Q==","signatures":[{"sig":"MEUCIHy683S7BMV8qWDs4ifXEwq1QynueLPbD8LMXZzuvms9AiEA8rOfzDKX3xaVWENOGDXRN1NM9/cyGWs5YvZk5X0adkI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176961},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"d013dafc58b07384e69f3c4059ada5367218f59c","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"parrot-blackbox — crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.7_1788291852894_0.03460654541715402","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"parrot-blackbox","version":"1.0.8","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.8","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"039781861fe092c0457c962ebc935b3ddffbc8b6","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.8.tgz","fileCount":30,"integrity":"sha512-/Lno/O78X+xYt5kDM147hMPGEjy/5N5ftBD9payGAZxrJZqb6jlya7LpPngFB6YAexvOCGfyFD9nMjs/AKnqPw==","signatures":[{"sig":"MEQCIBLApOGiFYpxu1RfcbxhxKvWlJ2w69v+pyvNCnGFIN1ZAiB2h5YHpB8AHr8ceyRD93Egbqn45Xrp9QfRoOGxouPL3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177449},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"917193fcb170a699cc84c468a1046039c935b8b2","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"parrot-blackbox — crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.8_1788295006040_0.8342531238307747","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"parrot-blackbox","version":"1.0.9","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.9","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"4ad1fa017e6775cc28ebd517ca4fc59b6cbcfc40","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.9.tgz","fileCount":30,"integrity":"sha512-2Lgyas93GH5Ub77rIcvDw7aulBlp25A5HHg9uIqDgoVkOQsutddwB1vFQ0cdMZbnLt1PsyvwYVztJWyZVZmWCw==","signatures":[{"sig":"MEYCIQCrt4QWJQJ7Lg4BMUh353XsFonB4bCYkqyg2UkVpXBwKwIhAIVaCZ8+JbABce1SVEjuh87hnu6EqPmEq8nN3Er2qksm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179444},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"bacd70c94c60451d307ff53823507eac22666cec","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"parrot-blackbox — crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.9_1788296954330_0.3056085899303831","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"parrot-blackbox","version":"1.0.10","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.10","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"807532f78774265a24786aec26090f7d713694a6","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.10.tgz","fileCount":30,"integrity":"sha512-M7ED4+0Y2NKqKRSB0Wm9W9xywi+6zFxtIIrxepFPLh/VmjNQU0C24dYF1KFg7aLfsX3qqA06J1+nv7oAAIxmzA==","signatures":[{"sig":"MEQCIAM0JH2Bn6AIKpOdJma1aSDHtqYn37SEcQ6QvsgTKzb2AiBTGcJSeKuyvPWP2jFKmnTlpgxLCutrIyv66SOiQNolww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179459},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"cb35eb30a8e33ea0e7935707d7dcebc652f5694b","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"parrot-blackbox — crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.10_1788299239895_0.2554205128241984","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"parrot-blackbox","version":"1.0.12","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.12","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"678396f37b823adb53c1a0878caa8e6dd371c21d","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.12.tgz","fileCount":30,"integrity":"sha512-cVhbs33Dze3M2uey56FodZtDqZzXF7/prJtLSKeBh8Ygb/knuhLeWxUgUjGBMoCreQOD6T+MhbaHcBfy0zea+w==","signatures":[{"sig":"MEUCIGMuwZEkzL6TUgcYuL+/hIwu7nq1cZgBeJYrB6gD7U3dAiEA3sJlWeXsBCFaYja4/i5jGonm/Cnhj5NKSw2Q2DhY3DI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181145},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"20ecda10b8bada720a975726747479e2d14d611f","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"parrot-blackbox — crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.12_1788301350952_0.9835923548537044","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"parrot-blackbox","version":"1.0.13","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.13","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"d399e71507644f22be13c7687e1dbf695788da5b","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.13.tgz","fileCount":30,"integrity":"sha512-L2mGhnZiEoOhs8aXYa6Zfc60LZMJEQM7WelaVXTfEBxYyP9lxZJdzY6Ez2ukX6vmay7UEmRxSS9iI0nxs5iK7w==","signatures":[{"sig":"MEUCIQCrHpmIFRH/xSc0OfKx4tiNrT6zi74qFj3AcBiilUMVHQIgOF+EFdNOR99g82KIIFgqzoyQIj2izAhCUmTb/WlkDtY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184340},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"991adadf81cd920bfd3a7c855d7a7605734bee83","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"parrot-blackbox — crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.13_1788329991701_0.4798683416716656","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"parrot-blackbox","version":"1.0.14","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.14","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"208e02cbe8e73d9a68cbd1db0a1b12686b495675","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.14.tgz","fileCount":30,"integrity":"sha512-jNLF0DXkSNjJzpgFbrOnQ6C5MIC9JGW/M5M3buATRU1ElUttydTpgSU2TrkF2+2uGth1Qq8L1FnlBhvxfyD/zQ==","signatures":[{"sig":"MEUCIQCfb9irvaweJSMh5TKtSTIWybFmo5T+jNN59WZLcJP/FgIgRa1OLCKjpK18+IYdchmIhEeyivyWhXoh8I3n3xVLE3I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190445},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"991adadf81cd920bfd3a7c855d7a7605734bee83","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"parrot-blackbox — crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.14_1788340688170_0.39717725700131856","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"parrot-blackbox","version":"1.0.15","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.15","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"fec4ca6a97bdc84c9e55a6f5f7120f9079174e46","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.15.tgz","fileCount":30,"integrity":"sha512-HoJgKTNyaLoVR7MwArMM/EZA4ZfTQclc3lYXdtFJgEW5nEHsXdHpQUMs++tJpVbp4ddY2Ptd2Li4RdflpbsbFQ==","signatures":[{"sig":"MEQCICj3aVGcY4RXameIcPFrg/4H+XJClXghHr3zHuaBRX8GAiBZqGrQWWcIGcqOOgLxNN0LvNnmO6P6adGq4DTh6WrLtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191219},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"991adadf81cd920bfd3a7c855d7a7605734bee83","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.15_1788341140893_0.7968765432272984","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"parrot-blackbox","version":"1.0.16","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.16","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"06512e344b938b9481097270a82a2a9bfbb2a6af","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.16.tgz","fileCount":30,"integrity":"sha512-6U+kqVXJp7aK3m/Pwriy0oFopykyaQpzY5EsmngGgRxIigetzJkoGNQ+WuGTU+Iqqvz+IpXEyv88cENltaYZVg==","signatures":[{"sig":"MEQCIAOR3gJ4lZ4zMe/kyb95VEwkG7J4Y1bG4CSPrvRtP2v4AiAeQifTSF5e2NVwKolyDN8lGqKyQUbNqT5GtH04WgiWnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195691},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"be8f210db6c992b21580d236c03b8c3df971b51f","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.16_1788342922168_0.8112698720319089","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"parrot-blackbox","version":"1.0.18","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.0.18","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"119cdda42c99cd99eca7293dec522a4443edf59c","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.0.18.tgz","fileCount":30,"integrity":"sha512-vkZH9/7W5mCmv3AkZDLZ7EXtrarQVxG+RSWWt3csivtyNGdEny5zznYvFgkHORi0fn1nD3OcxCjb20D+APlvlg==","signatures":[{"sig":"MEUCIQD1QUfh1XpJ6GNwg4vzH7CL1n7m+b1djkQ2zHKE05m1jQIgcEzjRflLaeZZxxUOBqO6L4Uz2/WqxWtg2JpwK1UdLzw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196577},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"2ea168fd47f0ad3be6a66a118f4846df56633d17","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.0.18_1788356746595_0.9079308787633342","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"parrot-blackbox","version":"1.1.0","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@1.1.0","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"7ba077edbee639714429df735097c61e98bfbcd6","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-1.1.0.tgz","fileCount":30,"integrity":"sha512-NRFE0paEzL0PRJD+p1AyKvTrfiFea0oxOGEX2Qh5gSEZ+MuBWoxjQeVnHeAmVrbhrOdcIX7S1lPa4FBIU3xxOw==","signatures":[{"sig":"MEYCIQCqonerKnmPng3tJk52NxaR0a+VtvdmBqXpUy9vjSgRWwIhAKyU9WcYULKmmvrZ7JutCldH9IYWACLGcPu7oMf95EXF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197795},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"2ea168fd47f0ad3be6a66a118f4846df56633d17","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_1.1.0_1788366750306_0.2945304287124755","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"parrot-blackbox","version":"2.0.0","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@2.0.0","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"ac92b3cb6b934125f8b1c03df04fabfc0694a4df","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-2.0.0.tgz","fileCount":31,"integrity":"sha512-iXHKM9KA9Z/gQ6K9yX8p6B1KehxNSf6PnDOcklg8vXZfZe+xSh/mkEY12nq6G0Eexfg624yyL9Ut3vXHHk+0/Q==","signatures":[{"sig":"MEUCICPbwUSwffJ1hvgIyO64eC9MQqs8hDpP/zIQDOKxM9cfAiEA5rkB7jVLhJcVBZIl5MDp5JWSfuBaQdc+blXLYQSVAKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234986},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"8b7716dad4412b1bdb36755b71f34ce8d7438e78","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_2.0.0_1788423153126_0.30938722705473065","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"parrot-blackbox","version":"2.0.1","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@2.0.1","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"67c0d42428d0b33164b102d2f533e6e85dac3539","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-2.0.1.tgz","fileCount":31,"integrity":"sha512-+HE97uqZJvodW/v9MBsJye2ggH8n0cyp2qBtYG8oF2V92x1MVtwsNOTq8oq1poauPiT6wDRq1ZubGha1Pu65rQ==","signatures":[{"sig":"MEQCIGNplC3371rJOE0uDjjgVjILvcFIDDYaouhnJqqJJXDiAiBe82r5xcqdRdhRG+tTAlm2nl5YyUExMVkMx5eJHI6ing==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236174},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"24968dcbc511700d13077142746a2f66ca3b2892","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_2.0.1_1788424350965_0.866838825468826","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"parrot-blackbox","version":"2.0.3","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@2.0.3","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"8517eaccc2fcbaa84ec61dfdc72e6358fa805453","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-2.0.3.tgz","fileCount":31,"integrity":"sha512-7IzNMDfe6j+Lx+HlIyzjvwOzIEczsxcoVuYOoiXAflwCn0HGizipavX3mKpmr1JzTi5Q9lXPxQkgkDa2dZYkDQ==","signatures":[{"sig":"MEQCIBPZRynkJ5YVNiBIePFYdB+Bj8OrXaiw4DqosnhXqvOqAiBZSRX2OQvp5xrSBsxsYiszyKPCR+4ZhUyfOjH5+Jzd8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245850},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"7990509b520247d1e21535485a49a510c35a5aac","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_2.0.3_1788425048261_0.5586130422914344","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"parrot-blackbox","version":"2.0.4","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@2.0.4","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"e8f43681d3ed0f2ac1960fceb3b411d476e3e410","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-2.0.4.tgz","fileCount":31,"integrity":"sha512-d6DMVLz7wjBXPMd64y9eY7jfTv4xIwDoOH2ACxbsxxFNF7H9UZ2dEcfiYqVjLCiiL/lU2ejiQN5/Df/D0RApuw==","signatures":[{"sig":"MEUCICOOTHi+dIuYdH8plTmcj5L2s1Tj6xKd80hCOadEOyh0AiEAtSMXJBOgAmn6x1+xiUHGgGZvHGN5Rw3bCWI2MUEI6W8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":246985},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"6c5bd920f6542b995917549f85bac08f4a342f93","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_2.0.4_1788425521801_0.20493081592764018","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"parrot-blackbox","version":"2.0.5","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@2.0.5","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"96afa0c5140cf6bb44ec30df2aee8064c08a8846","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-2.0.5.tgz","fileCount":31,"integrity":"sha512-1uJIsWZHTptOLAX7pM6j/ByatFxRmgJrSlqROylOdVtoV6PTTO4w0HyzJ/DxXgFtBjvFa6A3wb6X3fp47aYVtw==","signatures":[{"sig":"MEUCIHXSYlrZdT8tNZr+UOL9mAYXdjPusoujbyVESzRzDHnAAiEA+001h1c3fz8dTzqd66RGlFUC+p1KRiMkIZqpwaCYOj8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":261377},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"2459684370af272767a8aab2b9f9797b4af92410","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_2.0.5_1788433519775_0.4969063426606717","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"parrot-blackbox","version":"2.0.6","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@2.0.6","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"770dce1fdcbb218d785b99432c31e9f1f38d0e2e","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-2.0.6.tgz","fileCount":31,"integrity":"sha512-pQVOd6EFA+SzNSk07WFJgGKlbPCrZvbxXEGPPcf/dJ/VoWC8QndM7SYyUSPFKrr5vLIjtzBdIjTjhFD/+nNZeg==","signatures":[{"sig":"MEUCIA1+TfU0KCS4zGau8to5I3I171nKOYn6qSdEVa3FJAJiAiEA/CZYkcZHioBG12ZmDesObbmIfu7e4tx7XSt7xHFaR1w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":264477},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"65effa2bca598ddf7bbdfb99fe1a18f956775f89","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_2.0.6_1788435522941_0.3884365441423683","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"parrot-blackbox","version":"2.0.7","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@2.0.7","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"9f6863de15bf1300ca8a54e9e5765a6475371e84","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-2.0.7.tgz","fileCount":31,"integrity":"sha512-uWytex006yUAW63zKk+YVSnPekuQSOr9xzL88qGVpIg99i70g6RqYKxAHADlSHYse3EjqGsgVsW6/3HEcRAneQ==","signatures":[{"sig":"MEQCIDyVfyiYv38sHnddjH3fLk/fmmg3DccWNCaf6jcpLbWnAiA0UlF466m/GFra8BVtEB9qi/akfW4g1gHncBFa2cxy3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":267245},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"16de821505c138352789e97ec07a94ea6169e146","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_2.0.7_1788438772448_0.03695900018138798","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"parrot-blackbox","version":"2.0.9","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@2.0.9","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"562dbc5697294c923be47c3f47051073cb7f6abc","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-2.0.9.tgz","fileCount":31,"integrity":"sha512-mFnzAuVjI2OGFHqqQc2bpCqJ7YUn7yf7X434vr/WDinMK+QZMK3vJKCN57K4W1kf+U3OfiVyOXykwu8UL4kqhg==","signatures":[{"sig":"MEUCIExnuGyZ8bPDo9t/mA9nMrWangmKqvXAQMoOIiWlgLWcAiEAqGnfH4tp2aYhRDmh1yGK+di3Uhgge4OvjrLXxlj1HXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274333},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"b946ede0c9304b5002caf78b02079e2a2f7bb2ef","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_2.0.9_1788446420673_0.8430758605470152","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"parrot-blackbox","version":"2.1.0","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@2.1.0","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"65a12207e8c23a7f476261324056eba46ffb8734","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-2.1.0.tgz","fileCount":32,"integrity":"sha512-xYfPjag7h08t/8YksJV1GIGFdJN7RLdGdCYkUOcpYZ6IkSALexgO40rb32gmcjOyB7OlL8LSxLzcVgqwoAXEKw==","signatures":[{"sig":"MEYCIQDVZv1MdZtTvyhIQRI1/pBHHegnrEkEWeakCAp242kfHwIhAMBbgIhTzJDii/K1REd+Lo7oMvpr77H0zAqDSl3VvO1f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283493},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"b946ede0c9304b5002caf78b02079e2a2f7bb2ef","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_2.1.0_1788530124525_0.6147973498532064","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"parrot-blackbox","version":"2.1.1","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@2.1.1","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"b67f8a8996946b5fc124cf90e987b81097524b42","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-2.1.1.tgz","fileCount":32,"integrity":"sha512-aLsrm5t75Z9EDsbJvV4f2O62ljr5okRXk0nF6/zwv/1O4AzApA+efPprHqtULMohOHA54ekFsa1tFNo+thv67Q==","signatures":[{"sig":"MEUCIHdvlxR480AosZZ2m2jftMZg0xHG4zR0XyARcTO/3YVkAiEAo+o7O+SaI1yc7bda2nq5GOTBEEKdw8d/fsS0aIMmLig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":285427},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"b946ede0c9304b5002caf78b02079e2a2f7bb2ef","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_2.1.1_1788531666063_0.7423113198120477","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"parrot-blackbox","version":"2.1.2","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@2.1.2","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"01442b1aa94590bd1a4153e139c58cbd569a6c21","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-2.1.2.tgz","fileCount":32,"integrity":"sha512-EU0x2i1yhX8Z/eg7KfM9OT++2IuyUMUWxfDgnjdSyNEteqeY6TeNOEquy08DHoE6/D2yKXRpeDAG3aNqt/oDdw==","signatures":[{"sig":"MEQCICfKZpmoLlDaJXmvce2dYwPIivPFlBQXw2A2nEcCvgK5AiAEXeBJYMC8hDcx3tBkhUU2FzW037VbdlzM4w11KSE89g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286709},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"b946ede0c9304b5002caf78b02079e2a2f7bb2ef","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_2.1.2_1788533235057_0.2603645545304645","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"parrot-blackbox","version":"2.2.0","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"url":"https://github.com/DonArtkins","name":"Don Artkins"},"license":"MIT","_id":"parrot-blackbox@2.2.0","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"dist":{"shasum":"7017b6c416282913e76972a9a6f548467353263c","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-2.2.0.tgz","fileCount":32,"integrity":"sha512-Qb7DRn2+FaavBpBW57nzUl9tUZwGFCEFsvWcLt58LpytBEhPkP9RnyCLulO9QWHt7YswBSlhSUGZpIt/1re2/w==","signatures":[{"sig":"MEQCIE9EPdV1dfmg6dxT0KIG18mm/4fUh9Av/jAj4jHQKd4YAiBIqGu12y5BLulP1p8/zNS82q3nm7PD7yYFwXhxZ4sVYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288066},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"ceca904385d9b7b0a4ab299e1b1419f79fcd3b9f","scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","prepublishOnly":"npm test","publish:dry-run":"npm publish --dry-run --access public"},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"repository":{"url":"git+https://github.com/DonArtkins/parrot-blackbox.git","type":"git"},"_npmVersion":"11.17.0","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1","@clack/prompts":"^0.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/parrot-blackbox_2.2.0_1788539905534_0.7365308104755566","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"parrot-blackbox","version":"2.2.2","description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","type":"module","main":"src/cli.js","bin":{"parrot-blackbox":"bin/parrot-blackbox.js"},"engines":{"node":">=18"},"scripts":{"test":"node --test","test:sandbox":"node --test test/e2e.test.js","publish:dry-run":"npm publish --dry-run --access public","prepublishOnly":"npm test","release:patch":"npm test && npm version patch -m \"chore(release): %s\" && git push --follow-tags","release:minor":"npm test && npm version minor -m \"chore(release): %s\" && git push --follow-tags","release:major":"npm test && npm version major -m \"chore(release): %s\" && git push --follow-tags"},"repository":{"type":"git","url":"git+https://github.com/DonArtkins/parrot-blackbox.git"},"homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"author":{"name":"Don Artkins","url":"https://github.com/DonArtkins"},"license":"MIT","dependencies":{"@clack/prompts":"^0.7.0","citty":"^0.2.2","execa":"^8.0.1","picocolors":"^1.1.1"},"gitHead":"6ac13d3908d5e08023f8e211322255697047c6d1","_id":"parrot-blackbox@2.2.2","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-am73ALj1Q2QuEUr4i1jH86nuiKtIB+GMgFNjV9uMn/amFokPwOkoZbytyMYpfwyuPhYmdOOZmwEkMUmOtrbvxA==","shasum":"44a7ce4fdb7d60d890d3406180b2cce309715555","tarball":"https://registry.npmjs.org/parrot-blackbox/-/parrot-blackbox-2.2.2.tgz","fileCount":32,"unpackedSize":292651,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDwLD+0glPZs/I5s0C25ifVOJgNMcb7NAGcwn+umtfGmAiBopZOy2vc0ozb5mBGlwTiDf5SQi5gaIStUv9WkIL/REQ=="}]},"_npmUser":{"name":"artkins","email":"info.sycx.ke@gmail.com"},"directories":{},"maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/parrot-blackbox_2.2.2_1788634708620_0.9823827281158044"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-29T21:54:20.735Z","modified":"2026-09-05T18:58:28.927Z","1.0.0":"2026-08-29T21:54:21.160Z","1.0.1":"2026-08-30T12:54:35.431Z","1.0.2":"2026-08-30T13:09:54.895Z","1.0.3":"2026-08-30T20:13:53.566Z","1.0.4":"2026-08-30T22:11:38.727Z","1.0.5":"2026-08-31T11:11:12.570Z","1.0.6":"2026-09-01T17:26:42.407Z","1.0.7":"2026-09-01T19:44:13.039Z","1.0.8":"2026-09-01T20:36:46.197Z","1.0.9":"2026-09-01T21:09:14.472Z","1.0.10":"2026-09-01T21:47:20.056Z","1.0.12":"2026-09-01T22:22:31.120Z","1.0.13":"2026-09-02T06:19:51.881Z","1.0.14":"2026-09-02T09:18:08.314Z","1.0.15":"2026-09-02T09:25:41.054Z","1.0.16":"2026-09-02T09:55:22.325Z","1.0.18":"2026-09-02T13:45:46.755Z","1.1.0":"2026-09-02T16:32:30.431Z","2.0.0":"2026-09-03T08:12:33.274Z","2.0.1":"2026-09-03T08:32:31.113Z","2.0.3":"2026-09-03T08:44:08.444Z","2.0.4":"2026-09-03T08:52:01.985Z","2.0.5":"2026-09-03T11:05:19.921Z","2.0.6":"2026-09-03T11:38:43.086Z","2.0.7":"2026-09-03T12:32:52.576Z","2.0.9":"2026-09-03T14:40:20.810Z","2.1.0":"2026-09-04T13:55:24.673Z","2.1.1":"2026-09-04T14:21:06.222Z","2.1.2":"2026-09-04T14:47:15.242Z","2.2.0":"2026-09-04T16:38:25.676Z","2.2.2":"2026-09-05T18:58:28.770Z"},"bugs":{"url":"https://github.com/DonArtkins/parrot-blackbox/issues"},"author":{"name":"Don Artkins","url":"https://github.com/DonArtkins"},"license":"MIT","homepage":"https://github.com/DonArtkins/parrot-blackbox#readme","keywords":["backup","recovery","snapshot","timeshift","mega","google-drive","rclone","parrot","parrot-os","linux","automation","crash-proof","cli","wizard"],"repository":{"type":"git","url":"git+https://github.com/DonArtkins/parrot-blackbox.git"},"description":"Crash-proof, multi-cloud backup & recovery automation for Parrot OS. Daily/weekly off-disk backups with automatic catch-up, smart storage across many MEGA + Google Drive accounts, Timeshift snapshot backups and one-command restore.","maintainers":[{"name":"artkins","email":"info.sycx.ke@gmail.com"}],"readme":"# parrot-blackbox 🦜📦\n\n**Crash-proof, multi-cloud backup & recovery automation for Parrot OS.**\n\n`parrot-blackbox` is the \"black box flight recorder you lost last time your\nParrot install died\" — a single CLI + background daemon that:\n\n1. **Automates backups** — a full **Timeshift system snapshot** every\n   **Saturday at 22:00** (the weekly snapshot IS the backup — no noisy daily\n   file backups, so storage stays lean).\n2. **Installs whatever your system needs** — running the wizard checks for\n   `rclone`, `timeshift`, `git` and `curl` and **auto-installs the missing\n   ones** (sudo prompt, exactly like theamify) so snapshot backup AND restore\n   always work on a fresh Parrot.\n3. **Is crash-proof & network resilient** — if the laptop is off or offline at backup time, the\n   missed backups are run **in order, oldest first, the moment WiFi is back**.\n   If an upload fails due to power cut, network failure, or rate limits, the next\n   run will seamlessly **resume exactly where it left off**, skipping already uploaded files.\n   Every job is journalled and retried; a lock prevents collisions; state is\n   written atomically. Nothing is silently lost.\n4. **Manages ~175 GB of free cloud storage for you** — 5 MEGA + 5 Google Drive\n   accounts are connected as one pool. Files are placed whole on whichever\n   account has the most relative headroom; anything bigger than a single\n   account's free space is split into byte-range chunks across accounts and a\n   manifest remembers how to reassemble it. You can never be \"out of space\".\n5. **Keeps the disk honest** — old snapshots (keep the latest 3, the middle one\n   as the sanity safety-net) are pruned **both locally and in the cloud in the\n   same pass**. Daily file backups are available as an **opt-in** if you ever\n   want them.\n6. **Brings you back from a fresh install (Lightning Fast)** — restore a snapshot from the cloud\n   onto fresh Parrot (works whether or not you used disk encryption; it just\n   needs your `sudo` password). **Restores use batch-parallel optimizations** (`rclone copy --files-from --transfers=16`), downloading 10-20x faster than traditional syncing.\n7. **V2.0: BTRFS send/receive incremental streaming** — if your root is on BTRFS\n   (most Parrot installs since 2022), uploads are **10-50x smaller and faster**\n   after the first backup. Only block-level changes are uploaded, not the entire\n   filesystem every time.\n\n---\n\n## Why this exists\n\nFrom `research.txt`: a Parrot OS crash once wiped every local file, every\ncustomization, and the VS Codium profile. Only GitHub was safe. Timeshift\nsnapshots existed — but they lived on the *same* disk, so a dead SSD took them\ntoo. This tool automates the fix:\n\n- Timeshift snapshots are created **and uploaded to the cloud pool** weekly.\n- **V2.0: BTRFS send/receive** — incremental streaming backups that only upload\n  block-level changes, not full filesystem copies every time.\n- File backups live on MEGA + Drive only.\n- The only recovery-critical local thing left is the CLI itself (`npx` is a\n  clone away).\n\n---\n\n## 🚀 What's New in V2.0: BTRFS Send/Receive\n\n**Major efficiency upgrade:** V2.0 replaces file-by-file copying with native\nBTRFS send/receive streaming. This is the same technology used by enterprise\nbackup tools like btrbk, snapper, and btrfs2s3.\n\n### How it works\n\n**First backup (bootstrap):**\n```\nbtrfs send /snapshot → zstd compression → [optional encryption] → rclone rcat → cloud\n```\n- Creates a full BTRFS stream of your root filesystem (~35-40 GiB typical)\n- Compressed with zstd (saves ~20-30% bandwidth)\n- Optionally encrypted with AES-256\n- Streamed directly to cloud via rclone (no intermediate temp files)\n\n**Every subsequent backup (incremental):**\n```\nbtrfs send -p <parent> /new_snapshot → zstd → [encryption] → cloud\n```\n- Only sends **block-level differences** since the last backup\n- Typical incremental: **100 MB to 2 GB** instead of 35+ GiB\n- 10-50x less bandwidth and storage per backup\n\n**Restore:**\n```\nrclone cat cloud → [decrypt] → zstd decompress → btrfs receive → Timeshift\n```\n- Downloads snapshots in parent-chain order (oldest first)\n- Applies incrementals automatically\n- Reconstructs the exact filesystem byte-for-byte\n\n> **Timeshift layout on BTRFS:** Timeshift (BTRFS mode) stores every snapshot\n> as a *directory* `<snapshots>/<name>/` that contains a read-only `@`\n> subvolume. parrot-blackbox automatically resolves that inner `@` before\n> running `btrfs send` (so uploads never hit the \"not a subvolume\" error), and\n> on restore it receives each stream back into `<name>/@` plus the `info.json`\n> control file — so `timeshift --restore --snapshot <id>` recognizes the\n> restored backup immediately. If a snapshot is not a subvolume at all\n> (Timeshift rsync mode), the tool falls back to the legacy file-copy method.\n>\n> **No phantom backups:** a failed `btrfs send` (for example a wrong path) used\n> to leave a few-byte \"stream\" and manifest in the cloud that could corrupt the\n> incremental chain. Only real streams (≥ 1 MiB) are now recorded, and any\n> interrupted upload is removed from the cloud automatically.\n\n### Why BTRFS send/receive is better\n\n| Old way (v1.x) | New way (v2.0) |\n|---|---|\n| Copy every file every time | Only send changed blocks (incremental) |\n| 35+ GiB per backup | First: ~35 GiB, then ~500 MB each |\n| ~2-8 hours upload | First: ~2-8 hours, then ~5-20 minutes |\n| File-level granularity | Filesystem-level (preserves all metadata) |\n| CoW efficiency lost in tar/zip | Native BTRFS streaming |\n\nReal-world example (from research):\n- Initial backup: 17.4 GiB subvolume → 13 GiB compressed (~2 min full send)\n- Incremental after normal use: **a few seconds** to generate stream, only\n  megabytes uploaded\n\n### Requirements for BTRFS mode\n\n✅ **Root filesystem on BTRFS** (check: `df -T /` should show `btrfs`)  \n✅ **btrfs-progs installed** (auto-installed by wizard if missing)  \n✅ **zstd installed** (for compression)  \n✅ **openssl** (for encryption, optional)\n\n**If your root is NOT on BTRFS:** V2.0 automatically falls back to the v1.x\nfile-copy method. You still get cloud backups, just without incremental\nefficiency. (Most Parrot OS installs since 2022 default to BTRFS.)\n\n---\n\n## Requirements\n\n| Tool | Why |\n|---|---|\n| Node.js ≥ 18 | runs the CLI |\n| `rclone` | talks to MEGA and Google Drive (one rclone remote = one account) |\n| `timeshift` | system snapshots (BTRFS mode; rsync mode also works) |\n| `git` | detecting repos so their files are excluded |\n| `curl` | connectivity checks |\n\n```bash\nsudo apt install rclone timeshift git curl\n```\n\n---\n\n## Install (streamlined)\n\n```bash\nnpm install -g parrot-blackbox\n```\n\nRun it — you land in the **menu wizard** (just like gitswitch):\n\n```bash\nparrot-blackbox\n```\n\n**On every launch the wizard:**\n1. **Checks npm for the latest version** and offers to self-update\n   (`npm install -g parrot-blackbox@latest`) if a newer one is published — the\n   latest always comes from the npm registry, never from local state.\n2. Shows a **menu with every feature**: add account, storage pool, check &\n   install tools, snapshot now, run backup, list backups, restore, always-on\n   service, daemon, guided setup, status, doctor, **repair**, **update**,\n   **uninstall**. Choosing an action runs it and returns to the menu — saying\n   \"No\" to a prompt never kicks you out; only **Exit** / **Ctrl+C** leaves.\n\n---\n\n## Quick start (the important bit)\n\n```bash\n# 1. Install + run the wizard (installs tools, adds accounts, first snapshot):\nnpm install -g parrot-blackbox\nparrot-blackbox\n\n# 2. If you have MORE MEGA / Drive accounts, add them the same guided way:\nparrot-blackbox remote add mega          # prompts for email/password\nparrot-blackbox remote add gdrive        # opens browser OAuth\nparrot-blackbox remote list              # see remotes + pool registration\n\n# 3. Force your FIRST snapshot backup right now (or again later — it captures\n#    the whole system and uploads it to the cloud):\nparrot-blackbox force\n```\n\n`parrot-blackbox status` shows the pool, network state, daemon state, last run\nand pending backups.\n\n---\n\n## 🤖 Background Automation (Set it and forget it)\n\nTo make `parrot-blackbox` take weekly snapshots and upload them to your cloud accounts completely automatically in the background, install the background service:\n\n```bash\nparrot-blackbox schedule install\nparrot-blackbox daemon start\n```\n\nOnce started, the daemon runs silently as a background process. It wakes up every Saturday at 22:00, takes a Timeshift snapshot, and trickles the upload to your cloud accounts. \nIf your laptop happens to be powered off or completely offline on Saturday night, the daemon is smart enough to immediately catch up and run the missed backup the very next time you connect to WiFi!\n\nYou can check on the daemon at any time using:\n```bash\nparrot-blackbox status\n```\n\n---\n\n## Managing cloud accounts (rclone remotes)\n\nEvery MEGA / Google Drive login becomes one rclone remote = one pool account.\nThere are **two ways** to connect them:\n\n- **Guided (recommended):** `parrot-blackbox` creates the rclone remote *for\n  you* — no menus. `parrot-blackbox remote add mega` prompts for the remote\n  name, email, password and optional 2FA, then registers it.\n- **Manual:** configure remote(s) yourself with the raw `rclone config` — the\n  **complete step-by-step walkthrough of every prompt and every letter is\n  documented below** in the next section.\n\n**Add** (guided — creates the remote AND saves it in the pool):\n```bash\nparrot-blackbox remote add mega            # prompts: name, email, password, 2FA (optional)\nparrot-blackbox remote add gdrive          # opens browser OAuth for Google\nparrot-blackbox remote add mega mega-1     # or pass the name directly\n# non-interactive (CI): PBB_MEGA_USER=me@x.com PBB_MEGA_PASS=secret parrot-blackbox remote add mega\n```\n\n**List** (which remotes exist + are registered):\n```bash\nparrot-blackbox remote list\nparrot-blackbox account list               # pool usage & free space\n```\n\n**Edit / rename** any remote (advanced, full rclone editor):\n```bash\nparrot-blackbox remote config              # pick the remote → e) Edit, r) Rename, c) Copy\n```\n\n**Delete** a remote entirely (removes the rclone entry AND its pool account):\n```bash\nparrot-blackbox remote remove <name>\n```\n\n**Already configured rclone remotes?** (e.g. an old `mega:` you created long\nago) — register them into the pool without recreating:\n```bash\nparrot-blackbox account add mega mega      # provider + existing remote name\nparrot-blackbox account list\n```\n\nrclone stores secrets encrypted in `~/.config/rclone/rclone.conf`; parrot-blackbox\nonly ever stores the **remote name + provider + optional quota**, never your\npasswords, and the allocator's manifests are safe to share.\n\n---\n\n## 📖 The full `rclone config` manual walkthrough (every letter, every prompt)\n\n> The wizard's *\"Configure rclone myself, then register the remote\"* path (and\n> the `parrot-blackbox remote config` command) open rclone's interactive menu.\n> This is that menu, explained **prompt by prompt** so you never get lost.\n> The quick alternative that skips all of this: `parrot-blackbox remote add mega`\n> (or `gdrive`) creates the remote for you automatically.\n\n### 1. The main menu — what each letter does\n\n```\nCurrent remotes:\n\nName                 Type\n====                 ====\nmega                 mega\n\ne) Edit existing remote\nn) New remote\nd) Delete remote\nr) Rename remote\nc) Copy remote\ns) Set configuration password\nq) Quit config\ne/n/d/r/c/s/q>\n```\n\n| Letter | Word | What it does |\n|---|---|---|\n| `e` | **Edit** | Change an **existing** remote's login (email / password / 2FA) or storage type |\n| `n` | **New** | **Create a brand-new remote** → the flow below |\n| `d` | **Delete** | Remove a remote from the config — rclone asks `y` to confirm |\n| `r` | **Rename** | Give an existing remote a different name |\n| `c` | **Copy** | Duplicate an existing remote under a new name (handy for a 2nd account of the same type) |\n| `s` | **Set config password** | Lock the whole `rclone.conf` with a passphrase (optional; skip unless you want it) |\n| `q` | **Quit** | Leave the menu → you return to parrot-blackbox |\n\n> **The letters you'll use most:** `n` (new remote), `e` (fix a wrong password),\n> `d` (remove an account you don't use), `q` (done).\n\n---\n\n### 2. Adding a MEGA remote (storage number **39**)\n\nStart the menu with `n`, then follow exactly:\n\n```\ne/n/d/r/c/s/q> n                          ⬅ type the letter n and press Enter\nEnter name for new remote.\nname> mega-account-1                       ⬅ type the remote name and press Enter\n```\n\n> **What the name is:** a label for this login. Use something meaningful per\n> account, e.g. `mega-account-1`, `mega-2`, `mega-main`. You'll type this exact\n> name into parrot-blackbox later.\n\n```\nOption Storage.\nType of storage to configure.\n...long numbered list of 68 providers...\nStorage> 39                                ⬅ type 39 for Mega and press Enter\n```\n\n> **The storage number for each provider:**\n> | Provider | Number to type | (what it says in the list) |\n> |---|---|---|\n> | **Mega** (the one you use) | **`39`** | `39 / Mega - Tier 2 \\ (mega)` |\n> | **Google Drive** | **`24`** | `24 / Google Drive - Tier 1 \\ (drive)` |\n\nNext rclone asks for login details — this means **the email + password of the\ncloud account** you want to back up to:\n\n```\nOption user.\nUser name.\nEnter a value.\nuser> info.donartkins.ke@gmail.com         ⬅ type the account's EMAIL and press Enter\n\nOption pass.\nPassword.\nChoose an alternative below.\ny) Yes, type in my own password\ng) Generate random password\ny/g> y                                     ⬅ type y to enter your own password\n\nEnter the password:\npassword: ********                          ⬅ type the account PASSWORD (invisible)\nConfirm the password:\npassword: ********                          ⬅ type it again to confirm\n```\n\n> **What this means:** `user` = the **email address** of your MEGA account.\n> `pass` = that account's **password**. rclone encrypts it before saving it —\n> you'll see `*** ENCRYPTED ***` later.\n\nAfter the password, optional but present for accounts that have it:\n\n```\nOption 2fa.\nThe 2FA code of your MEGA account if the account is set up with one\nEnter a value. Press Enter to leave empty.\n2fa>                                     ⬅ if you use 2FA on this MEGA account, enter the\n                                              current 6-digit code here; if not, press Enter\n```\n---\n\n### 3. Advanced config — ⚠️ **SAY NO** (this is the mistake you kept making)\n\nrclone then asks `Edit advanced config?` **twice**. You almost always want\n**`n` (No)** here — parrot-blackbox works fine with the defaults:\n\n```\nEdit advanced config?\ny) Yes\nn) No (default)\ny/n> n                                  ⬅ type n and press Enter   ✅ SAY NO\n```\n\nIf you mistakenly choose `y`, rclone will march you through `debug`,\n`hard_delete`, `use_https`, `encoding`, `description`… — you can press **Enter**\non every single one to accept defaults, then it asks `Edit advanced config?`\nagain → answer `n` the second time. But the easy path is simply **`n` the\nfirst time**.\n\nWhen it finishes you get a confirmation:\n\n```\nConfiguration complete.\nOptions:\n- type: mega\n- user: info.donartkins.ke@gmail.com\n- pass: *** ENCRYPTED ***\nKeep this \"mega-account-1\" remote?\ny) Yes this is OK (default)\ne) Edit this remote\nd) Delete this remote\ny/e/d> y                                 ⬅ type y to save this remote\n```\n\n> **Important:** this confirmation `y` (\"keep this remote\") is DIFFERENT from\n> the advanced-config prompt. Here you DO want `y` — it saves the remote you\n> just created.\n\n---\n\n### 4. Adding a Google Drive remote (storage number **24**)\n\nSame `n` flow, but the two differences are the storage number and the auth step:\n\n```\ne/n/d/r/c/s/q> n                          ⬅ n for new\nname> gdrive-account-1                    ⬅ the remote name\nStorage> 24                               ⬅ 24 = Google Drive\n\n-- rclone then prints a big \"Use auto config?\" section --\nUse auto config?\ny) Yes\nn) No\ny/n> y                                    ⬅ y (opens your browser automatically)\n```\n\nrclone opens a **browser page asking you to sign in to Google** and grant\naccess — log in, allow, done. Back in the terminal:\n\n```\nEdit advanced config?\ny) Yes\nn) No (default)\ny/n> n                                    ⬅ ✅ NO\n\nKeep this \"gdrive-account-1\" remote?\ny) Yes this is OK (default)\ny/e/d> y                                  ⬅ y to keep it\n```\n\n> If the browser doesn't open (headless), choose the manual option rclone gives\n> you and paste the printed verification code into `http://localhost:53682` —\n> but on your desktop the browser usually just opens.\n\n---\n\n### 5. After you quit (`q`) — register the remotes\n\nYou arrive back in parrot-blackbox with the message\n`Starting rclone config — follow its prompts, then come back.` Once rclone's\nmenu is closed (`q`), the wizard automatically shows the remotes it found and\nlets you pick which to register into the pool:\n\n```\nSelect which rclone remotes to add to the backup pool:   ⬅ tick your new names\n```\n\nEach one is then tagged with its provider as you type it into rclone. If you\nquit the wizard before registering, that's fine — either re-run\n`parrot-blackbox` or:\n\n```bash\nparrot-blackbox account add mega mega-account-1     # provider + the remote name you chose in rclone\nparrot-blackbox remote list                         # confirm it's now registered\n```\n\n---\n\n### 6. Editing / renaming / deleting a remote later (the `e` `r` `d` letters)\n\nFix a wrong password, rename, or delete an old account:\n\n```\ne/n/d/r/c/s/q> e                             ⬅ e = Edit an existing remote\nChoose a number from below ...               ⬅ pick the remote to edit\nEdit remote\nu) Update current\ny) Yes type in my own password\ng) Generate random password\nq) Quit config\nu> y                                         ⬅ choose what to change (u = update this field)\nName or type of remote > user                ⬅ which field: user, pass, 2fa, type, ...\nuser> new@email.com                          ⬅ the new value\n```\n\nRename:\n```\ne/n/d/r/c/s/q> r                             ⬅ r = Rename\nOld name> mega-account-1                     ⬅ current name\nNew name> mega-backup-1                      ⬅ new name\n```\n\nDelete:\n```\ne/n/d/r/c/s/q> d                             ⬅ d = Delete\nChoose a number from below ...               ⬅ pick the remote\ny) Yes this is OK\ne) Edit this remote\ny/e> y                                       ⬅ y confirms permanent deletion\n```\n\n> Any rename/delete also must be mirrored in parrot-blackbox's pool:\n> `parrot-blackbox remote list` shows what's registered, and\n> `parrot-blackbox remote remove <name>` removes an entry from BOTH rclone and\n> the pool in one go.\n\n---\n\n## Commands\n\n| Command | What it does |\n|---|---|\n| `parrot-blackbox` | ⭐ **Menu wizard** — every feature in one menu; automatic update check on launch |\n| `parrot-blackbox install` | Same as the menu wizard |\n| `parrot-blackbox repair [--yes]` | Fix a broken install (tools, config, service, pool) |\n| `parrot-blackbox update [--force]` | Check npm & update to the latest published version |\n| `parrot-blackbox setup` | Guided full setup (tools, accounts, schedule, service) |\n| `parrot-blackbox run` | Run any due/pending backups now (safe for cron) |\n| `parrot-blackbox force` | ⭐ Run every enabled backup NOW (default = weekly snapshot) `[sudo]` |\n| `parrot-blackbox snapshot now` | Create + upload a Weekly Timeshift snapshot `[sudo]` |\n| `parrot-blackbox snapshot list` | Local & cloud snapshots |\n| `parrot-blackbox snapshot prune` | Delete snapshots past the keep limit `[sudo]` |\n| `parrot-blackbox list` | List cloud file backups |\n| `parrot-blackbox restore` | Interactive restore wizard `[sudo]` |\n| `parrot-blackbox restore files <id> <dir>` | Recover a file backup into a folder |\n| `parrot-blackbox restore snapshot <id> --yes` | Overwrite the whole system from a cloud snapshot `[sudo]` |\n| `parrot-blackbox account add <mega\\|gdrive> <remote>` | Register an existing rclone remote into the pool |\n| `parrot-blackbox account list` | Pool summary + per-account quota |\n| `parrot-blackbox account remove <id>` | Remove an account from the pool |\n| `parrot-blackbox account quota <id> <GiB>` | Override an account's quota |\n| `parrot-blackbox remote add <mega\\|gdrive> [name]` | ⭐ Add a cloud account (guided — sets up rclone FOR you) |\n| `parrot-blackbox remote list` | Show rclone remotes + pool registration |\n| `parrot-blackbox remote remove <name>` | Delete a remote (rclone + pool) |\n| `parrot-blackbox remote config` | Open the full rclone config editor (advanced) |\n| `parrot-blackbox daemon start\\|stop\\|status` | Background automation |\n| `parrot-blackbox schedule install\\|remove` | systemd / cron always-on setup |\n| `parrot-blackbox doctor` | Full diagnostics |\n| `parrot-blackbox status` | Quick status |\n| `parrot-blackbox uninstall` | Remove everything (cloud backups kept) |\n\n---\n\n## How the smart storage pool works\n\n```\n5 MEGA      (20 GiB each)     = 100 GiB\n5 Drive     (15 GiB each)     =  75 GiB   ← Google Drive free tier is 15 GiB\n──────────────────────────────\n≈ 175 GiB managed automatically\n```\n\n(Your live `account list` proves it: 10 accounts → 175 GiB total.)\nEvery account is exactly one rclone remote (`mega-1:`, `gdrive-6:` …).\n- Each backup has **one manifest** that records where every file (or chunk) is.\n- Placement picks the account that would end up with the **lowest used\n  percentage** (water-filling), then most free.\n- A file that doesn't fit any single account is split at `chunkSize` boundaries\n  and the pieces are spread across accounts — restore reassembles byte-perfect.\n- **BTRFS native support** — BTRFS root-owned snapshot files (e.g. `/etc/credstore`) are securely backed up to the cloud without `EACCES` permission errors via an internal privileged helper that integrates with the familiar interactive sudo prompt.\n- The manifest is written to the cloud **and** mirrored locally, so a wiped\n  machine can still find and restore everything.\n\nNever out of storage again — and if you ever pass 175 GiB of backups, the\nallocator fails loudly with guidance instead of half-uploading.\n\n---\n\n## Retention (the \"never out of disk / cloud\" guarantees)\n\n| What | Default | Result |\n|---|---|---|\n| Snapshots (Timeshift) | enabled, keep the newest **3** | latest + 2 previous weeks; the middle one is the sanity net |\n| File backups | **disabled** (opt-in), keep newest 3 if enabled | no noisy daily uploads unless you want them |\n| Pruning | happens for **local AND cloud in the same pass** | a fresh install can't resurrect old clutter |\n\nThe snapshot keep strategy: with `keep: 3` you always have *today's* snapshot\nplus two earlier ones — so a crash mid-backup can still roll back to the most\nrecent working state, without wasting cloud or disk space. If you want the most\nspace-efficient option, set `keep: 1` and every successful backup erases the\nprevious one, leaving a single sane restore point:\n\n```\n$EDITOR ~/.config/parrot-blackbox/config.json   # jobs.snapshots.keep = 1\n```\n\nTo ALSO run a daily file-level backup (opt-in), flip it on in the same file:\n\n```\n$EDITOR ~/.config/parrot-blackbox/config.json   # jobs.files.enabled = true\n```\n---\n\n## Upgrading from V1.x to V2.0\n\n**Good news:** V2.0 is backward-compatible with your existing v1.x backups. Your old\nsnapshot backups remain accessible and restorable.\n\n**What changes automatically:**\n- New snapshots will use BTRFS send/receive (if your root is on BTRFS)\n- Old v1 file-tree snapshots can still be restored normally\n- Config gets a new `btrfs` section with defaults (compression: on, encryption: off)\n\n**What you need to know:**\n- **First backup after upgrade:** Will be a full BTRFS send (~35 GiB typical) since\n  there's no parent yet. This is the new \"bootstrap\" backup.\n- **Every backup after that:** Incremental (100 MB–2 GB typical), using the previous\n  snapshot as parent.\n- **Old v1 snapshots:** Safe to keep or prune normally. They work independently of\n  the new v2 incremental chain.\n- **If you don't use BTRFS:** V2.0 automatically falls back to v1 file-copy mode.\n  No action needed.\n\n**Optional: Enable encryption**\n```bash\n# Edit config to turn on encryption for BTRFS streams\n$EDITOR ~/.config/parrot-blackbox/config.json\n# Set: jobs.snapshots.btrfs.encryption = true\n# Set: storage.encryptionPassphrase = \"your-secure-passphrase\"\n```\n\n**Mixing v1 and v2 backups:**\nYou can keep both! The tool tracks them separately via manifests. Restore commands\nautomatically detect which version each snapshot is.\n\n---\n\n## Recovery guide (fresh install / new machine)\n\n### Option A — restore your files (fonts, images, docs…)\n\n```bash\nparrot-blackbox restore files <backup-id> ~/recovered\n```\n\n### Option B — restore the whole system snapshot (recommended)\n\n```bash\n# on the fresh Parrot:\nnpm install -g parrot-blackbox\nrclone config                             # re-add the same remotes\nparrot-blackbox account add mega mega-1   # …add every account\nparrot-blackbox snapshot list             # see what's in the cloud\nparrot-blackbox restore snapshot <snapshot-id> --yes\n```\n\n#### What happens during a snapshot restore on a fresh install?\nWhen you run the restore command, `parrot-blackbox` does the following:\n1. **Downloads the snapshot:** It pulls the exact system snapshot from your cloud accounts, reassembles the byte-chunks, and places it into your local Timeshift directory.\n2. **Runs Timeshift Restore:** It then hands over control to Timeshift (`sudo timeshift --restore`).\n3. **Overwrites the OS:** Timeshift systematically replaces the system files of your *fresh* install with the files from your *snapshot*. Your programs, configurations, user settings, and installed packages are exactly reverted to how they were when the snapshot was taken.\n4. **Bootloader update:** Finally, Timeshift updates your GRUB bootloader and `/etc/fstab` to match the UUIDs of your new disk partitions, ensuring the system can boot.\n\n#### What about Disk Encryption (Passphrases)?\n**Disk encryption (LUKS) operates at the hardware/disk level, while snapshots operate at the file level.** \nIf your old system had a passphrase (encrypted), but you decide to fresh-install Parrot OS *without* a passphrase (unencrypted), **the restore will still work perfectly.**\n- The snapshot only contains your files and programs, not the LUKS encryption container.\n- When Timeshift restores the files onto your new unencrypted fresh install, it simply places the files into the unencrypted disk.\n- Timeshift automatically detects the new partition layout, updates your boot configurations, and after a reboot, you will have your exact old system back, but running on an unencrypted drive without any password prompts on boot!\n\n*Note: After rebooting into your restored system, it is always a good idea to run `sudo apt update && sudo apt upgrade` to ensure all packages are perfectly aligned with the latest Parrot OS repositories.*\n\n---\n\n## Automation details (what \"crash-proof\" actually means)\n\n- **Scheduling** — file backups daily 22:00, snapshots every Saturday 22:00\n  (a recent Friday-through-Sunday window is hidden from storage by keeping\n  only 3 generations). Both schedules are configurable.\n- **Catch-up & Resume** — the daemon polls every 60s. On each tick it computes *every*\n  calendar due that has passed since the last one it considered, drops the\n  ancient backlog beyond `catchUpLimit`, and drains the rest **oldest first**.\n  If it's offline at that moment, the dues stay pending and the daemon watches\n  for the offline→online edge to fire immediately. If a snapshot upload is interrupted\n  by network limits or a crash, it is securely left in Timeshift and the daemon will\n  **resume the upload from exactly where it stopped**, seamlessly picking up un-uploaded chunks.\n- **Crash-proofing** — state is written atomically (tmp + rename); the journal\n  appends one line per event; every job opens a journal entry and only closes\n  it on success; a single process lock (`withLock`) keeps the daemon and a\n  manual `force` from colliding; stale locks (dead pid / expired TTL) are\n  reclaimed automatically.\n- **Non-interactive sudo** — the daemon never hangs on a password: it uses\n  `sudo -n`, and if the sudo timestamp is lapsed it marks the snapshot job\n  `deferred` and retries on the next tick. Run any interactive command (e.g.\n  `parrot-blackbox snapshot now`) once to re-arm sudo.\n\n---\n\n## Uninstall\n\n```bash\nparrot-blackbox uninstall\n```\n\nStops the daemon, drops the systemd/cron schedule, deletes local config/state\nand the npm package. **Cloud backups are never touched.**\n\n---\n\n## Development\n\n```bash\nnpm install\nnpm test                # unit tests + sandbox e2e tests (real CLI, fake cloud)\nnpm run publish:dry-run # inspect the tarball\nnpm run release:patch   # test → version bump → git push --follow-tags\nnpm publish             # to the public npm registry\n```\n\nThe e2e suite (Level-5 safety proof) runs the **real CLI** against **stub**\n`rclone`/`timeshift`/`sudo` binaries and a **fake cloud** — it never touches a\nreal disk, real account or real network.\n\n## License\n\nMIT\nand pending backups. `parrot-blackbox doctor` is the full diagnostic.","readmeFilename":"README.md"}