Compare commits

...
309 Commits
Author SHA1 Message Date
Alter Step fccba1dfb8 only touch! 2017-10-08 18:21:08 +02:00
Alter Step 63594470fd Merge pull request #156 from catap/hide_menubar_icon
Added setting 'hide menubar icon' to panel, and implemented support at menubar app
2017-10-07 21:09:00 +02:00
Kirill A. Korinsky 355b796d5c Added setting 'hide menubar icon' to panel, and implemented support at menubar app 2017-10-07 16:13:35 +04:00
Alter Step 95925d9e2d Merge pull request #140 from mkjaer/Updated-screenshots
Updated screenshots to reflect latest version
2017-02-16 18:32:33 +01:00
Mikael Kjær 1510319bb8 Updated screenshots to reflect latest version 2017-02-16 16:07:47 +04:00
Alter Step e9db17b111 Update ISSUE_TEMPLATE.md 2017-02-16 10:54:50 +01:00
Alter Step 3ec589a1ef issue template! 2017-02-11 22:16:55 +01:00
Alter Step ebeb963aa4 no markdown for issue templates 2017-02-11 22:16:30 +01:00
Alter Step 1b02a3dc77 issue template! 2017-02-11 22:15:42 +01:00
Alter Step 7c7dadd464 macOS >= 10.10 should be compatible 2017-02-11 22:04:50 +01:00
Alter Step 7d66d1be60 publish update 2017-02-11 22:03:53 +01:00
Alter Step d7df143702 new version 1.0.14 2017-02-11 22:00:08 +01:00
Alter Step 8c9a6f09ff verify that ldns doesn't need openssl / remove cksum after network change 2017-02-11 21:45:50 +01:00
Alter Step 780380a1ef Merge pull request #137 from jedisct1/master
Empty the states directory after a reboot
2017-02-11 21:39:31 +01:00
Frank Denis 63065e55c8 Empty the states directory after a reboot
After a shutdown we need to remove the previous checksum file, and maybe removing everything else wouldn't hurt either.

Perhaps the checksum file should also be removed after a network change.
2017-02-11 16:06:49 +01:00
Alter Step 7e6d44e2ab Merge pull request #135 from jedisct1/master
The beginning of a FAQ
2017-02-10 13:29:52 +01:00
Frank Denis 9acd96ceb7 The beginning of a FAQ 2017-02-10 12:13:20 +01:00
Alter Step 8144efe612 publish the new version 2017-02-09 22:02:43 +01:00
Alter Step c69fdc7519 VERSION + 1 2017-02-09 21:54:48 +01:00
Alter Step 1d2778e636 CURRENT_VERSION + 1 2017-02-09 21:52:52 +01:00
Alter Step 1bdc80b76b remove compatibility with OSX < 10.12 2017-02-09 21:04:43 +01:00
Alter Step f971a7fe19 Delete CPU requirements 2017-02-09 13:54:10 +01:00
Alter Step 654ac623bb update 2017-02-09 13:54:06 +01:00
Alter Step 9530c272a3 Find config differences to do less reloads
This is not 100% fail proof , because the configuration can change and
come back to the original one during the server restart but at the end
of the day it's a better user experience.
2017-02-09 10:47:34 +01:00
Alter Step 5495b8b885 less ugly 2017-02-09 02:28:37 +01:00
Alter Step 15dcfdbe02 Reduce the fontsize 2017-02-09 02:21:46 +01:00
Alter Step da5f9b9ce8 wildcards at the end of an ip -> ok! 2017-02-09 02:16:17 +01:00
Alter Step 17c48f58c1 Refresh faster 2017-02-09 02:10:54 +01:00
Alter Step 5a42ae621a Dont erase .tmp files, this is the data from the UI 2017-02-09 02:05:18 +01:00
Alter Step 9b6fbab397 useful script 2017-02-09 02:01:42 +01:00
Alter Step 44908fa7de many many changes! 2017-02-09 02:01:13 +01:00
Alter Step e268f23c3d Merge branch 'master' of https://github.com/alterstep/dnscrypt-osx-client
* 'master' of https://github.com/alterstep/dnscrypt-osx-client:
  Add brew cask installation instructions.
  macOS
2017-02-08 02:38:56 +01:00
Alter Step f6aa7c2f8d Goodbye fallback! 2017-02-08 02:38:46 +01:00
Alter Step 217bdfba9a xib 2017-02-08 00:15:22 +01:00
Alter Step 9f4a56f4e8 Merge pull request #124 from sepehr/patch-1
Add brew cask installation instructions
2016-12-22 00:16:46 +01:00
Sepehr Lajevardi ea3b7e6f8e Add brew cask installation instructions. 2016-12-21 21:14:40 +03:30
Alter Step 658e5ed2e6 macOS 2016-08-02 18:38:23 +02:00
Alter Step f3687a2aa0 Screen captures 2016-08-01 23:59:05 +02:00
Alter Step c90946bb04 Screen captures 2016-08-01 23:58:15 +02:00
Alter Step 4f1b2ec86e Works on Sierra 2016-07-31 15:07:10 +02:00
Alter Step 40b64ff468 Do not forget to increase CURRENT_VERSION 2016-07-31 15:05:08 +02:00
Alter Step 4d43c6aa24 New current version 2016-07-31 15:01:17 +02:00
Alter Step d4ef5ff4ed 1.0.12! 2016-07-31 14:44:34 +02:00
Alter Step 3db42eab28 Warn 2016-07-31 14:40:03 +02:00
Alter Step 0ff3832d27 Merge branch 'master' of https://github.com/alterstep/dnscrypt-osx-client
* 'master' of https://github.com/alterstep/dnscrypt-osx-client:
  Regen
  Mention than download.dnscrypt.org has to be added to Little Snitch rules
2016-07-31 14:08:40 +02:00
Alter Step 02653e45e9 Explain 2016-07-31 14:08:27 +02:00
Alter Step 061f214571 Compatible with all 2016-07-31 14:08:16 +02:00
Alter Step e910459ea6 Merge pull request #105 from jedisct1/little-crap
More buttons to click for Little Placebo users
2016-06-15 16:06:55 +02:00
Frank Denis 5f85372baf Regen 2016-06-15 15:52:39 +02:00
Frank Denis 2e18bb3ea5 Mention than download.dnscrypt.org has to be added to Little Snitch rules 2016-06-15 15:50:27 +02:00
Alter Step 795f1f6259 Merge pull request #95 from Eitot/icons
Add vector icons and move to asset catalogue
2016-03-20 10:01:07 +01:00
Eitot 3c0ef587ae Add vector icons and move to asset catalogue 2016-03-04 22:16:38 +01:00
Alter Step 6a6056f169 I forgot to update CURRENT_VERSION 2016-03-03 11:35:38 +01:00
Alter Step b2c09d3010 publish update 2016-03-03 11:34:53 +01:00
Alter Step 88d8949703 1.0.11 with a new icon! 2016-03-03 11:23:25 +01:00
Alter Step d916d262de date -> update 2016-03-03 10:35:26 +01:00
Alter Step 67c9239a9d hosip -> update 2016-03-03 10:33:30 +01:00
Alter Step eef1bf8b82 like -> such as 2016-03-03 10:33:24 +01:00
Alter Step eed928246f .onion queries -> stay local 2016-03-03 10:32:40 +01:00
Alter Step d1e124d9ec Rejoice! New version soon! 2016-02-10 21:28:27 +01:00
Alter Step 1eceb02430 R.I.P. dnscrypt.me 2016-02-10 21:08:13 +01:00
Alter Step a04e4f452f Merge pull request #89 from fechterjm/patch-1
Update README.markdown
2016-01-19 22:00:38 +01:00
Joshua 7fbd47df6b Update README.markdown
Added my new server, DNSCrypt.is
2016-01-18 16:42:08 -05:00
Alter Step 3c41578f5e Merge pull request #85 from dnscryptme/master
de-ns1.de renamed to dnscrypt.me
2015-12-12 14:42:17 +01:00
dnscryptme f50d637e7f de-ns1.de renamed to dnscrypt.me
The resolver has its own domain now. Therefore its name has been adapted.
2015-12-12 14:19:47 +01:00
dnscryptme ef38ab5d21 Merge pull request #1 from alterstep/master
Update
2015-12-12 14:15:22 +01:00
Alter Step 690ab7a6f1 Merge pull request #84 from dnscryptme/master
Added de-ns1.de with domain
2015-12-11 20:31:53 +01:00
dnscryptme 79f2ebc9e1 Added de-ns1.de with domain 2015-12-11 19:09:15 +01:00
Makedu 53ad6a1aee de-ns1.de added 2015-12-06 11:18:54 +01:00
Alter Step 5217b958fa Merge pull request #80 from habi/link-these-URLs
Link URLs, where obvious
2015-12-04 22:17:54 +01:00
David Haberthür 83213b2ba8 Link URLs, where obvious
As part of http://24pullrequests.com/
2015-12-04 22:14:59 +01:00
Alter Step 0618cfcac6 On El Capitan, /usr/local is not a good place to store binaries any more
So we store all the binaries in the preference pane
2015-11-05 23:42:57 +01:00
Alter Step c38e1b1688 Change a little bit the layout to better display the location 2015-08-24 23:45:24 +02:00
Alter Step 156f3c1b70 Replace the "no network" icon with the one suggested by jomo 2015-08-24 22:55:33 +02:00
Alter Step 579d08a422 It's fine if dnscrypt-proxy exit in any order (TCP first)
Quit if start-dnscrypt-proxy fails. It cannot fail because there was
already a running dnscrypt-proxy because if would be killed.
2015-08-24 00:24:16 +02:00
Alter Step 4dea9c3ef7 Reduce the font size of the location 2015-08-23 13:59:17 +02:00
Alter Step 6e44455581 Delete ancient and not used icon 2015-08-23 13:55:48 +02:00
Alter Step 2117311d90 Wrong tooltip! 2015-08-23 13:54:47 +02:00
Alter Step 58e728317e Fallback disabled -> skip pre-dnscrypt check-hijacking.sh 2015-08-23 13:47:01 +02:00
Alter Step 02983230d9 Quit trying to start the proxy if the user changed their mind 2015-08-23 13:44:00 +02:00
Alter Step f4404d7c80 The download link can point to /latest 2015-07-28 22:32:37 +02:00
Alter Step bb62762fd8 Merge pull request #60 from pich/patch-1
Version and download link updated to 1.0.10
2015-07-28 11:10:56 +02:00
Michał Piszczek 875cbb09e2 Version and download link updated to 1.0.10 2015-07-28 11:08:59 +02:00
Alter Step b1ca4ff31e Gray out the "disable IPv6" button like other buttons 2015-07-28 00:19:29 +02:00
Alter Step 6ca7749d9b Add a button to the preference pane to disable ipv6 2015-07-28 00:01:18 +02:00
Alter Step a9d852b76d Do not activate the AAAA blocking plugin automatically 2015-07-27 23:42:58 +02:00
Alter Step 976e85bc26 Delete the "Meta-Installer", I don't understand what it was supposed to be. 2015-07-24 00:45:00 +02:00
Alter Step 4456f56381 Publish update 2015-07-23 10:20:15 +02:00
Alter Step 2a6f52de56 1.0.10 2015-07-23 10:15:01 +02:00
Alter Step a531592494 Import a copy of the lockfile tool, because Apple removed it 2015-07-22 22:03:52 +02:00
Alter Step 676507b0ef Address a few glitches in the preferences pane documentation 2015-07-14 21:10:23 +02:00
Alter Step 909218a765 First update 2015-07-12 11:53:49 +02:00
Alter Step eefb31be76 Release 1.0.9 2015-07-12 11:50:32 +02:00
Alter Step 1e3a8db2b6 Fix "minisign-verify cannot be opened due to a problem" 2015-07-12 11:41:16 +02:00
Alter Step 531d3e48ab Remove ZIP file and sign.sh should sign with minisign 2015-07-12 11:40:35 +02:00
Alter Step edf400d681 Packages will have a minisign signature from now on 2015-07-11 19:06:20 +02:00
Alter Step c03ffce707 1.0.8 2015-07-11 18:54:54 +02:00
Alter Step 22fac25b52 1.0.8 2015-07-11 18:51:06 +02:00
Alter Step d75b291e71 real app update URL 2015-07-11 18:32:22 +02:00
Alter Step 66efa12e24 versions files 2015-07-11 18:06:30 +02:00
Alter Step 90a3558751 Version is 0 during testing 2015-07-11 16:07:45 +02:00
Alter Step 5cd2147527 automatic application updates! 2015-07-11 15:56:35 +02:00
Alter Step 08af88b591 Add plugins I forgot 2015-07-07 22:47:52 +02:00
Alter Step 23bef375ef Doc 2015-06-30 22:06:23 +02:00
Alter Step 079a08db64 1.0.7 2015-06-30 21:58:17 +02:00
Alter Step 409cfa07c6 "find -X" was not a good idea on Mac! 2015-06-23 11:07:00 +02:00
Alter Step 4d2c1e80b6 Add RFC2606 list of reserved top-level domain names 2015-06-11 01:35:41 +02:00
Alter Step 212e8921ec Change the package type from Bundle to Flat to fix code signing. 2015-06-11 01:11:56 +02:00
Frank Denis 8cc814acba Missing $ 2015-06-10 17:43:22 +02:00
Alter Step f5a4892bf3 Update README.markdown 2015-06-10 10:08:51 +02:00
Alter Step 784963b6fd PGP keys don't look great in a documentation 2015-06-10 01:25:06 +02:00
Alter Step bb49e3d386 My PGP key 2015-06-10 01:19:57 +02:00
Alter Step 3408d3beed finally, a new version! 2015-06-10 00:51:30 +02:00
Alter Step 8491012652 Keep the resolvers list update status around for a day 2015-06-10 00:39:54 +02:00
Alter Step e5652d8933 Almost ready 2015-06-10 00:30:21 +02:00
Alter Step 1b53464c9a Use updates.dnscrypt.org instead of download.dnscrypt.org for updates 2015-06-10 00:30:04 +02:00
Alter Step f4ab8a0991 Update the list of resolvers after a successful switch to dnscrypt 2015-06-10 00:17:48 +02:00
Alter Step 121feecdf7 Pick a random resolver if none was configured 2015-06-09 22:17:30 +02:00
Alter Step 1c3184a36e Turn on ephemeral keys 2015-06-09 22:07:05 +02:00
Alter Step fb1adf423b It's compatible with El Capitan 2015-06-09 22:04:41 +02:00
Alter Step a364d88326 Automatic updates of the resolvers list 2015-06-09 22:02:53 +02:00
Alter Step 70a39e6756 1.0.6 2015-06-09 21:31:05 +02:00
Alter Step 0848088f22 Merge pull request #42 from jedisct1/master
OSX 10.8 was called Mountain Lion
2015-03-14 10:57:03 +01:00
Frank Denis 4e681b272d OSX 10.8 was called Mountain Lion 2015-03-14 10:30:18 +01:00
Alter Step 105a7c800f 1.0.5 2015-01-05 23:16:30 +01:00
Alter Step bc5a6cbac4 Apparently, I was 365 days late. 2015-01-05 23:14:35 +01:00
Alter Step ca7eedb795 COPYING 2015-01-05 23:12:11 +01:00
Alter Step 98261a3396 And the compatibility list grew! 2015-01-05 23:06:32 +01:00
Alter Step dafba50926 1.0.5 2015-01-05 23:03:51 +01:00
Alter Step aa82ddd1cb Merge pull request #29 from staticlinuxpro/master
Yosemite White Menu-Icon, Convert to ARC
2014-10-17 18:35:44 -07:00
Luke Adams 76bcc9755e Disable GC on the prefpane. Now uses ARC. 2014-10-17 19:51:51 -05:00
Luke Adams 85b67e70aa Update Menubar to ARC 2014-10-17 19:47:16 -05:00
staticlinuxpro 50a2250ac5 Change MenuBar NSImage to template
Makes the menubar icon white when the status bar is dark (Yosemite+), also allows the OS to tweak for better visibility.
2014-10-17 19:40:34 -05:00
Alter Step 6c08e50dd2 1.0.4 2014-09-18 19:13:27 -07:00
Alter Step 71acebf3be Get ready for version 1.0.4 2014-09-18 19:03:11 -07:00
Alter Step e1236241fa Versin 1.0.3! 2014-06-18 18:42:04 -07:00
Alter Step afe2bfcdf5 Yosemite is OSX 10.10 2014-06-18 18:36:31 -07:00
Alter Step 2e5e311f00 Version 1.0.3? Version 1.0.3! 2014-06-18 18:31:04 -07:00
Alter Step f64a4991f0 Some updates to the documentation 2014-06-18 18:28:44 -07:00
Alter Step 650b910e7d Recompile libsodium without memset_s => works on OSX 10.8 2014-06-18 18:14:27 -07:00
Alter Step 6b6ae896fd Recompress icons 2014-06-15 14:42:00 -07:00
Alter Step 3a3f040524 Merge pull request #15 from avh4/master
Reduce icon size from 18x18 to 17x17
2014-06-15 14:41:07 -07:00
Aaron VonderHaar 418bbe586c Reduce icon size from 18x18 to 17x17 2014-06-15 14:31:11 -07:00
Alter Step c274c6082c Recompress the icons 2014-06-14 04:55:25 -07:00
Alter Step 54ad6a70d2 Merge pull request #14 from avh4/master
Updated retina menu bar icons based on the original icons
2014-06-14 04:50:38 -07:00
Aaron VonderHaar 61ccbaec85 Organize SVG layers 2014-06-14 01:06:25 -07:00
Aaron VonderHaar 9bd689a1f3 Adjust colors of the new inactive icon 2014-06-14 01:02:23 -07:00
Aaron VonderHaar ce3dcf4c06 Adjust colors of the new no-network icon 2014-06-14 00:52:24 -07:00
Aaron VonderHaar 572b33a765 Updated no-network icon based on the active icon 2014-06-13 20:37:20 -07:00
Aaron VonderHaar 77742886c4 Updated inactive icon based on the pre-retina exclamation mark icon 2014-06-13 20:26:52 -07:00
Aaron VonderHaar 236957ce0c Updated active icon based on the pre-retina active icon 2014-06-13 13:21:07 -07:00
Alter Step 5ca4dc6dc7 .zip => .dmg 2014-06-05 10:11:59 -07:00
Alter Step de5235f8b2 DMG files are not zipped any more. 2014-06-05 10:11:10 -07:00
Alter Step 275bb49624 Add a link to the new version 2014-06-05 10:10:16 -07:00
Alter Step 690fc9038d Release notes for 1.0.2 2014-06-05 10:02:04 -07:00
Alter Step 3724e78ab2 Revert "Debug build, enable debug log"
This reverts commit b036e93a6a.
2014-06-05 09:57:00 -07:00
Alter Step dd3b6a2aa7 Revert "Disable plugins"
This reverts commit 11640d3038.
2014-06-04 19:51:09 -07:00
Alter Step 455ee1dbcb 1.0.2 will be the next release. 2014-06-02 22:43:59 -07:00
Alter Step b036e93a6a Debug build, enable debug log 2014-06-02 22:27:03 -07:00
Alter Step 73ca3e136f If something is wrong with the proxy, disable it before restarting it 2014-06-02 22:21:20 -07:00
Alter Step 11640d3038 Disable plugins 2014-06-02 22:08:40 -07:00
Alter Step af6b2485ae More debug logging 2014-06-02 22:07:14 -07:00
Alter Step b1e4f1a064 Update uninstaller 2014-06-02 22:07:02 -07:00
Alter Step cf513f4745 Upgrade libsodium, downgrade libldns 2014-06-02 21:44:05 -07:00
Alter Step 12eff619cc Improve preinstall scripts 2014-06-02 21:40:59 -07:00
Alter Step 065c93519e Use killall instead of pkill to support old OS versions 2014-06-02 21:39:30 -07:00
Alter Step da8a4c2b55 Silence stdout in set-dns-to-dhcp.sh 2014-06-02 21:32:04 -07:00
Alter Step 18310fd607 Uninstaller: remove the debug log file and kill 'DNSCrypt Menubar' 2014-06-02 21:03:36 -07:00
Alter Step 128ee7809f OSX 10.8 seems to work, too! 2014-04-28 19:31:15 -07:00
Alter Step 76462a39b3 Add a link to the new version 2014-04-28 19:30:31 -07:00
Alter Step 1e5cc145e3 Version 1.0.1 2014-04-28 19:27:20 -07:00
Alter Step e5d8a9f579 Do not use local variables 2014-04-28 18:59:30 -07:00
Alter Step 89e8c923fa lockfile -l acts weird - Do not use it. Add some logging for the HTTP hijack test 2014-04-28 18:53:28 -07:00
Alter Step fb416bf21e Wait 1 sec after dnscrypt-proxy is started before sending the first DNS query 2014-04-28 18:42:40 -07:00
Alter Step 20b40f8cd9 Use google-public-dns-a.google.com for testing connectivity
OpenDNS authoritative servers seem to be slower.
2014-04-28 17:44:03 -07:00
Alter Step 917aa0034b Debug logs 2014-04-28 17:42:36 -07:00
Alter Step c4c2aa4a9f Add a logger_debug function 2014-04-28 16:35:50 -07:00
Alter Step 2896256872 Introduce DNSCRYPT_LOG_BASE_DIR for optional, local logs 2014-04-28 15:59:04 -07:00
Alter Step e226cba2f4 Sudo? Why do we need sudo? 2014-04-23 12:26:57 -07:00
Alter Step a430afe4c9 Add list of servers 2014-04-22 19:24:28 -07:00
Alter Step 16039bf898 Package download link! 2014-04-21 23:07:53 -07:00
Alter Step f2211060c5 Use semver 2014-04-21 22:50:22 -07:00
Alter Step fd282e098c Reflect the new property names in installation scripts. 2014-04-21 22:38:41 -07:00
Alter Step d4a583a688 over TCP/UDP 2014-04-21 22:38:29 -07:00
Alter Step 417f80be83 Support all resolvers 2014-04-21 21:59:39 -07:00
Frank Denis bdb6ba3cfe Merge pull request #25 from alterstep/master
Remove /usr/local/share/dnscrypt-proxy
2014-04-18 01:00:40 -07:00
Alter Step 969b9c3d19 Merge branch 'master' of github.com:opendns/dnscrypt-osx-client
* 'master' of github.com:opendns/dnscrypt-osx-client:
  libldns.1.dylib mode 755
2014-04-18 00:56:45 -07:00
Alter Step ca13e5fcfe Uninstall /usr/local/share/dnscrypt-proxy 2014-04-18 00:55:59 -07:00
Frank Denis b096f0b3af Merge pull request #24 from alterstep/master
libldns.1.dylib mode 755
2014-04-18 00:40:45 -07:00
Alter Step eb4ead7d44 libldns.1.dylib mode 755 2014-04-18 00:37:36 -07:00
Alter Step 7648ce4ca3 Merge branch 'master' of github.com:opendns/dnscrypt-osx-client
* 'master' of github.com:opendns/dnscrypt-osx-client:
  Port to Mavericks
2014-04-18 00:36:42 -07:00
Alter Step f5cb75a49b No GC ; Add libsodium 2014-04-18 00:35:55 -07:00
Frank Denis 8756439bf1 Merge pull request #23 from alterstep/master
Support Mavericks
2014-04-18 00:23:27 -07:00
Alter Step eb6c4eb7c2 Merge branch 'master' of github.com:opendns/dnscrypt-osx-client
* 'master' of github.com:opendns/dnscrypt-osx-client:
  2014
  2014
2014-04-18 00:19:55 -07:00
Alter Step 09df20a910 Port to Mavericks 2014-04-18 00:19:18 -07:00
Frank Denis c75c19bf5b 2014 2014-01-01 17:10:46 +01:00
Frank Denis 05c89d3c90 2014 2014-01-01 17:10:06 +01:00
Frank Denis 830396921d Merge branch 'master' of github.com:opendns/dnscrypt-osx-client
* 'master' of github.com:opendns/dnscrypt-osx-client:
  deflopt + gifsicle
2013-06-14 09:27:52 -07:00
Frank Denis 538faa5d23 Rename DNSCrypt-Menubar to DNSCrypt Menubar 2013-06-14 09:27:33 -07:00
Frank Denis 26b37115b8 Merge pull request #16 from neheb/master
smaller png files + smaller gif
2013-06-07 08:57:42 -07:00
Mangix d51a6b7069 deflopt + gifsicle 2013-06-07 07:19:33 -07:00
Frank Denis 80d0323adb Disable the OpenDNS Umbrella services if they happen to be running. 2013-06-03 22:28:33 -07:00
Frank Denis ab678ae786 Bump version to 0.21
Not that anything interesting happened to this code since 0.19, it's just that
changing the version is the only thing I was able to do when looking at this
code after so long.
2013-06-03 22:23:30 -07:00
Frank Denis f905fdff8f Add .l to the default list of exceptions 2013-06-03 21:46:33 -07:00
Frank Denis 289c5cae3f Update libldns, ship it as universal binary. 2013-05-23 13:58:11 -07:00
Frank Denis 0a4995dd8f Merge pull request #15 from neheb/master
Smaller PNG files
2013-05-20 10:11:38 -07:00
Mangix 169f19228a Smaller PNG files 2013-05-19 13:47:42 -07:00
Frank Denis 0fc99cc5be Update Sparkle URL 2013-04-12 08:27:26 +02:00
Frank Denis 631a56b662 Recompress images with zopfli 2013-03-09 19:13:16 -08:00
Frank Denis 7aa7c380a0 Regen about.html 2012-11-25 12:46:27 -08:00
Frank Denis 48e413d79e Make it clear that the "fallback to insecure" thing renders the whole thing
useless against active attacks, not dnscrypt itself.
2012-11-25 12:44:44 -08:00
Frank Denis 1f13d0822e Add a DISABLE_IPV6 knob to disable IPv6.
OpenDNS filtering doesn't work on IPv6, at least for people identified by
their IP address, so there should be a simple way, even if it's not directly
in the GUI, to use only IPv4.
2012-11-18 00:27:17 -08:00
Frank Denis a2daf52f1c Clearly explain why "fallback to insecure" is a terrible idea. 2012-11-16 22:55:57 -08:00
Frank Denis 198c622297 Update libldns 2012-11-03 12:51:37 -07:00
Frank Denis 8d488da1c3 Bump 2012-11-03 12:35:55 -07:00
Frank Denis 04d82b13ae Connect the fallback to insecure item from the Xib to the code, so that it
can actually be updated.
2012-11-03 12:31:48 -07:00
Frank Denis c9c87447f5 Build universal binaries
Suck up the fact that building 32-bit binaries requires explicitly defining
each properties like in the good 'ol days.
2012-11-03 12:28:04 -07:00
Frank Denis 76e6cda0ff Update libldns to 1.6.14-final. 2012-10-23 14:33:44 -07:00
Frank Denis 532d993530 Add some tooltips 2012-10-13 23:49:26 -07:00
Frank Denis bc88036a5e Use [NSImage imageNamed:] for the menu bar icons, so that retina icons
(provided that we have some) can be displayed.
2012-10-13 11:29:31 -07:00
Frank Denis 313c634690 Don't combine hi-dpi images 2012-10-13 11:27:01 -07:00
Frank Denis 024ed9d287 Add a meta-installer 2012-10-12 13:28:08 -07:00
Frank Denis cbe7f394ee Use csh instead of ksh. Because ksh occasionally likes to dereference a NULL
pointer on Mountain Lion.
2012-10-11 14:15:43 -07:00
Frank Denis b83a2f514c Move the Uninstall button to the right again. 2012-10-11 14:11:12 -07:00
Frank Denis 362c2043eb www.opendns.com can take more than 5 sec to load, so check connectivity
with guide.opendns.com instead.
2012-10-10 22:22:34 -07:00
Frank Denis 6602c4ab5d Remove the focus before displaying the help page for the advanced settings. 2012-10-10 16:27:35 -07:00
Frank Denis c4c4748352 chmod, then chown 2012-10-10 15:25:38 -07:00
Frank Denis 7ed00f4a7a Enforce a few permissions. 2012-10-10 15:24:33 -07:00
Frank Denis 8aa0f90f16 Remove controls of plugins we don't ship any more. 2012-10-10 14:53:37 -07:00
Frank Denis 07c8f437b4 True dat. Detection of IPv6 connectivity is faster now. 2012-10-10 14:18:14 -07:00
Frank Denis 07900f384b A variable assignment can reset $?. Fix IPv6 detection. 2012-10-10 14:14:16 -07:00
Frank Denis ebfd2eead8 Update package for dnscrypt-proxy 1.2.0 and OSX UI 0.19 2012-10-10 13:56:51 -07:00
Frank Denis 43bc6e81d4 Can? Are. 2012-10-10 13:50:05 -07:00
Frank Denis 263d24c5e6 Ship the AAAA plugin and automatically enable it on IPv4-only networks. 2012-10-10 13:48:36 -07:00
Frank Denis a664db7d22 libldns update 2012-10-10 13:42:42 -07:00
Frank Denis bf7c7534cf Update ChangeLog 2012-10-10 13:36:31 -07:00
Frank Denis 9234cd2362 So, the next version will be 0.19. 2012-10-09 14:25:30 -07:00
Frank Denis 85277fd597 Remove dead scripts. 2012-10-09 14:21:59 -07:00
Frank Denis 1ddd8d28d6 Remove doc about removed stuff. 2012-10-09 14:19:47 -07:00
Frank Denis 8ab74b6406 Remove stuff 2012-10-09 14:18:14 -07:00
Frank Denis bf0d5a0eb5 Adjust the layout 2012-10-09 14:14:08 -07:00
Frank Denis 6285a75499 Remove. Stuff. 2012-10-09 14:06:06 -07:00
Frank Denis 9ee80347f5 127.0.0.54 => $INTERFACE_PROXY 2012-10-05 17:38:18 -07:00
Frank Denis 63e6052caf Update ldns 2012-10-03 16:55:53 -07:00
Frank Denis 2647aadad8 Re-enable JS for the feedback form 2012-10-03 10:08:45 -07:00
Frank Denis 6020eb8505 Grammar 2012-10-03 08:37:13 -07:00
Frank Denis d5f551de8a 0.18 2012-10-03 08:21:43 -07:00
Frank Denis 1c8e2e4fa1 Update release notes. 2012-10-03 08:15:28 -07:00
Frank Denis 093ab54300 Explain that a tool like dig(1) shouldn't be use in order to check if
an exception works.
2012-10-03 05:51:42 -07:00
Frank Denis d15252db40 Keep everything sorted, thanks. 2012-10-02 11:26:54 -07:00
Frank Denis 50dc9a9382 Add freebox.fr to the list of exceptions for things like mafreebox.freebox.fr 2012-10-02 11:25:33 -07:00
Frank Denis 75d3983289 Change "enable OpenDNS" to "always use OpenDNS" and
"enable FamilyShield" to "always use FamilyShield" in the
preference pane, too, in order to be in line with the
menu bar.
Suggested by G.D. Wolfman, thanks!
2012-10-02 07:14:59 -07:00
Frank Denis 24227488db Use 0.17.1 in the package. 2012-10-02 07:14:10 -07:00
Frank Denis cbfa42cb3a Moving on. Next will be 0.18 2012-09-29 15:22:55 +02:00
Frank Denis 2f6ab604fc Use static resolvers, if provided, in order to resolve names bypassing OpenDNS 2012-09-29 15:08:44 +02:00
Frank Denis 7bea3fbc63 Rename DNSCrypt-OSX.mpkg to DNSCrypt.mpkg in order to make Sparkle happy 2012-09-29 14:55:35 +02:00
Frank Denis a790696cdc names => domains 2012-09-29 14:40:02 +02:00
Frank Denis e9ef33c652 Invert the logic, save 2 bytes, yay. 2012-09-28 22:42:43 +02:00
Frank Denis 0bc15a0b7d Typo 2012-09-28 22:35:11 +02:00
Frank Denis 4ee0bee8bf Add entries for dnscrypt-proxy and hostip to the application firewall. 2012-09-28 21:51:45 +02:00
Frank Denis 1953182435 Add README.markdown 2012-09-28 19:07:16 +02:00
Frank Denis dfb93446e6 Not -dev any more 2012-09-28 18:48:46 +02:00
Frank Denis 982c9de99f Use opendns/welcome/ to that people know if they are using OpenDNS or not.
Switch to https by the way.
2012-09-28 18:42:07 +02:00
Frank Denis 26c4efbfd8 0.17 will be released today. 2012-09-28 00:52:38 +02:00
Frank Denis 3b6db0ef37 Remove old exceptions 2012-09-28 00:47:33 +02:00
Frank Denis 5e16b57247 DOMAINS_EXCEPTIONS_FILE => EXCEPTIONS_FILE 2012-09-28 00:17:59 +02:00
Frank Denis 92a8b0b097 Handle exceptions 2012-09-27 23:13:40 +02:00
Frank Denis fde1ebff46 domains-exceptions -> exceptions 2012-09-27 23:13:26 +02:00
Frank Denis 1dc4493321 Add update-exceptions.sh 2012-09-27 22:49:23 +02:00
Frank Denis 7b6f59025e Add a default background color for the help page. 2012-09-27 15:28:38 +02:00
Frank Denis 9193375610 Make the help webview opaque. 2012-09-27 15:22:47 +02:00
Frank Denis ce39c0b767 Move the "uninstall" button to the left, because having it at the same place
as the "help" button is probably a terrible idea.
2012-09-27 15:15:39 +02:00
Frank Denis 1a40da6a28 Define less capabilities for webviews 2012-09-27 15:10:18 +02:00
Frank Denis c5037615fb Update the release notes. 2012-09-27 15:01:59 +02:00
Frank Denis f1b8f2bfa6 Help for the advanced settings pane. 2012-09-27 14:44:56 +02:00
Frank Denis 22cbc2809b Never block opendns.com 2012-09-27 14:40:59 +02:00
Frank Denis 08e745dc2b Revert "Prepare a window for the "help" button."
This reverts commit 8048d73038.
2012-09-27 02:44:46 +02:00
Frank Denis 1369f07a58 Remove the query log file after a reboot. 2012-09-26 16:57:54 +02:00
Frank Denis 7a2e79b04e Let the uninstaller remove /var/log/dnscrypt-query.log 2012-09-26 16:50:05 +02:00
Frank Denis 8048d73038 Prepare a window for the "help" button. 2012-09-26 16:48:38 +02:00
Frank Denis f9728ffd45 Improve the way plugin files are parsed. One option per line. 2012-09-26 14:29:39 +02:00
Frank Denis 9ffa57ba8d Replace wrappers with symlinks 2012-09-26 14:26:10 +02:00
Frank Denis 6fb79a786d Remove alarmer/dnscrypt-proxy/hostip wrappers 2012-09-26 14:25:30 +02:00
Frank Denis 74c860fdfb Fix --ips vs --domains 2012-09-26 11:38:15 +02:00
Frank Denis 3234989005 Temporary files should die as soon as possible. 2012-09-26 11:35:48 +02:00
Frank Denis 7b976aaa33 Remove empty blacklist-domains and/or blacklist-ips files. 2012-09-26 11:34:20 +02:00
Frank Denis 11969f98da Call update-(ips|domains) when blacklists are updated. 2012-09-26 11:18:45 +02:00
Frank Denis 951b3df6a9 Rename switch-blacklist-(ips|domains)-on.sh to update-(ips|domains).sh 2012-09-26 11:18:25 +02:00
Frank Denis 0388eb87d8 Add scripts for switching IPs and domains blacklists on and off. 2012-09-26 11:12:59 +02:00
Frank Denis 582c1eb9a7 Read/write IPs and domains blacklists. 2012-09-26 10:41:07 +02:00
Frank Denis b5578e94e1 Add network settings lock-in support. 2012-09-26 00:07:33 +02:00
Frank Denis 3782b2851b Add network settings lock-in scripts. 2012-09-26 00:00:46 +02:00
Frank Denis 901537f8d5 Enable "View log" button. 2012-09-25 23:10:16 +02:00
Frank Denis b8c538e4aa Add query logging 2012-09-25 23:02:09 +02:00
Frank Denis f16b2c2717 Add support for advanced parental controls, move the whole thing to 0.17 beta. 2012-09-25 22:40:45 +02:00
Frank Denis 578362d2f3 No need to be so verbose. 2012-09-25 21:16:22 +02:00
Frank Denis 8786d2df3a Add the user interface version and the dnscrypt version to feedback messages.
Requested by the OpenDNS support team.
2012-09-25 21:13:35 +02:00
Frank Denis 8ef1d62cbd Typo 2012-09-25 02:17:35 +02:00
Frank Denis 052febc509 Set static resolvers from the preferences pane. 2012-09-24 09:33:38 +02:00
Frank Denis e889c387e1 Disable all checkboxes by default. 2012-09-24 08:46:46 +02:00
Frank Denis 97350f2207 Rephrase 2012-09-24 08:46:15 +02:00
Frank Denis 55cd65f0ad Add set-static-resolvers.sh 2012-09-24 08:45:58 +02:00
Frank Denis 9f10b681dc Change tab ids 2012-09-23 23:54:24 +02:00
Frank Denis df1e23bef7 Slightly change the way plugin-related control files are handled.
A plugins.enabled file is required for plugins to be enabled.
The content of that file is concatened with optional plugin-*.enabled files
in order to build the list of enabled plugins.
Using shell globbing for that is utterly disgusting. I couldn't agree more.
2012-09-23 23:16:36 +02:00
Frank Denis f5678bdd45 Add the path to libldns to the paths the linker will look at. 2012-09-23 22:15:14 +02:00
Frank Denis 507a09aa47 Ship a copy of libldns. 2012-09-23 22:09:48 +02:00
Frank Denis c381885f6a Bundle the uninstaller with the preference pane. Suggested by ScienceGuy, thanks! 2012-09-21 23:06:39 +02:00
Frank Denis 4112c0c19a Regen 2012-09-20 00:29:12 +02:00
Frank Denis 796b767e47 September 7th, 2012 was a Friday. 2012-09-20 00:28:50 +02:00
278 changed files with 3496 additions and 4368 deletions
+17
View File
@@ -0,0 +1,17 @@
*****************************************************************************************************************
Before creating an issue, please read the FAQ: https://github.com/alterstep/dnscrypt-osxclient/blob/master/FAQ.md
Informations and debug logs as explained here are almost always more useful that screenshots!
Thank you!
*****************************************************************************************************************
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

-15
View File
@@ -1,15 +0,0 @@
/*
* Copyright (c) 2011 OpenDNS, Inc.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
@@ -7,20 +7,13 @@
objects = {
/* Begin PBXBuildFile section */
0906D82E14B4D9AC0093FA7D /* no-network.png in Resources */ = {isa = PBXBuildFile; fileRef = 0906D82A14B4D9AC0093FA7D /* no-network.png */; };
0906D82F14B4D9AC0093FA7D /* no-opendns.png in Resources */ = {isa = PBXBuildFile; fileRef = 0906D82B14B4D9AC0093FA7D /* no-opendns.png */; };
0906D83014B4D9AC0093FA7D /* yes-opendns-no-crypt.png in Resources */ = {isa = PBXBuildFile; fileRef = 0906D82C14B4D9AC0093FA7D /* yes-opendns-no-crypt.png */; };
0906D83114B4D9AC0093FA7D /* yes-opendns-yes-crypt.png in Resources */ = {isa = PBXBuildFile; fileRef = 0906D82D14B4D9AC0093FA7D /* yes-opendns-yes-crypt.png */; };
09651148147D832D007FEE31 /* dnscrypt.icns in Resources */ = {isa = PBXBuildFile; fileRef = 09651147147D832D007FEE31 /* dnscrypt.icns */; };
096AEEFA1468A11E009F2AA4 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = 096AEEF91468A11E009F2AA4 /* dsa_pub.pem */; };
0970EAAB160A5B1600865D5D /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 09F4DDA816019D0D002C4E04 /* Sparkle.framework */; };
091360731C88418E00F308D3 /* dnscrypt.iconset in Resources */ = {isa = PBXBuildFile; fileRef = 091360721C88418E00F308D3 /* dnscrypt.iconset */; };
09A13AD2145F3B9000B227A4 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09A13AD1145F3B9000B227A4 /* Cocoa.framework */; };
09A13ADC145F3B9000B227A4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 09A13ADA145F3B9000B227A4 /* InfoPlist.strings */; };
09A13ADE145F3B9000B227A4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A13ADD145F3B9000B227A4 /* main.m */; };
09A13AE2145F3B9000B227A4 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 09A13AE0145F3B9000B227A4 /* Credits.rtf */; };
09A13AE5145F3B9000B227A4 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A13AE4145F3B9000B227A4 /* AppDelegate.m */; };
09A13AE8145F3B9000B227A4 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 09A13AE6145F3B9000B227A4 /* MainMenu.xib */; };
09F4DDA916019D0D002C4E04 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09F4DDA816019D0D002C4E04 /* Sparkle.framework */; };
F622E21B1C88C76800721313 /* Icons.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F622E21A1C88C76800721313 /* Icons.xcassets */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -30,20 +23,14 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
0970EAAB160A5B1600865D5D /* Sparkle.framework in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
0906D82A14B4D9AC0093FA7D /* no-network.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "no-network.png"; sourceTree = "<group>"; };
0906D82B14B4D9AC0093FA7D /* no-opendns.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "no-opendns.png"; sourceTree = "<group>"; };
0906D82C14B4D9AC0093FA7D /* yes-opendns-no-crypt.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "yes-opendns-no-crypt.png"; sourceTree = "<group>"; };
0906D82D14B4D9AC0093FA7D /* yes-opendns-yes-crypt.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "yes-opendns-yes-crypt.png"; sourceTree = "<group>"; };
09651147147D832D007FEE31 /* dnscrypt.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = dnscrypt.icns; path = ../dnscrypt.icns; sourceTree = "<group>"; };
096AEEF91468A11E009F2AA4 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = dsa_pub.pem; sourceTree = "<group>"; };
09A13ACD145F3B9000B227A4 /* DNSCrypt-Menubar.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DNSCrypt-Menubar.app"; sourceTree = BUILT_PRODUCTS_DIR; };
091360721C88418E00F308D3 /* dnscrypt.iconset */ = {isa = PBXFileReference; lastKnownFileType = folder.iconset; path = dnscrypt.iconset; sourceTree = "<group>"; };
09A13ACD145F3B9000B227A4 /* DNSCrypt Menubar.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DNSCrypt Menubar.app"; sourceTree = BUILT_PRODUCTS_DIR; };
09A13AD1145F3B9000B227A4 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
09A13AD4145F3B9000B227A4 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
09A13AD5145F3B9000B227A4 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
@@ -52,11 +39,10 @@
09A13ADB145F3B9000B227A4 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
09A13ADD145F3B9000B227A4 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
09A13ADF145F3B9000B227A4 /* DNSCrypt-Menubar-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DNSCrypt-Menubar-Prefix.pch"; sourceTree = "<group>"; };
09A13AE1145F3B9000B227A4 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = "<group>"; };
09A13AE3145F3B9000B227A4 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
09A13AE4145F3B9000B227A4 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
09A13AE7145F3B9000B227A4 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = "<group>"; };
09F4DDA816019D0D002C4E04 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sparkle.framework; sourceTree = "<group>"; };
F622E21A1C88C76800721313 /* Icons.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Icons.xcassets; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -65,7 +51,6 @@
buildActionMask = 2147483647;
files = (
09A13AD2145F3B9000B227A4 /* Cocoa.framework in Frameworks */,
09F4DDA916019D0D002C4E04 /* Sparkle.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -84,7 +69,7 @@
09A13ACE145F3B9000B227A4 /* Products */ = {
isa = PBXGroup;
children = (
09A13ACD145F3B9000B227A4 /* DNSCrypt-Menubar.app */,
09A13ACD145F3B9000B227A4 /* DNSCrypt Menubar.app */,
);
name = Products;
sourceTree = "<group>";
@@ -92,7 +77,6 @@
09A13AD0145F3B9000B227A4 /* Frameworks */ = {
isa = PBXGroup;
children = (
09F4DDA816019D0D002C4E04 /* Sparkle.framework */,
09A13AD1145F3B9000B227A4 /* Cocoa.framework */,
09A13AD3145F3B9000B227A4 /* Other Frameworks */,
);
@@ -123,17 +107,12 @@
09A13AD8145F3B9000B227A4 /* Supporting Files */ = {
isa = PBXGroup;
children = (
09651147147D832D007FEE31 /* dnscrypt.icns */,
091360721C88418E00F308D3 /* dnscrypt.iconset */,
F622E21A1C88C76800721313 /* Icons.xcassets */,
09A13AD9145F3B9000B227A4 /* DNSCrypt-Menubar-Info.plist */,
09A13ADA145F3B9000B227A4 /* InfoPlist.strings */,
09A13ADD145F3B9000B227A4 /* main.m */,
09A13ADF145F3B9000B227A4 /* DNSCrypt-Menubar-Prefix.pch */,
09A13AE0145F3B9000B227A4 /* Credits.rtf */,
096AEEF91468A11E009F2AA4 /* dsa_pub.pem */,
0906D82A14B4D9AC0093FA7D /* no-network.png */,
0906D82B14B4D9AC0093FA7D /* no-opendns.png */,
0906D82C14B4D9AC0093FA7D /* yes-opendns-no-crypt.png */,
0906D82D14B4D9AC0093FA7D /* yes-opendns-yes-crypt.png */,
);
name = "Supporting Files";
sourceTree = "<group>";
@@ -156,7 +135,7 @@
);
name = "DNSCrypt-Menubar";
productName = "DNSCrypt-Menubar";
productReference = 09A13ACD145F3B9000B227A4 /* DNSCrypt-Menubar.app */;
productReference = 09A13ACD145F3B9000B227A4 /* DNSCrypt Menubar.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
@@ -165,7 +144,7 @@
09A13AC4145F3B9000B227A4 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0450;
LastUpgradeCheck = 0510;
};
buildConfigurationList = 09A13AC7145F3B9000B227A4 /* Build configuration list for PBXProject "DNSCrypt-Menubar" */;
compatibilityVersion = "Xcode 3.2";
@@ -190,14 +169,9 @@
buildActionMask = 2147483647;
files = (
09A13ADC145F3B9000B227A4 /* InfoPlist.strings in Resources */,
09A13AE2145F3B9000B227A4 /* Credits.rtf in Resources */,
09A13AE8145F3B9000B227A4 /* MainMenu.xib in Resources */,
096AEEFA1468A11E009F2AA4 /* dsa_pub.pem in Resources */,
09651148147D832D007FEE31 /* dnscrypt.icns in Resources */,
0906D82E14B4D9AC0093FA7D /* no-network.png in Resources */,
0906D82F14B4D9AC0093FA7D /* no-opendns.png in Resources */,
0906D83014B4D9AC0093FA7D /* yes-opendns-no-crypt.png in Resources */,
0906D83114B4D9AC0093FA7D /* yes-opendns-yes-crypt.png in Resources */,
F622E21B1C88C76800721313 /* Icons.xcassets in Resources */,
091360731C88418E00F308D3 /* dnscrypt.iconset in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -224,14 +198,6 @@
name = InfoPlist.strings;
sourceTree = "<group>";
};
09A13AE0145F3B9000B227A4 /* Credits.rtf */ = {
isa = PBXVariantGroup;
children = (
09A13AE1145F3B9000B227A4 /* en */,
);
name = Credits.rtf;
sourceTree = "<group>";
};
09A13AE6145F3B9000B227A4 /* MainMenu.xib */ = {
isa = PBXVariantGroup;
children = (
@@ -247,8 +213,14 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
CLANG_ENABLE_OBJC_ARC = NO;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
@@ -263,6 +235,9 @@
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.6;
ONLY_ACTIVE_ARCH = YES;
@@ -274,8 +249,14 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
CLANG_ENABLE_OBJC_ARC = NO;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -284,6 +265,9 @@
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.6;
SDKROOT = macosx;
@@ -293,6 +277,8 @@
09A13AEC145F3B9000B227A4 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_ARC = YES;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -302,7 +288,8 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "DNSCrypt-Menubar/DNSCrypt-Menubar-Prefix.pch";
INFOPLIST_FILE = "DNSCrypt-Menubar/DNSCrypt-Menubar-Info.plist";
PRODUCT_NAME = "$(TARGET_NAME)";
MACOSX_DEPLOYMENT_TARGET = 10.8;
PRODUCT_NAME = "DNSCrypt Menubar";
WRAPPER_EXTENSION = app;
};
name = Debug;
@@ -310,6 +297,8 @@
09A13AED145F3B9000B227A4 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_ARC = YES;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -319,7 +308,8 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "DNSCrypt-Menubar/DNSCrypt-Menubar-Prefix.pch";
INFOPLIST_FILE = "DNSCrypt-Menubar/DNSCrypt-Menubar-Info.plist";
PRODUCT_NAME = "$(TARGET_NAME)";
MACOSX_DEPLOYMENT_TARGET = 10.8;
PRODUCT_NAME = "DNSCrypt Menubar";
WRAPPER_EXTENSION = app;
};
name = Release;
+15 -21
View File
@@ -1,10 +1,3 @@
//
// AppDelegate.h
// DNSCrypt-Menubar
//
// Created by OpenDNS, Inc. on 10/31/11.
// Copyright (c) 2011 OpenDNS, Inc. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@@ -14,32 +7,33 @@
#define kDNSCRYPT_VAR_BASE_DIR @"/Library/Application Support/DNSCrypt"
#define kDNSCRYPT_CONTROL_DIR kDNSCRYPT_VAR_BASE_DIR @"/control"
@interface AppDelegate : NSObject <NSApplicationDelegate>
@property (assign) IBOutlet NSWindow *window;
@property (strong) IBOutlet NSMenu *dnscryptMenu;
@property (strong) NSStatusItem *statusItem;
@property (strong) IBOutlet NSMenuItem *versionMenuItem;
@interface AppDelegate : NSObject <NSApplicationDelegate> {
NSWindow *__weak _window;
NSMenu *_dnscryptMenu;
NSStatusItem *_statusItem;
NSMenuItem *_versionMenuItem;
NSMenuItem *_statusResolversMenuItem;
NSMenuItem *_dnscryptMenuItem;
}
#define kREFRESH_DELAY 2.0
#define kCHECKBOXES_AFTER_CHANGE_DELAY 8.0
#define kMAX_TRIES_AFTER_CHANGE (30 / kREFRESH_DELAY)
typedef enum {
kDNS_CONFIGURATION_UNKNOWN, kDNS_CONFIGURATION_VANILLA, kDNS_CONFIGURATION_LOCALHOST, kDNS_CONFIGURATION_OPENDNS
kDNS_CONFIGURATION_UNKNOWN, kDNS_CONFIGURATION_VANILLA, kDNS_CONFIGURATION_LOCALHOST
} DNSConfigurationState;
@property (strong) NSStatusItem *statusItem;
@property (weak) NSWindow *window;
@property (strong) IBOutlet NSMenu *dnscryptMenu;
@property (strong) IBOutlet NSMenuItem *versionMenuItem;
@property (strong) IBOutlet NSMenuItem *statusResolversMenuItem;
@property (strong) IBOutlet NSMenuItem *statusConfigurationMenuItem;
@property (strong) IBOutlet NSMenuItem *familyShieldMenuItem;
@property (strong) IBOutlet NSMenuItem *dnscryptMenuItem;
@property (strong) IBOutlet NSMenuItem *fallbackMenuItem;
@property (strong) IBOutlet NSMenuItem *opendnsMenuItem;
- (IBAction)preferencesMenuItemPushed:(NSMenuItem *)sender;
- (IBAction)dnscryptMenuItemPushed:(NSMenuItem *)sender;
- (IBAction)familyShieldMenuItemPushed:(NSMenuItem *)sender;
- (IBAction)fallbackMenuItemPushed:(NSMenuItem *)sender;
- (IBAction)opendnsMenuItemPushed:(NSMenuItem *)sender;
- (IBAction)hideMenubarIconMenuItemPushed:(NSMenuItem *)sender;
@end
+39 -126
View File
@@ -1,34 +1,20 @@
//
// AppDelegate.m
// DNSCrypt-Menubar
//
// Created by OpenDNS, Inc. on 10/31/11.
// Copyright (c) 2011 OpenDNS, Inc. All rights reserved.
//
#import "AppDelegate.h"
#import "Sparkle/Sparkle.h"
@implementation AppDelegate
@synthesize statusResolversMenuItem = _statusResolversMenuItem;
@synthesize statusConfigurationMenuItem = _statusConfigurationMenuItem;
@synthesize familyShieldMenuItem = _familyShieldMenuItem;
@synthesize dnscryptMenuItem = _dnscryptMenuItem;
@synthesize fallbackMenuItem = _fallbackMenuItem;
@synthesize opendnsMenuItem = _opendnsMenuItem;
@synthesize window = _window;
@synthesize dnscryptMenu = _dnscryptMenu;
@synthesize statusItem = _statusItem;
@synthesize versionMenuItem = _versionMenuItem;
DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
BOOL appUpdated = FALSE;
- (void) setCheckBoxesEnabled: (BOOL) enabled
{
[_dnscryptMenuItem setEnabled: enabled];
[_opendnsMenuItem setEnabled: enabled];
[_familyShieldMenuItem setEnabled: enabled];
[_fallbackMenuItem setEnabled: enabled];
}
- (NSString *) fromCommand: (NSString *) launchPath withArguments: (NSArray *) arguments
@@ -43,8 +29,7 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
[task launch];
data = [[pipe fileHandleForReading] readDataToEndOfFile];
[task waitUntilExit];
[task release];
result = [[[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding] autorelease];
result = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
if ([result hasSuffix: @"\n"]) {
result = [result substringToIndex: result.length - 1];
}
@@ -56,26 +41,11 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
NSString *res;
_dnscryptMenuItem.state = 0;
_familyShieldMenuItem.state = 0;
_opendnsMenuItem.state = 0;
_fallbackMenuItem.state = 0;
res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./get-dnscrypt-status.sh", nil]];
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./get-dnscrypt-status.sh", nil]];
if ([res isEqualToString: @"yes"]) {
[_dnscryptMenuItem setState: 1];
}
res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./get-familyshield-status.sh", nil]];
if ([res isEqualToString: @"yes"]) {
[_familyShieldMenuItem setState: 1];
}
res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./get-insecure-opendns-status.sh", nil]];
if ([res isEqualToString: @"yes"]) {
[_opendnsMenuItem setState: 1];
}
res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./get-fallback-status.sh", nil]];
if ([res isEqualToString: @"yes"]) {
[_fallbackMenuItem setState: 1];
}
}
- (BOOL) resolversForService: (NSArray *) resolversForService includeResolvers:(NSArray *) resolvers
@@ -97,50 +67,52 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
- (void) updateLedStatus
{
NSBundle *bundle = [NSBundle mainBundle];
NSImage *led = nil;
switch (currentState) {
case kDNS_CONFIGURATION_OPENDNS:
led = [[NSImage alloc] initWithContentsOfFile: [bundle pathForImageResource: @"yes-opendns-no-crypt.png"]];
break;
case kDNS_CONFIGURATION_LOCALHOST:
led = [[NSImage alloc] initWithContentsOfFile: [bundle pathForImageResource: @"yes-opendns-yes-crypt.png"]];
led = [NSImage imageNamed: @"Active"];
break;
case kDNS_CONFIGURATION_VANILLA:
led = [[NSImage alloc] initWithContentsOfFile: [bundle pathForImageResource: @"no-opendns.png"]];
led = [NSImage imageNamed: @"Inactive"];
break;
default:
led = [[NSImage alloc] initWithContentsOfFile: [bundle pathForImageResource: @"no-network.png"]];
led = [NSImage imageNamed: @"No-Network"];
}
[led setTemplate:YES];
_statusItem.image = led;
[led release];
}
- (BOOL) updateStatusWithCurrentConfig
{
NSString *stateDescription = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./get-current-resolvers.sh | ./get-resolvers-description.sh", nil]];
if ([stateDescription isEqualToString: @"FamilyShield"]) {
currentState = kDNS_CONFIGURATION_OPENDNS;
} else if ([stateDescription isEqualToString: @"DNSCrypt"]) {
NSString *stateDescription = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./get-current-resolvers.sh | ./get-resolvers-description.sh", nil]];
if ([stateDescription isEqualToString: @"DNSCrypt"]) {
currentState = kDNS_CONFIGURATION_LOCALHOST;
} else if ([stateDescription isEqualToString: @"OpenDNS"]) {
currentState = kDNS_CONFIGURATION_OPENDNS;
} else if ([stateDescription isEqualToString: @"OpenDNS IPv6"]) {
currentState = kDNS_CONFIGURATION_OPENDNS;
if (appUpdated == FALSE) {
appUpdated = TRUE;
[self appUpdate];
}
} else if ([stateDescription isEqualToString: @"None"]) {
currentState = kDNS_CONFIGURATION_UNKNOWN;
} else if ([stateDescription isEqualToString: @"Updating"]) {
currentState = kDNS_CONFIGURATION_UNKNOWN;
} else if (stateDescription.length > 0) {
currentState = kDNS_CONFIGURATION_VANILLA;
}
[self updateLedStatus];
NSString *currentResolvers = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./get-current-resolvers.sh | ./get-upstream-resolvers.sh", nil]];
_statusConfigurationMenuItem.title = stateDescription;
NSString *hideMenuBar = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./get-hide-menubar-icon-status.sh | ./get-upstream-resolvers.sh", nil]];
if ([hideMenuBar isEqualToString: @"yes"]) {
_statusItem.visible = FALSE;
} else if ([hideMenuBar isEqualToString: @"no"]) {
_statusItem.visible = TRUE;
}
NSString *currentResolvers = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./get-current-resolvers.sh | ./get-upstream-resolvers.sh", nil]];
_statusResolversMenuItem.title = currentResolvers;
NSString *res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./gui-pop-conf-change.sh menubar", nil]];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./gui-pop-conf-change.sh menubar", nil]];
if ([res isEqualToString: @"yes"]) {
[self initState];
}
@@ -159,7 +131,7 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
NSString *res;
static unsigned int tries;
res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./get-tickets-count.sh", nil]];
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./get-tickets-count.sh", nil]];
if (res.length <= 0 || [res isEqualToString: @"0"] || tries > kMAX_TRIES_AFTER_CHANGE) {
tries = 0U;
[self periodicallyUpdateStatusWithCurrentConfig];
@@ -174,12 +146,10 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
{
[self setCheckBoxesEnabled: FALSE];
NSBundle *bundle = [NSBundle mainBundle];
NSImage *led = [[NSImage alloc] initWithContentsOfFile: [bundle pathForImageResource: @"no-network.png"]];
NSImage *led = [NSImage imageNamed: @"No-Network"];
_statusItem.image = led;
[led release];
[self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./gui-push-conf-change.sh prefpane", nil]];
[self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./gui-push-conf-change.sh prefpane", nil]];
[NSObject cancelPreviousPerformRequestsWithTarget: self selector: @selector(periodicallyUpdateStatusWithCurrentConfig) object: nil];
[NSObject cancelPreviousPerformRequestsWithTarget: self selector: @selector(waitForUpdate) object: nil];
@@ -189,7 +159,6 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
- (void) awakeFromNib
{
_statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[_statusItem retain];
_statusItem.highlightMode = TRUE;
_statusItem.toolTip = @"DNSCrypt";
_statusItem.menu = _dnscryptMenu;
@@ -206,7 +175,6 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[[SUUpdater sharedUpdater] setSendsSystemProfile: TRUE];
}
- (IBAction)preferencesMenuItemPushed:(NSMenuItem *)sender
@@ -223,59 +191,24 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
- (BOOL) setDNSCryptOn {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-to-dnscrypt.sh", nil]];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-to-dnscrypt.sh", nil]];
(void) res;
return TRUE;
}
- (BOOL) setDNSCryptOff {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-to-dhcp.sh", nil]];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-to-dhcp.sh", nil]];
(void) res;
return TRUE;
}
- (BOOL) setFamilyShieldOn {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-familyshield-on.sh", nil]];
- (BOOL) appUpdate {
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./update-dnscrypt-app.sh", nil]];
(void) res;
return TRUE;
}
- (BOOL) setFamilyShieldOff {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-familyshield-off.sh", nil]];
(void) res;
return TRUE;
}
- (BOOL) setInsecureOpenDNSOn {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-insecure-opendns-on.sh", nil]];
(void) res;
return TRUE;
}
- (BOOL) setInsecureOpenDNSOff {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-insecure-opendns-off.sh", nil]];
(void) res;
return TRUE;
}
- (BOOL) setFallbackOn {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-fallback-on.sh", nil]];
(void) res;
return TRUE;
}
- (BOOL) setFallbackOff {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-fallback-off.sh", nil]];
(void) res;
return TRUE;
}
- (IBAction)dnscryptMenuItemPushed:(NSMenuItem *)sender
{
@@ -288,37 +221,17 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
}
}
- (IBAction)familyShieldMenuItemPushed:(NSMenuItem *)sender
{
if (sender.state == 0) {
sender.state = 1;
[self setFamilyShieldOn];
} else {
sender.state = 0;
[self setFamilyShieldOff];
}
- (BOOL) setHideMenubarIconOn {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-hide-menubar-icon-on.sh", nil]];
(void) res;
_statusItem.visible = FALSE;
return TRUE;
}
- (IBAction)opendnsMenuItemPushed:(NSMenuItem *)sender
- (IBAction)hideMenubarIconMenuItemPushed:(NSMenuItem *)sender
{
if (sender.state == 0) {
sender.state = 1;
[self setInsecureOpenDNSOn];
} else {
sender.state = 0;
[self setInsecureOpenDNSOff];
}
}
- (IBAction)fallbackMenuItemPushed:(NSMenuItem *)sender
{
if (sender.state == 0) {
sender.state = 1;
[self setFallbackOn];
} else {
sender.state = 0;
[self setFallbackOff];
}
[self setHideMenubarIconOn];
}
@end
@@ -9,7 +9,7 @@
<key>CFBundleIconFile</key>
<string>dnscrypt.icns</string>
<key>CFBundleIdentifier</key>
<string>com.opendns.osx.${PRODUCT_NAME:rfc1034identifier}</string>
<string>com.github.dnscrypt-osxclient.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.16 (beta)</string>
<string>1.0.14</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.16</string>
<string>1.0.14</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>LSMinimumSystemVersion</key>
@@ -29,14 +29,10 @@
<key>LSUIElement</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2012 OpenDNS, Inc. All rights reserved.</string>
<string>BSD</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>SUFeedURL</key>
<string>http://opendns.github.com/dnscrypt-osx-client/updates/osx/sparkle-updates.xml</string>
<key>SUPublicDSAKeyFile</key>
<string>dsa_pub.pem</string>
</dict>
</plist>
@@ -0,0 +1,12 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "Active.pdf"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,12 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "Inactive.pdf"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,12 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "No-Network.pdf"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

@@ -1,12 +0,0 @@
-----BEGIN PUBLIC KEY-----
MIIBtzCCASwGByqGSM44BAEwggEfAoGBAIpCA2NYJe0E0ilZVp3nkP9301l2/h+Y
ltDQhkWaSYrArR5iqmQcNbYgsULy3vjZs+4CgXea81zCzIcX8yvh8AFH9E4aWAJN
bszYHCfemAq0YBbwwfsc4fSjvGKvDKwVcnn/nxLtcuA9c5pfW8GWUbGfDhGHaAaC
AZhWA0SOh5ODAhUA6XR9JwsaIogtEqQZaoxUgtWPPDECgYEAgLMPGhjRSXgY4vhR
60H4kMtkd/W0k/rPDOvO63pUFKowtzjXfMpiCYVMpB6+hjC+LrtvkiB8P1nVpa7q
rdNB32NFqeqR9gqZwU7aPGWHgzB9nlZw/uGfvQ/tCz6Z0uSmenWaOTvZvJoUCs5N
Cjzt8R/0YYYJA87c9hHHaEoLZRgDgYQAAoGABFH0SUjg4tpuWodWuRT03cKRyIrX
x6gHxKelSBa/5RvykluxNUVKWs3YCR5LDnjsFxR7bfwNPkuvWyUGvhjEDLH3tLnS
YPlMdzl1eRf0NF6FWl5HZetfY2mgPDp/iy1mb3QaVuxeAxQZx72gqVdmM3UwQBN/
8+Fb9X3V/R7bYgQ=
-----END PUBLIC KEY-----
@@ -1,30 +0,0 @@
{\rtf1\ansi\ansicpg65001\cocoartf1138\cocoasubrtf230
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\paperw11900\paperh16840\vieww9600\viewh8400\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
\f0\b\fs24 \cf0 Engineering:
\b0 \
Some people\
\
\b Human Interface Design:
\b0 \
Some other people\
\
\b Testing:
\b0 \
Hopefully not nobody\
\
\b Documentation:
\b0 \
Whoever\
\
\b With special thanks to:
\b0 \
Mom\
}
@@ -1,660 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1080</int>
<string key="IBDocument.SystemVersion">12A269</string>
<string key="IBDocument.InterfaceBuilderVersion">2818</string>
<string key="IBDocument.AppKitVersion">1187</string>
<string key="IBDocument.HIToolboxVersion">624.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">2818</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSCustomObject</string>
<string>NSMenu</string>
<string>NSMenuItem</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1048">
<object class="NSCustomObject" id="1021">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSCustomObject" id="1014">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="1050">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSCustomObject" id="976324537">
<string key="NSClassName">AppDelegate</string>
</object>
<object class="NSMenu" id="705716806">
<string key="NSTitle"/>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="1061864523">
<reference key="NSMenu" ref="705716806"/>
<string key="NSTitle">Enable DNSCrypt</string>
<string key="NSKeyEquiv">e</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<object class="NSCustomResource" key="NSOnImage" id="720710128">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSMenuCheckmark</string>
</object>
<object class="NSCustomResource" key="NSMixedImage" id="1029721002">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSMenuMixedState</string>
</object>
</object>
<object class="NSMenuItem" id="512564254">
<reference key="NSMenu" ref="705716806"/>
<string key="NSTitle">Fallback to insecure</string>
<string key="NSKeyEquiv">x</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="947483772">
<reference key="NSMenu" ref="705716806"/>
<string key="NSTitle">Always use FamilyShield</string>
<string key="NSKeyEquiv">f</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="31983378">
<reference key="NSMenu" ref="705716806"/>
<string key="NSTitle">Always use OpenDNS</string>
<string key="NSKeyEquiv">o</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="392357407">
<reference key="NSMenu" ref="705716806"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="721984748">
<reference key="NSMenu" ref="705716806"/>
<string key="NSTitle">DNSCrypt Preferences</string>
<string key="NSKeyEquiv">,</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="669888296">
<reference key="NSMenu" ref="705716806"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="1019451222">
<reference key="NSMenu" ref="705716806"/>
<string key="NSTitle">Check for updates</string>
<string key="NSKeyEquiv">u</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="580228755">
<reference key="NSMenu" ref="705716806"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="472006404">
<reference key="NSMenu" ref="705716806"/>
<bool key="NSIsDisabled">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="512706455">
<reference key="NSMenu" ref="705716806"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="346126718">
<reference key="NSMenu" ref="705716806"/>
<bool key="NSIsDisabled">YES</bool>
<string key="NSTitle">Current configuration:</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="344915292">
<reference key="NSMenu" ref="705716806"/>
<bool key="NSIsDisabled">YES</bool>
<int key="NSIndent">1</int>
<string key="NSTitle">...</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="1037964463">
<reference key="NSMenu" ref="705716806"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="431757742">
<reference key="NSMenu" ref="705716806"/>
<bool key="NSIsDisabled">YES</bool>
<string key="NSTitle">Current resolvers:</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="544242747">
<reference key="NSMenu" ref="705716806"/>
<bool key="NSIsDisabled">YES</bool>
<int key="NSIndent">1</int>
<string key="NSTitle">...</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="235572958">
<reference key="NSMenu" ref="705716806"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
<object class="NSMenuItem" id="379851885">
<reference key="NSMenu" ref="705716806"/>
<string key="NSTitle">Hide from the menu bar</string>
<string key="NSKeyEquiv">h</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="720710128"/>
<reference key="NSMixedImage" ref="1029721002"/>
</object>
</array>
</object>
<object class="NSCustomObject" id="757349031">
<string key="NSClassName">SUUpdater</string>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="1021"/>
<reference key="destination" ref="976324537"/>
</object>
<int key="connectionID">495</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">terminate:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="379851885"/>
</object>
<int key="connectionID">560</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">dnscryptMenu</string>
<reference key="source" ref="976324537"/>
<reference key="destination" ref="705716806"/>
</object>
<int key="connectionID">543</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">statusConfigurationMenuItem</string>
<reference key="source" ref="976324537"/>
<reference key="destination" ref="344915292"/>
</object>
<int key="connectionID">551</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">statusResolversMenuItem</string>
<reference key="source" ref="976324537"/>
<reference key="destination" ref="544242747"/>
</object>
<int key="connectionID">552</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">versionMenuItem</string>
<reference key="source" ref="976324537"/>
<reference key="destination" ref="472006404"/>
</object>
<int key="connectionID">568</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">preferencesMenuItemPushed:</string>
<reference key="source" ref="976324537"/>
<reference key="destination" ref="721984748"/>
</object>
<int key="connectionID">571</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">familyShieldMenuItem</string>
<reference key="source" ref="976324537"/>
<reference key="destination" ref="947483772"/>
</object>
<int key="connectionID">577</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">dnscryptMenuItem</string>
<reference key="source" ref="976324537"/>
<reference key="destination" ref="1061864523"/>
</object>
<int key="connectionID">578</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">dnscryptMenuItemPushed:</string>
<reference key="source" ref="976324537"/>
<reference key="destination" ref="1061864523"/>
</object>
<int key="connectionID">580</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">familyShieldMenuItemPushed:</string>
<reference key="source" ref="976324537"/>
<reference key="destination" ref="947483772"/>
</object>
<int key="connectionID">581</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">fallbackMenuItemPushed:</string>
<reference key="source" ref="976324537"/>
<reference key="destination" ref="512564254"/>
</object>
<int key="connectionID">584</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">opendnsMenuItem</string>
<reference key="source" ref="976324537"/>
<reference key="destination" ref="31983378"/>
</object>
<int key="connectionID">587</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">opendnsMenuItemPushed:</string>
<reference key="source" ref="976324537"/>
<reference key="destination" ref="31983378"/>
</object>
<int key="connectionID">588</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">checkForUpdates:</string>
<reference key="source" ref="757349031"/>
<reference key="destination" ref="1019451222"/>
</object>
<int key="connectionID">563</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="1048"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="1021"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="1014"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="1050"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">494</int>
<reference key="object" ref="976324537"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">539</int>
<reference key="object" ref="705716806"/>
<array class="NSMutableArray" key="children">
<reference ref="346126718"/>
<reference ref="344915292"/>
<reference ref="431757742"/>
<reference ref="544242747"/>
<reference ref="1037964463"/>
<reference ref="235572958"/>
<reference ref="1061864523"/>
<reference ref="379851885"/>
<reference ref="1019451222"/>
<reference ref="669888296"/>
<reference ref="580228755"/>
<reference ref="472006404"/>
<reference ref="512706455"/>
<reference ref="721984748"/>
<reference ref="947483772"/>
<reference ref="31983378"/>
<reference ref="392357407"/>
<reference ref="512564254"/>
</array>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">540</int>
<reference key="object" ref="346126718"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">541</int>
<reference key="object" ref="344915292"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">542</int>
<reference key="object" ref="1061864523"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">549</int>
<reference key="object" ref="431757742"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">550</int>
<reference key="object" ref="544242747"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">553</int>
<reference key="object" ref="1037964463"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">554</int>
<reference key="object" ref="235572958"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">557</int>
<reference key="object" ref="669888296"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">558</int>
<reference key="object" ref="379851885"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">561</int>
<reference key="object" ref="757349031"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">562</int>
<reference key="object" ref="1019451222"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">564</int>
<reference key="object" ref="580228755"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">565</int>
<reference key="object" ref="472006404"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">566</int>
<reference key="object" ref="512706455"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">570</int>
<reference key="object" ref="721984748"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">572</int>
<reference key="object" ref="947483772"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">574</int>
<reference key="object" ref="31983378"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">576</int>
<reference key="object" ref="392357407"/>
<reference key="parent" ref="705716806"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">583</int>
<reference key="object" ref="512564254"/>
<reference key="parent" ref="705716806"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="494.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="539.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="540.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="541.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="542.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="549.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="550.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="553.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="554.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="557.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="558.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="561.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="562.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="564.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="565.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="566.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="570.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="572.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="574.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="576.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="583.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">588</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">AppDelegate</string>
<string key="superclassName">NSObject</string>
<dictionary class="NSMutableDictionary" key="actions">
<string key="dnscryptMenuItemPushed:">NSMenuItem</string>
<string key="fallbackMenuItemPushed:">NSMenuItem</string>
<string key="familyShieldMenuItemPushed:">NSMenuItem</string>
<string key="opendnsMenuItemPushed:">NSMenuItem</string>
<string key="preferencesMenuItemPushed:">NSMenuItem</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="actionInfosByName">
<object class="IBActionInfo" key="dnscryptMenuItemPushed:">
<string key="name">dnscryptMenuItemPushed:</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBActionInfo" key="fallbackMenuItemPushed:">
<string key="name">fallbackMenuItemPushed:</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBActionInfo" key="familyShieldMenuItemPushed:">
<string key="name">familyShieldMenuItemPushed:</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBActionInfo" key="opendnsMenuItemPushed:">
<string key="name">opendnsMenuItemPushed:</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBActionInfo" key="preferencesMenuItemPushed:">
<string key="name">preferencesMenuItemPushed:</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
</dictionary>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="dnscryptMenu">NSMenu</string>
<string key="dnscryptMenuItem">NSMenuItem</string>
<string key="fallbackMenuItem">NSMenuItem</string>
<string key="familyShieldMenuItem">NSMenuItem</string>
<string key="opendnsMenuItem">NSMenuItem</string>
<string key="statusConfigurationMenuItem">NSMenuItem</string>
<string key="statusResolversMenuItem">NSMenuItem</string>
<string key="versionMenuItem">NSMenuItem</string>
<string key="window">NSWindow</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
<object class="IBToOneOutletInfo" key="dnscryptMenu">
<string key="name">dnscryptMenu</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo" key="dnscryptMenuItem">
<string key="name">dnscryptMenuItem</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo" key="fallbackMenuItem">
<string key="name">fallbackMenuItem</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo" key="familyShieldMenuItem">
<string key="name">familyShieldMenuItem</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo" key="opendnsMenuItem">
<string key="name">opendnsMenuItem</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo" key="statusConfigurationMenuItem">
<string key="name">statusConfigurationMenuItem</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo" key="statusResolversMenuItem">
<string key="name">statusResolversMenuItem</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo" key="versionMenuItem">
<string key="name">versionMenuItem</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo" key="window">
<string key="name">window</string>
<string key="candidateClassName">NSWindow</string>
</object>
</dictionary>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/AppDelegate.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">SUUpdater</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">checkForUpdates:</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<string key="NS.key.0">checkForUpdates:</string>
<object class="IBActionInfo" key="NS.object.0">
<string key="name">checkForUpdates:</string>
<string key="candidateClassName">id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">delegate</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<string key="NS.key.0">delegate</string>
<object class="IBToOneOutletInfo" key="NS.object.0">
<string key="name">delegate</string>
<string key="candidateClassName">id</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/SUUpdater.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
<string key="NSMenuCheckmark">{11, 11}</string>
<string key="NSMenuMixedState">{10, 3}</string>
</dictionary>
</data>
</archive>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="13196" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="13196"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
<connections>
<outlet property="delegate" destination="494" id="495"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<customObject id="494" customClass="AppDelegate">
<connections>
<outlet property="dnscryptMenu" destination="539" id="543"/>
<outlet property="dnscryptMenuItem" destination="542" id="578"/>
<outlet property="statusResolversMenuItem" destination="550" id="552"/>
<outlet property="versionMenuItem" destination="565" id="568"/>
</connections>
</customObject>
<menu id="539">
<items>
<menuItem title="Enable DNSCrypt" keyEquivalent="e" id="542">
<connections>
<action selector="dnscryptMenuItemPushed:" target="494" id="580"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="576"/>
<menuItem title="DNSCrypt-OSXClient Preferences" keyEquivalent="," id="570">
<connections>
<action selector="preferencesMenuItemPushed:" target="494" id="571"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="564"/>
<menuItem enabled="NO" id="565">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem isSeparatorItem="YES" id="553"/>
<menuItem title="Current resolvers:" enabled="NO" id="549">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem title="..." enabled="NO" indentationLevel="1" id="550">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem isSeparatorItem="YES" id="554"/>
<menuItem title="Hide from the menu bar" keyEquivalent="h" id="yYW-Ye-NGW">
<connections>
<action selector="hideMenubarIconMenuItemPushed:" target="494" id="QDi-0b-iiy"/>
</connections>
</menuItem>
<menuItem title="Quit" keyEquivalent="q" id="558">
<connections>
<action selector="terminate:" target="-1" id="560"/>
</connections>
</menuItem>
</items>
<point key="canvasLocation" x="139" y="175.5"/>
</menu>
</objects>
</document>
-7
View File
@@ -1,10 +1,3 @@
//
// main.m
// DNSCrypt-Menubar
//
// Created by OpenDNS, Inc. on 10/31/11.
// Copyright (c) 2011 OpenDNS, Inc. All rights reserved.
//
#import <Cocoa/Cocoa.h>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 B

+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" height="34px" width="130px" version="1.1" viewBox="0 0 130 34">
<g fill-rule="evenodd">
<path opacity="0.45" d="m48 6.0003c0-3.3139 2.682-6.0003 6-6.0003h22c3.314 0 6 2.6821 6 6.0003v22c0 3.314-2.682 6-6 6h-22c-3.314 0-6-2.682-6-6v-22zm4 1.0076c0-1.6612 1.343-3.0079 3.008-3.0079h19.984c1.661 0 3.008 1.3431 3.008 3.0079v19.984c0 1.661-1.343 3.008-3.008 3.008h-19.984c-1.661 0-3.008-1.343-3.008-3.008v-19.984zm5.632 5.0301l4.968 4.962-4.968 4.962 2.406 2.406 4.959-4.965 4.965 4.965 2.406-2.406-4.968-4.962 4.968-4.962-2.406-2.4058-4.962 4.9698-4.962-4.9698-2.406 2.4058z"/>
<g transform="translate(96)">
<path opacity="0.45" d="m0 6.0003c0-3.3139 2.6821-6.0003 6.0003-6.0003h22c3.314 0 6 2.6821 6 6.0003v22c0 3.314-2.682 6-6 6h-22c-3.3136 0-6-2.682-6-6v-22zm4 1.0076c0-1.6612 1.3431-3.0079 3.0079-3.0079h19.984c1.661 0 3.008 1.3431 3.008 3.0079v19.984c0 1.661-1.343 3.008-3.008 3.008h-19.984c-1.6613 0-3.008-1.343-3.008-3.008v-19.984z"/>
<path d="m17.83 20.646h-1.662c-0.258-1.802-2.003-7.056-1.936-9.477 0.058-2.0546 0.781-4.5443 2.76-4.5343 2.034 0.0104 2.845 2.2516 2.773 4.5343-0.071 2.283-1.643 7.754-1.935 9.477zm1.634 4.351c0 0.649-0.247 1.208-0.742 1.677-0.487 0.461-1.058 0.691-1.716 0.691-0.665 0-1.246-0.23-1.741-0.691-0.486-0.469-0.729-1.028-0.729-1.677s0.243-1.208 0.729-1.677c0.495-0.478 1.076-0.717 1.741-0.717 0.658 0 1.229 0.239 1.716 0.717 0.495 0.469 0.742 1.028 0.742 1.677z"/>
</g>
<path d="m34 18.097v-12.097c0-3.3179-2.686-6-6-6h-22c-3.3179 0-6 2.6864-6 6.0003v22c0 3.318 2.6864 6 6.0003 6h12.249c-0.161-0.464-0.249-0.962-0.249-1.479v-1.556c-0.33 0.023-0.664 0.035-1 0.035-7.732 0-14-6.268-14-14s6.268-14 14-14c7.233 0 13.184 5.4847 13.923 12.522 1.228 0.586 2.284 1.477 3.077 2.575zm-1.447 7.042v-2.216c0-2.856-2.26-5.173-5.053-5.173s-5.053 2.317-5.053 5.173v2.216c-0.8 0-1.447 0.66-1.447 1.472v5.91c0 0.812 0.647 1.479 1.447 1.479h10.106c0.8 0 1.447-0.667 1.447-1.479v-5.91c0-0.812-0.647-1.472-1.447-1.472zm-8.087-2.216c0-1.714 1.358-3.104 3.034-3.104s3.034 1.39 3.034 3.104v2.216h-6.068v-2.216zm-1.466-5.923c0 3.314-2.686 6-6 6s-6-2.686-6-6 2.686-6 6-6 6 2.686 6 6z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@@ -1 +0,0 @@
Versions/Current/Headers
@@ -1 +0,0 @@
Versions/Current/Resources
@@ -1 +0,0 @@
Versions/Current/Sparkle
@@ -1,36 +0,0 @@
//
// SUAppcast.h
// Sparkle
//
// Created by Andy Matuschak on 3/12/06.
// Copyright 2006 Andy Matuschak. All rights reserved.
//
#ifndef SUAPPCAST_H
#define SUAPPCAST_H
@class SUAppcastItem;
@interface SUAppcast : NSObject
{
@private
NSArray *items;
NSString *userAgentString;
id delegate;
NSString *downloadFilename;
NSURLDownload *download;
}
- (void)fetchAppcastFromURL:(NSURL *)url;
- (void)setDelegate:delegate;
- (void)setUserAgentString:(NSString *)userAgentString;
- (NSArray *)items;
@end
@interface NSObject (SUAppcastDelegate)
- (void)appcastDidFinishLoading:(SUAppcast *)appcast;
- (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error;
@end
#endif
@@ -1,60 +0,0 @@
//
// SUAppcastItem.h
// Sparkle
//
// Created by Andy Matuschak on 3/12/06.
// Copyright 2006 Andy Matuschak. All rights reserved.
//
#ifndef SUAPPCASTITEM_H
#define SUAPPCASTITEM_H
@interface SUAppcastItem : NSObject
{
@private
NSString *title;
NSDate *date;
NSString *itemDescription;
NSURL *releaseNotesURL;
NSString *DSASignature;
NSString *minimumSystemVersion;
NSString *maximumSystemVersion;
NSURL *fileURL;
NSString *versionString;
NSString *displayVersionString;
NSDictionary *deltaUpdates;
NSDictionary *propertiesDictionary;
NSURL *infoURL; // UK 2007-08-31
}
// Initializes with data from a dictionary provided by the RSS class.
- initWithDictionary:(NSDictionary *)dict;
- initWithDictionary:(NSDictionary *)dict failureReason:(NSString**)error;
- (NSString *)title;
- (NSString *)versionString;
- (NSString *)displayVersionString;
- (NSDate *)date;
- (NSString *)itemDescription;
- (NSURL *)releaseNotesURL;
- (NSURL *)fileURL;
- (NSString *)DSASignature;
- (NSString *)minimumSystemVersion;
- (NSString *)maximumSystemVersion;
- (NSDictionary *)deltaUpdates;
- (BOOL)isDeltaUpdate;
// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions.
- (NSDictionary *)propertiesDictionary;
- (NSURL *)infoURL; // UK 2007-08-31
@end
#endif
@@ -1,161 +0,0 @@
//
// SUUpdater.h
// Sparkle
//
// Created by Andy Matuschak on 1/4/06.
// Copyright 2006 Andy Matuschak. All rights reserved.
//
#ifndef SUUPDATER_H
#define SUUPDATER_H
#import "SUVersionComparisonProtocol.h"
#import "SUVersionDisplayProtocol.h"
@class SUUpdateDriver, SUAppcastItem, SUHost, SUAppcast;
@interface SUUpdater : NSObject
{
@private
NSTimer *checkTimer;
SUUpdateDriver *driver;
NSString *customUserAgentString;
SUHost *host;
IBOutlet id delegate;
}
+ (SUUpdater *)sharedUpdater;
+ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
- initForBundle:(NSBundle *)bundle;
- (NSBundle *)hostBundle;
- (void)setDelegate:(id)delegate;
- delegate;
- (void)setAutomaticallyChecksForUpdates:(BOOL)automaticallyChecks;
- (BOOL)automaticallyChecksForUpdates;
- (void)setUpdateCheckInterval:(NSTimeInterval)interval;
- (NSTimeInterval)updateCheckInterval;
- (void)setFeedURL:(NSURL *)feedURL;
- (NSURL *)feedURL; // *** MUST BE CALLED ON MAIN THREAD ***
- (void)setUserAgentString:(NSString *)userAgent;
- (NSString *)userAgentString;
- (void)setSendsSystemProfile:(BOOL)sendsSystemProfile;
- (BOOL)sendsSystemProfile;
- (void)setAutomaticallyDownloadsUpdates:(BOOL)automaticallyDownloadsUpdates;
- (BOOL)automaticallyDownloadsUpdates;
// This IBAction is meant for a main menu item. Hook up any menu item to this action,
// and Sparkle will check for updates and report back its findings verbosely.
- (IBAction)checkForUpdates:(id)sender;
// This kicks off an update meant to be programmatically initiated. That is, it will display no UI unless it actually finds an update,
// in which case it proceeds as usual. If the fully automated updating is turned on, however, this will invoke that behavior, and if an
// update is found, it will be downloaded and prepped for installation.
- (void)checkForUpdatesInBackground;
// Date of last update check. Returns nil if no check has been performed.
- (NSDate*)lastUpdateCheckDate;
// This begins a "probing" check for updates which will not actually offer to update to that version. The delegate methods, though,
// (up to updater:didFindValidUpdate: and updaterDidNotFindUpdate:), are called, so you can use that information in your UI.
- (void)checkForUpdateInformation;
// Call this to appropriately schedule or cancel the update checking timer according to the preferences for time interval and automatic checks. This call does not change the date of the next check, but only the internal NSTimer.
- (void)resetUpdateCycle;
- (BOOL)updateInProgress;
@end
// -----------------------------------------------------------------------------
// SUUpdater Delegate:
// -----------------------------------------------------------------------------
@interface NSObject (SUUpdaterDelegateInformalProtocol)
// Use this to keep Sparkle from popping up e.g. while your setup assistant is showing:
- (BOOL)updaterMayCheckForUpdates:(SUUpdater *)bundle;
// This method allows you to add extra parameters to the appcast URL, potentially based on whether or not Sparkle will also be sending along the system profile. This method should return an array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user.
- (NSArray *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
// Override this to dynamically specify the entire URL.
- (NSString*)feedURLStringForUpdater:(SUUpdater*)updater;
// Use this to override the default behavior for Sparkle prompting the user about automatic update checks.
- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)bundle;
// Implement this if you want to do some special handling with the appcast once it finishes loading.
- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
// If you're using special logic or extensions in your appcast, implement this to use your own logic for finding
// a valid update, if any, in the given appcast.
- (SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)bundle;
// Sent when a valid update is found by the update driver.
- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)update;
// Sent when a valid update is not found.
- (void)updaterDidNotFindUpdate:(SUUpdater *)update;
// Sent immediately before installing the specified update.
- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)update;
// Return YES to delay the relaunch until you do some processing; invoke the given NSInvocation to continue.
// This is not called if the user didn't relaunch on the previous update, in that case it will immediately
// restart.
- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)update untilInvoking:(NSInvocation *)invocation;
// Some apps *can not* be relaunched in certain circumstances. They can use this method
// to prevent a relaunch "hard":
- (BOOL)updaterShouldRelaunchApplication:(SUUpdater *)updater;
// Called immediately before relaunching.
- (void)updaterWillRelaunchApplication:(SUUpdater *)updater;
// This method allows you to provide a custom version comparator.
// If you don't implement this method or return nil, the standard version comparator will be used.
- (id <SUVersionComparison>)versionComparatorForUpdater:(SUUpdater *)updater;
// This method allows you to provide a custom version comparator.
// If you don't implement this method or return nil, the standard version displayer will be used.
- (id <SUVersionDisplay>)versionDisplayerForUpdater:(SUUpdater *)updater;
// Returns the path which is used to relaunch the client after the update is installed. By default, the path of the host bundle.
- (NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater;
// Called before and after, respectively, an updater shows a modal alert window, to give the host
// the opportunity to hide attached windows etc. that may get in the way:
-(void) updaterWillShowModalAlert:(SUUpdater *)updater;
-(void) updaterDidShowModalAlert:(SUUpdater *)updater;
@end
// -----------------------------------------------------------------------------
// Constants:
// -----------------------------------------------------------------------------
// Define some minimum intervals to avoid DOS-like checking attacks. These are in seconds.
#if defined(DEBUG) && DEBUG && 0
#define SU_MIN_CHECK_INTERVAL 60
#else
#define SU_MIN_CHECK_INTERVAL 60*60
#endif
#if defined(DEBUG) && DEBUG && 0
#define SU_DEFAULT_CHECK_INTERVAL 60
#else
#define SU_DEFAULT_CHECK_INTERVAL 60*60*24
#endif
#endif
@@ -1,29 +0,0 @@
//
// SUVersionComparisonProtocol.h
// Sparkle
//
// Created by Andy Matuschak on 12/21/07.
// Copyright 2007 Andy Matuschak. All rights reserved.
//
#ifndef SUVERSIONCOMPARISONPROTOCOL_H
#define SUVERSIONCOMPARISONPROTOCOL_H
#import <Cocoa/Cocoa.h>
/*!
@protocol
@abstract Implement this protocol to provide version comparison facilities for Sparkle.
*/
@protocol SUVersionComparison
/*!
@method
@abstract An abstract method to compare two version strings.
@discussion Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, and NSOrderedSame if they are equivalent.
*/
- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; // *** MAY BE CALLED ON NON-MAIN THREAD!
@end
#endif
@@ -1,27 +0,0 @@
//
// SUVersionDisplayProtocol.h
// EyeTV
//
// Created by Uli Kusterer on 08.12.09.
// Copyright 2009 Elgato Systems GmbH. All rights reserved.
//
#import <Cocoa/Cocoa.h>
/*!
@protocol
@abstract Implement this protocol to apply special formatting to the two
version numbers.
*/
@protocol SUVersionDisplay
/*!
@method
@abstract An abstract method to format two version strings.
@discussion You get both so you can display important distinguishing
information, but leave out unnecessary/confusing parts.
*/
-(void) formatVersion: (NSString**)inOutVersionA andVersion: (NSString**)inOutVersionB;
@end
@@ -1,21 +0,0 @@
//
// Sparkle.h
// Sparkle
//
// Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07)
// Copyright 2006 Andy Matuschak. All rights reserved.
//
#ifndef SPARKLE_H
#define SPARKLE_H
// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless
// there are name-space collisions) so we can list all of them to start with:
#import <Sparkle/SUUpdater.h>
#import <Sparkle/SUAppcast.h>
#import <Sparkle/SUAppcastItem.h>
#import <Sparkle/SUVersionComparisonProtocol.h>
#endif
@@ -1,40 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>12C50</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>Sparkle</string>
<key>CFBundleIdentifier</key>
<string>org.andymatuschak.Sparkle</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Sparkle</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.5 Beta (git)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>dee4ffa</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>4G144l</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>11E52</string>
<key>DTSDKName</key>
<string>macosx10.7</string>
<key>DTXcode</key>
<string>0450</string>
<key>DTXcodeBuild</key>
<string>4G144l</string>
</dict>
</plist>
@@ -1,38 +0,0 @@
Copyright (c) 2006 Andy Matuschak
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
=================
EXTERNAL LICENSES
=================
License for bspatch.c and bsdiff.c, from bsdiff 4.3 (<http://www.daemonology.net/bsdiff/>:
/*-
* Copyright 2003-2005 Colin Percival
* All rights reserved
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted providing that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
@@ -1,182 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ADP2,1</key>
<string>Developer Transition Kit</string>
<key>iMac1,1</key>
<string>iMac G3 (Rev A-D)</string>
<key>iMac4,1</key>
<string>iMac (Core Duo)</string>
<key>iMac4,2</key>
<string>iMac for Education (17-inch, Core Duo)</string>
<key>iMac5,1</key>
<string>iMac (Core 2 Duo, 17 or 20 inch, SuperDrive)</string>
<key>iMac5,2</key>
<string>iMac (Core 2 Duo, 17 inch, Combo Drive)</string>
<key>iMac6,1</key>
<string>iMac (Core 2 Duo, 24 inch, SuperDrive)</string>
<key>iMac8,1</key>
<string>iMac (April 2008)</string>
<key>MacBook1,1</key>
<string>MacBook (Core Duo)</string>
<key>MacBook2,1</key>
<string>MacBook (Core 2 Duo)</string>
<key>MacBook4,1</key>
<string>MacBook (Core 2 Duo Feb 2008)</string>
<key>MacBookAir1,1</key>
<string>MacBook Air (January 2008)</string>
<key>MacBookAir2,1</key>
<string>MacBook Air (June 2009)</string>
<key>MacBookAir3,1</key>
<string>MacBook Air (October 2010)</string>
<key>MacBookPro1,1</key>
<string>MacBook Pro Core Duo (15-inch)</string>
<key>MacBookPro1,2</key>
<string>MacBook Pro Core Duo (17-inch)</string>
<key>MacBookPro2,1</key>
<string>MacBook Pro Core 2 Duo (17-inch)</string>
<key>MacBookPro2,2</key>
<string>MacBook Pro Core 2 Duo (15-inch)</string>
<key>MacBookPro3,1</key>
<string>MacBook Pro Core 2 Duo (15-inch LED, Core 2 Duo)</string>
<key>MacBookPro3,2</key>
<string>MacBook Pro Core 2 Duo (17-inch HD, Core 2 Duo)</string>
<key>MacBookPro4,1</key>
<string>MacBook Pro (Core 2 Duo Feb 2008)</string>
<key>Macmini1,1</key>
<string>Mac Mini (Core Solo/Duo)</string>
<key>MacPro1,1</key>
<string>Mac Pro (four-core)</string>
<key>MacPro2,1</key>
<string>Mac Pro (eight-core)</string>
<key>MacPro3,1</key>
<string>Mac Pro (January 2008 4- or 8- core &quot;Harpertown&quot;)</string>
<key>MacPro4,1</key>
<string>Mac Pro (March 2009)</string>
<key>MacPro5,1</key>
<string>Mac Pro (August 2010)</string>
<key>PowerBook1,1</key>
<string>PowerBook G3</string>
<key>PowerBook2,1</key>
<string>iBook G3</string>
<key>PowerBook2,2</key>
<string>iBook G3 (FireWire)</string>
<key>PowerBook2,3</key>
<string>iBook G3</string>
<key>PowerBook2,4</key>
<string>iBook G3</string>
<key>PowerBook3,1</key>
<string>PowerBook G3 (FireWire)</string>
<key>PowerBook3,2</key>
<string>PowerBook G4</string>
<key>PowerBook3,3</key>
<string>PowerBook G4 (Gigabit Ethernet)</string>
<key>PowerBook3,4</key>
<string>PowerBook G4 (DVI)</string>
<key>PowerBook3,5</key>
<string>PowerBook G4 (1GHz / 867MHz)</string>
<key>PowerBook4,1</key>
<string>iBook G3 (Dual USB, Late 2001)</string>
<key>PowerBook4,2</key>
<string>iBook G3 (16MB VRAM)</string>
<key>PowerBook4,3</key>
<string>iBook G3 Opaque 16MB VRAM, 32MB VRAM, Early 2003)</string>
<key>PowerBook5,1</key>
<string>PowerBook G4 (17 inch)</string>
<key>PowerBook5,2</key>
<string>PowerBook G4 (15 inch FW 800)</string>
<key>PowerBook5,3</key>
<string>PowerBook G4 (17-inch 1.33GHz)</string>
<key>PowerBook5,4</key>
<string>PowerBook G4 (15 inch 1.5/1.33GHz)</string>
<key>PowerBook5,5</key>
<string>PowerBook G4 (17-inch 1.5GHz)</string>
<key>PowerBook5,6</key>
<string>PowerBook G4 (15 inch 1.67GHz/1.5GHz)</string>
<key>PowerBook5,7</key>
<string>PowerBook G4 (17-inch 1.67GHz)</string>
<key>PowerBook5,8</key>
<string>PowerBook G4 (Double layer SD, 15 inch)</string>
<key>PowerBook5,9</key>
<string>PowerBook G4 (Double layer SD, 17 inch)</string>
<key>PowerBook6,1</key>
<string>PowerBook G4 (12 inch)</string>
<key>PowerBook6,2</key>
<string>PowerBook G4 (12 inch, DVI)</string>
<key>PowerBook6,3</key>
<string>iBook G4</string>
<key>PowerBook6,4</key>
<string>PowerBook G4 (12 inch 1.33GHz)</string>
<key>PowerBook6,5</key>
<string>iBook G4 (Early-Late 2004)</string>
<key>PowerBook6,7</key>
<string>iBook G4 (Mid 2005)</string>
<key>PowerBook6,8</key>
<string>PowerBook G4 (12 inch 1.5GHz)</string>
<key>PowerMac1,1</key>
<string>Power Macintosh G3 (Blue &amp; White)</string>
<key>PowerMac1,2</key>
<string>Power Macintosh G4 (PCI Graphics)</string>
<key>PowerMac10,1</key>
<string>Mac Mini G4</string>
<key>PowerMac10,2</key>
<string>Mac Mini (Late 2005)</string>
<key>PowerMac11,2</key>
<string>Power Macintosh G5 (Late 2005)</string>
<key>PowerMac12,1</key>
<string>iMac G5 (iSight)</string>
<key>PowerMac2,1</key>
<string>iMac G3 (Slot-loading CD-ROM)</string>
<key>PowerMac2,2</key>
<string>iMac G3 (Summer 2000)</string>
<key>PowerMac3,1</key>
<string>Power Macintosh G4 (AGP Graphics)</string>
<key>PowerMac3,2</key>
<string>Power Macintosh G4 (AGP Graphics)</string>
<key>PowerMac3,3</key>
<string>Power Macintosh G4 (Gigabit Ethernet)</string>
<key>PowerMac3,4</key>
<string>Power Macintosh G4 (Digital Audio)</string>
<key>PowerMac3,5</key>
<string>Power Macintosh G4 (Quick Silver)</string>
<key>PowerMac3,6</key>
<string>Power Macintosh G4 (Mirrored Drive Door)</string>
<key>PowerMac4,1</key>
<string>iMac G3 (Early/Summer 2001)</string>
<key>PowerMac4,2</key>
<string>iMac G4 (Flat Panel)</string>
<key>PowerMac4,4</key>
<string>eMac</string>
<key>PowerMac4,5</key>
<string>iMac G4 (17-inch Flat Panel)</string>
<key>PowerMac5,1</key>
<string>Power Macintosh G4 Cube</string>
<key>PowerMac6,1</key>
<string>iMac G4 (USB 2.0)</string>
<key>PowerMac6,3</key>
<string>iMac G4 (20-inch Flat Panel)</string>
<key>PowerMac6,4</key>
<string>eMac (USB 2.0, 2005)</string>
<key>PowerMac7,2</key>
<string>Power Macintosh G5</string>
<key>PowerMac7,3</key>
<string>Power Macintosh G5</string>
<key>PowerMac8,1</key>
<string>iMac G5</string>
<key>PowerMac8,2</key>
<string>iMac G5 (Ambient Light Sensor)</string>
<key>PowerMac9,1</key>
<string>Power Macintosh G5 (Late 2005)</string>
<key>RackMac1,1</key>
<string>Xserve G4</string>
<key>RackMac1,2</key>
<string>Xserve G4 (slot-loading, cluster node)</string>
<key>RackMac3,1</key>
<string>Xserve G5</string>
<key>Xserve1,1</key>
<string>Xserve (Intel Xeon)</string>
<key>Xserve2,1</key>
<string>Xserve (January 2008 quad-core)</string>
</dict>
</plist>
@@ -1,50 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>12C50</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>finish_installation</string>
<key>CFBundleIconFile</key>
<string>Sparkle</string>
<key>CFBundleIdentifier</key>
<string>org.andymatuschak.sparkle.finish-installation</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>4G144l</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>11E52</string>
<key>DTSDKName</key>
<string>macosx10.7</string>
<key>DTXcode</key>
<string>0450</string>
<key>DTXcodeBuild</key>
<string>4G144l</string>
<key>LSBackgroundOnly</key>
<string>1</string>
<key>LSMinimumSystemVersion</key>
<string>10.4</string>
<key>LSUIElement</key>
<string>1</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
@@ -1 +0,0 @@
fr.lproj

Some files were not shown because too many files have changed in this diff Show More