{"id":14032584,"url":"https://github.com/guardianproject/orbot-apple","last_synced_at":"2025-06-22T07:08:02.720Z","repository":{"id":37208576,"uuid":"423859504","full_name":"guardianproject/orbot-apple","owner":"guardianproject","description":"Orbot VPN app for iOS","archived":false,"fork":false,"pushed_at":"2025-06-03T12:36:57.000Z","size":43283,"stargazers_count":237,"open_issues_count":17,"forks_count":39,"subscribers_count":28,"default_branch":"main","last_synced_at":"2025-06-21T03:58:06.621Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guardianproject.png","metadata":{"funding":{"liberapay":"GuardianProject","patreon":"guardianproject","github":["eighthave"]},"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-02T13:42:03.000Z","updated_at":"2025-06-18T08:22:53.000Z","dependencies_parsed_at":"2024-11-19T12:36:44.413Z","dependency_job_id":"578dc4ee-7174-49bb-9d40-47a0b37e55a7","html_url":"https://github.com/guardianproject/orbot-apple","commit_stats":{"total_commits":491,"total_committers":10,"mean_commits":49.1,"dds":"0.15274949083503053","last_synced_commit":"2548fb9201d2b92ddb8cec091f72b47bcaf8e1aa"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/guardianproject/orbot-apple","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guardianproject%2Forbot-apple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guardianproject%2Forbot-apple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guardianproject%2Forbot-apple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guardianproject%2Forbot-apple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guardianproject","download_url":"https://codeload.github.com/guardianproject/orbot-apple/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guardianproject%2Forbot-apple/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261250335,"owners_count":23130544,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-12T00:01:47.887Z","updated_at":"2025-06-22T07:07:57.709Z","avatar_url":"https://github.com/guardianproject.png","language":"Swift","readme":"#  Orbot iOS / macOS\n\nTorifies your iOS / macOS device running iOS 15 or macOS 11 and newer.\n\nFind links to official releases, beta tests etc. here: https://orbot.app/download\n\nProvides a \"VPN\" which tunnels all your device network traffic through Tor.\n\n- Supports Obfs4 and Snowflake bridges, fully configurable.\n- Supports Onion v3 service authentication.\n- Supports Tor's `EntryNodes`, `ExitNodes`, `ExcludeNodes` and `StrictNodes` options.\n- Tor 0.4.8.13\n- OpenSSL 3.4.0\n- Lyrebird 0.5.0 (Obfs4proxy)\n- Snowflake 2.10.1\n- leaf 0.11.0\n\n\n## Build\n\n### Prerequisits:\n- MacOS Sonoma or later\n- Xcode 15 or later\n- [Homebrew](https://brew.sh)\n\n```sh\nbrew install cocoapods bartycrouch fastlane rustup-init automake autoconf libtool gettext cmake\nrustup-init -y\nrustup target add aarch64-apple-ios aarch64-apple-ios-sim x86_64-apple-ios aarch64-apple-darwin x86_64-apple-darwin\ncargo install cbindgen\ngit clone git@github.com:guardianproject/orbot-apple.git\ncd orbot-apple\ngit submodule update --init --recursive\npod update\nleaf-ffi-orbot/build-leaf.sh\nopen Orbot.xcworkspace\n```\n\nConfigure your code signing credentials in [`Config.xcconfig`](Shared/Config.xcconfig)!\n\nYou will need to manually create App IDs, a group ID, and profiles.\n\n[Network Extensions](https://developer.apple.com/documentation/networkextension)\ncan only run on real devices, not in the simulator.\n\n\n## Localization\n\nLocalization is done with [BartyCrouch](https://github.com/Flinesoft/BartyCrouch),\nlicensed under [MIT](https://github.com/Flinesoft/BartyCrouch/blob/main/LICENSE).\n\nJust add new `NSLocalizedStrings` calls to the code. After a build, they will \nautomatically show up in [`Localizable.strings`](Shared/en.lproj/Localizable.strings).\n\nDon't use storyboard and xib file localization. That just messes up everything.\nLocalize these by explicit calls in the code.\n\n\n## IPC / Use with Other Apps\n\nOrbot registers to handle the scheme `orbot` and associates the domain https://orbot.app.\n\nUsing the associated domain is preferred, as it protects against other apps trying \nto hijack the `orbot` scheme and it provides a nice fallback for users who don't \nhave Orbot installed, yet.\n\nThe following URIs are available to interact with Orbot from other apps:\n\n- `https://orbot.app/rc/show` OR `orbot:show` \n  Will just start the Orbot app.\n  \n- `https://orbot.app/rc/start` OR `orbot:start`\n  Will start the Network Extension, if not already started. \n  (NOTE: There's no \"stop\" for security reasons!)\n\n- `https://orbot.app/rc/show/settings` OR `orbot:show/settings`\n  Will show the `SettingsViewController`, where users can edit their Tor configuration.\n\n- `https://orbot.app/rc/show/bridges` OR `orbot:show/bridges`\n  Will show the `BridgeConfViewController`, where users can change their bridge configuration.\n\n- `https://orbot.app/rc/show/auth` OR `orbot:show/auth`\n  Will show the `AuthViewController`, where users can edit their v3 onion service authentication tokens.\n\n- `https://orbot.app/rc/add/auth?url=http%3A%2F%2Fexample23472834zasd.onion\u0026key=12345678examplekey12345678`\n  OR `orbot:add/auth?url=http%3A%2F%2Fexample23472834zasd.onion\u0026key=12345678examplekey12345678`\n  Will show the `AuthViewController`, which will display a prefilled \"Add\" dialog.\n  The user can then add that auth key.\n  You don't need to provide all pieces. E.g. for the URL the second-level domain would be enough.\n  Orbot will do its best to sanitize the arguments.\n  \nYou can call these URIs like this:\n\n```swift\n\tUIApplication.shared.open(URL(string: \"https://orbot.app/rc/start\")!)\n```\n\n\n## Direct Dependencies\n\n- [leaf](https://github.com/eycorsican/leaf), licensed under [Apache 2.0](https://github.com/eycorsican/leaf/blob/master/LICENSE)\n- [Tor.framework](https://github.com/iCepa/Tor.framework), licensed under [MIT](https://github.com/iCepa/Tor.framework/blob/master/LICENSE)\n- [IPtProxyUI](https://github.com/tladesignz/IPtProxyUI-ios), licensed under [MIT](https://github.com/tladesignz/IPtProxyUI-ios/blob/master/LICENSE)\n- [ReachabilitySwift](https://github.com/ashleymills/Reachability.swift), licensed under [MIT](https://github.com/ashleymills/Reachability.swift/blob/master/LICENSE)\n- [Eureka](https://github.com/xmartlabs/Eureka), licensed under [MIT](https://github.com/xmartlabs/Eureka/blob/master/LICENSE)\n\n\n## Acknowledgements\n\nThese people helped with translations. Thank you so much, folks!\n\n- French: \n  yahoe.001, Guirlandia\n\n- Russian:\n  ViktorOnlin, ktchr, Ifti, Pihjun, ZiPERR, anm, dianazryn, foxing29, keelzhanke,\n  neocaching, sloncocs, userNameIsBoris, emedvedev, ktchr\n\n- Spanish:\n  Fabiola.mauriceh, Aetheria, Fitoschido, Maria_Jose, NorwegianFox, cacu, kodachi,\n  lenazun, m_rey, nosense, strel, supermigue2000, vareli, zakooch, Elos, antonela_,\n  arielbarbosa, emmapeel\n\n- Ukrainian:\n  Kataphan, Herenko, MykolaBubelich, Pihjun, gr3ttle, lyubomyr\n\n- Arabic:\n  AboShanab, BNasr, Bild96, Hujairi, Israel.K, LU_er, MissPeace, Souffex, \n  ahmedessamdev, nouribram, zer0x, mada19\n\n- Croatian:\n  paranatox, tomislav.capan, milotype\n  \n- Spanish (Cuba)\n  raulitopatry, kata91\n  \n- Portuguese (Brazil)\n  Bk__13, CRCF, CypherZnnb, MarvinSilc, cauan_zorzenon, darkcrystal, eduaddadbr, \n  leovasone, rdd15, shazaum, vic.toria, vmattos, Communia, nopum\n\n\n## Tech Stuff\n\nFigma template used to create rounded MacOS icons:\nhttps://www.figma.com/community/file/857303226040719059\n\n### How to use experimental Onionmasq/Arti\n- Change the reference to Tor in the Podfile to `Tor/Onionmasq` and use the `:git` master or download \n  into another directory and reference that. Run `pod update` after that.\n- Change the key `NSExtensionPrincipalClass` from `$(PRODUCT_MODULE_NAME).LeafPTProvider` \n  to `$(PRODUCT_MODULE_NAME).OnionmasqPTProvider` in `TorVPN/Info.plist` and/or `TorVPN Mac/Info.plist`.\n- Configure your code signing credentials in [`Config.xcconfig`](Shared/Config.xcconfig).\n\n=\u003e You should be good to go. \n\nLook out for `USE_ONIONMASQ` references in the code: there you'll find the \nspecial handling necessary for Onionmasq.\n\nNOTE: No bridge support, yet! iOS 50 MB memory limit might crash Onionmasq. \nThere's no limit on macOS. \n\n\n## Further reading\n\nhttps://tordev.guardianproject.info\n\n\n## Author, License\n\nBenjamin Erhart, [Die Netzarchitekten e.U.](https://die.netzarchitekten.com)\n\nUnder the authority of [Guardian Project](https://guardianproject.info)\nwith friendly support from [The Tor Project](https://torproject.org).\n\nLicensed under [MIT](LICENSE).\n\nArtwork taken from [Orbot Android](https://github.com/guardianproject/orbot),\nlicensed under [BSD-3](https://github.com/guardianproject/orbot/blob/master/LICENSE).\n","funding_links":["https://liberapay.com/GuardianProject","https://patreon.com/guardianproject","https://github.com/sponsors/eighthave"],"categories":["The Awesome List","Security"],"sub_categories":["Utilities","RSS"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguardianproject%2Forbot-apple","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguardianproject%2Forbot-apple","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguardianproject%2Forbot-apple/lists"}