Awesome
<!-- [![donate button](https://img.shields.io/badge/$-donate-ff69b4.svg?maxAge=2592000&style=flat)](https://github.com/haxpor/donate) -->iShadowsocksR
公告
iShadowsocksR 已经支持新协议 overTLS.
目前支持 SSRoT 特性 的 iOS 客户端 已经开发完毕, 出于种种原因不能释出。
身在大陆以外的苹果软件开发者, 可以 将此 App 编译成 ipa 文件后电邮发送至 ssrlivebox@gmail.com
——虽然机率极小,也不能放弃希望不是? ——作者会将该文件放在这里供用户下载. 然后通过 AltStore 安装到用户的(非越狱)手机里, 就可以使用了.
Important
Please read this first before you do anything with this project.
In short, you need to respect to license of the project. You cannot copy the source code and publish to App Store.
What is it?
iShadowsocksR is an iOS client that implements custom proxies with the leverage of Network Extension framework introduced by Apple since iOS 9.
Currently, iShadowsocksR is compatible with following proxies:
Subscribe Telegram Channel to get updates of Potatso.
Join Telegram Group to chat with users.
Original Author: @icodesign
Swift 3 Maintainer: @haxpor with this site
Current Maintainer: @ssrlive
Project Info
iShadowsocksR has in total 25 (2 as submodules dependencies as used as local file in Cocoapod) dependencies as following
- 15 Cocoapod dependencies
- 10 submodules dependencies
The project is tested with Xcode 14.3 (14E222b)
on iOS 16.4.1 (20E252)
device with cocoapod version 1.12.1
+.
If you experienced an expected issue, try to use those versions, if still experience the problem please file the issue.
Compilation environment
- macOS Ventura 13.3.1 (22E261)
- Xcode Version 14.3 (14E222b)
Install Rust build tools to support compiling overTLS
- Install Xcode Command Line Tools:
xcode-select --install
- Install Rust programming language:
curl https://sh.rustup.rs -sSf | sh
- Install iOS target support:
rustup target add aarch64-apple-ios aarch64-apple-ios-sim x86_64-apple-ios
- Install
cbindgen
tool:cargo install cbindgen
How to Build
Perform the following steps to be able to build the project.
Be warned that you should not call pod update
as newer version of pod frameworks that iShadowsocksR depends on might break building process and there will be errors.
git clone --recurse-submodules https://github.com/ShadowsocksR-Live/iShadowsocksR.git
cd iShadowsocksR
sudo gem install cocoapods
pod install # pull down dependencies into our project
Then open iShadowsocksR.xcworkspace
with Xcode
to Build and Run the project. Done.
Troubleshooting
-
If you are a China mainland developer, maybe you should set your git with proxy, such as SOCKS5 etc., or you can not pull some submodules because of
GFW
. Like this:# Enable Proxy settings git config --global http.proxy socks5://127.0.0.1:1080 git config --global https.proxy socks5://127.0.0.1:1080 # Disable Proxy settings git config --global --unset-all http.proxy git config --global --unset-all https.proxy
-
You must have an Apple Developer account with an annual fee of $99.
-
To compile the app running on your iOS device smoothly, you must search the project for the
com.ssrlive.issr
identifier string and replace it with your own identifier string. -
Build apple iOS/macOS xcframework: see overtls for more details.
cd overtls ./build-apple.sh
-
If you meet lots of compiling errors such as
ld: file not found: /.../libarclite_iphoneos.a
, please change all of iOS deployment target fromiOS 8.0
toiOS 11.0
or above. like this:
How To Contribute
Clone the project, make some changes or add a new feature, then make a pull request.
Acknowlegements
We use the following services or open-source libraries. So we'd like show them highest respect and thank for bringing those great projects:
Services
Open-source Libraries
- overtls
- Shadowsocksr-native
- KissXML
- MMWormhole
- CocoaAsyncSocket
- Cartography
- AsyncSwift
- Appirater
- Eureka
- MBProgressHUD
- CallbackURLKit
- ISO8601DateFormatter
- Alamofire
- ObjectMapper
- CocoaLumberjack
- AlamofireObjectMapper
- YAML.framework
- tun2socks-iOS
- shadowsocks-libev
- Antinat
- Privoxy
Also we'd like to thank people that helped with the project
- @Blankwonder
- @龙七
- @haxpor
- TestFlight Users and Telegram Group users.
Donate
Notice
Read more from here.
Support Us
The development covers a lot of complicated work, costing not only money but also time. These are the way to support
- Download Potatso from Apple Store. (Recommended)
- Donate with Alipay to original author. (Account: leewongstudio.com@gmail.com)
- Donate to swift3 maintainer (WeChat: http://imgur.com/lsAao62, or PayPal: haxpor@gmail.com)
License
You cannot just copy the project, and publish to App Store. Please read this first.
--
To be compatible with those libraries using GPL, we're distributing with GPLv3 license.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.