GithubHelp home page GithubHelp logo

ja7423 / ishadowsocksr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from shadowsocksr-live/ishadowsocksr

1.0 0.0 0.0 29.13 MB

ShadowsocksR (SSRoT) client for iOS

License: GNU General Public License v3.0

Ruby 0.08% C 85.43% Objective-C 7.73% Swift 6.77%

ishadowsocksr's Introduction

GPLv3 License

iShadowsocksR

公告

iShadowsocksR 已经支持新协议 overTLS.

目前支持 SSRoT 特性 的 iOS 客户端 已经开发完毕, 出于种种原因不能释出。

Screen Shot 2020-05-22 at 18 14 21

身在大陆以外的苹果软件开发者, 可以 将此 App 编译成 ipa 文件后电邮发送至 [email protected] ——虽然机率极小,也不能放弃希望不是? ——作者会将该文件放在这里供用户下载. 然后通过 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.

  • Due to an unknown reason at present, compiling Rust code from Xcode fails, so you have to manually compile it. Please run the following command in zsh (or bash):

    cd overtls/overtls-rs
    
    cargo build --release --target aarch64-apple-ios
    cargo build --release --target x86_64-apple-ios
    lipo -create target/aarch64-apple-ios/release/libovertls.a target/x86_64-apple-ios/release/libovertls.a -output target/libovertls.a
    cbindgen --config cbindgen.toml -l C -o target/overtls-ios.h
    
  • If you meet lots of compiling errors such as ld: file not found: /.../libarclite_iphoneos.a, please change all of iOS deployment target from iOS 8.0 to iOS 11.0 or above. like this: image

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

Also we'd like to thank people that helped with the project

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

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/.

ishadowsocksr's People

Contributors

ssrlive avatar haxpor avatar icodesign avatar so898 avatar willbin avatar yousong avatar alsojin0806 avatar youngsing avatar

Stargazers

 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.