Davide De Rosa
f3e6c34bd1
Customize block on passphrase input cancellation
...
Do not delete .ovpn file when importing from iTunes.
2019-03-25 20:33:17 +01:00
Davide De Rosa
8f0e28e315
Forward input passphrase to parser
2019-03-25 20:33:17 +01:00
Davide De Rosa
dc81356b31
Retry import after passphrase input
...
Isolate .ovpn parsing routines.
- AppDelegate (external URL)
- ImportedHosts
Only delete URL if error is not encryption passphrase.
2019-03-25 20:33:07 +01:00
Davide De Rosa
34fc10eef8
Split guidance and referral footers
...
Handle tap per footer.
2019-03-25 20:26:03 +01:00
Davide De Rosa
54f7779c45
Add Mullvad provider
2019-03-22 19:29:55 +01:00
Davide De Rosa
8a855bf538
Show app version in About cell
2019-03-22 19:29:15 +01:00
Davide De Rosa
3b5207dc8f
Better reconnect than disconnect
2019-03-22 19:25:12 +01:00
Davide De Rosa
c45e741750
Disconnect on masking change
...
To ensure that the stale log is erased immediately.
2019-03-22 19:23:32 +01:00
Davide De Rosa
fdc3869d29
Move baseVPNConfiguration to TransientStore
...
Simplifies configuration update.
2019-03-22 19:09:52 +01:00
Davide De Rosa
c391663d11
Persist masking flag
2019-03-22 19:09:52 +01:00
Davide De Rosa
e4c1ea4def
Delete log on masking change
...
It may contain stale and either sensitive or irrelevant data.
2019-03-22 18:54:54 +01:00
Davide De Rosa
96f5210c7c
Control debug masking via diagnostics
...
Be clear about NOT logging any sensitive data. In fact, the
variable name masksPrivateData is potentially misleading.
2019-03-22 18:54:54 +01:00
Davide De Rosa
fa6f9b9ff9
Bump minor version
2019-03-22 18:46:04 +01:00
Davide De Rosa
15f23dd448
Retain Pool.name internally but show .localizedName
...
Use name from API if available (XXX: not localized).
Make it private to avoid unintended use in app.
2019-03-21 22:21:42 +01:00
Davide De Rosa
3eb9c6ae98
Localize Pool via country code + area
2019-03-21 22:21:42 +01:00
Davide De Rosa
af51911536
Replace Cancel with X to exit shortcuts
...
Misleading!
2019-03-19 18:01:15 +01:00
Davide De Rosa
63d74b6feb
Reorganize shortcut sections
2019-03-19 18:01:15 +01:00
Davide De Rosa
c0be33dacc
Add descriptive footer to Siri section
2019-03-19 18:01:15 +01:00
Davide De Rosa
03c8e43ce7
Tweak intent donations
...
- Activate -> EnableVPN
- Connect -> ConnectVPN/MoveToLocation
- Disconnect -> DisableVPN
2019-03-19 18:01:15 +01:00
Davide De Rosa
fbbd0b33f2
Reorganize compression section
...
- Show algorithm.
- Make framing readonly.
Easy way to prevent combination of LZO with new framing.
2019-03-19 15:23:45 +01:00
Davide De Rosa
88a1e39a6e
Add a Done button to exit connect shortcuts
2019-03-18 22:40:06 +01:00
Davide De Rosa
15602f7dc9
Pick profile/location for connection intent
...
- Host: ConnectVPN intent
- Provider: requires Pool selection
2019-03-18 22:13:36 +01:00
Davide De Rosa
1ea85ff32e
Move shortcuts to separate storyboard
2019-03-18 21:18:40 +01:00
Davide De Rosa
98160fdccb
Split shortcuts into VPN and Trust
2019-03-18 21:00:07 +01:00
Davide De Rosa
8f3d2f0b15
Add basic cells for any possible shortcut
2019-03-18 20:54:47 +01:00
Davide De Rosa
1c103c639d
Add shortcuts view controller stub
2019-03-18 20:54:47 +01:00
Davide De Rosa
43b75a1029
Add completion handler to intent dispatcher
2019-03-18 17:18:57 +01:00
Davide De Rosa
c3e6e1ecd5
Move intents to Core target
...
Suppress responses for consistency.
2019-03-18 17:06:35 +01:00
Davide De Rosa
5237aa3916
Import Core framework into iOS target
2019-03-18 11:52:19 +01:00
Davide De Rosa
cf499739f7
Export SwiftGen strings as public
...
Required as part of an external framework.
2019-03-18 11:19:24 +01:00
Davide De Rosa
1eca19e96f
Update whole views when back from backgorund
2019-03-11 09:55:25 +01:00
Davide De Rosa
1dd3ad18aa
Use updateViewsIfNeeded() for consistency
2019-03-11 09:55:25 +01:00
Davide De Rosa
f50cf44bab
Switch to active profile on intent update
...
Better user experience.
2019-03-11 09:55:25 +01:00
Davide De Rosa
439c9c0b0f
Set profile directly in GracefulVPN
...
No need to pass through prepare(). Couple with setProfile() for
robustness.
2019-03-11 09:55:25 +01:00
Davide De Rosa
ba0d3a8010
Use consistent intent logging
2019-03-10 14:14:14 +01:00
Davide De Rosa
c8be5d0de6
Donate enable+disable on VPN on/off
2019-03-10 14:14:07 +01:00
Davide De Rosa
ab500cccb0
Add EnableVPN intent
2019-03-10 14:14:02 +01:00
Davide De Rosa
9dcd6de873
Always donate a MoveTo when provider
2019-03-10 14:13:30 +01:00
Davide De Rosa
b841552121
Do not necessarily reconnect on intent
...
Trust intents just reinstall VPN profile.
2019-03-10 14:13:30 +01:00
Davide De Rosa
670139d807
Reuse reconnection code
2019-03-10 14:12:34 +01:00
Davide De Rosa
1dc659dbe1
Localize intents definition
...
And drop redundant ConnectVPN intent subtitle.
2019-03-10 14:11:59 +01:00
Davide De Rosa
7a21338042
Update copyright
2019-03-09 11:44:44 +01:00
Davide De Rosa
e3a0a10753
Drop another redundant import
2019-03-09 11:30:36 +01:00
Davide De Rosa
fb5cd52eea
Drop redundant import
2019-03-09 11:24:04 +01:00
Davide De Rosa
77c40cb169
Notify intent updates to ServiceVC
...
Postpone notification until VPN updates.
Fixes the following scenario:
1. Use <foo> profile
2. Send to background
3. Connect to <foo> via shortcut
4. Toggle stays disabled (too early)
2019-03-09 11:24:03 +01:00
Davide De Rosa
5d2450b985
Donate interactions
...
- Connect on add profile (covers first profile)
- Connect on activate profile
- Disable on connect to VPN
- Trust on add current Wi-Fi
- Trust on cellular network
- MoveTo on first connected location (if provider)
- MoveTo on location change (if provider)
2019-03-09 11:23:50 +01:00
Davide De Rosa
2e4d2162ac
Define custom intents
...
- Connect
- Disable
- (Un)Trust current network
- (Un)Trust cellular network
- Move to location
2019-03-09 11:23:47 +01:00
Davide De Rosa
f01027bca5
Add Siri capability
2019-03-09 08:45:48 +01:00
Davide De Rosa
5ccdece72b
Do not reload views on profile renaming
...
Use explicit accessor, implicit didSet is worrisome.
Fixes #37
2019-03-08 12:57:51 +01:00
Davide De Rosa
7774143e17
Activate profile before any action
...
Otherwise GracefulVPN.vpn will always return nil.
Fixes #38
2019-03-08 12:32:45 +01:00
Davide De Rosa
ccf7a68ba8
Show raw debug log in beta
2019-03-07 23:00:14 +01:00
Davide De Rosa
9441a31fd1
Add button to test app termination
...
Might help reproducing #19
2019-03-06 17:46:06 +01:00
Davide De Rosa
c5c670b086
Add TunnelBear provider
2019-03-05 23:02:22 +01:00
Davide De Rosa
aba91df3fe
Bump minor version
2019-03-05 23:01:25 +01:00
Davide De Rosa
c0fcb59233
Set account fields content type
2019-03-05 23:01:25 +01:00
Davide De Rosa
4eeca4c63c
Forgive a nil statusIndexPath
...
Also drop a few unused and potentially dangerous similar methods.
Fixes #36
2019-03-05 10:32:13 +01:00
Davide De Rosa
c4495f6715
Revert "Bump version further (minor)"
...
This reverts commit 14fac17f24
.
2019-03-05 10:00:07 +01:00
Davide De Rosa
14fac17f24
Bump version further (minor)
2019-03-04 21:34:35 +01:00
Davide De Rosa
fd9306b1dc
Bump version
2019-03-04 17:21:49 +01:00
Davide De Rosa
0b7bd41636
Add provider referrals
2019-03-03 14:17:09 +01:00
Davide De Rosa
3ddfa87b58
Disconnect before switching active profile
...
Make sure that completionHandler is ALWAYS called, despite vpn
object being nil.
2019-03-03 13:04:27 +01:00
Davide De Rosa
a9e16c5335
Show custom DNS addresses in configuration UI
2019-03-03 10:40:12 +01:00
Davide De Rosa
1f722198e9
Shut down if server uses compression at all.
...
- Announcement in PUSH_REPLY
- Header in data packets
Bump to 1.0.2.
2019-02-28 17:20:36 +01:00
Davide De Rosa
f335440800
Shut down if server pushes a compression directive
2019-02-25 23:13:12 +01:00
Davide De Rosa
fedea91087
Add FAQ in About
2019-02-03 22:08:24 +01:00
Davide De Rosa
67036435c2
Bump version
2019-01-17 09:59:39 +01:00
Davide De Rosa
323807cfbf
Configure reviewer event count in AppConstants
2018-12-10 12:53:15 +01:00
Davide De Rosa
d2186678de
Report reviewer event on successful connection
2018-12-10 12:47:53 +01:00
Davide De Rosa
afcb45c614
Cache fetched license content
...
And show an error message when unable to fetch license URL.
2018-12-04 10:45:12 +01:00
Davide De Rosa
534f1e2094
Show activity indicator while loading license
2018-12-04 10:34:38 +01:00
Davide De Rosa
8270c20179
Fetch license content via URL
2018-12-04 10:33:19 +01:00
Davide De Rosa
a486cb4265
List licenses/notices in full table
2018-12-04 10:33:19 +01:00
Davide De Rosa
3d5c2bb8f5
Move .ovpn parser to TunnelKit
2018-11-10 11:39:36 +01:00
Davide De Rosa
c7cb00f679
Move ProfileKey to separate file
2018-11-06 11:16:34 +01:00
Davide De Rosa
e7d2dde972
Add/remove profile to/from filesystem immediately
...
Save unnecessary serialization of unaffected profiles.
2018-11-04 15:06:53 +01:00
Davide De Rosa
bc0568cc38
Do not re-save profiles on (de)activate
...
Only service JSON is affected.
2018-11-04 14:55:25 +01:00
Davide De Rosa
2dafe9f1f2
Invert caption/logic about trusted network policy
...
Looks more intuitive (default ON).
2018-11-04 12:02:02 +01:00
Davide De Rosa
c1065751b6
Add method to parse configuration from [String]
...
With an optional original URL. Helps testing. Take the chance to
also disambiguate method overloads.
2018-11-04 11:45:19 +01:00
Davide De Rosa
9e7c4960e5
Update GitHub URL in license preamble
2018-11-04 10:53:16 +01:00
Davide De Rosa
1522774c98
Temporarily remove "Test connectivity"
...
The action does an HTTP GET to a random well-known home page
among the following:
- Google
- Facebook
- Twitter
- Instagram
- Amazon
This was acceptable for development and beta testing. Not so much
for a release. Omit the option until more transparent.
2018-11-04 10:52:43 +01:00
Davide De Rosa
76a3e48242
Make serialize() the very first call in delegate
2018-11-04 10:49:40 +01:00
Davide De Rosa
3f5d23a34c
Drop redundant table/model updates on remove
...
Already done in commit row, and also breaks animation.
2018-11-04 10:49:40 +01:00
Davide De Rosa
8e445e90b3
Move profile reactions to delegate
...
- Activation
- Removal
2018-11-04 10:49:40 +01:00
Davide De Rosa
2525467fe9
Hide "Edit" in provider profiles
2018-11-03 22:23:26 +01:00
Davide De Rosa
860750332f
Handle keyboard return in rename alert
2018-11-02 16:23:34 +01:00
Davide De Rosa
b051f8118f
Add "Edit" item to rename host profile
...
Disabled in network profiles. Reuse same title style/constraints
and message strings in host wizard.
For consistency, rename activate() to activateProfile(). And it's
not even an IBAction.
2018-11-02 15:52:36 +01:00
Davide De Rosa
3f1e98f8ac
Delegate profile management from ConnectionService
...
Makes much more sense than dumb wizard notifications. Organizer is
already a ConnectionServiceDelegate.
2018-11-02 15:20:37 +01:00
Davide De Rosa
88124f5588
Replace source section with web section
2018-10-30 20:44:58 +01:00
Davide De Rosa
2564f2446d
Show disclaimer from website
2018-10-29 21:25:22 +01:00
Davide De Rosa
fe85677e68
Add privacy policy
2018-10-29 21:25:08 +01:00
Davide De Rosa
17ebaccbad
Add title to version screen
2018-10-29 21:25:08 +01:00
Davide De Rosa
fec2f02df5
Move Credits inside Version
2018-10-29 21:25:06 +01:00
Davide De Rosa
cced9b018f
Fix provider name ordering
...
Define intrinsecally with Comparable.
2018-10-29 17:48:17 +01:00
Davide De Rosa
0d49d1abc8
Upgrade SwiftGen
2018-10-28 14:50:12 +01:00
Davide De Rosa
c6d632ede4
Add title to configuration parameter selector
2018-10-27 22:21:20 +02:00
Davide De Rosa
3d62728a95
Fix detail replacement in compact mode
...
Do not push created profile onto presented profile or any other
screen deeper inside (e.g. Parameters).
2018-10-27 22:17:53 +02:00
Davide De Rosa
06ecd3367f
Overwrite pending profile when reimporting
...
- Overwrite title field
- Remove old .ovpn
useSuggestedTitle() is only called on load, it will never
overwrite user input unless there's a new import.
2018-10-27 20:41:47 +02:00
Davide De Rosa
c084c71db3
Present host wizard in presented vc or root
2018-10-27 20:37:30 +02:00
Davide De Rosa
326c5b823d
Observe wizard creation via notifications
...
Flow is too scattered to safely maintain delegation.
2018-10-27 20:11:26 +02:00
Davide De Rosa
b7dc72a5e9
Sort hosts ignoring case
2018-10-27 16:56:41 +02:00