All Projects → ivpn → Ios App

ivpn / Ios App

Licence: gpl-3.0
Official IVPN iOS app

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Ios App

Wireguard Install
WireGuard VPN server installer
Stars: ✭ 616 (+592.13%)
Mutual labels:  vpn, privacy
Pritunl Client Electron
Pritunl OpenVPN client
Stars: ✭ 772 (+767.42%)
Mutual labels:  vpn, vpn-client
Openconnect
OpenConnect client extended to support Palo Alto Networks' GlobalProtect VPN
Stars: ✭ 654 (+634.83%)
Mutual labels:  vpn, vpn-client
Openvpn3
OpenVPN 3 is a C++ class library that implements the functionality of an OpenVPN client, and is protocol-compatible with the OpenVPN 2.x branch.
Stars: ✭ 510 (+473.03%)
Mutual labels:  vpn, vpn-client
Vpn At Home
1-click, self-hosted deployment of OpenVPN with DNS ad blocking sinkhole
Stars: ✭ 1,106 (+1142.7%)
Mutual labels:  vpn, privacy
Dsvpn
A Dead Simple VPN.
Stars: ✭ 4,894 (+5398.88%)
Mutual labels:  vpn, privacy
Node
Mysterium Network Node - official implementation of distributed VPN network (dVPN) protocol
Stars: ✭ 681 (+665.17%)
Mutual labels:  vpn, vpn-client
Docker Ipsec Vpn Server
Docker image to run an IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2
Stars: ✭ 4,356 (+4794.38%)
Mutual labels:  vpn, vpn-client
Fem
Blokada 5 for Android and iOS (repo moved).
Stars: ✭ 57 (-35.96%)
Mutual labels:  vpn, privacy
Gof5
Open Source F5 BIG-IP VPN client for Linux, MacOS, FreeBSD and Windows
Stars: ✭ 47 (-47.19%)
Mutual labels:  vpn, vpn-client
Easy Wg Quick
Creates Wireguard configuration for hub and peers with ease
Stars: ✭ 502 (+464.04%)
Mutual labels:  vpn, privacy
Tunnel Apple
Private Internet Access - Tunnel for Apple platforms
Stars: ✭ 69 (-22.47%)
Mutual labels:  vpn, vpn-client
Wireguard Manager
Self-hosted Wireguard Installer / Manager for CentOS, Debian, Ubuntu, Arch, Fedora, Redhat, Raspbian
Stars: ✭ 478 (+437.08%)
Mutual labels:  vpn, privacy
Openpyn Nordvpn
Easily connect to and switch between, OpenVPN servers hosted by NordVPN on Linux (+patch leakes)
Stars: ✭ 544 (+511.24%)
Mutual labels:  vpn, privacy
Algo
Set up a personal VPN in the cloud
Stars: ✭ 24,275 (+27175.28%)
Mutual labels:  vpn, vpn-client
Aws Vpn Server Setup
Setup your own private, secure, free* VPN on the Amazon AWS Cloud in 10 minutes. CloudFormation
Stars: ✭ 672 (+655.06%)
Mutual labels:  vpn, vpn-client
Macosvpn
🔧 Create macOS VPNs programmatically (L2TP & Cisco)
Stars: ✭ 348 (+291.01%)
Mutual labels:  vpn, vpn-client
Fanqiang Vpn.github.io
2021年 中国翻墙软件、VPN推荐指南,对比VPS搭建梯子、SSR机场、蓝灯、WireGuard、V2ray、老王VPN等科学上网软件与翻墙方法,中国最新科学上网翻墙VPN梯子下载推荐,稳定好用。
Stars: ✭ 390 (+338.2%)
Mutual labels:  vpn, vpn-client
Subnet
Simple, auditable & elegant VPN, built with TLS mutual authentication and TUN.
Stars: ✭ 1,040 (+1068.54%)
Mutual labels:  vpn, vpn-client
Strongswan
strongSwan - IPsec-based VPN
Stars: ✭ 1,112 (+1149.44%)
Mutual labels:  vpn, vpn-client

IVPN for iOS

CI SwiftLint Lint Code Base

IVPN for iOS is a native app built using Swift language. Some of the features include: multiple protocols (IKEv2, OpenVPN, WireGuard), Kill-switch, Multi-Hop, Trusted Networks, AntiTracker, Custom DNS, Dark mode and more.
IVPN iOS app is distributed on the App Store.

About this Repo

This is the official Git repo of the IVPN for iOS project.

Installation

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Requirements

  • iOS 12.0+
  • Xcode 11.0+
  • Swift 5.0+
  • Git (preinstalled with Xcode Command Line Tools)
  • Ruby (preinstalled with macOS)
  • CocoaPods 1.10.0+
  • fastlane 2.137.0+
  • Go 1.15+

Dev dependencies

Project dev dependencies:

Install CocoaPods:

$ sudo gem install cocoapods

Install fastlane, SwiftLint and Go:

$ brew install fastlane swiftlint go

Dependencies

Dependencies are installed with CocoaPods.
WireGuard static library is compiled at Xcode build phase from implementation of WireGuard in Go.

Project dependencies:

To pull and build dependencies run:

$ pod install  
$ open IVPNClient.xcworkspace  

Xcode build configurations

There are different build configurations: Staging and Release.

Rename and populate .xcconfig files:

$ cp IVPNClient/Config/staging.template.xcconfig IVPNClient/Config/staging.xcconfig  
$ cp IVPNClient/Config/release.template.xcconfig IVPNClient/Config/release.xcconfig  
$ cp wireguard-tunnel-provider/Config/wg-staging.template.xcconfig wireguard-tunnel-provider/Config/wg-staging.xcconfig   
$ cp wireguard-tunnel-provider/Config/wg-release.template.xcconfig wireguard-tunnel-provider/Config/wg-release.xcconfig  
$ cp today-extension/Config/today-extension-staging.template.xcconfig today-extension/Config/today-extension-staging.xcconfig  
$ cp today-extension/Config/today-extension-release.template.xcconfig today-extension/Config/today-extension-release.xcconfig   

OpenVPN configuration

Rename and populate OpenVPNConf.swift file:

$ cp IVPNClient/Config/OpenVPNConf.template.swift IVPNClient/Config/OpenVPNConf.swift

Fastlane configuration

Rename and populate Appfile files:

$ cp fastlane/Appfile.template fastlane/Appfile

Testing

Run code linter using fastlane:

$ fastlane lint

Run tests using fastlane:

$ fastlane test

Alternatively, run tests using xcodebuild:

$ xcodebuild test -workspace IVPNClient.xcworkspace -scheme IVPNClient -destination 'platform=iOS Simulator,name=iPhone 11 Pro'

Deployment

To build and deploy beta build to TestFlight:

$ fastlane beta

To build and deploy staging build to TestFlight:

$ fastlane staging

To build and deploy App Store release build to TestFlight:

$ fastlane release

Versioning

Project is using Semantic Versioning (SemVer) for creating release versions.

SemVer is a 3-component system in the format of x.y.z where:

x stands for a major version
y stands for a minor version
z stands for a patch

So we have: Major.Minor.Patch

Contributing

If you are interested in contributing to IVPN for iOS project, please read our Contributing Guidelines.

Security Policy

If you want to report a security problem, please read our Security Policy.

License

This project is licensed under the GPLv3 - see the License file for details.

Authors

See the Authors file for the list of contributors who participated in this project.

Acknowledgements

See the Acknowledgements file for the list of third party libraries used in this project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].