-
Filtre e redirecione o tráfego de rede com NetworkExtension
Saiba mais sobre as APIs no framework NetworkExtension que dão ao seu app o poder e a flexibilidade de ampliar os principais recursos de rede do sistema, como implementar filtros de conteúdo de rede, criar e gerenciar configurações de VPN e muito mais. No iOS, iPadOS e macOS 26, agora você pode criar filtros de conteúdo robustos que tomam decisões de tráfego usando todo o URL, não apenas o nome do host, tudo isso sem comprometer a privacidade e a segurança. Começaremos abordando brevemente muitos dos principais casos de uso do framework NetworkExtension, incluindo retransmissões de rede e VPN. Em seguida, vamos conferir a nova API de filtro de URL e seus principais componentes, incluindo Recuperação de Informações Privadas, Passe Privado e muito mais.
Capítulos
- 0:00 - Introdução
- 1:48 - Visão geral do NetworkExtension
- 3:21 - Acessar recursos remotos
- 8:40 - Filtrar conteúdo
- 10:54 - Criar filtros de URL
Recursos
- verdict(for:)
- NEHotspotManager
- NEURLFilterManager
- TN3165: Packet Filter is not API
- TN3120: Expected use cases for Network Extension packet tunnel providers
- PIRService
- Filtering traffic by URL
- Network Extension
Vídeos relacionados
WWDC25
WWDC19
-
Buscar neste vídeo...
-
-
22:15 - Use participation API to check URLs before sending requests
// Use participation API to check URLs before sending requests import NetworkExtension func checkURL(url: URL) async throws -> Bool { var passRequest : Bool = true let verdict = await NEURLFilter.verdict(for: url) if verdict == .deny { passRequest = false } return passRequest } -
25:01 - Configure and manage URL Filter
// Configure and manage URL Filter import NetworkExtension let manager = NEURLFilterManager.shared try await manager.loadFromPreferences() try manager.setConfiguration( pirServerURL: URL(string:"https://pir.example.com")!, pirPrivacyPassIssuerURL: URL(string:"https://privacypass.example.com")!, pirAuthenticationToken: "1234", controlProviderBundleIdentifier: "com.example.myURLFilter.extension") manager.prefilterFetchInterval = 86400 // fetch every 1 day manager.shouldFailClosed = false manager.localizedDescription = "Alice's URL Filter" manager.isEnabled = true try await manager.saveToPreferences() -
26:41 - Implement NEURLFilterControlProvider protocol
// Implement NEURLFilterControlProvider protocol import NetworkExtension class URLFilterControlProvider: NEURLFilterControlProvider { func fetchPrefilter() async throws -> NEURLFilterPrefilter? { // Fetch your Bloom filters data from your app bundle or from your server let data = NEURLFilterPrefilter.PrefilterData.temporaryFilepath(fileURL) let result = NEURLFilterPrefilter(data: data, bitCount: numberOfBits, hashCount: numberOfHashes, murmurSeed: murmurSeed) return result } }
-
-
- 0:00 - Introdução
Conheça o Network Extension, um framework que você pode usar para desenvolver apps que personalizam a rede nas plataformas da Apple. No iOS e no macOS 26, esse framework oferece VPNs, retransmissões e filtros de conteúdo, além de novos recursos de filtros baseados em URL.
- 1:48 - Visão geral do NetworkExtension
O framework Network Extension permite que os apps no iOS e no macOS personalizem a rede. Isso inclui gestão de Wi-Fi, interação com hotspots, notificações por push locais para redes restritas, segurança de DNS, filtros de conteúdo e acesso seguro a recursos remotos.
- 3:21 - Acessar recursos remotos
O Secure Remote Access possibilita que as pessoas se conectem com segurança aos sistemas internos a partir de locais externos ou protejam o tráfego pessoal em redes desprotegidas. O framework Network Extension oferece duas abordagens principais para o encaminhamento de tráfego: retransmissões de rede e VPNs baseadas em IP. As retransmissões de rede que usam protocolo MASQUE são otimizadas para desempenho e são adequadas para encaminhar o tráfego TCP ou UDP a apps específicos, como apps corporativos hospedados na nuvem. Você pode configurar as retransmissões usando o “NERelayManager” ou por meio de um perfil de MDM. As VPNs baseadas em IP são ideais para estender as redes corporativas aos funcionários, fornecendo acesso total à rede, ou para organizações altamente regulamentadas que precisam enviar todo o tráfego pela rede corporativa. Indivíduos também podem usá-las para proteger sua privacidade em redes desprotegidas. Você pode criar túneis de VPN baseados em IP usando a API NEVPNManager, aproveitando os protocolos integrados, como IKEv2 ou IPsec, ou protocolos personalizados. O framework Network Extension permite que os apps apliquem rotas de VPN, garantindo que elas tenham precedência, e é compatível com configurações de VPN de túnel dividido e de túnel completo com exceções configuráveis. O framework Network Extension é a API recomendada e compatível para o desenvolvimento de apps de VPN. O uso de outros métodos é altamente desaconselhável e pode causar problemas de compatibilidade. Migre seu app de VPN para o framework Network Extension o quanto antes.
- 8:40 - Filtrar conteúdo
A API Content Filter possibilita a criação de firewalls pessoais e apps de monitoramento de tráfego corporativo. Com ela, os apps podem inspecionar os fluxos de tráfego e fornecer decisões de “permitir” ou “descartar”.
- 10:54 - Criar filtros de URL
No iOS 26, é possível criar um filtro de URL para desenvolver apps que bloqueiam recursos específicos na internet em todo o sistema. Essa tecnologia é ainda mais útil para apps de controle parental, escolas e empresas a fim de restringir o acesso a conteúdo inadequado ou não relacionado ao trabalho. O filtro de URL utiliza técnicas criptográficas avançadas para priorizar a privacidade dos usuários. O sistema usa uma combinação de quatro tecnologias principais: Filtros de Bloom, Recuperação Privada de Informação (PIR), Privacy Pass e Retransmissão HTTP Oblivious. Seu app não é executado no caminho de filtragem e não tem acesso ao tráfego do URL. Além disso, nem a Apple nem o seu servidor têm acesso ao tráfego do URL ou às informações de identidade. Os filtros de URL são compatíveis com dispositivos gerenciados e não gerenciados. Os filtros de URL utilizam uma retransmissão OHTTP hospedada pela Apple, que você deve aplicar para configurar e utilizar nos apps assinados para distribuição. As compilações assinadas para desenvolvimento estão isentas desse requisito. Se estiver desenvolvendo um app que não use WebKit ou URLSession, envie cada URL à API NEURLFilter e honre a decisão retornada. Para implantações corporativas, o perfil de configuração de filtros de URL pode ser enviado aos dispositivos gerenciados via gerenciamento de dispositivos móveis.