diff --git a/Makefile b/Makefile index 4dcb761..50917e1 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ TEST_DIR := $(CURDIR)/tests .DEFAULT_GOAL := help .PHONY: build-scrt build-base build-web build-ad build-ctf build-all \ - smoke-web smoke-ad smoke-ctf test-all test-scrt \ + smoke-base smoke-web smoke-ad smoke-ctf test-all test-scrt \ lint ci images clean-images clean help # ============================================================================ @@ -77,6 +77,13 @@ build-all: # Images are built first if the tags don't already exist. # ============================================================================ +## smoke-base: Tool presence check — base image +smoke-base: build-base + @printf '==> [base] smoke test\n' + @docker run --rm \ + -v "$(TEST_DIR):/tests:ro" \ + $(BASE_IMAGE) sh /tests/smoke-base.sh + ## smoke-web: Tool presence check — web image smoke-web: build-web @printf '==> [web] smoke test\n' @@ -98,8 +105,8 @@ smoke-ctf: build-ctf -v "$(TEST_DIR):/tests:ro" \ $(CTF_IMAGE) sh /tests/smoke-ctf.sh -## test-all: Run smoke tests for all three scenario images -test-all: smoke-web smoke-ad smoke-ctf +## test-all: Run smoke tests for all four images (base + scenarios) +test-all: smoke-base smoke-web smoke-ad smoke-ctf # ============================================================================ # scrt integration — verify the binary starts and sees Docker diff --git a/resources/mozilla/firefox/fr3d.default/addonStartup.json.lz4 b/resources/mozilla/firefox/fr3d.default/addonStartup.json.lz4 deleted file mode 100644 index a932a3e..0000000 Binary files a/resources/mozilla/firefox/fr3d.default/addonStartup.json.lz4 and /dev/null differ diff --git a/resources/mozilla/firefox/fr3d.default/addons.json b/resources/mozilla/firefox/fr3d.default/addons.json deleted file mode 100644 index 639f98e..0000000 --- a/resources/mozilla/firefox/fr3d.default/addons.json +++ /dev/null @@ -1 +0,0 @@ -{"schema":6,"addons":[{"id":"foxyproxy@eric.h.jung","icons":{"32":"https://addons.mozilla.org/user-media/addon_icons/2/2464-32.png?modified=1f409a60","64":"https://addons.mozilla.org/user-media/addon_icons/2/2464-64.png?modified=1f409a60","128":"https://addons.mozilla.org/user-media/addon_icons/2/2464-128.png?modified=1f409a60"},"name":"FoxyProxy Standard","version":"9.2","sourceURI":"https://addons.mozilla.org/firefox/downloads/file/4472757/foxyproxy_standard-9.2.xpi","homepageURL":"https://getfoxyproxy.org","supportURL":"https://getfoxyproxy.org/","amoListingURL":"https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/","description":"FoxyProxy is an open-source, advanced proxy management tool that completely replaces Firefox's limited proxying capabilities. No paid accounts are necessary; bring your own proxies or buy from any vendor. The original proxy tool, since 2006.","fullDescription":"FoxyProxy is owned and developed consistently by the same few people since 2006. It has never been sold and never will.\n\nWHAT IS IT?\nFoxyProxy is a Firefox and Chrome extension that switches an internet connection across one or more proxy servers. Proxies can be switched by:\n\n point-and-click of colored icons in a popup menu\n URL - define URL patterns with wildcards or regular expressions\n browser tab - set individual proxies per tab!\n Firefox container or Private Browsing windows - define different proxies for each container\n\n\nSOME FEATURES\n- Automatically switch proxy by: browser tab, URL patterns, firefox container, private browsing window, or manually select from a drop-down list\n- Customize colors and country flags to make it easy to see which proxy is in use\n- Import/Export all of your settings, or just URL patterns, to share with others. Optionally synchronize proxy settings with your other Firefox instances when you use Firefox Sync.\n- Keyboard shortcuts to quickly switch proxies and perform other actions\n- Turn WebRTC on/off to further limit discovery of your IP address\n- Quick-Add to quickly add new URL patterns to proxy settings\n- Globally exclude any website from all proxying\n- Built-in pattern tester to test and debug your URL patterns\n- Advanced logging shows you which proxies were used and when so you can debug problems\n- Extensive built-in help\n\nPERMISSIONS\n- downloads: Required to export the extension settings to a file. Users can import that file to other Chrome/Firefox instances, or share it with colleagues, in order to keep the same settings. It can also be backed up and used later.\n- proxy: The core function of the extension is to allow users to set the proxy server used by the browser.\n- storage: Required to store proxy server settings (hostname, port, username, and which proxy server is enabled by the user)\n- tabs: Required so that users can set separate proxies to use per tab. It is also needed for \"QuickAdd\" to quickly add a URL pattern that applies to the current/active tab. It is also used to open a URL to getfoxyproxy.org where there is online help.\n- webRequest: Required to authenticate with proxy servers via webRequest.onAuthRequired\n- webRequestAuthProvider: Required to authenticate with proxies servers via webRequest.onAuthRequired\n- browsingData: Required so the extension can delete cookies, indexedDB, and localStorage when requested by the user on the Options page (Delete Browsing Data button)\n- privacy: Required so the extension can call browser.privacy.network.webRTCIPHandlingPolicy to turn on/off webRTC in Chrome (Limit WebRTC checkbox in Options page)\n- host permission: Required to proxy all webRequests and provide proxy server authentication. all_urls is used because users may choose to load any/all URLs through proxy servers (chrome.webRequest.onAuthRequired and chrome.webRequest.onAuthRequired.addListener) . Required to proxy all webRequests and provide proxy server authentication. Also needed to get accounts details from FoxyProxy servers, if requested by the user with the Import FoxyProxy Account on the Import tab.\n\nNo remote code is used in this extension.\n\nOpen source software\nYou can view the code yourself by unzipping the downloaded file or:\n\nhttps://github.com/foxyproxy/browser-extension","weeklyDownloads":12607,"type":"extension","creator":{"name":"Eric Jung","url":"https://addons.mozilla.org/en-US/firefox/user/323/"},"developers":[{"name":"erosman","url":"https://addons.mozilla.org/en-US/firefox/user/690471/"}],"screenshots":[{"url":"https://addons.mozilla.org/user-media/previews/full/5/5857.png?modified=1702412722","width":122,"height":150,"thumbnailURL":"https://addons.mozilla.org/user-media/previews/thumbs/5/5857.jpg?modified=1702412722","thumbnailWidth":122,"thumbnailHeight":150},{"url":"https://addons.mozilla.org/user-media/previews/full/291/291136.png?modified=1702412722","width":1280,"height":800,"thumbnailURL":"https://addons.mozilla.org/user-media/previews/thumbs/291/291136.jpg?modified=1702412722","thumbnailWidth":533,"thumbnailHeight":333,"caption":"Toolbar popup. Dark theme. Version 8.1"},{"url":"https://addons.mozilla.org/user-media/previews/full/291/291137.png?modified=1702412722","width":1280,"height":800,"thumbnailURL":"https://addons.mozilla.org/user-media/previews/thumbs/291/291137.jpg?modified=1702412722","thumbnailWidth":533,"thumbnailHeight":333,"caption":"Proxies tab. Dark theme. Version 8.1"},{"url":"https://addons.mozilla.org/user-media/previews/full/291/291138.png?modified=1702412722","width":1280,"height":800,"thumbnailURL":"https://addons.mozilla.org/user-media/previews/thumbs/291/291138.jpg?modified=1702412722","thumbnailWidth":533,"thumbnailHeight":333,"caption":"Options tab. Dark theme. Version 8.1"},{"url":"https://addons.mozilla.org/user-media/previews/full/291/291139.png?modified=1702412722","width":1280,"height":800,"thumbnailURL":"https://addons.mozilla.org/user-media/previews/thumbs/291/291139.jpg?modified=1702412722","thumbnailWidth":533,"thumbnailHeight":333,"caption":"Log tab. Dark theme. Version 8.1"},{"url":"https://addons.mozilla.org/user-media/previews/full/291/291140.png?modified=1702412722","width":1280,"height":800,"thumbnailURL":"https://addons.mozilla.org/user-media/previews/thumbs/291/291140.jpg?modified=1702412722","thumbnailWidth":533,"thumbnailHeight":333,"caption":"Pattern Tester tab. Dark theme. Version 8.1"},{"url":"https://addons.mozilla.org/user-media/previews/full/291/291141.png?modified=1702412722","width":1280,"height":800,"thumbnailURL":"https://addons.mozilla.org/user-media/previews/thumbs/291/291141.jpg?modified=1702412722","thumbnailWidth":533,"thumbnailHeight":333,"caption":"Import tab. Dark theme. Version 8.1"},{"url":"https://addons.mozilla.org/user-media/previews/full/291/291142.png?modified=1702412722","width":1280,"height":800,"thumbnailURL":"https://addons.mozilla.org/user-media/previews/thumbs/291/291142.jpg?modified=1702412722","thumbnailWidth":533,"thumbnailHeight":333,"caption":"Toolbar popup. Light theme. Version 8.1"},{"url":"https://addons.mozilla.org/user-media/previews/full/291/291143.png?modified=1702412722","width":1280,"height":800,"thumbnailURL":"https://addons.mozilla.org/user-media/previews/thumbs/291/291143.jpg?modified=1702412722","thumbnailWidth":533,"thumbnailHeight":333,"caption":"Proxies tab. Light theme. Version 8.1"},{"url":"https://addons.mozilla.org/user-media/previews/full/291/291144.png?modified=1702412722","width":1280,"height":800,"thumbnailURL":"https://addons.mozilla.org/user-media/previews/thumbs/291/291144.jpg?modified=1702412722","thumbnailWidth":533,"thumbnailHeight":333,"caption":"Options tab. Light theme. Version 8.1"},{"url":"https://addons.mozilla.org/user-media/previews/full/291/291145.png?modified=1702412722","width":1280,"height":800,"thumbnailURL":"https://addons.mozilla.org/user-media/previews/thumbs/291/291145.jpg?modified=1702412722","thumbnailWidth":533,"thumbnailHeight":333,"caption":"Log tab. Light theme. Version 8.1"},{"url":"https://addons.mozilla.org/user-media/previews/full/291/291146.png?modified=1702412722","width":1280,"height":800,"thumbnailURL":"https://addons.mozilla.org/user-media/previews/thumbs/291/291146.jpg?modified=1702412722","thumbnailWidth":533,"thumbnailHeight":333,"caption":"Pattern Tester tab. Light theme. Version 8.1"},{"url":"https://addons.mozilla.org/user-media/previews/full/291/291147.png?modified=1702412722","width":1280,"height":800,"thumbnailURL":"https://addons.mozilla.org/user-media/previews/thumbs/291/291147.jpg?modified=1702412722","thumbnailWidth":533,"thumbnailHeight":333,"caption":"Import tab. Light theme. Version 8.1"}],"contributionURL":"https://paypal.me/ericjung2/9.99?utm_content=product-page-contribute&utm_medium=referral&utm_source=addons.mozilla.org","averageRating":4.0205,"reviewCount":350,"reviewURL":"https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/reviews/","updateDate":1745435117000},{"id":"{868123c1-25e7-42d8-a294-5415f34f0ee3}","icons":{"32":"https://addons.mozilla.org/static-server/img/addon-icons/default-32.png","64":"https://addons.mozilla.org/static-server/img/addon-icons/default-64.png","128":"https://addons.mozilla.org/static-server/img/addon-icons/default-128.png"},"name":"Hack The Box v3 Theme","version":"1.1","sourceURI":"https://addons.mozilla.org/firefox/downloads/file/4163669/hack_the_box_v3_theme-1.1.xpi","homepageURL":null,"supportURL":"https://ry4n.sh","amoListingURL":"https://addons.mozilla.org/en-US/firefox/addon/hack-the-box-v3-theme/","description":"Browse for footholds in style with this HTB-inspired theme.","fullDescription":null,"weeklyDownloads":2,"type":"theme","creator":{"name":"0xRy4n","url":"https://addons.mozilla.org/en-US/firefox/user/18039541/"},"developers":[],"screenshots":[{"url":"https://addons.mozilla.org/user-media/version-previews/full/3959/3959820.png?modified=1693954440","width":680,"height":92,"thumbnailURL":"https://addons.mozilla.org/user-media/version-previews/thumbs/3959/3959820.png?modified=1693954440","thumbnailWidth":473,"thumbnailHeight":64},{"url":"https://addons.mozilla.org/user-media/version-previews/full/3959/3959821.svg?modified=1693954440","width":720,"height":92,"thumbnailURL":"https://addons.mozilla.org/user-media/version-previews/thumbs/3959/3959821.jpg?modified=1693954440","thumbnailWidth":720,"thumbnailHeight":92}],"contributionURL":"","averageRating":0,"reviewCount":0,"reviewURL":"https://addons.mozilla.org/en-US/firefox/addon/hack-the-box-v3-theme/reviews/","updateDate":1693957486000}]} \ No newline at end of file diff --git a/resources/mozilla/firefox/fr3d.default/cert9.db b/resources/mozilla/firefox/fr3d.default/cert9.db deleted file mode 100644 index 7a80d98..0000000 Binary files a/resources/mozilla/firefox/fr3d.default/cert9.db and /dev/null differ diff --git a/resources/mozilla/firefox/fr3d.default/compatibility.ini b/resources/mozilla/firefox/fr3d.default/compatibility.ini deleted file mode 100644 index 73bd911..0000000 --- a/resources/mozilla/firefox/fr3d.default/compatibility.ini +++ /dev/null @@ -1,5 +0,0 @@ -[Compatibility] -LastVersion=128.14.0_20250811113756/20250811113756 -LastOSABI=Linux_x86_64-gcc3 -LastPlatformDir=/usr/lib/firefox-esr -LastAppDir=/usr/lib/firefox-esr/browser diff --git a/resources/mozilla/firefox/fr3d.default/containers.json b/resources/mozilla/firefox/fr3d.default/containers.json deleted file mode 100644 index 8114fdf..0000000 --- a/resources/mozilla/firefox/fr3d.default/containers.json +++ /dev/null @@ -1 +0,0 @@ -{"version":5,"lastUserContextId":5,"identities":[{"icon":"fingerprint","color":"blue","l10nId":"user-context-personal","public":true,"userContextId":1},{"icon":"briefcase","color":"orange","l10nId":"user-context-work","public":true,"userContextId":2},{"icon":"dollar","color":"green","l10nId":"user-context-banking","public":true,"userContextId":3},{"icon":"cart","color":"pink","l10nId":"user-context-shopping","public":true,"userContextId":4},{"public":false,"icon":"","color":"","name":"userContextIdInternal.thumbnail","accessKey":"","userContextId":5},{"userContextId":4294967295,"public":false,"icon":"","color":"","name":"userContextIdInternal.webextStorageLocal","accessKey":""}]} \ No newline at end of file diff --git a/resources/mozilla/firefox/fr3d.default/extension-preferences.json b/resources/mozilla/firefox/fr3d.default/extension-preferences.json deleted file mode 100644 index b5bd7c0..0000000 --- a/resources/mozilla/firefox/fr3d.default/extension-preferences.json +++ /dev/null @@ -1 +0,0 @@ -{"formautofill@mozilla.org":{"permissions":["internal:svgContextPropertiesAllowed","internal:privateBrowsingAllowed"],"origins":[]},"pictureinpicture@mozilla.org":{"permissions":["internal:svgContextPropertiesAllowed","internal:privateBrowsingAllowed"],"origins":[]},"screenshots@mozilla.org":{"permissions":["internal:svgContextPropertiesAllowed","internal:privateBrowsingAllowed"],"origins":[]},"webcompat@mozilla.org":{"permissions":["internal:svgContextPropertiesAllowed","internal:privateBrowsingAllowed"],"origins":[]},"default-theme@mozilla.org":{"permissions":["internal:svgContextPropertiesAllowed"],"origins":[]},"addons-search-detection@mozilla.com":{"permissions":["internal:svgContextPropertiesAllowed","internal:privateBrowsingAllowed"],"origins":[]},"hotfix-intermediate-2018@mozilla.com":{"permissions":["internal:svgContextPropertiesAllowed"],"origins":[]},"foxyproxy@eric.h.jung":{"permissions":["","internal:privateBrowsingAllowed"],"origins":[""]}} \ No newline at end of file diff --git a/resources/mozilla/firefox/fr3d.default/extensions.json b/resources/mozilla/firefox/fr3d.default/extensions.json deleted file mode 100644 index cc81752..0000000 --- a/resources/mozilla/firefox/fr3d.default/extensions.json +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion":36,"addons":[{"id":"formautofill@mozilla.org","syncGUID":"{d7be1971-fb92-4771-9c55-0a5601945a4e}","version":"1.0.1","type":"extension","loader":null,"updateURL":null,"installOrigins":null,"manifestVersion":2,"optionsURL":null,"optionsType":null,"optionsBrowserStyle":true,"aboutURL":null,"defaultLocale":{"name":"Form Autofill","creator":null,"developers":null,"translators":null,"contributors":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"embedderDisabled":false,"installDate":1738703242000,"updateDate":1755640870000,"applyBackgroundUpdates":1,"path":"/usr/lib/firefox-esr/browser/features/formautofill@mozilla.org.xpi","skinnable":false,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"toolkit@mozilla.org","minVersion":null,"maxVersion":null}],"targetPlatforms":[],"signedDate":null,"seen":true,"dependencies":[],"incognito":"spanning","userPermissions":{"permissions":[],"origins":[]},"optionalPermissions":{"permissions":[],"origins":[]},"requestedPermissions":{"permissions":[],"origins":[]},"icons":{},"iconURL":null,"blocklistState":0,"blocklistURL":null,"startupData":{},"hidden":true,"installTelemetryInfo":null,"recommendationState":null,"rootURI":"jar:file:///usr/lib/firefox-esr/browser/features/formautofill@mozilla.org.xpi!/","location":"app-system-defaults"},{"id":"pictureinpicture@mozilla.org","syncGUID":"{d226a74d-e474-4f3f-b69d-81e9c9057a25}","version":"1.0.0","type":"extension","loader":null,"updateURL":null,"installOrigins":null,"manifestVersion":2,"optionsURL":null,"optionsType":null,"optionsBrowserStyle":true,"aboutURL":null,"defaultLocale":{"name":"Picture-In-Picture","description":"Fixes for web compatibility with Picture-in-Picture","creator":null,"developers":null,"translators":null,"contributors":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"embedderDisabled":false,"installDate":1738703242000,"updateDate":1755640870000,"applyBackgroundUpdates":1,"path":"/usr/lib/firefox-esr/browser/features/pictureinpicture@mozilla.org.xpi","skinnable":false,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"toolkit@mozilla.org","minVersion":"88.0a1","maxVersion":null}],"targetPlatforms":[],"signedDate":null,"seen":true,"dependencies":[],"incognito":"spanning","userPermissions":{"permissions":[],"origins":[]},"optionalPermissions":{"permissions":[],"origins":[]},"requestedPermissions":{"permissions":[],"origins":[]},"icons":{},"iconURL":null,"blocklistState":0,"blocklistURL":null,"startupData":{},"hidden":true,"installTelemetryInfo":null,"recommendationState":null,"rootURI":"jar:file:///usr/lib/firefox-esr/browser/features/pictureinpicture@mozilla.org.xpi!/","location":"app-system-defaults"},{"id":"screenshots@mozilla.org","syncGUID":"{c0371ddd-a0e5-4385-86af-bb9dc6f73cb2}","version":"39.0.1","type":"extension","loader":null,"updateURL":null,"installOrigins":null,"manifestVersion":2,"optionsURL":null,"optionsType":null,"optionsBrowserStyle":true,"aboutURL":null,"defaultLocale":{"name":"Firefox Screenshots","description":"Take clips and screenshots from the Web and save them temporarily or permanently.","creator":"Mozilla ","homepageURL":"https://github.com/mozilla-services/screenshots","developers":null,"translators":null,"contributors":null},"visible":true,"active":false,"userDisabled":true,"appDisabled":false,"embedderDisabled":false,"installDate":1738703242000,"updateDate":1755640870000,"applyBackgroundUpdates":1,"path":"/usr/lib/firefox-esr/browser/features/screenshots@mozilla.org.xpi","skinnable":false,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"toolkit@mozilla.org","minVersion":"57.0a1","maxVersion":null}],"targetPlatforms":[],"signedDate":null,"seen":true,"dependencies":[],"incognito":"spanning","userPermissions":{"permissions":["activeTab","downloads","tabs","storage","notifications","clipboardWrite","contextMenus","mozillaAddons","telemetry"],"origins":["","https://screenshots.firefox.com/","resource://pdf.js/","about:reader*","https://screenshots.firefox.com/*"]},"optionalPermissions":{"permissions":[],"origins":[]},"requestedPermissions":{"permissions":[],"origins":[]},"icons":{},"iconURL":null,"blocklistState":0,"blocklistURL":null,"startupData":null,"hidden":true,"installTelemetryInfo":null,"recommendationState":null,"rootURI":"jar:file:///usr/lib/firefox-esr/browser/features/screenshots@mozilla.org.xpi!/","location":"app-system-defaults"},{"id":"webcompat-reporter@mozilla.org","syncGUID":"{a5d76473-0d7a-4ff5-8eeb-6541e47bb49f}","version":"2.1.0","type":"extension","loader":null,"updateURL":null,"installOrigins":null,"manifestVersion":2,"optionsURL":null,"optionsType":null,"optionsBrowserStyle":true,"aboutURL":null,"defaultLocale":{"name":"WebCompat Reporter","description":"Report site compatibility issues on webcompat.com","creator":"Thomas Wisniewski ","homepageURL":"https://github.com/mozilla/webcompat-reporter","developers":null,"translators":null,"contributors":null},"visible":true,"active":false,"userDisabled":true,"appDisabled":false,"embedderDisabled":false,"installDate":1738703242000,"updateDate":1755640870000,"applyBackgroundUpdates":1,"path":"/usr/lib/firefox-esr/browser/features/webcompat-reporter@mozilla.org.xpi","skinnable":false,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"toolkit@mozilla.org","minVersion":null,"maxVersion":null}],"targetPlatforms":[],"signedDate":null,"seen":true,"dependencies":[],"incognito":"spanning","userPermissions":{"permissions":["tabs"],"origins":[""]},"optionalPermissions":{"permissions":[],"origins":[]},"requestedPermissions":{"permissions":[],"origins":[]},"icons":{"16":"icons/lightbulb.svg","32":"icons/lightbulb.svg","48":"icons/lightbulb.svg","96":"icons/lightbulb.svg","128":"icons/lightbulb.svg"},"iconURL":null,"blocklistState":0,"blocklistURL":null,"startupData":null,"hidden":true,"installTelemetryInfo":null,"recommendationState":null,"rootURI":"jar:file:///usr/lib/firefox-esr/browser/features/webcompat-reporter@mozilla.org.xpi!/","location":"app-system-defaults"},{"id":"webcompat@mozilla.org","syncGUID":"{c10772d7-6b70-4d5f-9ef0-de4f383ea82d}","version":"133.5.0","type":"extension","loader":null,"updateURL":null,"installOrigins":null,"manifestVersion":2,"optionsURL":null,"optionsType":null,"optionsBrowserStyle":true,"aboutURL":null,"defaultLocale":{"name":"Web Compatibility Interventions","description":"Urgent post-release fixes for web compatibility.","creator":null,"developers":null,"translators":null,"contributors":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"embedderDisabled":false,"installDate":1738703242000,"updateDate":1755640870000,"applyBackgroundUpdates":1,"path":"/usr/lib/firefox-esr/browser/features/webcompat@mozilla.org.xpi","skinnable":false,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"toolkit@mozilla.org","minVersion":"102.0","maxVersion":null}],"targetPlatforms":[],"signedDate":null,"seen":true,"dependencies":[],"incognito":"spanning","userPermissions":{"permissions":["mozillaAddons","scripting","tabs","webNavigation","webRequest","webRequestBlocking"],"origins":[""]},"optionalPermissions":{"permissions":[],"origins":[]},"requestedPermissions":{"permissions":[],"origins":[]},"icons":{},"iconURL":null,"blocklistState":0,"blocklistURL":null,"startupData":{"persistentListeners":{"webRequest":{"onBeforeRequest":[[{"incognito":null,"tabId":null,"types":["main_frame"],"urls":["*://login.microsoftonline.com/*","*://login.microsoftonline.us/*"],"windowId":null},["blocking"]],[{"incognito":null,"tabId":null,"types":["image"],"urls":["https://smartblock.firefox.etp/facebook.svg","https://smartblock.firefox.etp/play.svg"],"windowId":null},["blocking"]],[{"incognito":null,"tabId":null,"types":["script"],"urls":["*://webcompat-addon-testbed.herokuapp.com/shims_test.js","*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test.js","*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_2.js","*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_3.js","*://s7.addthis.com/icons/official-addthis-angularjs/current/dist/official-addthis-angularjs.min.js*","*://track.adform.net/serving/scripts/trackpoint/","*://track.adform.net/serving/scripts/trackpoint/async/","*://*.adnxs.com/*/ast.js*","*://*.adnxs.com/*/pb.js*","*://*.adnxs.com/*/prebid*","*://www.everestjs.net/static/st.v3.js*","*://static.adsafeprotected.com/vans-adapter-google-ima.js","*://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js","*://cdn.branch.io/branch-latest.min.js*","*://pub.doubleverify.com/signals/pub.js*","*://c.amazon-adsystem.com/aax2/apstag.js","*://auth.9c9media.ca/auth/main.js","*://static.chartbeat.com/js/chartbeat.js","*://static.chartbeat.com/js/chartbeat_video.js","*://static.criteo.net/js/ld/publishertag.js","*://libs.coremetrics.com/eluminate.js","*://connect.facebook.net/*/sdk.js*","*://connect.facebook.net/*/all.js*","*://secure.cdn.fastclick.net/js/cnvr-launcher/*/launcher-stub.min.js*","*://www.google-analytics.com/analytics.js*","*://www.google-analytics.com/gtm/js*","*://www.googletagmanager.com/gtm.js*","*://www.google-analytics.com/plugins/ua/ec.js","*://ssl.google-analytics.com/ga.js","*://s0.2mdn.net/instream/html5/ima3.js","*://imasdk.googleapis.com/js/sdkloader/ima3.js","*://www.googleadservices.com/pagead/conversion_async.js","*://www.googletagservices.com/tag/js/gpt.js*","*://pagead2.googlesyndication.com/tag/js/gpt.js*","*://pagead2.googlesyndication.com/gpt/pubads_impl_*.js*","*://securepubads.g.doubleclick.net/tag/js/gpt.js*","*://securepubads.g.doubleclick.net/gpt/pubads_impl_*.js*","*://script.ioam.de/iam.js","*://cdn.adsafeprotected.com/iasPET.1.js","*://static.adsafeprotected.com/iasPET.1.js","*://adservex.media.net/videoAds.js*","*://*.moatads.com/*/moatad.js*","*://*.moatads.com/*/moatapi.js*","*://*.moatads.com/*/moatheader.js*","*://*.moatads.com/*/yi.js*","*://*.imrworldwide.com/v60.js","*://cdn.optimizely.com/js/*.js","*://cdn.optimizely.com/public/*.js","*://id.rambler.ru/rambler-id-helper/auth_events.js","*://media.richrelevance.com/rrserver/js/1.2/p13n.js","*://www.gstatic.com/firebasejs/*/firebase-messaging.js*","*://*.vidible.tv/*/vidible-min.js*","*://vdb-cdn-files.s3.amazonaws.com/*/vidible-min.js*","*://js.maxmind.com/js/apis/geoip2/*/geoip2.js","*://s.webtrends.com/js/advancedLinkTracking.js","*://s.webtrends.com/js/webtrends.js","*://s.webtrends.com/js/webtrends.min.js"],"windowId":null},["blocking"]],[{"incognito":null,"tabId":null,"types":["image"],"urls":["*://track.adform.net/Serving/TrackPoint/*","*://pixel.advertising.com/firefox-etp","*://*.advertising.com/*.js*","*://*.advertising.com/*","*://securepubads.g.doubleclick.net/gampad/*ad-blk*","*://pubads.g.doubleclick.net/gampad/*ad-blk*","*://securepubads.g.doubleclick.net/gampad/*xml_vmap1*","*://pubads.g.doubleclick.net/gampad/*xml_vmap1*","*://vast.adsafeprotected.com/vast*","*://securepubads.g.doubleclick.net/gampad/*xml_vmap2*","*://pubads.g.doubleclick.net/gampad/*xml_vmap2*","*://securepubads.g.doubleclick.net/gampad/*ad*","*://pubads.g.doubleclick.net/gampad/*ad*","*://www.facebook.com/platform/impression.php*","https://ads.stickyadstv.com/firefox-etp","*://ads.stickyadstv.com/auto-user-sync*","*://ads.stickyadstv.com/user-matching*","https://static.adsafeprotected.com/firefox-etp-pixel","*://*.adsafeprotected.com/*.gif*","*://*.adsafeprotected.com/*.png*","*://*.adsafeprotected.com/*.js*","*://*.adsafeprotected.com/*/adj*","*://*.adsafeprotected.com/*/imp/*","*://*.adsafeprotected.com/*/Serving/*","*://*.adsafeprotected.com/*/unit/*","*://*.adsafeprotected.com/jload","*://*.adsafeprotected.com/jload?*","*://*.adsafeprotected.com/jsvid","*://*.adsafeprotected.com/jsvid?*","*://*.adsafeprotected.com/mon*","*://*.adsafeprotected.com/tpl","*://*.adsafeprotected.com/tpl?*","*://*.adsafeprotected.com/services/pub*","*://*.adsafeprotected.com/*"],"windowId":null},["blocking"]],[{"incognito":null,"tabId":null,"types":["imageset"],"urls":["*://track.adform.net/Serving/TrackPoint/*","*://pixel.advertising.com/firefox-etp","*://*.advertising.com/*.js*","*://*.advertising.com/*","*://securepubads.g.doubleclick.net/gampad/*ad-blk*","*://pubads.g.doubleclick.net/gampad/*ad-blk*","*://securepubads.g.doubleclick.net/gampad/*xml_vmap1*","*://pubads.g.doubleclick.net/gampad/*xml_vmap1*","*://vast.adsafeprotected.com/vast*","*://securepubads.g.doubleclick.net/gampad/*xml_vmap2*","*://pubads.g.doubleclick.net/gampad/*xml_vmap2*","*://securepubads.g.doubleclick.net/gampad/*ad*","*://pubads.g.doubleclick.net/gampad/*ad*","*://www.facebook.com/platform/impression.php*","https://ads.stickyadstv.com/firefox-etp","*://ads.stickyadstv.com/auto-user-sync*","*://ads.stickyadstv.com/user-matching*","https://static.adsafeprotected.com/firefox-etp-pixel","*://*.adsafeprotected.com/*.gif*","*://*.adsafeprotected.com/*.png*","*://*.adsafeprotected.com/*.js*","*://*.adsafeprotected.com/*/adj*","*://*.adsafeprotected.com/*/imp/*","*://*.adsafeprotected.com/*/Serving/*","*://*.adsafeprotected.com/*/unit/*","*://*.adsafeprotected.com/jload","*://*.adsafeprotected.com/jload?*","*://*.adsafeprotected.com/jsvid","*://*.adsafeprotected.com/jsvid?*","*://*.adsafeprotected.com/mon*","*://*.adsafeprotected.com/tpl","*://*.adsafeprotected.com/tpl?*","*://*.adsafeprotected.com/services/pub*","*://*.adsafeprotected.com/*"],"windowId":null},["blocking"]],[{"incognito":null,"tabId":null,"types":["xmlhttprequest"],"urls":["*://track.adform.net/Serving/TrackPoint/*","*://pagead2.googlesyndication.com/pagead/*.js*fcd=true","*://pagead2.googlesyndication.com/pagead/js/*.js*fcd=true","*://pixel.advertising.com/firefox-etp","*://cdn.cmp.advertising.com/firefox-etp","*://*.advertising.com/*.js*","*://*.advertising.com/*","*://securepubads.g.doubleclick.net/gampad/*ad-blk*","*://pubads.g.doubleclick.net/gampad/*ad-blk*","*://securepubads.g.doubleclick.net/gampad/*xml_vmap1*","*://pubads.g.doubleclick.net/gampad/*xml_vmap1*","*://vast.adsafeprotected.com/vast*","*://securepubads.g.doubleclick.net/gampad/*xml_vmap2*","*://pubads.g.doubleclick.net/gampad/*xml_vmap2*","*://securepubads.g.doubleclick.net/gampad/*ad*","*://pubads.g.doubleclick.net/gampad/*ad*","*://www.facebook.com/platform/impression.php*","https://ads.stickyadstv.com/firefox-etp","*://ads.stickyadstv.com/auto-user-sync*","*://ads.stickyadstv.com/user-matching*","https://static.adsafeprotected.com/firefox-etp-pixel","https://static.adsafeprotected.com/firefox-etp-js","*://*.adsafeprotected.com/*.gif*","*://*.adsafeprotected.com/*.png*","*://*.adsafeprotected.com/*.js*","*://*.adsafeprotected.com/*/adj*","*://*.adsafeprotected.com/*/imp/*","*://*.adsafeprotected.com/*/Serving/*","*://*.adsafeprotected.com/*/unit/*","*://*.adsafeprotected.com/jload","*://*.adsafeprotected.com/jload?*","*://*.adsafeprotected.com/jsvid","*://*.adsafeprotected.com/jsvid?*","*://*.adsafeprotected.com/mon*","*://*.adsafeprotected.com/tpl","*://*.adsafeprotected.com/tpl?*","*://*.adsafeprotected.com/services/pub*","*://*.adsafeprotected.com/*"],"windowId":null},["blocking"]]],"onBeforeSendHeaders":[[{"incognito":null,"tabId":null,"types":["sub_frame"],"urls":["*://trends.google.com/trends/embed*"],"windowId":null},["blocking","requestHeaders"]]],"onHeadersReceived":[[{"incognito":null,"tabId":null,"types":["sub_frame"],"urls":["*://trends.google.com/trends/embed*"],"windowId":null},["blocking","responseHeaders"]]]}}},"hidden":true,"installTelemetryInfo":null,"recommendationState":null,"rootURI":"jar:file:///usr/lib/firefox-esr/browser/features/webcompat@mozilla.org.xpi!/","location":"app-system-defaults"},{"id":"default-theme@mozilla.org","syncGUID":"{c9b89690-5371-441c-b2b3-00b7136f2109}","version":"1.3","type":"theme","loader":null,"updateURL":null,"installOrigins":null,"manifestVersion":2,"optionsURL":null,"optionsType":null,"optionsBrowserStyle":true,"aboutURL":null,"defaultLocale":{"name":"System theme — auto","description":"Follow the operating system setting for buttons, menus, and windows.","creator":"Mozilla","developers":null,"translators":null,"contributors":null},"visible":true,"active":false,"userDisabled":true,"appDisabled":false,"embedderDisabled":false,"installDate":1741750184125,"applyBackgroundUpdates":1,"path":null,"skinnable":false,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"toolkit@mozilla.org","minVersion":null,"maxVersion":null}],"targetPlatforms":[],"signedDate":null,"seen":true,"dependencies":[],"userPermissions":null,"optionalPermissions":null,"requestedPermissions":null,"icons":{"32":"icon.svg"},"iconURL":null,"blocklistState":0,"blocklistURL":null,"startupData":null,"hidden":false,"installTelemetryInfo":null,"recommendationState":null,"rootURI":"resource://default-theme/","location":"app-builtin"},{"id":"addons-search-detection@mozilla.com","syncGUID":"{a5aa3b9a-d2ed-4bac-ad45-ac885a6fee54}","version":"2.0.0","type":"extension","loader":null,"updateURL":null,"installOrigins":null,"manifestVersion":2,"optionsURL":null,"optionsType":null,"optionsBrowserStyle":true,"aboutURL":null,"defaultLocale":{"name":"Add-ons Search Detection","description":"","creator":null,"developers":null,"translators":null,"contributors":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"embedderDisabled":false,"installDate":1741750185480,"applyBackgroundUpdates":1,"path":null,"skinnable":false,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"toolkit@mozilla.org","minVersion":null,"maxVersion":null}],"targetPlatforms":[],"signedDate":null,"seen":true,"dependencies":[],"incognito":"spanning","userPermissions":{"permissions":["telemetry","webRequest","webRequestBlocking"],"origins":[""]},"optionalPermissions":{"permissions":[],"origins":[]},"requestedPermissions":{"permissions":[],"origins":[]},"icons":{},"iconURL":null,"blocklistState":0,"blocklistURL":null,"startupData":{},"hidden":true,"installTelemetryInfo":null,"recommendationState":null,"rootURI":"resource://builtin-addons/search-detection/","location":"app-builtin"},{"id":"firefox-compact-light@mozilla.org","syncGUID":"{55f5611d-10ca-400f-8fd1-9e08edd557aa}","version":"1.2","type":"theme","loader":null,"updateURL":null,"installOrigins":null,"manifestVersion":2,"optionsURL":null,"optionsType":null,"optionsBrowserStyle":true,"aboutURL":null,"defaultLocale":{"name":"Light","description":"A theme with a light color scheme.","creator":"Mozilla","developers":null,"translators":null,"contributors":null},"visible":true,"active":false,"userDisabled":true,"appDisabled":false,"embedderDisabled":false,"installDate":1741750186412,"applyBackgroundUpdates":1,"path":null,"skinnable":false,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"toolkit@mozilla.org","minVersion":null,"maxVersion":null}],"targetPlatforms":[],"signedDate":null,"seen":true,"dependencies":[],"userPermissions":null,"optionalPermissions":null,"requestedPermissions":null,"icons":{"32":"icon.svg"},"iconURL":null,"blocklistState":0,"blocklistURL":null,"startupData":null,"hidden":false,"installTelemetryInfo":null,"recommendationState":null,"rootURI":"resource://builtin-themes/light/","location":"app-builtin"},{"id":"firefox-compact-dark@mozilla.org","syncGUID":"{cc269eb9-36cd-42ce-a0b9-aa80191b757f}","version":"1.2","type":"theme","loader":null,"updateURL":null,"installOrigins":null,"manifestVersion":2,"optionsURL":null,"optionsType":null,"optionsBrowserStyle":true,"aboutURL":null,"defaultLocale":{"name":"Dark","description":"A theme with a dark color scheme.","creator":"Mozilla","developers":null,"translators":null,"contributors":null},"visible":true,"active":false,"userDisabled":true,"appDisabled":false,"embedderDisabled":false,"installDate":1741750186413,"applyBackgroundUpdates":1,"path":null,"skinnable":false,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"toolkit@mozilla.org","minVersion":null,"maxVersion":null}],"targetPlatforms":[],"signedDate":null,"seen":true,"dependencies":[],"userPermissions":null,"optionalPermissions":null,"requestedPermissions":null,"icons":{"32":"icon.svg"},"iconURL":null,"blocklistState":0,"blocklistURL":null,"startupData":null,"hidden":false,"installTelemetryInfo":null,"recommendationState":null,"rootURI":"resource://builtin-themes/dark/","location":"app-builtin"},{"id":"firefox-alpenglow@mozilla.org","syncGUID":"{8e6c2ee9-1e42-408c-af7f-1809243124a7}","version":"1.4","type":"theme","loader":null,"updateURL":null,"installOrigins":null,"manifestVersion":2,"optionsURL":null,"optionsType":null,"optionsBrowserStyle":true,"aboutURL":null,"defaultLocale":{"name":"Firefox Alpenglow","description":"Use a colorful appearance for buttons, menus, and windows.","creator":null,"developers":null,"translators":null,"contributors":null},"visible":true,"active":false,"userDisabled":true,"appDisabled":false,"embedderDisabled":false,"installDate":1741750186414,"applyBackgroundUpdates":1,"path":null,"skinnable":false,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"toolkit@mozilla.org","minVersion":null,"maxVersion":null}],"targetPlatforms":[],"signedDate":null,"seen":true,"dependencies":[],"userPermissions":null,"optionalPermissions":null,"requestedPermissions":null,"icons":{"32":"icon.svg"},"iconURL":null,"blocklistState":0,"blocklistURL":null,"startupData":null,"hidden":false,"installTelemetryInfo":null,"recommendationState":null,"rootURI":"resource://builtin-themes/alpenglow/","location":"app-builtin"},{"id":"{868123c1-25e7-42d8-a294-5415f34f0ee3}","syncGUID":"{a7433b0c-d1d3-44bc-a0af-874def1f37db}","version":"1.1","type":"theme","loader":null,"updateURL":null,"installOrigins":null,"manifestVersion":2,"optionsURL":null,"optionsType":null,"optionsBrowserStyle":true,"aboutURL":null,"defaultLocale":{"name":"Hack The Box v3 Theme","creator":null,"developers":null,"translators":null,"contributors":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"embedderDisabled":false,"installDate":1741750705622,"updateDate":1756562002000,"applyBackgroundUpdates":1,"path":"/home/kali/.mozilla/firefox/fr3d.default/extensions/{868123c1-25e7-42d8-a294-5415f34f0ee3}.xpi","skinnable":false,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"toolkit@mozilla.org","minVersion":null,"maxVersion":null}],"targetPlatforms":[],"signedState":2,"signedTypes":[2,0],"signedDate":1693957479000,"seen":true,"dependencies":[],"userPermissions":null,"optionalPermissions":null,"requestedPermissions":null,"icons":{},"iconURL":null,"blocklistState":0,"blocklistURL":null,"startupData":{},"hidden":false,"installTelemetryInfo":{"source":"amo","sourceURL":"https://addons.mozilla.org/en-US/firefox/addon/hack-the-box-v3-theme/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search","method":"amWebAPI"},"recommendationState":null,"rootURI":"jar:file:///home/kali/.mozilla/firefox/fr3d.default/extensions/%7B868123c1-25e7-42d8-a294-5415f34f0ee3%7D.xpi!/","location":"app-profile"},{"id":"foxyproxy@eric.h.jung","syncGUID":"{e9230b7a-03e8-4058-bcd0-a175991b0ec4}","version":"9.2","type":"extension","loader":null,"updateURL":null,"installOrigins":null,"manifestVersion":3,"optionsURL":"content/options.html","optionsType":3,"optionsBrowserStyle":false,"aboutURL":null,"defaultLocale":{"name":"FoxyProxy","description":"Easy to use advanced Proxy Management tool for everyone","creator":"Eric Jung","homepageURL":"https://getfoxyproxy.org/","developers":null,"translators":null,"contributors":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"embedderDisabled":false,"installDate":1741750613467,"updateDate":1756562002000,"applyBackgroundUpdates":1,"path":"/home/kali/.mozilla/firefox/fr3d.default/extensions/foxyproxy@eric.h.jung.xpi","skinnable":false,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"strictCompatibility":true,"locales":[{"name":"FoxyProxy","description":"Easy to use advanced Proxy Management tool for everyone","creator":"Eric Jung","homepageURL":"https://getfoxyproxy.org/","developers":null,"translators":null,"contributors":null,"locales":["en"]},{"name":"FoxyProxy","description":"誰でも使いやすい先進的なプロキシー管理ツール","creator":"Eric Jung","homepageURL":"https://getfoxyproxy.org/","developers":null,"translators":null,"contributors":null,"locales":["ja"]},{"name":"FoxyProxy","description":"Gestionnaire de proxy avancé facile d'utilisation","creator":"Eric Jung","homepageURL":"https://getfoxyproxy.org/","developers":null,"translators":null,"contributors":null,"locales":["fr"]},{"name":"FoxyProxy","description":"Einfach zu bedienendes, fortschrittliches Proxy-Management-Tool für jedermann","creator":"Eric Jung","homepageURL":"https://getfoxyproxy.org/","developers":null,"translators":null,"contributors":null,"locales":["de"]},{"name":"FoxyProxy","description":"Простий у використанні просунутий засіб керування проксі для кожного","creator":"Eric Jung","homepageURL":"https://getfoxyproxy.org/","developers":null,"translators":null,"contributors":null,"locales":["uk"]},{"name":"FoxyProxy","description":"ابزاری آسان و پیشرفتهٔ مدیریت پیشکار برای همه","creator":"Eric Jung","homepageURL":"https://getfoxyproxy.org/","developers":null,"translators":null,"contributors":null,"locales":["fa"]},{"name":"FoxyProxy","description":"易于使用,适用于任何人的高级代理管理工具","creator":"Eric Jung","homepageURL":"https://getfoxyproxy.org/","developers":null,"translators":null,"contributors":null,"locales":["zh-CN"]},{"name":"FoxyProxy","description":"Простой инструмент управления прокси","creator":"Eric Jung","homepageURL":"https://getfoxyproxy.org/","developers":null,"translators":null,"contributors":null,"locales":["ru"]},{"name":"FoxyProxy","description":"Łatwe w użyciu zaawansowane narzędzie do zarządzania proxy dla każdego","creator":"Eric Jung","homepageURL":"https://getfoxyproxy.org/","developers":null,"translators":null,"contributors":null,"locales":["pl"]},{"name":"FoxyProxy","description":"Ferramenta avançada de gerenciamento de proxy fácil de usar para todos","creator":"Eric Jung","homepageURL":"https://getfoxyproxy.org/","developers":null,"translators":null,"contributors":null,"locales":["pt-BR"]},{"name":"FoxyProxy","description":"Herramienta Avanzada de Gestión de Proxies fácil de usar para todos","creator":"Eric Jung","homepageURL":"https://getfoxyproxy.org/","developers":null,"translators":null,"contributors":null,"locales":["es"]},{"name":"FoxyProxy","description":"任誰都能快速上手的進階代理伺服器管理工具","creator":"Eric Jung","homepageURL":"https://getfoxyproxy.org/","developers":null,"translators":null,"contributors":null,"locales":["zh-TW"]}],"targetApplications":[{"id":"toolkit@mozilla.org","minVersion":"128.0","maxVersion":null}],"targetPlatforms":[],"signedState":2,"signedTypes":[2,1],"signedDate":1745435114000,"seen":true,"dependencies":[],"incognito":"spanning","userPermissions":{"permissions":["contextMenus","downloads","notifications","proxy","storage","tabs","webRequest","webRequestAuthProvider"],"origins":[]},"optionalPermissions":{"permissions":["browsingData","privacy"],"origins":[""]},"requestedPermissions":{"permissions":[],"origins":[""]},"icons":{"16":"image/icon.png","32":"image/icon32.png","48":"image/icon48.png","128":"image/icon128.png"},"iconURL":null,"blocklistState":0,"blocklistURL":null,"startupData":{"persistentListeners":{"webRequest":{"onAuthRequired":[[{"incognito":null,"tabId":null,"types":null,"urls":[""],"windowId":null},["blocking"]]],"onCompleted":[[{"incognito":null,"tabId":null,"types":null,"urls":[""],"windowId":null},null]],"onErrorOccurred":[[{"incognito":null,"tabId":null,"types":null,"urls":[""],"windowId":null}]]},"proxy":{"onRequest":[[{"incognito":null,"tabId":null,"types":null,"urls":[""],"windowId":null},null]]},"tabs":{"onUpdated":[[null]],"onRemoved":[[]],"onCreated":[[]]},"menusInternal":{"onClicked":[[]]},"commands":{"onCommand":[[]]}}},"hidden":false,"installTelemetryInfo":{"source":"amo","sourceURL":"https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search","method":"amWebAPI"},"recommendationState":{"validNotAfter":1903223113000,"validNotBefore":1745435113000,"states":["recommended","recommended-android"]},"rootURI":"jar:file:///home/kali/.mozilla/firefox/fr3d.default/extensions/foxyproxy@eric.h.jung.xpi!/","location":"app-profile"}]} \ No newline at end of file diff --git a/resources/mozilla/firefox/fr3d.default/extensions/foxyproxy@eric.h.jung.xpi b/resources/mozilla/firefox/fr3d.default/extensions/foxyproxy@eric.h.jung.xpi deleted file mode 100644 index 3f3cfbb..0000000 Binary files a/resources/mozilla/firefox/fr3d.default/extensions/foxyproxy@eric.h.jung.xpi and /dev/null differ diff --git a/resources/mozilla/firefox/fr3d.default/extensions/{868123c1-25e7-42d8-a294-5415f34f0ee3}.xpi b/resources/mozilla/firefox/fr3d.default/extensions/{868123c1-25e7-42d8-a294-5415f34f0ee3}.xpi deleted file mode 100644 index 9313000..0000000 Binary files a/resources/mozilla/firefox/fr3d.default/extensions/{868123c1-25e7-42d8-a294-5415f34f0ee3}.xpi and /dev/null differ diff --git a/resources/mozilla/firefox/fr3d.default/features/{28ad7a91-7e0c-46d0-9064-969e758561e3}/hotfix-intermediate-2018@mozilla.com.xpi b/resources/mozilla/firefox/fr3d.default/features/{28ad7a91-7e0c-46d0-9064-969e758561e3}/hotfix-intermediate-2018@mozilla.com.xpi deleted file mode 100644 index e5d4de4..0000000 Binary files a/resources/mozilla/firefox/fr3d.default/features/{28ad7a91-7e0c-46d0-9064-969e758561e3}/hotfix-intermediate-2018@mozilla.com.xpi and /dev/null differ diff --git a/resources/mozilla/firefox/fr3d.default/handlers.json b/resources/mozilla/firefox/fr3d.default/handlers.json deleted file mode 100644 index 4e79b3a..0000000 --- a/resources/mozilla/firefox/fr3d.default/handlers.json +++ /dev/null @@ -1 +0,0 @@ -{"defaultHandlersVersion":{},"mimeTypes":{"application/pdf":{"action":3,"extensions":["pdf"]},"image/webp":{"action":3,"extensions":["webp"]},"image/avif":{"action":3,"extensions":["avif"]}},"schemes":{"mailto":{"stubEntry":true,"handlers":[null,{"name":"Gmail","uriTemplate":"https://mail.google.com/mail/?extsrc=mailto&url=%s"}]}},"isDownloadsImprovementsAlreadyMigrated":false} \ No newline at end of file diff --git a/resources/mozilla/firefox/fr3d.default/key4.db b/resources/mozilla/firefox/fr3d.default/key4.db deleted file mode 100644 index 25aeda6..0000000 Binary files a/resources/mozilla/firefox/fr3d.default/key4.db and /dev/null differ diff --git a/resources/mozilla/firefox/fr3d.default/lock b/resources/mozilla/firefox/fr3d.default/lock deleted file mode 120000 index e5b0b00..0000000 --- a/resources/mozilla/firefox/fr3d.default/lock +++ /dev/null @@ -1 +0,0 @@ -127.0.1.1:+562 \ No newline at end of file diff --git a/resources/mozilla/firefox/fr3d.default/permissions.sqlite b/resources/mozilla/firefox/fr3d.default/permissions.sqlite deleted file mode 100644 index 3984597..0000000 Binary files a/resources/mozilla/firefox/fr3d.default/permissions.sqlite and /dev/null differ diff --git a/resources/mozilla/firefox/fr3d.default/pkcs11.txt b/resources/mozilla/firefox/fr3d.default/pkcs11.txt deleted file mode 100644 index 7273c1e..0000000 --- a/resources/mozilla/firefox/fr3d.default/pkcs11.txt +++ /dev/null @@ -1,5 +0,0 @@ -library= -name=NSS Internal PKCS #11 Module -parameters=configdir='sql:/home/kali/.mozilla/firefox/5uv9eq33.default-esr' certPrefix='' keyPrefix='' secmod='secmod.db' flags=optimizeSpace updatedir='' updateCertPrefix='' updateKeyPrefix='' updateid='' updateTokenDescription='' -NSS=Flags=internal,critical trustOrder=75 cipherOrder=100 slotParams=(1={slotFlags=[ECC,RSA,DSA,DH,RC2,RC4,DES,RANDOM,SHA1,MD5,MD2,SSL,TLS,AES,Camellia,SEED,SHA256,SHA512] askpw=any timeout=30}) - diff --git a/resources/mozilla/firefox/fr3d.default/prefs.js b/resources/mozilla/firefox/fr3d.default/prefs.js deleted file mode 100644 index 62953b4..0000000 --- a/resources/mozilla/firefox/fr3d.default/prefs.js +++ /dev/null @@ -1,186 +0,0 @@ -// Mozilla User Preferences - -// DO NOT EDIT THIS FILE. -// -// If you make changes to this file while the application is running, -// the changes will be overwritten when the application exits. -// -// To change a preference value, you can either: -// - modify it via the UI (e.g. via about:config in the browser); or -// - set it within a user.js file in your profile. - -user_pref("app.normandy.first_run", false); -user_pref("app.normandy.migrationsApplied", 12); -user_pref("app.shield.optoutstudies.enabled", false); -user_pref("app.update.lastUpdateTime.addon-background-update-timer", 1756558447); -user_pref("app.update.lastUpdateTime.browser-cleanup-thumbnails", 1756565017); -user_pref("app.update.lastUpdateTime.recipe-client-addon-run", 1756558447); -user_pref("app.update.lastUpdateTime.region-update-timer", 1756558447); -user_pref("app.update.lastUpdateTime.services-settings-poll-changes", 1756558447); -user_pref("app.update.lastUpdateTime.suggest-ingest", 1756558447); -user_pref("app.update.lastUpdateTime.telemetry_modules_ping", 1741750246); -user_pref("app.update.lastUpdateTime.xpi-signature-verification", 1756558447); -user_pref("browser.bookmarks.restore_default_bookmarks", false); -user_pref("browser.contentblocking.category", "standard"); -user_pref("browser.contextual-services.contextId", "{e9483253-3760-41bf-9d88-1ea5e2fea1d3}"); -user_pref("browser.download.viewableInternally.typeWasRegistered.avif", true); -user_pref("browser.download.viewableInternally.typeWasRegistered.webp", true); -user_pref("browser.laterrun.bookkeeping.profileCreationTime", 1741750184); -user_pref("browser.laterrun.bookkeeping.sessionCount", 1); -user_pref("browser.migration.version", 148); -user_pref("browser.newtabpage.activity-stream.feeds.topsites", false); -user_pref("browser.newtabpage.activity-stream.impressionId", "{003a5f6c-0698-41a4-8815-0368403ef1ae}"); -user_pref("browser.newtabpage.activity-stream.section.highlights.includeBookmarks", false); -user_pref("browser.newtabpage.activity-stream.section.highlights.includeDownloads", false); -user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false); -user_pref("browser.newtabpage.activity-stream.section.highlights.includeVisited", false); -user_pref("browser.newtabpage.activity-stream.showSearch", false); -user_pref("browser.newtabpage.activity-stream.showSponsored", false); -user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); -user_pref("browser.newtabpage.storageVersion", 1); -user_pref("browser.pageActions.persistedActions", "{\"ids\":[\"bookmark\"],\"idsInUrlbar\":[\"bookmark\"],\"idsInUrlbarPreProton\":[],\"version\":1}"); -user_pref("browser.pagethumbnails.storage_version", 3); -user_pref("browser.policies.applied", true); -user_pref("browser.policies.runOncePerModification.displayBookmarksToolbar", "always"); -user_pref("browser.proton.toolbar.version", 3); -user_pref("browser.region.update.first-seen", 1756558448); -user_pref("browser.region.update.region", "KW"); -user_pref("browser.region.update.updated", 1756558448); -user_pref("browser.rights.3.shown", true); -user_pref("browser.safebrowsing.provider.google4.lastupdatetime", "1756564993318"); -user_pref("browser.safebrowsing.provider.google4.nextupdatetime", "1756566784318"); -user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", "1756565004243"); -user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", "1756586604243"); -user_pref("browser.search.region", "US"); -user_pref("browser.startup.couldRestoreSession.count", 1); -user_pref("browser.startup.homepage", "about:home"); -user_pref("browser.startup.homepage_override.buildID", "20250811113756"); -user_pref("browser.startup.homepage_override.mstone", "128.14.0"); -user_pref("browser.startup.lastColdStartupCheck", 1756564987); -user_pref("browser.theme.toolbar-theme", 0); -user_pref("browser.toolbars.bookmarks.visibility", "always"); -user_pref("browser.uiCustomization.state", "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"home-button\",\"customizableui-special-spring1\",\"urlbar-container\",\"customizableui-special-spring2\",\"save-to-pocket-button\",\"downloads-button\",\"fxa-toolbar-menu-button\",\"unified-extensions-button\",\"foxyproxy_eric_h_jung-browser-action\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"firefox-view-button\",\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"developer-button\",\"foxyproxy_eric_h_jung-browser-action\"],\"dirtyAreaCache\":[\"nav-bar\",\"unified-extensions-area\",\"toolbar-menubar\",\"TabsToolbar\",\"PersonalToolbar\"],\"currentVersion\":20,\"newElementCount\":2}"); -user_pref("browser.urlbar.placeholderName", "Google"); -user_pref("browser.urlbar.quicksuggest.migrationVersion", 2); -user_pref("browser.urlbar.quicksuggest.scenario", "offline"); -user_pref("browser.urlbar.tipShownCount.searchTip_onboard", 4); -user_pref("distribution.Kali.bookmarksProcessed", true); -user_pref("distribution.iniFile.exists.appversion", "128.14.0"); -user_pref("distribution.iniFile.exists.value", true); -user_pref("doh-rollout.doneFirstRun", true); -user_pref("doh-rollout.home-region", "US"); -user_pref("doh-rollout.skipHeuristicsCheck", true); -user_pref("dom.forms.autocomplete.formautofill", true); -user_pref("dom.push.userAgentID", "95de800d75f84dc6b27f163e085af49c"); -user_pref("extensions.activeThemeID", "{868123c1-25e7-42d8-a294-5415f34f0ee3}"); -user_pref("extensions.blocklist.pingCountVersion", -1); -user_pref("extensions.databaseSchema", 36); -user_pref("extensions.formautofill.addresses.enabled", false); -user_pref("extensions.formautofill.creditCards.enabled", false); -user_pref("extensions.formautofill.creditCards.reauth.optout", "MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECK/HA6bxjrWqBAjoEsKipGSvbA=="); -user_pref("extensions.getAddons.cache.lastUpdate", 1756558448); -user_pref("extensions.getAddons.databaseSchema", 6); -user_pref("extensions.lastAppBuildId", "20250811113756"); -user_pref("extensions.lastAppVersion", "128.14.0"); -user_pref("extensions.lastPlatformVersion", "128.14.0"); -user_pref("extensions.pendingOperations", false); -user_pref("extensions.pictureinpicture.enable_picture_in_picture_overrides", true); -user_pref("extensions.quarantinedDomains.list", "autoatendimento.bb.com.br,ibpf.sicredi.com.br,ibpj.sicredi.com.br,internetbanking.caixa.gov.br,www.ib12.bradesco.com.br,www2.bancobrasil.com.br"); -user_pref("extensions.signatureCheckpoint", 1); -user_pref("extensions.systemAddonSet", "{\"schema\":1,\"addons\":{}}"); -user_pref("extensions.ui.dictionary.hidden", true); -user_pref("extensions.ui.extension.hidden", false); -user_pref("extensions.ui.lastCategory", "addons://list/extension"); -user_pref("extensions.ui.locale.hidden", true); -user_pref("extensions.ui.sitepermission.hidden", true); -user_pref("extensions.ui.theme.hidden", false); -user_pref("extensions.webcompat.enable_shims", true); -user_pref("extensions.webcompat.perform_injections", true); -user_pref("extensions.webcompat.perform_ua_overrides", true); -user_pref("extensions.webextensions.ExtensionStorageIDB.migrated.foxyproxy@eric.h.jung", true); -user_pref("extensions.webextensions.ExtensionStorageIDB.migrated.screenshots@mozilla.org", true); -user_pref("extensions.webextensions.uuids", "{\"formautofill@mozilla.org\":\"92234724-a4f7-4bb0-a487-4dbd01e2d84b\",\"pictureinpicture@mozilla.org\":\"716444be-5b5d-4999-81ca-d29b283e7818\",\"screenshots@mozilla.org\":\"5284b8b1-9038-4e45-90c9-1967f00473e2\",\"webcompat-reporter@mozilla.org\":\"473a85b2-6638-426e-a80d-3ede7fac91ac\",\"webcompat@mozilla.org\":\"9a310967-e580-48bf-b3e8-4eafebbc122d\",\"default-theme@mozilla.org\":\"c4f9040b-f08d-4f0d-91bd-a3aaa1fe6a38\",\"addons-search-detection@mozilla.com\":\"920dca1c-6b25-44c1-a053-833224a98ff5\",\"foxyproxy@eric.h.jung\":\"ce742c7b-60f3-4b0e-b91d-898e4eb1630f\",\"{868123c1-25e7-42d8-a294-5415f34f0ee3}\":\"232b7d78-0e41-4f6c-92f8-75a83ddf40df\",\"hotfix-intermediate-2018@mozilla.com\":\"665d2d3c-52ec-4139-b3b6-07899a9583ce\"}"); -user_pref("font.name.serif.x-western", "Noto Sans Mono"); -user_pref("gecko.handlerService.defaultHandlersVersion", 1); -user_pref("idle.lastDailyNotification", 1741750383); -user_pref("layout.css.prefers-color-scheme.content-override", 0); -user_pref("media.gmp-gmpopenh264.abi", "x86_64-gcc3"); -user_pref("media.gmp-gmpopenh264.hashValue", "f5246bf14d038adf4ce0c4360262ab722bc3de4220f047c3d542b4c564074b4877dc8659e3125c5171c749e7ce93f20cc63777eb5e1539e960670cbc5f30ac85"); -user_pref("media.gmp-gmpopenh264.lastDownload", 1743949343); -user_pref("media.gmp-gmpopenh264.lastInstallStart", 1743949342); -user_pref("media.gmp-gmpopenh264.lastUpdate", 1743949343); -user_pref("media.gmp-gmpopenh264.version", "2.6.0"); -user_pref("media.gmp-manager.buildID", "20250811113756"); -user_pref("media.gmp-manager.lastCheck", 1756558471); -user_pref("media.gmp-manager.lastEmptyCheck", 1756558471); -user_pref("media.gmp.storage.version.observed", 1); -user_pref("pdfjs.enabledCache.state", true); -user_pref("pdfjs.migrationVersion", 2); -user_pref("places.database.lastMaintenance", 1741750383); -user_pref("privacy.bounceTrackingProtection.hasMigratedUserActivationData", true); -user_pref("privacy.purge_trackers.date_in_cookie_database", "0"); -user_pref("privacy.purge_trackers.last_purge", "1741750383941"); -user_pref("privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs2", true); -user_pref("privacy.sanitize.pending", "[]"); -user_pref("security.sandbox.content.tempDirSuffix", "a9de50c8-6920-4be8-8d06-efe807a7c2c1"); -user_pref("security.sandbox.warn_unprivileged_namespaces", false); -user_pref("services.settings.blocklists.addons-bloomfilters.last_check", 1756567610); -user_pref("services.settings.blocklists.gfx.last_check", 1756567610); -user_pref("services.settings.clock_skew_seconds", -2621); -user_pref("services.settings.last_etag", "\"1756562361504\""); -user_pref("services.settings.last_update_seconds", 1756567610); -user_pref("services.settings.main.addons-manager-settings.last_check", 1756567610); -user_pref("services.settings.main.anti-tracking-url-decoration.last_check", 1756567610); -user_pref("services.settings.main.cfr.last_check", 1756567610); -user_pref("services.settings.main.cookie-banner-rules-list.last_check", 1756567610); -user_pref("services.settings.main.devtools-compatibility-browsers.last_check", 1756567610); -user_pref("services.settings.main.devtools-devices.last_check", 1756567610); -user_pref("services.settings.main.doh-config.last_check", 1756567610); -user_pref("services.settings.main.doh-providers.last_check", 1756567610); -user_pref("services.settings.main.fingerprinting-protection-overrides.last_check", 1756567610); -user_pref("services.settings.main.fxmonitor-breaches.last_check", 1756567610); -user_pref("services.settings.main.hijack-blocklists.last_check", 1756567610); -user_pref("services.settings.main.language-dictionaries.last_check", 1756567610); -user_pref("services.settings.main.message-groups.last_check", 1756567610); -user_pref("services.settings.main.normandy-recipes-capabilities.last_check", 1756567610); -user_pref("services.settings.main.partitioning-exempt-urls.last_check", 1756567610); -user_pref("services.settings.main.password-recipes.last_check", 1756567610); -user_pref("services.settings.main.password-rules.last_check", 1756567610); -user_pref("services.settings.main.pioneer-study-addons-v1.last_check", 1756567610); -user_pref("services.settings.main.public-suffix-list.last_check", 1756567610); -user_pref("services.settings.main.query-stripping.last_check", 1756567610); -user_pref("services.settings.main.search-config-icons.last_check", 1756567610); -user_pref("services.settings.main.search-config-overrides-v2.last_check", 1756567610); -user_pref("services.settings.main.search-config-overrides.last_check", 1756567610); -user_pref("services.settings.main.search-config-v2.last_check", 1756567610); -user_pref("services.settings.main.search-config.last_check", 1756567610); -user_pref("services.settings.main.search-default-override-allowlist.last_check", 1756567610); -user_pref("services.settings.main.search-telemetry-v2.last_check", 1756567610); -user_pref("services.settings.main.sites-classification.last_check", 1756567610); -user_pref("services.settings.main.tippytop.last_check", 1756567610); -user_pref("services.settings.main.top-sites.last_check", 1756567610); -user_pref("services.settings.main.translations-models.last_check", 1756567610); -user_pref("services.settings.main.translations-wasm.last_check", 1756567610); -user_pref("services.settings.main.url-classifier-skip-urls.last_check", 1756567610); -user_pref("services.settings.main.websites-with-shared-credential-backends.last_check", 1756567610); -user_pref("services.settings.security-state.cert-revocations.last_check", 1741750217); -user_pref("services.settings.security-state.intermediates.last_check", 1741750217); -user_pref("services.settings.security-state.onecrl.last_check", 1741750217); -user_pref("services.sync.clients.lastSync", "0"); -user_pref("services.sync.declinedEngines", ""); -user_pref("services.sync.engine.addresses.available", true); -user_pref("services.sync.globalScore", 0); -user_pref("services.sync.nextSync", 0); -user_pref("signon.autofillForms", false); -user_pref("signon.firefoxRelay.feature", "disabled"); -user_pref("signon.generation.enabled", false); -user_pref("signon.management.page.breach-alerts.enabled", false); -user_pref("signon.management.page.os-auth.optout", "MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECCg2jrSsc18OBAh7A7w7xgPFJA=="); -user_pref("signon.rememberSignons", false); -user_pref("storage.vacuum.last.index", 0); -user_pref("storage.vacuum.last.places.sqlite", 1741750383); -user_pref("toolkit.startup.last_success", 1756564982); -user_pref("toolkit.telemetry.cachedClientID", "c0ffeec0-ffee-c0ff-eec0-ffeec0ffeec0"); -user_pref("toolkit.telemetry.pioneer-new-studies-available", true); -user_pref("toolkit.telemetry.previousBuildID", "20250811113756"); -user_pref("toolkit.telemetry.reportingpolicy.firstRun", false); diff --git a/resources/mozilla/firefox/fr3d.default/search.json.mozlz4 b/resources/mozilla/firefox/fr3d.default/search.json.mozlz4 deleted file mode 100644 index 00c5b63..0000000 Binary files a/resources/mozilla/firefox/fr3d.default/search.json.mozlz4 and /dev/null differ diff --git a/resources/mozilla/firefox/installs.ini b/resources/mozilla/firefox/installs.ini deleted file mode 100644 index 57affd2..0000000 --- a/resources/mozilla/firefox/installs.ini +++ /dev/null @@ -1,4 +0,0 @@ -[3B6073811A6ABF12] -Default=fr3d.default -Locked=1 - diff --git a/resources/mozilla/firefox/profiles.ini b/resources/mozilla/firefox/profiles.ini deleted file mode 100644 index 15d8974..0000000 --- a/resources/mozilla/firefox/profiles.ini +++ /dev/null @@ -1,18 +0,0 @@ -[Profile2] -Name=Default User -IsRelative=1 -Path=fr3d.default - -[Profile0] -Name=default-esr -IsRelative=1 -Path=fr3d.default - -[General] -StartWithLastProfile=1 -Version=2 - -[Install3B6073811A6ABF12] -Default=fr3d.default -Locked=1 - diff --git a/resources/zsh/aliases b/resources/zsh/aliases index dcba2c7..5545a7a 100644 --- a/resources/zsh/aliases +++ b/resources/zsh/aliases @@ -21,10 +21,10 @@ alias udp-scan='sudo nmap -sU --top-ports 10 $IP -v > udp.scan.txt' alias stealth-scan='sudo nmap --data-length 6 -T3 -A -ttl 64 -p- $IP > stealth-scan.txt' alias proxy='proxychains' alias serve='sudo python3 -m http.server 8888' -alias notepad='mousepad notes.md > /dev/null 2>&1 &' +alias notepad='nvim notes.md' #python3 alias py-virt='python3 -m venv .venv && source .venv/bin/activate' alias freeze='pip freeze > requirements.txt' alias py-install='pip install -r requirements.txt' -alias py-list='pipx list | grep package' +alias py-list='pip3 list' diff --git a/resources/zsh/functions.sh b/resources/zsh/functions.sh index 14d9f6e..e686533 100644 --- a/resources/zsh/functions.sh +++ b/resources/zsh/functions.sh @@ -34,7 +34,7 @@ up() { virtual_env() { mkdir $1 && cd $1 && - virtualenv .venv && + python3 -m venv .venv && source .venv/bin/activate } diff --git a/sources/0-base.sh b/sources/0-base.sh index 27db755..ed32cb5 100644 --- a/sources/0-base.sh +++ b/sources/0-base.sh @@ -4,37 +4,16 @@ set -euo pipefail base_system() { sudo apt-get install \ -y --no-install-recommends \ - cmake \ - djvulibre-bin \ file \ iputils-ping \ - libpcap-dev \ - man-db \ - nfs-common \ - openssh-server \ - rpcbind \ - supervisor -} - -base_desktop() { - sudo apt-get install \ - -y --no-install-recommends \ - autocutsel \ - dbus-x11 \ - feh \ - firefox-esr \ - kali-themes \ - mousepad \ - x11-utils \ - xpdf + libpcap0.8 } base_languages() { sudo apt-get install \ -y --no-install-recommends \ - pipx \ python3-pip \ - python3-virtualenv \ + python3-venv \ ruby \ ruby-dev \ upx-ucl @@ -55,11 +34,9 @@ main_tools() { -y --no-install-recommends \ aria2 \ bat \ - fzf \ - jq \ - mkcert \ fastfetch \ - starship + fzf \ + jq } network() { @@ -112,7 +89,6 @@ osint_tools() { sudo apt-get update base_system -base_desktop base_languages base_tools main_tools diff --git a/sources/1-tools.sh b/sources/1-tools.sh index 3be026a..ec5c192 100644 --- a/sources/1-tools.sh +++ b/sources/1-tools.sh @@ -55,6 +55,13 @@ web_server() { chmod +x "$HOME/.local/bin/miniserve" } +extras() { + # mkcert — local TLS cert generator (used by cert-gen() in functions.sh) + wget -q -O "$HOME/.local/bin/mkcert" \ + "https://github.com/FiloSottile/mkcert/releases/download/v1.4.4/mkcert-v1.4.4-linux-amd64" + chmod +x "$HOME/.local/bin/mkcert" +} + password() { sudo apt-get install -y \ --no-install-recommends \ @@ -125,6 +132,7 @@ sudo apt-get update web web_server +extras password payload active_directory diff --git a/sources/3-home.sh b/sources/3-home.sh index f467bef..698a525 100644 --- a/sources/3-home.sh +++ b/sources/3-home.sh @@ -13,10 +13,11 @@ cp "$TOOL_DIR/kerbrute" "$HOME/.local/bin/kerbrute" chmod +x "$HOME/.local/bin/kerbrute" cp "$TOOL_DIR/smbserver.py" "$HOME/.tools/smbserver.py" cp "$TOOL_DIR/zsh/history" "$HOME/.history" -cp -r "$TOOL_DIR/mozilla" "$HOME/.mozilla" cp "$TOOL_DIR/starship.toml" "$HOME/.config/starship.toml" +curl -sS https://starship.rs/install.sh | sh -s -- --yes --bin-dir "$HOME/.local/bin" + git clone --depth 1 https://github.com/tmux-plugins/tpm "$HOME/.tmux/plugins/tpm" sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended diff --git a/tests/smoke-base.sh b/tests/smoke-base.sh new file mode 100644 index 0000000..1973b53 --- /dev/null +++ b/tests/smoke-base.sh @@ -0,0 +1,141 @@ +#!/bin/sh +# smoke-base.sh — tool presence check for Dockerfile (base Kali image) +# Runs inside the container via bind-mount: sh /tests/smoke-base.sh +# Accumulates all failures before exiting so you get a full picture. + +PASS=0 +FAIL=0 + +ok() { printf ' ok %s\n' "$*"; PASS=$((PASS + 1)); } +fail() { printf ' FAIL %s\n' "$*"; FAIL=$((FAIL + 1)); } + +check_cmd() { + if command -v "$1" >/dev/null 2>&1; then ok "cmd: $1" + else fail "cmd: $1 not found"; fi +} + +check_py() { + if python3 -c "$1" >/dev/null 2>&1; then ok "py: $1" + else fail "py: $1 (import failed)"; fi +} + +check_dir() { + if [ -d "$1" ]; then ok "dir: $1" + else fail "dir: $1 not found"; fi +} + +check_file() { + if [ -f "$1" ]; then ok "file: $1" + else fail "file: $1 not found"; fi +} + +check_absent() { + if ! command -v "$1" >/dev/null 2>&1; then ok "absent: $1" + else fail "absent: $1 should NOT be present"; fi +} + +# User-level binaries are installed to ~/.local/bin which is not in the +# default PATH for non-login sh. Add it so command -v finds them. +export PATH="/home/kali/.local/bin:$PATH" + +printf '\n=== smoke-base ===\n\n' + +# --- environment --- +echo '-- environment' +UID_ACTUAL="$(id -u)" +if [ "$UID_ACTUAL" -eq 1000 ]; then ok "uid=1000 (kali)" +else fail "uid=$UID_ACTUAL (expected 1000)"; fi + +check_file "$HOME/.oh-my-zsh/custom/themes/kali.zsh-theme" +check_file "$HOME/.history" +check_file "$HOME/.tmux.conf" +check_file "$HOME/.proxychains/proxychains.conf" +check_file "$HOME/.zshrc" + +# starship must be functional (not just present) +if starship init zsh >/dev/null 2>&1; then ok "starship init zsh" +else fail "starship init zsh failed"; fi + +# --- core apt tools --- +echo '-- core tools' +check_cmd curl +check_cmd wget +check_cmd git +check_cmd tmux +check_cmd vim +check_cmd nano +check_cmd python3 +check_cmd pip3 +check_cmd ruby +check_cmd jq +check_cmd fzf +check_cmd batcat +check_cmd 7z +check_cmd rlwrap +check_cmd traceroute +check_cmd aria2c +check_cmd fastfetch +check_cmd upx + +# --- network / pentest apt tools --- +echo '-- network tools' +check_cmd nmap +check_cmd masscan +check_cmd tcpdump +check_cmd socat +check_cmd nc +check_cmd proxychains +check_cmd dig +check_cmd netdiscover +check_cmd braa +check_cmd onesixtyone +check_cmd swaks +check_cmd ftp +check_cmd telnet + +# --- AD / pentest apt tools --- +echo '-- AD tools' +check_cmd nxc +check_cmd evil-winrm +check_cmd enum4linux-ng +check_cmd ldapsearch +check_cmd smbclient +check_cmd responder +check_py 'import bloodhound' + +# --- OSINT tools --- +echo '-- OSINT tools' +check_cmd cewl +check_cmd csvtool +check_cmd sn0int + +# --- binary tools (~/.local/bin) --- +echo '-- binary tools' +check_cmd ffuf +check_cmd hurl +check_cmd miniserve +check_file "$HOME/.tools/chisel" +check_cmd busybox +check_cmd nvim +check_cmd sqlmap +check_cmd exiftool +check_cmd mkcert +check_cmd mycli + +# --- tool files --- +echo '-- tool files' +check_file "$HOME/.tools/linpeas" +check_file "$HOME/.tools/pspy" +check_file "$HOME/.tools/rubeus.exe" +check_dir "$HOME/.tools/nishang" +check_dir "$HOME/.tools/sqlmap" + +# --- regression guards: these must NOT be present --- +echo '-- regression guards' +check_absent firefox +check_absent mousepad +check_absent supervisord +check_absent cmake + +printf '\n==> %d passed, %d failed\n' "$PASS" "$FAIL" +[ "$FAIL" -eq 0 ] && printf '[PASS] base\n\n' || { printf '[FAIL] base\n\n'; exit 1; }