chore(release): URLFilter-Extension raus + Android versionCode 11
This commit is contained in:
parent
9a22bcd114
commit
b6b1f68940
@ -10,9 +10,14 @@ Versioning: `version` follows SemVer, `versionCode` is monotonically increasing.
|
||||
|
||||
---
|
||||
|
||||
## [0.3.5] — buildNumber 14 — 2026-05-22
|
||||
## [0.3.5] — buildNumber 14 / versionCode 11 — 2026-05-22
|
||||
|
||||
### Fixed
|
||||
- **Android VPN-Blocklist-Self-Heal** (`9a22bcd`) — Nach der ersten Schutz-Aktivierung
|
||||
lud `RebreakVpnService` die Blocklist nicht, wenn sie zur Startzeit noch nicht bereit
|
||||
war (0 Domains aktiv). Neuer Self-Heal-Mechanismus: der Service prüft nach Tunnel-Start,
|
||||
ob die Blocklist leer ist, und lädt sie mit exponentiellem Backoff nach
|
||||
(1 s → 2 s → 4 s, max 3 Versuche). Kein Geräte-Neustart mehr nötig.
|
||||
- **iOS Layer-1 VPN: File-Protection-Fix** — `blocklist.bin` wird jetzt mit
|
||||
`FileProtectionType.completeUntilFirstUserAuthentication` geschrieben statt dem
|
||||
strengeren `.complete`. Damit ist die Datei nach dem ersten Entsperren seit Boot
|
||||
|
||||
@ -43,7 +43,7 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
|
||||
|
||||
android: {
|
||||
package: "org.rebreak.app",
|
||||
versionCode: 10,
|
||||
versionCode: 11,
|
||||
adaptiveIcon: {
|
||||
// Foreground muss in der ~66%-Safe-Zone bleiben (Launcher-Mask clippt den
|
||||
// Außenring) → adaptive-foreground.png ist das Logo auf transparentem
|
||||
@ -132,20 +132,6 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
// Layer 1-alt — NEURLFilter (iOS 26). INAKTIV, behalten als
|
||||
// optionaler Upgrade-Pfad. EAS muss das Target trotzdem kennen.
|
||||
targetName: "RebreakURLFilterExtension",
|
||||
bundleIdentifier: "org.rebreak.app.URLFilterExtension",
|
||||
entitlements: {
|
||||
"com.apple.developer.networking.networkextension": [
|
||||
"url-filter-provider",
|
||||
],
|
||||
"com.apple.security.application-groups": [
|
||||
"group.org.rebreak.app",
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
@ -77,15 +77,12 @@ const PT_SWIFT_SOURCES = [
|
||||
|
||||
function withMainAppEntitlements(config) {
|
||||
return withEntitlementsPlist(config, (cfg) => {
|
||||
// NetworkExtension-Entitlement. Das Array darf mehrere Provider-Typen
|
||||
// halten — beide gleichzeitig ist technisch erlaubt:
|
||||
// - `packet-tunnel-provider`: der NEU aktive Layer-1-Filter (DNS-Sinkhole,
|
||||
// MDM-frei, kein Apple-Capability-Request nötig — direkt in Xcode/Portal).
|
||||
// - `url-filter-provider`: NEURLFilter, behalten als iOS-26-Upgrade-Pfad
|
||||
// (inaktiv; User-Entscheidung NICHT zu löschen).
|
||||
// NetworkExtension-Entitlement. Nur `packet-tunnel-provider` — der aktive
|
||||
// Layer-1-Filter (DNS-Sinkhole, MDM-frei). Der NEURLFilter-Pfad
|
||||
// (`url-filter-provider`) wurde entfernt; `url-filter-provider` ist zudem
|
||||
// kein von EAS/Apple anerkannter Entitlement-Wert (Capability-Sync-Fehler).
|
||||
cfg.modResults['com.apple.developer.networking.networkextension'] = [
|
||||
'packet-tunnel-provider',
|
||||
'url-filter-provider',
|
||||
];
|
||||
// Family Controls = Kern-Funktion, Apple-Distribution-Entitlement freigegeben
|
||||
// (v0.3.4) → DEFAULT AN. Nur ein explizites REBREAK_ENABLE_FAMILY_CONTROLS=0
|
||||
@ -108,9 +105,8 @@ function withCopyExtensionSources(config) {
|
||||
return withDangerousMod(config, [
|
||||
'ios',
|
||||
async (cfg) => {
|
||||
// Beide Extension-Verzeichnisse nach ios/ kopieren.
|
||||
// Extension-Verzeichnis(se) nach ios/ kopieren.
|
||||
for (const [target, srcDir] of [
|
||||
[TARGET_NAME, MODULE_DIR],
|
||||
[PT_TARGET_NAME, PT_MODULE_DIR],
|
||||
]) {
|
||||
const dest = path.join(cfg.modRequest.platformProjectRoot, target);
|
||||
@ -439,7 +435,8 @@ function withPacketTunnelTarget(config) {
|
||||
module.exports = function withRebreakProtectionIos(config) {
|
||||
config = withMainAppEntitlements(config);
|
||||
config = withCopyExtensionSources(config);
|
||||
config = withExtensionTarget(config);
|
||||
// withExtensionTarget (NEURLFilter) entfernt — URLFilter wird nicht mehr
|
||||
// gebraucht; `url-filter-provider` ist auch kein gültiger EAS-Entitlement-Wert.
|
||||
config = withPacketTunnelTarget(config);
|
||||
return config;
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user