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": "… (læs mere)
- !/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 <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">
Foxy AddOn Firewall
Welcome to Foxy AddOn Firewall!
Installed Addons:
- 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."