I want to write an addon firewall but it fails
#!/bin/bash # Verzeichnis erstellen mkdir FoxyAddOnFirewall cd FoxyAddOnFirewall || exit # package.json erstellen cat <<EOF > package.json { "title": "Foxy AddOn Firewall", "name": "foxy-addon-firewall", "description": "A Firefox addon to control internet access for other addons", "author": "Your Name", "version": "1.0.0", "license": "MIT" } EOF # background.js erstellen cat <<EOF > background.js var permissionManager = Components.classes["@mozilla.org/permissionmanager;1"] .getService(Components.interfaces.nsIPermissionManager); // Addon-Liste abrufen function getAllAddons() { var {AddonManager} = Components.utils.import("resource://gre/modules/AddonManager.jsm", {}); return new Promise(function(resolve, reject) { AddonManager.getAllAddons(function(addons) { resolve(addons); }); }); } // GUI aktualisieren function updateUI() { getAllAddons().then(function(addons) { var addonList = document.getElementById("addon-list"); addonList.innerHTML = ""; // Zurücksetzen der Liste addons.forEach(function(addon) { var listItem = document.createElement("li"); listItem.textContent = addon.name; var blockButton = document.createElement("button"); blockButton.textContent = "Block"; blockButton.addEventListener("click", function() { blockInternetAccessForAddon(addon); }); listItem.appendChild(blockButton); addonList.appendChild(listItem); }); }); } // Internetzugriff für ein bestimmtes Addon blockieren function blockInternetAccessForAddon(addon) { var host = addon.getResourceURI("").host; permissionManager.remove(host, "allAccess"); console.log("Internetzugriff für " + addon.name + " wurde blockiert."); } document.addEventListener("DOMContentLoaded", function() { updateUI(); // GUI beim Laden der Seite aktualisieren }); EOF # index.html erstellen cat <<EOF > index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Foxy AddOn Firewall</title> <link rel="stylesheet" href="style.css"> </head> <body> <h1>Foxy AddOn Firewall</h1> <p>Welcome to Foxy AddOn Firewall!</p> <h2>Installed Addons:</h2> <ul id="addon-list"> <!-- Addon-Liste wird hier eingefügt --> </ul> <script src="background.js"></script> </body> </html> EOF # style.css erstellen cat <<EOF > style.css body { font-family: Arial, sans-serif; background-color: #f0f0f0; text-align: center; } h1 { color: #007bff; } h2 { margin-top: 20px; } ul { list-style-type: none; padding: 0; } li { margin-bottom: 10px; } button { background-color: #007bff; color: white; border: none; padding: 5px 10px; border-radius: 5px; cursor: pointer; } button:hover { background-color: #0056b3; } EOF # manifest.json erstellen cat <<EOF > manifest.json { "manifest_version": 2, "name": "Foxy AddOn Firewall", "version": "1.0", "description": "A Firefox addon to control internet access for other addons", "icons": { "48": "icon.png" }, "permissions": [ "management" ], "browser_action": { "default_popup": "index.html", "default_icon": "icon.png" } } EOF # Icon herunterladen wget -O icon.png "https://img.icons8.com/ios-filled/50/000000/firewall.png" # Installationsanweisungen anzeigen echo "FoxyAddOnFirewall wurde erfolgreich initialisiert!" echo "Um das Addon in Firefox zu installieren:" echo "1. Öffnen Sie Firefox und geben Sie 'about:debugging' in die Adressleiste ein." echo "2. Klicken Sie auf 'Dieses Firefox installieren' unter 'Temporäre Add-ons laden'." echo "3. Navigieren Sie zum Verzeichnis 'FoxyAddOnFirewall' und wählen Sie die 'manifest.json' Datei aus." echo "4. Das Addon wird nun installiert und kann verwendet werden."
Ändrad
Alla svar (1)
Hi, this forum focuses on end user questions. Could you try the Add-on Development forum here: