kyzmitch / Cotton

web browser for iOS/Android with DNS over HTTPS and file downloader
Other
5 stars 0 forks source link

Cotton - web browser for iOS

Cotton - web browser for iOS & Android

Features

Building the code

Environment

Steps

Make commands

If you have everything installed, then use make help to see how to build cotton-base which is needed for Xcode project, if no, then do the following steps

Full clear setup

CottonBase common dependency

for iOS client
for Android client
  1. if you use Terminal run make build-cotton-base-android-release
  2. if you use IntelliJ IDEA run cotton-base [publishAndroidDebugPublicationToMavenLocal] Gradle task

Open catowserAndroid folder using Android Studio after that.

Design documents

Private repo https://github.com/kyzmitch/CatowserEvolution

Dependencies

SwiftSoup

Used to parse HTML content of the loaded web pages to extract video tags and other info. https://github.com/scinfu/SwiftSoup

Alamofire

Used as current transport for the REST calls. Can be replaced easily with something else. https://github.com/Alamofire/Alamofire

ReactiveSwift

Used to be main API for async source code. Some places are already migrated to Combine or Concurrency, but not all. It is possible to change currently used Async API. https://github.com/ReactiveCocoa/ReactiveSwift

SWXMLHash

Used to parse OpenSearch XML files which described search plugins. To be able to extend currently used search providers by including new XML files. https://github.com/drmohundro/SWXMLHash

AlamofireImage

Used to download favicons for the web sites. https://github.com/Alamofire/AlamofireImage

SwiftLint

Compile/Run time checks for Swift source code. https://github.com/realm/SwiftLint

Sourcery

Used to generate simple mocks. Can't be used for the Swift protocols with associated types. https://github.com/krzysztofzablocki/Sourcery

SwiftyMocky

Used to generate complex mocks for the types and Swift protocols with associated types and constraints. https://github.com/MakeAWishFoundation/SwiftyMocky