Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ios-mac-app — iOS 및 macOS용 공식 VPN 클라이언트로, 암호화된 터널링, 안전한 자격 증명 저장, 자동 서버 구성, 그리고 널리 사용되는 VPN 프로토콜 지원을 제공합니다. | Kitploit
도구/GitHubGitHub/protonvpn/ios-mac-app
Network SecurityPrivacy
GitHubprotonvpn/ios-mac-app

ios-mac-app

iOS 및 macOS용 공식 VPN 클라이언트로, 암호화된 터널링, 안전한 자격 증명 저장, 자동 서버 구성, 그리고 널리 사용되는 VPN 프로토콜 지원을 제공합니다.

저장소 보기
6351392개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

iOS 및 macOS용 Proton VPN

Copyright (c) 2025 Proton Technologies AG

의존성

이 프로젝트는 모든 의존성에 Swift Package Manager를 사용합니다. 타깃을 실행하기 전에 Xcode가 패키지를 확인하도록 허용하십시오.

타사 의존성

ACKNOWLEDGEMENTS.md

설정

  • 컴퓨터에서 Git LFS를 활성화하십시오.
  • 이 저장소를 클론하십시오.
  • 서브모듈을 클론했는지 확인하십시오 (git submodule init + git submodule update).
  • brew bundle로 Homebrew 의존성을 설치하십시오.
  • 지금은 Xcode 14.x를 사용해야 합니다.
  • 유료 Apple 개발자 계정으로 모든 타깃에 대한 코드 서명을 구성하고 (VPN 자격으로 인해 필요) 번들 식별자를 고유한 값으로 변경하십시오.
  • Xcode에서 빌드 폴더를 정리하십시오 (Cmd+Shift+K).

난독화된 상수

프로젝트를 빌드하려면 일련의 비밀 값이 필요합니다. 여기에는 URL과 키가 포함되며, ObfuscatedConstants.swift라는 파일에 보관됩니다. 이 파일들은 별도의 저장소에 보관되며, 동기화 상태를 유지하려면 몇 가지 추가 설정이 필요합니다.

먼저, Integration/Scripts/credentials.sh에 있는 스크립트를 setup 명령으로 호출하십시오. -p 인수를 사용하여 비밀 저장소를 로컬에 클론할 경로를 지정하고, -r 인수를 사용하여 저장소의 URL을 지정하십시오.

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

그런 다음, 설정이 성공했는지 확인하려면:

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

설정이 올바르게 되면, 난독화된 상수는 각 앱의 Generate Obfuscated Constants 빌드 단계에서 자동으로 동기화됩니다.

패키지 구조

프로젝트는 모듈 의존성 지옥을 피하기 위해 계층으로 패키징되어 있습니다:

  • Foundations: 더 큰 것을 만들기 위한 작고 단일 목적의 라이브러리입니다. 이들은 서로 링크할 수 있다면, 오직 서로만 링크해야 합니다.
  • Shared: 애플리케이션이나 확장 프로그램 간에 코드를 공유하기 위한 약간 더 큰 라이브러리입니다. 이 라이브러리에서 너무 커지거나 자체 모듈로 분리하는 것이 좋은 부분은 Foundations로 분리될 수 있습니다. 이들은 오직 Foundations 라이브러리만 링크해야 하며, 각각 CoreCommon을 링크하는 경우는 예외일 수 있습니다.
  • Features: 단일 기능을 포함하는 자체 포함된 라이브러리입니다. 이 라이브러리들은 오직 Shared 또는 Foundations 범주의 라이브러리만 링크해야 합니다. 이들은 애플리케이션, 테스트 또는 확장 프로그램 코드 내에 포함되고 인스턴스화됩니다.

가능하면 LegacyCommon 및 NEHelper에 새 코드/기능을 추가하는 것을 피해야 합니다. 이 패키지들은 점진적으로 분해하여 구성 요소를 위의 세 가지 범주의 새 패키지나 기존 패키지에 배치해야 합니다.

코드 린팅

개발 중에는 swiftlint가 비엄격 모드로 실행되어 코드 형식에 신경 쓰지 않고 더 쉽게 개발할 수 있습니다. CI에서는 린팅이 엄격하며 경고가 있으면 실패합니다. 이 저장소에 코드를 커밋하기 전에 다음 스크립트를 실행하여 pre-commit 훅을 추가하십시오. 이 훅은 모든 새 파일/수정된 파일을 엄격 모드로 검사하여 CI를 통과하지 못할 코드를 커밋하지 못하게 합니다.

./Integration/Scripts/pre_commit_lint.sh setup

지역화

앱은 SwiftGen을 사용하여 표준 Localizable.strings 파일에 저장된 모든 앱 문자열에 접근하기 위한 Localizable.strings 파일을 생성합니다. Strings 패키지에 새 문자열을 추가하고 swiftgen.yml이 정의된 디렉터리에서 swiftgen 명령을 실행하기만 하면 됩니다.

라이선스

이 배포물의 코드와 데이터 파일은 자유 소프트웨어 재단(Free Software Foundation)이 발표한 GPLv3 조건에 따라 라이선스가 부여됩니다. 이 라이선스의 사본은 https://www.gnu.org/licenses/에서 확인하십시오.

Copyright (c) 2025 Proton Technologies AG

도구 다운로드