Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ios-mac-app — Client VPN ufficiale per iOS e macOS che offre tunneling crittografato, archiviazione sicura delle credenziali, configurazione automatizzata del server e supporto per i protocolli VPN più diffusi. | Kitploit
Strumenti/GitHubGitHub/protonvpn/ios-mac-app
Sicurezza di RetePrivacy
GitHubprotonvpn/ios-mac-app

ios-mac-app

Client VPN ufficiale per iOS e macOS che offre tunneling crittografato, archiviazione sicura delle credenziali, configurazione automatizzata del server e supporto per i protocolli VPN più diffusi.

Vedi Repository
6351392 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Proton VPN per iOS e macOS

Copyright (c) 2025 Proton Technologies AG

Dipendenze

Questo progetto usa Swift Package Manager per tutte le sue dipendenze. Consenti a Xcode di risolvere i pacchetti prima di eseguire qualsiasi target.

Dipendenze di terze parti

ACKNOWLEDGEMENTS.md

Configurazione

  • Abilita Git LFS sulla tua macchina
  • Clona questo repository
  • Assicurati di clonare i sottomoduli (git submodule init + git submodule update)
  • Installa le dipendenze Homebrew con brew bundle
  • Per ora dovrai usare Xcode 14.x
  • Configura la firma del codice per tutti i target con un account sviluppatore Apple a pagamento (richiesto a causa delle entitlement VPN) e cambia gli identificativi dei bundle in qualcosa di unico
  • Pulisci la cartella di build in Xcode (Cmd+Shift+K)

Costanti offuscate

Per compilare il progetto è necessario un set di segreti. Questi includono URL e chiavi, e sono conservati in file chiamati ObfuscatedConstants.swift. Questi file sono conservati in un repository separato, il che richiede una configurazione aggiuntiva per mantenerli sincronizzati.

Innanzitutto, invoca lo script situato in Integration/Scripts/credentials.sh con il comando setup. Fornisci il percorso in cui desideri che il repository dei segreti venga clonato localmente usando l'argomento -p, e l'URL del repository usando l'argomento -r.

root@kitploit:~
./Integration/Scripts/credentials.sh setup -p <path to credentials repo> -r <credentials remote>

Quindi, per verificare che la configurazione sia andata a buon fine:

root@kitploit:~
./Integration/Scripts/credentials.sh checkout

Se la configurazione è corretta, le costanti offuscate verranno sincronizzate automaticamente durante la fase di build Generate Obfuscated Constants di ciascuna app.

Struttura dei pacchetti

Il progetto è organizzato in pacchetti per livello, al fine di evitare l'inferno delle dipendenze tra moduli:

  • Foundations: librerie piccole e monouso per costruire cose più grandi. Queste dovrebbero collegarsi solo tra loro, semmai dovessero farlo.
  • Shared: librerie leggermente più grandi pensate per condividere codice tra applicazioni o estensioni. Le parti di questa libreria che diventano troppo grandi o che trarrebbero beneficio dall'essere un modulo a sé stante possono essere estratte in Foundations. Queste dovrebbero collegarsi solo a librerie Foundations, con la possibile eccezione di queste librerie che si collegano ciascuna a CoreCommon .
  • Features: librerie autocontenute che contengono una singola funzionalità. Queste librerie dovrebbero collegarsi solo a librerie delle categorie Shared o Foundations. Sono incluse e istanziate all'interno del codice di applicazioni, test o estensioni.

L'aggiunta di nuovo codice/funzionalità a LegacyCommon e NEHelper dovrebbe essere evitata se possibile. Questi pacchetti dovrebbero essere gradualmente smantellati per collocare i loro componenti in pacchetti nuovi/esistenti nelle tre categorie sopra indicate.

Linting del codice

Durante lo sviluppo, swiftlint viene eseguito in modalità non restrittiva, così è più facile sviluppare senza preoccuparsi della formattazione del codice. In CI, il linting è restrittivo e fallirà su qualsiasi warning. Prima di committare codice in questo repository, esegui il seguente script per aggiungere un hook pre-commit che controllerà tutti i file nuovi/modificati in modalità restrittiva e ti impedirà di committare codice che non supererebbe la CI.

./Integration/Scripts/pre_commit_lint.sh setup

Localizzazione

L'app usa SwiftGen per generare il file Localizable.strings per accedere a tutte le stringhe dell'app memorizzate nei file Localizable.strings standard. Basta aggiungere una nuova stringa al pacchetto Strings ed eseguire il comando swiftgen in una directory in cui è definito swiftgen.yml.

Licenza

I file di codice e dati in questa distribuzione sono concessi in licenza secondo i termini della GPLv3 come pubblicata dalla Free Software Foundation. Vedi https://www.gnu.org/licenses/ per una copia di questa licenza.

Copyright (c) 2025 Proton Technologies AG

Scarica lo strumento