Portmaster enthält ein automatisches Update System das alle Komponenten am neusten Stand hält und stündlich frische daten liefert um deine Privatsühäre effektiv zu schützen. Um diesen Prozess zu sichern werden updastes signiert und Signaturen beim herunterladen Überprüft.
Der Portmaster Core Service testet regulär für Updates im Hintergund, indem kleine index Dateien von dem Update Server heruntergeladen werden. Danch kann er Überprüfen ob er alle Neusten Versionen hat und Update Dateien herunterladen. Manche Updates werden automatisch angewand, für andere wirst du aufgefordert Portmaster neu zu starten um sie anzuwenden.
Derzeit wird nach Updates kurz nach dem Start und jede Stunde gesucht. Dieser kurze Update Zeitplan ist wichtig um schnelle Reperaturen durchzuführen und wichtige Updates für Intelligente Daten bereitzustellen.
Als wir diese System erstellt haben, haben wir nicht nur deine Sicherheit und Privatsphäre durch schnelle updates erweitert, sondern wir schützen deine Privatsphäre vor unseren Systemen während dieses Prozesses. Wir wollen nicht das Portmaster Nutzer durch das Updatesystem verfolgbar sind. Um das zu sichern läschen wir alle Protokolle und stellen sicher das keine Informationen während dieses Prozesses nach Außen treten. Unsere Privatsphären Politik zeigt die Details.
Das Änderungsprotokoll zeigt die derzeitigen Versionen und Änderungen.
Um neue Funktionen zu testen und Probleme mit Nutzern zu beheben, haben wir verschiedenen Veröfentlichungs Kanäle
Stable
Die meisten Nutzer werden immer auf dem "Stable" Veröffentlichungs Kanal sein, da dieser die beste Erfahrung bietet. Veröffentlichungen auf diesem Kanal wurden getestet um Server Probleme vorzubeugen.
Während die Intelligenten Daten ihre eigene Index Datei haben, ist es teil des "Stable" Kanals. Alle anderen Veröffentlichungs Kanäle inkludieren auch den "Stable" Kanal als eine Rücksicherung für nicht anders definierte Versionen.
Beta
Neue Funktionen und komplexe Fehlerbehebungen werden zuerst auf dem "Beta" Kanal veröffentlicht um sie auf mehr Geräten zu testen. Das bedeutet das Beta Versionen mehr Fehler haben, diese aber auch schneller behoben werden.
Wenn etwas deine Arbeit stört, kannst du immer zurück zu "Stable" wechseln. Dieser Kanal inkludiert den "Stable" Kanal.
Staging
Der "Staging" Veröffentlichungskanal wir für das Testen neuer Veröffentlichung oder Internen Entwicklungsfunktionen auf mehr Geräten verwendet. Veröffentlichungen auf diesem Kanal könnten noch kein passendes Versions Etikett haben und deren Quellen könnte noch nicht veröffentlicht sein.
Dieser Kanal inkludiert den "Beta" und "Stable" kanal. Nutze diesen Kanal nur Temporär und wenn du dazu aufgefordert wurdest.
Support
Wenn Kunden Probleme begegnen, veröffentlichen wir manchmal spezielle Versionen auf diesem Kanal um Probleme zu behenen.
Dieser Kanal inkludiert den "Stable" Kanal. Nutze diesen Kanal nur Temporär und wenn du dazu aufgefordert wurdest.
Alle unserer Updates sind ganz signiert und geschützt. Das schützt das Update System davor böswillig verwendet zu werden um den Nutzern zu schaden.
Updates werden lokal gebaut und signiert und dann in den Update Server gefügt. Der Updateserver hat keinen Zugriff auf signations Schlüssel.
Wenn du möchtest kannst du Automatische Software Updates deaktivieren. aber wir empfehlen dies nicht, da dich das von schnellen Reperaturen und neuen Daten ausschließt.
Wenn automtische Updates deaktiviert sind, kannst du manuell Updates herunterladen - und das solltest du auch regulär machen.
stable.json
- Defniert Versionen für den Stable veröffentlichungs Kanal.beta.json
- Defniert Versionen für den Beta veröffentlichungs Kanal.staging.json
- Defniert Versionen für den Staging veröffentlichungs Kanal.support.json
- Defniert Versionen für den Support veröffentlichungs Kanal.all/intel/intel.json
- Defines versions für intelligenten Daten.Bitte beachte das während den Migrations Phasen Indexe als .v2.json
auf dem Update Server zugänglich sind. Aber trozdem lokal als .json
Dateien gespeichert werden.
Das Update System verwendet eine simple Struktur um die Dateien zu organisieren:
Hier ist ein Exzerpt der haupt stable.json
Index Datei.
{
"Channel": "stable",
"Published": "2022-10-20T06:37:10Z",
"Releases": {
[...]
"all/ui/modules/portmaster.zip": "0.4.2",
"windows_amd64/core/portmaster-core.exe": "1.0.0",
"windows_amd64/kext/portmaster-kext.dll": "1.0.14",
"windows_amd64/kext/portmaster-kext.sys": "1.0.14",
"windows_amd64/notifier/portmaster-notifier.exe": "0.3.5",
[...]
}
}
welche dieser Datei Struktur in dem updates
Verzeichnis entschpricht:
all/ui/modules/portmaster_v0-4-2.zip
windows_amd64/core/portmaster-core_v1-0-0.exe
windows_amd64/kext/portmaster-kext_v1-0-14.dll
windows_amd64/kext/portmaster-kext_v1-0-14.sys
windows_amd64/notifier/portmaster-notifier_v0-3-5.exe
Der Versionswahl Algorythmus stellt sicher das egal in welchem Status Portmaster gestartet wird, er immer die bestmögliche Version findet:
v0.0.0
wenn möglich und aktiviere den Development Modus is enabled.Dieser Prozess wird von portmaster-start
gemacht um eine ausführbare Datei zu wählen und zu starten. Der Portmaster Core Service übernimmt dann die Versionsauswahl von allen internen Resourcen.
Um dazu fähig zu sein Vorteile aus merheren Versionen zu ziehen, werden alte Versionen nicht direkt geläscht wenn eine Resource geupdated wir. Stattdessen, behält Portmaster einige vorherige Versionen um automatisch auf sie zurückzufallen oder wenn er von einem Update Index dazu aufgefordert wird.
Manche Resourcen müssen speziell für verschiedene Betriebssysteme und Architekturen gebaut werden. Hier nutzen diese Resourcen einen OS_ARCH
als Platzhalter für diese Werte. Wir haben auch den .exe
für die Windows Versionen entfernt.
OS_ARCH/start/portmaster-start
(10-15MB)
OS_ARCH/core/portmaster-core
(15-25MB)
OS_ARCH/app/portmaster-app.zip
(70-100MB, wird zu 150-200MB ausgepackt)
OS_ARCH/notifier/portmaster-notifier
(5-15MB)
windows_amd64/kext/portmaster-kext.sys
(<1MB)
windows_amd64/kext/portmaster-kext.dll
(<1MB)
windows_amd64/notifier/portmaster-wintoast.dll
(<5MB)
all/ui/modules/portmaster.zip
(<5MB)
all/ui/modules/assets.zip
(<10MB)
all/intel/lists/base.dsdl
(<25M, Variation möglich)
all/intel/lists/intermediate.dsdl
(<5MB, Variation möglich)
all/intel/lists/urgent.dsdl
(<1MB, Variation möglich)
all/intel/geoip/geoipv4.mmdb.gz
(20-40MB, wird zu 60-90MB ausgepackt)
all/intel/geoip/geoipv6.mmdb.gz
(70-90MB, unpacks to 180-220MB)
all/intel/portmaster/notifications.yaml
(<1MB)
OS_ARCH/hub/spn-hub
(<25MB)
all/intel/spn/main-intel.yaml
(<1MB)
windows_amd64/packages/portmaster-installer.exe
linux_amd64/packages/portmaster-installer.deb
linux_amd64/packages/portmaster-installer.rpm
linux_all/packages/install.sh
linux_all/packages/installer-assets.tar.gz
Währnd der Installation werden ca 300MB heruntgeladen welche sich dann lokal auf 500MB erweitern.
Mit all den anderen Resourcen die kontinuirlich heruntergeladen und verarbeitet werden, lassen die Installation zu 2-4GB wachsen.