Davide De Rosa
87527ed290
Upgrade to TunnelKit 2.0
...
Major reorganization. No changes in logic.
Rename by_* to pod_*.
2019-05-25 18:29:10 +02:00
Davide De Rosa
a4cbbbc1aa
Pick preset from pool supported presets only
...
Fixes #78
2019-05-02 13:08:24 +02:00
Davide De Rosa
c6fbdca342
Move network settings to ad-hoc screen
...
Can now set gateway/DNS/proxy settings explicitly.
- Read from .ovpn (hosts only)
- Pull from server (PUSH_REPLY)
- Set manually
2019-05-01 23:00:28 +02:00
Davide De Rosa
6329c32903
Reuse shared cell values globally
2019-05-01 22:59:05 +02:00
Davide De Rosa
d9a0ebd923
Upgrade API to v2 (entities)
2019-04-25 21:30:43 +02:00
Davide De Rosa
458ef496fd
Unlocalize some strings
2019-04-23 15:47:24 +02:00
Davide De Rosa
a6745ceec7
Move feedback section to main screen
2019-04-15 14:40:16 +02:00
Davide De Rosa
cf8f0984a3
Cache pool models, do not rebuild each time
...
Invalidate on new infrastructure.
2019-04-11 23:38:16 +02:00
Davide De Rosa
8203bc99f8
Import downloaded resources into provider cache
...
Show message in HUD while extracting files
2019-04-11 19:01:59 +02:00
Davide De Rosa
35605ba89f
Download resource with progress HUD
2019-04-11 19:01:59 +02:00
Davide De Rosa
2f09a41d06
Stop to download additional provider resources
2019-04-11 19:01:55 +02:00
Davide De Rosa
5bb3a49a84
Disclose if poolGroup is > 1
...
List pool server numbers and pop to delegate.
2019-04-06 16:46:38 +02:00
Davide De Rosa
8db2b70e65
Set current pool atomically with pools
2019-04-06 16:45:46 +02:00
Davide De Rosa
8d3a5d747d
Convert table model to PoolGroup
2019-04-06 16:20:01 +02:00
Davide De Rosa
8fd5a74dc4
Show AreaID (Area + Num) in pool selector
...
Rename localizedCountryArea to localizedId.
2019-04-06 16:19:34 +02:00
Davide De Rosa
451ab07796
Use subtitle cell in pools
2019-04-05 12:06:26 +02:00
Davide De Rosa
97db759242
Drop empty space between Account sections
...
Reuse code for heightForHeader.
2019-04-04 19:53:41 +02:00
Davide De Rosa
fe669bb3e0
Migrate to Configuration optionals
...
- cipher
- digest
- compressionFraming
2019-04-04 19:03:55 +02:00
Davide De Rosa
3197f49368
Add down/up indication of data count
...
Other improvements:
- TunnelKit reports 0 rather than nil upon connection.
- Fall back to "Unavailable" rather than empty string.
2019-03-30 23:38:06 +01:00
Davide De Rosa
921e57557d
Render data count with closest unit
...
Set a 10% boundary (e.g. 100MB = 0.1GB).
2019-03-30 20:10:04 +01:00
Davide De Rosa
2e142680c3
Fetch current data count on VPN status update
2019-03-30 20:10:04 +01:00
Davide De Rosa
bc0a0d40dc
Observe tunnel data count periodically (5s)
...
Use Timer as KVO is not possible on App Group defaults.
Be tolerant about missing sections, return type is optional.
Also reword data count cell caption.
2019-03-30 20:10:04 +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
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
03c8e43ce7
Tweak intent donations
...
- Activate -> EnableVPN
- Connect -> ConnectVPN/MoveToLocation
- Disconnect -> DisableVPN
2019-03-19 18:01:15 +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
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
c8be5d0de6
Donate enable+disable on VPN on/off
2019-03-10 14:14:07 +01:00
Davide De Rosa
9dcd6de873
Always donate a MoveTo when provider
2019-03-10 14:13:30 +01:00
Davide De Rosa
7a21338042
Update copyright
2019-03-09 11:44:44 +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
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
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
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
d2186678de
Report reviewer event on successful connection
2018-12-10 12:47:53 +01:00
Davide De Rosa
3d5c2bb8f5
Move .ovpn parser to TunnelKit
2018-11-10 11:39:36 +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
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
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
dfde9c51e3
Fine-grain report attachments
...
- Debug log
- .ovpn profile (if any)
2018-10-27 09:42:41 +02:00
Davide De Rosa
821393af70
Refactor configurations in service extension
...
Reuse same directories of ConnectionService for storing
configuration files.
2018-10-27 09:42:41 +02:00
Davide De Rosa
8e1b67d151
Infer profile id uniqueness by context
...
Drop "(provider|host)." prefix, reuse as title.
2018-10-26 17:37:52 +02:00
Davide De Rosa
52cf733948
Only make host editable if original cfg available
2018-10-25 22:57:42 +02:00
Davide De Rosa
542a3e3721
Upgrade TunnelKit with configuration refactoring
2018-10-25 22:45:44 +02:00
Davide De Rosa
f1f09dde2f
Rename support request to join community
2018-10-24 21:57:27 +02:00
Davide De Rosa
8375fc58fc
Do not confirm trusted policy change while offline
2018-10-23 23:56:53 +02:00
Davide De Rosa
4bd339d456
Remove "Report issue" from About
...
Will bind report to current profile.
2018-10-23 12:59:06 +02:00
Davide De Rosa
0f374fa8c9
Rename "Submit debug log" to "Report issue"
2018-10-23 12:59:06 +02:00
Davide De Rosa
be17f57a5e
Add reset cell to revert to original configuration
...
When a backing .ovpn is available.
2018-10-23 12:57:11 +02:00
Davide De Rosa
a59d16077b
Drop annoying table animations
2018-10-23 12:55:11 +02:00
Davide De Rosa
9292919816
Update VPN status after profile reinstall
...
Should now cover all scenarios.
2018-10-23 12:54:40 +02:00
Davide De Rosa
e8f2aaaf08
Show tunnel failure reason in VPN status
2018-10-22 21:49:43 +02:00
Davide De Rosa
2e764ec14d
Only show Reconnect if VPN is enabled
2018-10-21 10:19:42 +02:00
Davide De Rosa
6ed70feb77
Reconnect with a specific action cell
2018-10-21 10:19:42 +02:00
Davide De Rosa
5e0590184b
Require credentials for providers only
...
Not always the case, but PIA certainly requires them. Will make it
an infrastructure option later. Only require credentials as a
configuration check, everything else has defaults.
2018-10-19 01:29:44 +02:00
Davide De Rosa
ef2061de0a
Update profile screen accordingly
2018-10-18 17:02:06 +02:00
Davide De Rosa
1602972c8e
Replace self-hosted API with static GitHub Pages
2018-10-11 21:30:53 +02:00
Davide De Rosa
b9ec01945d
Initial commit
2018-10-11 09:13:19 +02:00