All Projects → iCepa → Icepa

iCepa / Icepa

Licence: mit
iOS system-wide VPN based Tor client

Programming Languages

swift
15916 projects
rust
11053 projects

Projects that are alternatives of or similar to Icepa

Example Ios Apps
 A curated list of Open Source example iOS apps developed in Swift. An amazing list for people who are beginners and learning ios development and for ios developers who need any example app or feature.
Stars: ✭ 461 (-11.18%)
Mutual labels:  ios-app, apple, xcode
Stompclientlib
Simple STOMP Client library, Swift 3 and 4, 4.2, 5 compatible
Stars: ✭ 99 (-80.92%)
Mutual labels:  ios-app, apple, xcode
SampleResearchKit
A sample app for Apple's ResearchKit
Stars: ✭ 14 (-97.3%)
Mutual labels:  apple, ios-app
Thoughtless
An iOS app that lets user quickly jot down thoughts with Markdown support
Stars: ✭ 24 (-95.38%)
Mutual labels:  apple, ios-app
ruantiblock
Использование tor или VPN для доступа к заблокированным сайтам
Stars: ✭ 20 (-96.15%)
Mutual labels:  tor, vpn
auto-change-tor-ip
Automatically change tor ip address over time when accessing the internet. Make it private and safe for you
Stars: ✭ 29 (-94.41%)
Mutual labels:  tor, vpn
ip2proxy-nodejs
IP2Proxy Node.js module allows users to query an IP address to determine if it was being used as open proxy, web proxy, VPN anonymizer and TOR exits.
Stars: ✭ 35 (-93.26%)
Mutual labels:  tor, vpn
awesome-ios-developer
List of awesome iOS & Swift stuff!!
Stars: ✭ 586 (+12.91%)
Mutual labels:  apple, ios-app
ip2proxy-java
IP2Proxy Java Component.It can be used to find the IP addresses which are used as VPN anonymizer, open proxies, web proxies and Tor exits.
Stars: ✭ 16 (-96.92%)
Mutual labels:  tor, vpn
Xresign
XReSign - developer tool to sign or resign iOS app (.ipa) files with a digital certificate from Apple.
Stars: ✭ 277 (-46.63%)
Mutual labels:  apple, xcode
Swiftui Charts
🚀 SwiftUI Charts with custom styles
Stars: ✭ 272 (-47.59%)
Mutual labels:  apple, xcode
Ios Open Gpx Tracker
GPS Tracker app for iOS + WatchOS. Log your tracks without limits and share them; Open source GPX tracker app written in Swift
Stars: ✭ 344 (-33.72%)
Mutual labels:  ios-app, xcode
MoneyPlus
An open-source app which can help you record income and expense.一款开源的、帮助你记录收支的APP。
Stars: ✭ 29 (-94.41%)
Mutual labels:  apple, ios-app
Meme-Maker-iOS
Meme Maker open source iOS app made in Swift.
Stars: ✭ 59 (-88.63%)
Mutual labels:  apple, ios-app
Awesome Privacy
💡Limiting personal data leaks on the internet
Stars: ✭ 488 (-5.97%)
Mutual labels:  vpn, tor
woodpecker
Custom security distro for remote penetration testing
Stars: ✭ 45 (-91.33%)
Mutual labels:  tor, vpn
Pomosh-iOS-watchOS
🍅Pomosh is your next awesome Pomodoro Technique assistant on 📱iOS and ⌚️ WatchOS 🙌. It's native and lightweight. Uses SwiftUI. has a nice tomato icon and also ready for macOS too🔥
Stars: ✭ 50 (-90.37%)
Mutual labels:  apple, ios-app
ip2proxy-python
Python library for IP2Proxy database lookup. It can be used to find the IP addresses which are used as VPN anonymizer, open proxies, web proxies and Tor exits.
Stars: ✭ 19 (-96.34%)
Mutual labels:  tor, vpn
ZudVPN
A mobile application to deploy private VPN servers in the cloud with DNS ad-blocking and other features
Stars: ✭ 119 (-77.07%)
Mutual labels:  ios-app, vpn
Sketch Ios Library
💎 A library of iOS styles replicated in Sketch to speed up your workflow.
Stars: ✭ 264 (-49.13%)
Mutual labels:  apple, xcode

iCepa

Travis CI

iCepa is an iOS system-wide VPN Tor client. It uses Tor.framework to manage its Tor instance, and tun2tor to bridge VPN traffic to Tor.

The project is in progress, and currently alpha-quality.

Requirements

  • iOS 10 or later

  • Xcode 8 or later

  • Rust

  • Carthage

  • Homebrew or MacPorts (optional but no fun without)

  • An iOS device (Simulator will not work, due to lack of support of Network Extensions!)

  • A paid Apple Developer account (The free account is not enough for the Network Extension!)

Prepare signing

  • You need to pick 3 unique identifiers. (as in: unique in the whole App Store!) Follow the pattern as per the examples:

    1. A bundle ID (com.example.iCepa)
    2. An extension bundle ID (com.example.iCepa.extension)
    3. A group ID (group.com.example.iCepa)
  • Before ever touching the project configuration, update iCepa-iOS.xcconfig with these. Xcode will mess up your configuration, otherwise.

  • Automatic signing will not work, instead it requires some manual set up in Apple's developer portal:

    1. Use your unique bundle ID (com.example.iCepa) and generate an App ID for it.
    2. Use your unique extension bundle ID (com.example.iCepa.extension), and generate an App ID for that, too.
    3. Create an App Group (group.com.example.iCepa), and enable that App Group on both of the App IDs that you just created.
    4. Check the Network Extensions checkbox on both of the App IDs.
    5. Create two new development Provisioning Profiles, one for each App ID.
  • Load the provisioning profiles into Xcode using Xcode -> Preferences -> Accounts -> [Your Apple-ID] -> Download All Profiles

Building

  1. Acquire both dependencies using Git:

    git submodule update --init --recursive
    
  2. Because the network extension depends on tun2tor, you will need Rust installed. You can install it using rustup:

    curl https://sh.rustup.rs -sSf | sh
    

    or using Homebrew:

    brew install rustup-init
    rustup-init
    

    then, in both cases:

    rustup install stable
    rustup target add aarch64-apple-ios
    rustup target add armv7-apple-ios
    

    If set up correctly tun2tor will be built during Xcode's app build. (There's a script tun2tor.sh contained doing that, which is hooked into the Xcode build process.)

    Since you will need the cross-compilation features of Rust, don't bother trying to install Rust directly from Homebrew: You won't be able to install additional architecture targets.

  3. iCepa also depends on Tor.framework, which you have to build once using Carthage:

    brew install automake autoconf libtool gettext carthage
    carthage build --platform iOS
    
  4. iCepa should now build normally from Xcode. If it does not, please file an issue! iCepa does not work in the iOS Simulator.

Contributing

iCepa is separated into two components:

  • The UI is written in Swift, and provides a basic interface to start, stop and configure the Tor network extension.
  • The network extension itself is also written in Swift, and bridges traffic to Tor using an NEPacketTunnelProvider and tun2tor. An NEPacketTunnelProvider is analogous to a utun (userspace network tunnel) interface.

Tor.framework is used to communicate with and start the tor instance from both the app and the extension.

Things that need work:

  • tun2tor.
  • The UI. The main focus is the control screen which will have controls to start/stop and information about the connection. Taking mockups/pull requests for either! Create Github issues for now.
  • There is no icon or any branding (the name is not even final).
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].