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.
中文版编译教程请参考: 构建自己的iOS网络代理客户端,可能遇到的问题及解决方案请参考: 构建Potatso问题集锦及解决方案。
If you already have pod
command, please skip this step.
- update gem:
sudo gem update --system
; - install Cocospods:
sudo gem install cocoapods
.
- clone the repo:
git clone https://github.com/tlanyan/Potatso.git
; - init submodules:
cd Potatso; git submodule update --init
; - install Pod dependencies:
pod install --verbose
; - open the project with Xcode, and change the Bundle ID of targets: "Potatso", "packetTunnel" and "TodayWidget";
- change the app group ID of targets mentioned above;
- Open "PotatsoBase/Potatso.m", modify the return value of function
shareGroupIdentifier
to your group ID; - connect your iOS device to the computer, click "Build and run".
Potatso is an iOS client that implements custom proxies with the leverage of Network Extension framework introduced by Apple since iOS 9.
Currently, Potatso is compatible with following proxies:
Subscribe Telegram Channel to get updates of Potatso.
Join Telegram Group to chat with users.
Original Author: @icodesign
Swift 4 Maintainer: @haxpor
Potatso has in total 26 dependencies as following
- 20 Cocoapod dependencies
- 4 submodules dependencies via local cocoapod
The project is tested with Xcode 9.4 (9F1027a)
on iOS 11.4 (15F79)
device with cocoapod version 1.4.0
+.
If you experienced an expected issue, try to use those versions, if still experience the problem please file the issue.
The project will be further reduced for its dependencies.
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 Potatso depends on might break building process and there will be errors.
git clone https://github.com/haxpor/Potatso.git
or for faster using less time in cloninggit clone https://github.com/haxpor/Potatso.git --depth=1
cd Potatso
git submodule update --init
to update git submodulepod install
to pull down dependencies into our project- Open
Potatso.xcworkspace
then Build and Run the project. Done.
First two steps are clearly listed here as per #89; if you download project as zip via Github web interface it will not have enough information to pull down required gitsubmodule, and step 3 will have error. So make sure you clone via command line, or using any git client application before proceeding.
Clone the project, make some changes or add a new feature, then make a pull request.
We use the following services or open-source libraries. So we'd like show them highest respect and thank for bringing those great projects:
- KissXML
- MMWormhole
- CocoaAsyncSocket
- Cartography
- AsyncSwift
- Appirater
- Eureka
- MBProgressHUD
- CallbackURLKit
- ISO8601DateFormatter
- Alamofire
- ObjectMapper
- CocoaLumberjack
- AlamofireObjectMapper
- YAML.framework
- tun2socks-iOS
- shadowsocks-libev
- Antinat
- Privoxy
- @Blankwonder
- @龙七
- @haxpor
- TestFlight Users and Telegram Group users.
Potatso 2 was released on App Store
You can purchase it from App Store, or still use Potatso by building it manually and installing to your device from this project.
Please note that Potatso 2 will be closed-source as stated from original author's reason. Read more from here.
The development covers a lot of complicated work, costing not only money but also time. These are the way to support
- Download Potatso 2 from Apple Store. (Recommended)
- Donate with Alipay to original author. (Account: [email protected])
- Donate to swift4 maintainer (WeChat: http://imgur.com/lsAao62, or PayPal: [email protected])
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/.