https://github.com/opa334/SafariPlus
Tweak for iOS App "Safari" - Various enhancements
https://github.com/opa334/SafariPlus
Last synced: 4 months ago
JSON representation
Tweak for iOS App "Safari" - Various enhancements
- Host: GitHub
- URL: https://github.com/opa334/SafariPlus
- Owner: opa334
- License: mit
- Created: 2017-06-03T15:50:40.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-04-03T07:51:59.000Z (11 months ago)
- Last Synced: 2024-08-01T13:36:17.936Z (7 months ago)
- Language: Objective-C++
- Size: 2.28 MB
- Stars: 428
- Watchers: 27
- Forks: 82
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# SafariPlus
Various enhancements to Safari## Features
### Privacy
- Force HTTPS (+ configurable exception sites)- Locked Tabs - Adds a lock switch to every tab inside the tab switcher that, when enabled, prevents the specific tab from being closed until the switch is disabled again
- Biometric Protection - Require TouchID / FaceID verification for switching browsing modes, locking tabs, unlocking tabs or accessing locked tabs
### Uploads & Downloads
- Upload Any File - An additional option to the document sheet that can be used to upload any file on your root file system- Download Manager - Extensive enhancements to the downloading functionality of Safari, check the preference page for more detailed info
### Usability
- Both Link Opening Options - Have both the "Open in Background" option and the "Open in New Tab" option available alongside each other- Open in Opposite Mode Option - Adds an option to open a long pressed URL in the respective other browsing mode
- Desktop Mode Switch - A switch inside the tab switcher that can be used to toggle desktop mode on / off globally
- Tab Manager - An easy way to batch-export, batch-close, and batch-add tabs
- Disable Tab Limit - Disables the default tab limit (varies between devices)
- Always Open Links in New Tab (+ Option to always open in background)
- Disable tab Swiping (Only available on iOS 12 and up)
- Fully Disable Private Browsing
- Insert Suggestion on Long Press - Insert a search suggestion into the URL bar by long pressing it
- Suggestion Insert Button - Insert a search suggestion into the URL bar by pressing a button on the right of it
- Show Tab Count - Shows the tab count on the button that opens the tab switcher
- Fullscreen Scrolling - Hide the top bar when scrolling down
- Lock Bars - Lock the top and buttom bar into place while scrolling
- Show Full Site URL - Always show the full URL in the top bar
- Suppress Mailto Dialog (on iOS 10 and above)
### Actions
- Change Browsing Mode on App Start, App Resume, and when an External Link is Opened- Auto Close Tabs when Safari is Minimized or Closed
- Auto-Clear Browser Data hen Safari is Minimized or Closed
### Gestures
- URL Bar Swipe Left, Right, and Down Gestures- Toolbar Swipe Left, Right, and Up / Down Gestures
- Many available actions to trigger
### Customization
- Color Settings for the Top Toolbar, Bottom Toolbar and the Tab Switcher for both normal and private browsing modes- Change the button order of the Top and Bottom Toolbars and add additional buttons
- Custom Start Site - Change the default favorites view when opening a new tab to a specified URL
- Custom Start Engine - Change the search engine of Safari to any URL
- Custom User Agent - Change the user agent for both mobile and desktop mode
## Compatibilty
Any iOS device running iOS versions 8.0 to 14.8.1 should be supported!## Compiling
You will need the following libraries / frameworks in order to compile Safari Plus:
- [Cephei](https://hbang.github.io/libcephei/)
- [libCSColorPicker](https://github.com/CreatureSurvive/libCSColorPicker)
- [RocketBootstrap](https://github.com/rpetrich/RocketBootstrap/)
To compile the WebContent part of Safari Plus, slightly patched WebKit headers are needed. Running the `get_webkit.sh` script will download and patch them automatically.
There are also some variables you can set when running make:
`SIMJECT=1` to compile Safari Plus for an iOS simulator
`ROOTLESS=1` to compile Safari Plus for rootless jailbreaks
`NO_LIBCOLORPICKER=1` to compile Safari Plus without the Alderis/libCSColorPicker dependecy (color settings will be disabled if this flag is set)
`NO_DEPENDENCIES=1` to compile Safari Plus with all of the above NO_* flags set
`DEBUG_LOGGING=1` to compile a version of Safari Plus that produces some very verbose debug logs related to the Download Manager feature that are stored inside sandbox container/Documents/Logs
## Localization
If you wish to help with localizing the tweak, take the english template from [here](https://github.com/opa334/SafariPlus/blob/master/layout/Library/Application%20Support/SafariPlus.bundle/en.lproj/Localizable.strings) and contact me somewhere with the localized file.