GithubHelp home page GithubHelp logo

trred7 / orbot-apple Goto Github PK

View Code? Open in Web Editor NEW

This project forked from guardianproject/orbot-apple

0.0 0.0 0.0 38.81 MB

Orbot VPN app for iOS

License: MIT License

Shell 1.75% Ruby 1.79% Objective-C 0.70% Swift 95.76%

orbot-apple's Introduction

Orbot iOS / macOS

Torifies your iOS / macOS device running iOS 15 or macOS 11 and newer.

Find links to official releases, beta tests etc. here: https://orbot.app/download

Provides a "VPN" which tunnels all your device network traffic through Tor.

  • Supports Obfs4 and Snowflake bridges, fully configurable.
  • Supports Onion v3 service authentication.
  • Supports Tor's EntryNodes, ExitNodes, ExcludeNodes and StrictNodes options.
  • Tor 0.4.7.12
  • OpenSSL 1.1.1s
  • Obfs4proxy 0.0.14
  • Snowflake 2.3.1

Build

Prerequisits:

  • MacOS Big Sur or later
  • Xcode 13 or later
  • Homebrew
brew install cocoapods bartycrouch fastlane rustup-init automake autoconf libtool gettext
rustup-init -y
rustup target add aarch64-apple-ios aarch64-apple-ios-sim x86_64-apple-ios aarch64-apple-darwin x86_64-apple-darwin
cargo install cbindgen
git clone [email protected]:guardianproject/orbot-ios.git
cd orbot-ios
git submodule update --init --recursive
pod update
leaf-ffi-orbot/build-leaf.sh
open Orbot.xcworkspace

Configure your code signing credentials in Config.xcconfig!

You will need to manually create App IDs, a group ID, and profiles.

Network Extensions can only run on real devices, not in the simulator.

Localization

Localization is done with BartyCrouch, licensed under MIT.

Just add new NSLocalizedStrings calls to the code. After a build, they will automatically show up in Localizable.strings.

Don't use storyboard and xib file localization. That just messes up everything. Localize these by explicit calls in the code.

IPC / Use with Other Apps

Orbot registers to handle the scheme orbot and associates the domain https://orbot.app.

Using the associated domain is preferred, as it protects against other apps trying to hijack the orbot scheme and it provides a nice fallback for users who don't have Orbot installed, yet.

The following URIs are available to interact with Orbot from other apps:

  • https://orbot.app/rc/show OR orbot:show Will just start the Orbot app.

  • https://orbot.app/rc/start OR orbot:start Will start the Network Extension, if not already started. (NOTE: There's no "stop" for security reasons!)

  • https://orbot.app/rc/show/settings OR orbot:show/settings Will show the SettingsViewController, where users can edit their Tor configuration.

  • https://orbot.app/rc/show/bridges OR orbot:show/bridges Will show the BridgeConfViewController, where users can change their bridge configuration.

  • https://orbot.app/rc/show/auth OR orbot:show/auth Will show the AuthViewController, where users can edit their v3 onion service authentication tokens.

  • https://orbot.app/rc/add/auth?url=http%3A%2F%2Fexample23472834zasd.onion&key=12345678examplekey12345678 OR orbot:add/auth?url=http%3A%2F%2Fexample23472834zasd.onion&key=12345678examplekey12345678 Will show the AuthViewController, which will display a prefilled "Add" dialog. The user can then add that auth key. You don't need to provide all pieces. E.g. for the URL the second-level domain would be enough. Orbot will do its best to sanitize the arguments.

You can call these URIs like this:

	UIApplication.shared.open(URL(string: "https://orbot.app/rc/start")!)

Direct Dependencies

Acknowledgements

These people helped with translations. Thank you so much, folks!

  • French: yahoe.001
  • Russian: ViktorOnlin, ktchr
  • Spanish: Fabiola.mauriceh
  • Ukrainian: Kataphan

Tech Stuff

Figma template used to create rounded MacOS icons: https://www.figma.com/community/file/857303226040719059

Author, License

Benjamin Erhart, Die Netzarchitekten e.U.

Under the authority of Guardian Project with friendly support from The Tor Project.

Licensed under MIT.

Artwork taken from Orbot Android, licensed under BSD-3.

orbot-apple's People

Contributors

tladesignz avatar conradev avatar chrisballinger avatar fredericjacobs avatar johnantoni avatar mtigas avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.