Compare commits

..
45 Commits
Author SHA1 Message Date
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
34 changed files with 463 additions and 200 deletions
@@ -297,6 +297,8 @@
09A13AEC145F3B9000B227A4 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_ARC = YES;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -315,6 +317,8 @@
09A13AED145F3B9000B227A4 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_ARC = YES;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -8,7 +8,7 @@
#define kDNSCRYPT_CONTROL_DIR kDNSCRYPT_VAR_BASE_DIR @"/control"
@interface AppDelegate : NSObject <NSApplicationDelegate> {
NSWindow *_window;
NSWindow *__weak _window;
NSMenu *_dnscryptMenu;
NSStatusItem *_statusItem;
NSMenuItem *_versionMenuItem;
@@ -25,7 +25,7 @@ typedef enum {
} DNSConfigurationState;
@property (strong) NSStatusItem *statusItem;
@property (assign) NSWindow *window;
@property (weak) NSWindow *window;
@property (strong) IBOutlet NSMenu *dnscryptMenu;
@property (strong) IBOutlet NSMenuItem *versionMenuItem;
@@ -10,6 +10,7 @@
@synthesize versionMenuItem = _versionMenuItem;
DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
BOOL appUpdated = FALSE;
- (void) setCheckBoxesEnabled: (BOOL) enabled
{
@@ -28,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];
}
@@ -79,6 +79,7 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
default:
led = [NSImage imageNamed: @"icon-no-network"];
}
[led setTemplate:YES];
_statusItem.image = led;
}
@@ -87,6 +88,10 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
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;
if (appUpdated == FALSE) {
appUpdated = TRUE;
[self appUpdate];
}
} else if ([stateDescription isEqualToString: @"None"]) {
currentState = kDNS_CONFIGURATION_UNKNOWN;
} else if ([stateDescription isEqualToString: @"Updating"]) {
@@ -146,7 +151,6 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
- (void) awakeFromNib
{
_statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[_statusItem retain];
_statusItem.highlightMode = TRUE;
_statusItem.toolTip = @"DNSCrypt";
_statusItem.menu = _dnscryptMenu;
@@ -191,6 +195,12 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
return TRUE;
}
- (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;
}
- (IBAction)dnscryptMenuItemPushed:(NSMenuItem *)sender
{
@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0.4</string>
<string>1.0.10</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0.4</string>
<string>1.0.10</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>LSMinimumSystemVersion</key>
@@ -447,6 +447,38 @@
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>/usr/local/lib/dnscrypt-proxy/libdcplugin_example.la</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>3</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>/usr/local/lib/dnscrypt-proxy/libdcplugin_example.so</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>3</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
@@ -543,6 +575,38 @@
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>/usr/local/lib/dnscrypt-proxy/libdcplugin_example_ldns_opendns_set_client_ip.la</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>3</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>/usr/local/lib/dnscrypt-proxy/libdcplugin_example_ldns_opendns_set_client_ip.so</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>3</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
@@ -829,7 +893,7 @@
<key>USE_HFS+_COMPRESSION</key>
<true/>
<key>VERSION</key>
<string>1.4.1</string>
<string>1.6.0</string>
</dict>
<key>UUID</key>
<string>7F7D70AB-F7A2-4027-8304-3063C7B9532F</string>
@@ -1314,73 +1378,6 @@
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>/usr/local/bin/alarmer</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>3</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>bin</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>2</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>local</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>2</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>usr</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>2</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>0</integer>
@@ -1436,7 +1433,7 @@
<key>USE_HFS+_COMPRESSION</key>
<true/>
<key>VERSION</key>
<string>1.0.4</string>
<string>1.0.10</string>
</dict>
<key>TYPE</key>
<integer>0</integer>
@@ -1929,7 +1926,7 @@
<key>USE_HFS+_COMPRESSION</key>
<true/>
<key>VERSION</key>
<string>1.0.4</string>
<string>1.0.10</string>
</dict>
<key>TYPE</key>
<integer>0</integer>
@@ -2238,7 +2235,7 @@
<key>ADVANCED_OPTIONS</key>
<dict/>
<key>BUILD_FORMAT</key>
<integer>1</integer>
<integer>0</integer>
<key>BUILD_PATH</key>
<dict>
<key>PATH</key>
+15 -19
View File
@@ -1,31 +1,27 @@
#! /bin/sh
VERSION='1.0.4'
VERSION='1.0.10'
cd build || exit 1
[ -d DNSCrypt.mpkg ] || exit 1
[ -e DNSCrypt.pkg ] || exit 1
(
cd DNSCrypt.mpkg/Contents/Packages || exit 1
rm -fr DNSCrypt-OSX.pkg DNSCrypt-unsigned.pkg
productsign --sign 'Developer ID Installer' DNSCrypt.pkg DNSCrypt-OSX.pkg
mv DNSCrypt.pkg DNSCrypt-unsigned.pkg
mv DNSCrypt-OSX.pkg DNSCrypt.pkg
for pkg in *pkg ; do
rm -fr "x-${pkg}"
mv "$pkg" "x-${pkg}"
productsign --sign 'Developer ID Installer' "x-${pkg}" "$pkg"
rm -fr "x-${pkg}"
done
)
rm -fr DNSCrypt-OSX.mpkg DNSCrypt-unsigned.mpkg
productsign --sign 'Developer ID Application' DNSCrypt.mpkg DNSCrypt-OSX.mpkg
mv DNSCrypt.mpkg DNSCrypt-unsigned.mpkg
mv DNSCrypt-OSX.mpkg DNSCrypt.mpkg
zip -9 -r "dnscrypt-osxclient-${VERSION}.zip" DNSCrypt.mpkg
rm -fr dnscrypt-pkg
rm -f "dnscrypt-osxclient-${VERSION}.dmg"
mkdir dnscrypt-pkg
mv DNSCrypt.mpkg dnscrypt-pkg
mv DNSCrypt.pkg dnscrypt-pkg
hdiutil create "dnscrypt-osxclient-${VERSION}.dmg" -srcfolder dnscrypt-pkg
mv dnscrypt-pkg/DNSCrypt.mpkg .
mv dnscrypt-pkg/DNSCrypt.pkg .
rm -fr dnscrypt-pkg
rm -fr DNSCrypt-unsigned.mpkg
rm -fr DNSCrypt-unsigned.pkg
minisign -S -m "dnscrypt-osxclient-${VERSION}.dmg" \
-p ../../minisign.pub -s ../../minisign.key \
-t "dnscrypt-osxclient-${VERSION}.dmg"
+1 -1
View File
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2011-2014 OpenDNS, Inc.
* Copyright (c) 2014 AlterStep
* Copyright (c) 2014-2015 AlterStep
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -204,7 +204,7 @@
0946B0B713F47F52008277C6 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0510;
LastUpgradeCheck = 0610;
};
buildConfigurationList = 0946B0BA13F47F52008277C6 /* Build configuration list for PBXProject "DNSCrypt" */;
compatibilityVersion = "Xcode 3.2";
@@ -347,7 +347,7 @@
"$(inherited)",
"\"$(SRCROOT)\"",
);
GCC_ENABLE_OBJC_GC = no;
GCC_ENABLE_OBJC_GC = unsupported;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "DNSCrypt/DNSCrypt-Prefix.pch";
GCC_VERSION = "";
@@ -368,7 +368,7 @@
"$(inherited)",
"\"$(SRCROOT)\"",
);
GCC_ENABLE_OBJC_GC = no;
GCC_ENABLE_OBJC_GC = unsupported;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "DNSCrypt/DNSCrypt-Prefix.pch";
GCC_VERSION = "";
@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0.4</string>
<string>1.0.10</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0.4</string>
<string>1.0.10</string>
<key>NSHumanReadableCopyright</key>
<string>BSD</string>
<key>NSMainNibFile</key>
+1 -1
View File
@@ -3,7 +3,7 @@
#import <WebKit/WebKit.h>
#import "CHCSVParser/CHCSVParser.h"
#define kDNSCRYPT_PACKAGE_VERSION @"1.0.4"
#define kDNSCRYPT_PACKAGE_VERSION @"1.0.10"
#define kDNSCRYPT_PREFPANE_APP_PATH @"/Library/PreferencePanes/DNSCrypt.prefPane"
#define kDNSCRYPT_USR_BASE_DIR kDNSCRYPT_PREFPANE_APP_PATH @"/Contents/Resources/usr"
@@ -3,14 +3,13 @@
%head
%meta{charset: "utf-8"}
%title About DNSCrypt-OSXClient
%style{type: "text/css"}
:sass
body
font:
family: arial, helvetica, sans-serif
margin: 0
h1
margin: 0
:sass
body
font:
family: arial, helvetica, sans-serif
margin: 0
h1
margin: 0
%body
%h1 About DNSCrypt-OSXClient
%p
@@ -37,12 +36,13 @@
DNS censorship. Don't enable it unless you are frequently
roaming and you don't want to manually disable/enable DNSCrypt.
%li
Using Little Snitch? There are 4 rules you need to establish,
Using Little Snitch? There are a few rules you need to establish,
which Little Snitch should prompt for when trying to
activate this application:
%ol
%li Allow any outgoing connection for system processes (dnscrypt-proxy)
%li Allow any incoming connection for system process (dnscrypt-proxy)
%li Allow any outgoing connection for system processes (dig)
%li Allow outgoing TCP connections on port 80( http) of www.apple.com for system process (curl)
(Thanks to @cavemandaveman)
%li Allow outgoing TCP connections to port 80 (http) of www.apple.com for system process (curl)
%li For automatic updates, allow outgoing TCP connections to port 80 (http) of updates.dnscrypt.org and to port 443 (https) of github.com for system process (curl)
(Thanks to @cavemandaveman and @TraderStf)
@@ -3,15 +3,13 @@
<head>
<meta charset='utf-8'>
<title>About DNSCrypt-OSXClient</title>
<style type='text/css'>
<style>
body {
font-family: arial, helvetica, sans-serif;
margin: 0; }
h1 {
margin: 0; }
</style>
<style>
body {
font-family: arial, helvetica, sans-serif;
margin: 0; }
h1 {
margin: 0; }
</style>
</head>
<body>
@@ -43,16 +41,17 @@
roaming and you don't want to manually disable/enable DNSCrypt.
</li>
<li>
Using Little Snitch? There are 4 rules you need to establish,
Using Little Snitch? There are a few rules you need to establish,
which Little Snitch should prompt for when trying to
activate this application:
<ol>
<li>Allow any outgoing connection for system processes (dnscrypt-proxy)</li>
<li>Allow any incoming connection for system process (dnscrypt-proxy)</li>
<li>Allow any outgoing connection for system processes (dig)</li>
<li>Allow outgoing TCP connections on port 80( http) of www.apple.com for system process (curl)</li>
<li>Allow outgoing TCP connections to port 80 (http) of www.apple.com for system process (curl)</li>
<li>For automatic updates, allow outgoing TCP connections to port 80 (http) of updates.dnscrypt.org and to port 443 (https) of github.com for system process (curl)</li>
</ol>
(Thanks to @cavemandaveman)
(Thanks to @cavemandaveman and @TraderStf)
</li>
</ul>
</p>
@@ -3,16 +3,15 @@
%head
%meta{charset: "utf-8"}
%title Help (advanced settings)
%style{type: "text/css"}
:sass
html
background: #e4e4e4
body
font:
family: arial, helvetica, sans-serif
margin: 1em
h1
margin: 0
:sass
html
background: #e4e4e4
body
font:
family: arial, helvetica, sans-serif
margin: 1em
h1
margin: 0
%body
%h1 Help (advanced settings)
%section
@@ -24,11 +23,11 @@
Separate them with spaces.
%section
%h2 Log DNS queries
%p
%p
As a tool designed to protect your privacy, the DNSCrypt proxy does
not log anything about your DNS queries. Nothing about them will be
saved to disk ever, and log messages are intentionally kept as generic
as possible.
as possible.
%p
However, you still may want to look at the DNS queries sent by
your system. This can be useful in order to spot suspicious
@@ -3,18 +3,16 @@
<head>
<meta charset='utf-8'>
<title>Help (advanced settings)</title>
<style type='text/css'>
<style>
html {
background: #e4e4e4; }
body {
font-family: arial, helvetica, sans-serif;
margin: 1em; }
h1 {
margin: 0; }
</style>
<style>
html {
background: #e4e4e4; }
body {
font-family: arial, helvetica, sans-serif;
margin: 1em; }
h1 {
margin: 0; }
</style>
</head>
<body>
@@ -3,24 +3,72 @@
%head
%meta{charset: "utf-8"}
%title Release notes for DNSCrypt-OSXClient by AlterStep
%style{type: "text/css"}
:sass
body
font:
family: arial, helvetica, sans-serif
margin: 0
h1, h2
margin: 0
h1
border-bottom: 1px solid grey
article
padding-left: 1em
time
font:
style: italic
:sass
body
font:
family: arial, helvetica, sans-serif
margin: 0
h1, h2
margin: 0
h1
border-bottom: 1px solid grey
article
padding-left: 1em
time
font:
style: italic
%body
%h1 Release Notes for DNSCrypt-OSXclient by AlterStep
%article
%h2 Version 1.0.10 by AlterStep
%time Tue, 23 Jul 2015
%p
Compatibility with OSX 10.11 beta 4
%p
dnscrypt-proxy 1.6.0
%article
%h2 Version 1.0.9 by AlterStep
%time Tue, 12 Jul 2015
%p
Fixed an issue with libsodium not being found by minisign-verify
%article
%h2 Version 1.0.8 by AlterStep
%time Tue, 12 Jul 2015
%p
New versions are automatically downloaded
%article
%h2 Version 1.0.7 by AlterStep
%time Tue, 1 Jul 2015
%p
Fixed a bug in the automatic updater for the resolvers list
%article
%h2 Version 1.0.6 by AlterStep
%time Tue, 10 Jun 2015
%p
Updated DNSCrypt proxy to version 1.5.0
%p
Updated libsodium to 1.0.3-minimal
%p
The list of available resolvers is automatically updated
%p
Improved privacy: ephemeral keys have been turned on
%p
Improved privacy: if no resolvers have been configured, a new one
is randomly chosen after each reboot
%article
%h2 Version 1.0.5 by AlterStep
%time Tue, 06 Jan 2015
%p
Updated DNSCrypt proxy to version 1.4.3
%p
Updated libsodium to 1.0.1-minimal
%article
%h2 Version 1.0.4 by AlterStep
%time Thu, 19 Sep 2014
@@ -33,7 +81,7 @@
%h2 Version 1.0.3 by AlterStep
%time Thu, 18 Jun 2014
%p
Runs on OSX 10.8 (Snow Leopard), 10.9 (Mavericks) and 10.10 (Yosemite)
Runs on OSX 10.8 (Mountain Lion), 10.9 (Mavericks) and 10.10 (Yosemite)
%p
New set of icons, contributed by Aaron VonderHaar
@@ -3,28 +3,87 @@
<head>
<meta charset='utf-8'>
<title>Release notes for DNSCrypt-OSXClient by AlterStep</title>
<style type='text/css'>
<style>
body {
font-family: arial, helvetica, sans-serif;
margin: 0; }
h1, h2 {
margin: 0; }
h1 {
border-bottom: 1px solid grey; }
article {
padding-left: 1em; }
time {
font-style: italic; }
</style>
<style>
body {
font-family: arial, helvetica, sans-serif;
margin: 0; }
h1, h2 {
margin: 0; }
h1 {
border-bottom: 1px solid grey; }
article {
padding-left: 1em; }
time {
font-style: italic; }
</style>
</head>
<body>
<h1>Release Notes for DNSCrypt-OSXclient by AlterStep</h1>
<article>
<h2>Version 1.0.10 by AlterStep</h2>
<time>Tue, 23 Jul 2015</time>
<p>
Compatibility with OSX 10.11 beta 4
</p>
<p>
dnscrypt-proxy 1.6.0
</p>
</article>
<article>
<h2>Version 1.0.9 by AlterStep</h2>
<time>Tue, 12 Jul 2015</time>
<p>
Fixed an issue with libsodium not being found by minisign-verify
</p>
</article>
<article>
<h2>Version 1.0.8 by AlterStep</h2>
<time>Tue, 12 Jul 2015</time>
<p>
New versions are automatically downloaded
</p>
</article>
<article>
<h2>Version 1.0.7 by AlterStep</h2>
<time>Tue, 1 Jul 2015</time>
<p>
Fixed a bug in the automatic updater for the resolvers list
</p>
</article>
<article>
<h2>Version 1.0.6 by AlterStep</h2>
<time>Tue, 10 Jun 2015</time>
<p>
Updated DNSCrypt proxy to version 1.5.0
</p>
<p>
Updated libsodium to 1.0.3-minimal
</p>
<p>
The list of available resolvers is automatically updated
</p>
<p>
Improved privacy: ephemeral keys have been turned on
</p>
<p>
Improved privacy: if no resolvers have been configured, a new one
is randomly chosen after each reboot
</p>
</article>
<article>
<h2>Version 1.0.5 by AlterStep</h2>
<time>Tue, 06 Jan 2015</time>
<p>
Updated DNSCrypt proxy to version 1.4.3
</p>
<p>
Updated libsodium to 1.0.1-minimal
</p>
</article>
<article>
<h2>Version 1.0.4 by AlterStep</h2>
<time>Thu, 19 Sep 2014</time>
@@ -39,7 +98,7 @@
<h2>Version 1.0.3 by AlterStep</h2>
<time>Thu, 18 Jun 2014</time>
<p>
Runs on OSX 10.8 (Snow Leopard), 10.9 (Mavericks) and 10.10 (Yosemite)
Runs on OSX 10.8 (Mountain Lion), 10.9 (Mavericks) and 10.10 (Yosemite)
</p>
<p>
New set of icons, contributed by Aaron VonderHaar
@@ -1 +0,0 @@
/usr/local/bin/alarmer
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -4,6 +4,8 @@
rm -f "$QUERY_LOG_FILE"
rm -f "$DEBUG_LOG_FILE"
find -x "$RESOLVERS_LIST_STATE" -type f -mtime +1 -exec rm -f {} \; 2>/dev/null
find -x "$APP_UPDATES_STATE" -type f -mtime +1 -exec rm -f {} \; 2>/dev/null
./clear-fw.sh
@@ -8,7 +8,7 @@ try_resolution() {
}
try_http_query() {
exec alarmer 5 curl -L --max-redirs 5 -4 -m 5 \
exec alarmer 5 curl -L --max-redirs 5 -4 -m 5 --connect-timeout 5 -s \
http://www.apple.com 2>/dev/null | \
fgrep -c Apple > /dev/null 2>&1
}
@@ -1,3 +1,6 @@
CURRENT_VERSION=3
DNSCRYPT_USR_BASE_DIR='/Library/PreferencePanes/DNSCrypt.prefPane/Contents/Resources/usr'
DNSCRYPT_VAR_BASE_DIR='/Library/Application Support/DNSCrypt'
DNSCRYPT_LOG_BASE_DIR='/var/log'
@@ -35,7 +38,15 @@ BLACKLIST_DOMAINS_TMP_FILE="${BLACKLIST_DOMAINS_FILE}.tmp"
EXCEPTIONS_FILE="${CONTROL_DIR}/exceptions"
EXCEPTIONS_TMP_FILE="${EXCEPTIONS_FILE}.tmp"
DEFAULT_RESOLVER_NAME='opendns'
APP_UPDATES_BASE_URL="http://updates.dnscrypt.org/updates/dnscrypt-osx-client"
APP_UPDATES_DIR="${DNSCRYPT_VAR_BASE_DIR}/updates"
APP_UPDATES_PUBLIC_KEY="RWRvw8aArS/yEI3In0/zQSb9+qfWonLxjjEYG17cXt6zct6GLKtEvUfk"
APP_UPDATES_STATE="${APP_UPDATES_DIR}/app-updated"
RESOLVERS_UPDATES_BASE_URL="http://updates.dnscrypt.org/dnscrypt-proxy"
RESOLVERS_LIST_BASE_DIR="/usr/local/share/dnscrypt-proxy"
RESOLVERS_LIST_PUBLIC_KEY="RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"
RESOLVERS_LIST_STATE="${STATES_DIR}/resolvers-updated"
INTERFACE_UNBOUND="127.0.0.53"
INTERFACE_UNBOUND_MASK="24"
@@ -45,7 +56,7 @@ INTERFACE_PROBES="127.0.0.55"
INTERFACE_PROBES_MASK="24"
DOMAINS_EXCEPTIONS='
freebox.fr fritz.box intranet lan localdomain nowtv.com private routerlogin.net l
belkin corp domain example home host invalid lan local localdomain test freebox.fr fritz.box nowtv.com routerlogin.net l
'
DISABLE_IPV6='no'
@@ -4,5 +4,5 @@
[ -r "$DNSCRYPT_RESOLVER_NAME_FILE" ] && \
sed 's/[^a-zA-Z0-9.-]/_/g' < "$DNSCRYPT_RESOLVER_NAME_FILE" && exit 0
echo "$DEFAULT_RESOLVER_NAME"
exit 0
exec ./get-random-resolver.sh
@@ -0,0 +1,8 @@
#! /bin/sh
. ./common.inc
(read header; fgrep -v :: | cut -d, -f1 | egrep -v '^\s*$') \
< "${RESOLVERS_LIST_BASE_DIR}/dnscrypt-resolvers.csv" | \
perl -MList::Util=shuffle -e 'print shuffle(<STDIN>);' | \
head -n1
@@ -15,6 +15,9 @@ fi
mkdir -m 755 -p "$TICKETS_DIR" || exit 1
chown -R "${wanted_uid}:0" "$TICKETS_DIR"
mkdir -m 755 -p "$APP_UPDATES_DIR" || exit 1
chown -R "${wanted_uid}:0" "$APP_UPDATES_DIR"
eval $(stat -s "$CONTROL_DIR") || exit 1
if [ $? != 0 ]; then
mkdir -m 755 -p "$CONTROL_DIR" || exit 1
@@ -118,7 +118,7 @@ best_args=$(cat "${RES_DIR}/${best_file}")
logger_debug "Starting dnscrypt-proxy $best_args"
eval dnscrypt-proxy $best_args --local-address="$INTERFACE_PROXY" \
--resolver-name="$RESOLVER_NAME" \
--resolver-name="$RESOLVER_NAME" --ephemeral-keys \
--pidfile="$PROXY_PID_FILE" --user=daemon --daemonize $plugin_args
if [ $? != 0 ]; then
@@ -156,3 +156,7 @@ logger_debug "Current configuration doesn't seem to hijack all DNS queries"
mv "${DESCRIPTIONS_DIR}/${best_file}" \
"${STATES_DIR}/dnscrypt-proxy-description" 2>/dev/null || exit 0
[ -e "$RESOLVERS_LIST_STATE" ] && exit 0
touch "$RESOLVERS_LIST_STATE"
exec ./update-resolvers-list.sh
@@ -8,7 +8,7 @@ if [ ! -s "$BLACKLIST_DOMAINS_TMP_FILE" ]; then
fi
tr -s '[:blank:]' '\n' < "$BLACKLIST_DOMAINS_TMP_FILE" | \
egrep -vi '^(apple[.]com|resolver1[.]opendns[.]com)$' > \
egrep -vi '^(apple[.]com)$' > \
"${BLACKLIST_DOMAINS_TMP_FILE}~" &&
mv "${BLACKLIST_DOMAINS_TMP_FILE}~" "$BLACKLIST_DOMAINS_FILE"
@@ -0,0 +1,52 @@
#! /bin/sh
. ./common.inc
DNSCRYPT_LIB_BASE_DIR="${DNSCRYPT_USR_BASE_DIR}/lib"
export DYLD_LIBRARY_PATH="${DNSCRYPT_LIB_BASE_DIR}:${DYLD_LIBRARY_PATH}"
TARGET_DIR=~/Desktop
[ -e "$APP_UPDATES_STATE" ] && exit 0
touch "$APP_UPDATES_STATE" || exit 1
[ -d "$TARGET_DIR" ] || exit 1
mkdir -p "$APP_UPDATES_DIR" || exit 1
curl -L --max-redirs 5 -4 -m 30 --connect-timeout 30 -s \
"${APP_UPDATES_BASE_URL}/versions.txt" > "${APP_UPDATES_DIR}/versions.txt" || exit 1
CURRENT_HASH=$(shasum -a 512 "${APP_UPDATES_DIR}/versions.txt")
OLD_HASH=$(cat "${APP_UPDATES_DIR}/versions_hash" 2> /dev/null)
[ "x$CURRENT_HASH" = "x$OLD_HASH" ] && exit 0
curl -L --max-redirs 5 -4 -m 30 --connect-timeout 30 -s \
"${APP_UPDATES_BASE_URL}/versions.txt.minisig" > "${APP_UPDATES_DIR}/versions.txt.minisig" || exit 1
minisign-verify -q -V -P "$APP_UPDATES_PUBLIC_KEY" -m "${APP_UPDATES_DIR}/versions.txt" || exit 1
rm -f "${APP_UPDATES_DIR}/versions.txt.minisig"
OS_VERSION=$(sw_vers -productVersion | sed 's/[^0-9.]$//' | cut -d. -f1-2) || exit 0
AVAILABLE=$(egrep "^${OS_VERSION} " "${APP_UPDATES_DIR}/versions.txt") || exit 0
rm -f "${APP_UPDATES_DIR}/versions.txt"
AVAILABLE_VERSION=$(echo "$AVAILABLE" | cut -d' ' -f2 | sed 's/[^0-9]//g')
DOWNLOAD_URL=$(echo "$AVAILABLE" | cut -d' ' -f3 | sed 's/ //g')
DOWNLOADED_FILE="${TARGET_DIR}/dnscrypt-update-${AVAILABLE_VERSION}.dmg"
[ -f "$DOWNLOADED_FILE" ] && exit 0
[ -z "$AVAILABLE_VERSION" -o -z "$DOWNLOAD_URL" ] && exit 1
[ "$AVAILABLE_VERSION" -gt "$CURRENT_VERSION" ] || exit 0
SIG_DOWNLOAD_URL="${DOWNLOAD_URL}.minisig"
curl -L --max-redirs 5 -4 -m 30 --connect-timeout 30 -s \
"$SIG_DOWNLOAD_URL" > "${APP_UPDATES_DIR}/update.tmp.minisig" || exit 1
curl -L --max-redirs 5 -4 -m 300 --connect-timeout 30 -s --compress \
"$DOWNLOAD_URL" > "${APP_UPDATES_DIR}/update.tmp" || exit 1
minisign-verify -q -V -P "$APP_UPDATES_PUBLIC_KEY" -m "${APP_UPDATES_DIR}/update.tmp" || exit 1
rm -f "${APP_UPDATES_DIR}/update.tmp.minisig"
mv -f "${APP_UPDATES_DIR}/update.tmp" "$DOWNLOADED_FILE" || exit 1
echo "$CURRENT_HASH" > "${APP_UPDATES_DIR}/versions_hash"
osascript -e "display notification \"A new version of DNSCrypt has been downloaded and saved on your desktop. Install it whenever you want!\" with title \"A new version of DNSCrypt is available!\" sound name \"Hero\""
@@ -0,0 +1,22 @@
#! /bin/sh
. ./common.inc
DNSCRYPT_LIB_BASE_DIR="${DNSCRYPT_USR_BASE_DIR}/lib"
export DYLD_LIBRARY_PATH="${DNSCRYPT_LIB_BASE_DIR}:${DYLD_LIBRARY_PATH}"
logger_debug "Checking if updates to the resolvers list are available"
curl -L --max-redirs 5 -4 -m 30 --connect-timeout 30 -s \
"${RESOLVERS_UPDATES_BASE_URL}/dnscrypt-resolvers.csv" > \
"${RESOLVERS_LIST_BASE_DIR}/dnscrypt-resolvers.csv.tmp" &&
curl -L --max-redirs 5 -4 -m 30 --connect-timeout 30 -s \
"${RESOLVERS_UPDATES_BASE_URL}/dnscrypt-resolvers.csv.minisig" > \
"${RESOLVERS_LIST_BASE_DIR}/dnscrypt-resolvers.csv.minisig" &&
minisign-verify -Vm ${RESOLVERS_LIST_BASE_DIR}/dnscrypt-resolvers.csv.tmp \
-x "${RESOLVERS_LIST_BASE_DIR}/dnscrypt-resolvers.csv.minisig" \
-P "$RESOLVERS_LIST_PUBLIC_KEY" -q &&
mv -f ${RESOLVERS_LIST_BASE_DIR}/dnscrypt-resolvers.csv.tmp \
${RESOLVERS_LIST_BASE_DIR}/dnscrypt-resolvers.csv
logger_debug "Resolvers list is up to date"
+16 -7
View File
@@ -1,17 +1,26 @@
OSX client for managing the DNSCrypt Proxy
==========================================
The purpose of this application is to allow the user to have a better
experience controlling the DNSCrypt Proxy on OSX.
The purpose of this application is to allow the user to have a better experience controlling the DNSCrypt Proxy on OSX.
[Download dnscrypt-osxclient-1.0.4.dmg](https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.4/dnscrypt-osxclient-1.0.4.dmg)
for OSX 10.8 (Snow Leopard), OSX 10.9 (Mavericks) and OSX 10.10 (Yosemite).
[Download dnscrypt-osxclient-1.0.9.dmg](https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.9/dnscrypt-osxclient-1.0.9.dmg)
for OSX 10.8 (Mountain Lion), OSX 10.9 (Mavericks), OSX 10.10 (Yosemite) and OSX 10.11 (El Capitan).
Compatible with:
* Adamas
* Cisco (OpenDNS)
* CloudNS
* d0wn
* Cypherpunk.lu
* DNSCrypt.eu
* okTurtles
* OpenDNS
* DNSCrypt.org
* OVPN
* OpenNIC
* Proxy.sh
* Soltysiak
* d0wn
* iPredator
* okTurtles
Packages are signed with [Minisign](https://jedisct1.github.io/minisign/) and can be verified with:
minisign -V -P RWRvw8aArS/yEI3In0/zQSb9+qfWonLxjjEYG17cXt6zct6GLKtEvUfk -m dnscrypt-osxclient-*.dmg
+32
View File
@@ -0,0 +1,32 @@
My PGP public key, to verify the releases:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
mQENBFV3cvYBCACmUwWPeGbnzEsBzdsq+15a9td4RjuJsUEAxhCkXAp36Hn0lVJB
Bz1Mcjqoo3Im6S/ec6EEQQrLuZBvuL4LnSWaIa+6HfPQiEr3mD/kyKp371jvrKkl
lIRqa4fZWKoasRhLBqo4lTUsrR3wblbmnFRjTNMBB3ltfi8VMmr//KEHJx8hkgpQ
udJoBF5fZ8RQZsFjbqxncE2/pwYmOE+rO7hEkULx6KnkxqUkpxjnPkAmf+7G3bpS
K+l4ZIakOFwRELvqU9pX6T4mx5/GpMv5F+gJGjRHOMUeSQLhzLTKihBpHa1OnMGC
zD0fB24Msn+0g2rsReccuFo9qLkCc3IvaGAHABEBAAG0CkFsdGVyIFN0ZXCJATgE
EwECACIFAlV3cvYCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEGm4VoCb
8nqtAEEH/A31A04X51I6gEiEsd1Il310GWF/SD1r9G2B64zAenlfQo8yY1qeCRZi
Sh5TGVpXmnv4IK+BbuAZLxr5X8fs5UtX+otrgGbiS9cJSsIhffHyeCiRZyNgcPuQ
ZCRLjNx9zt3as/TZUBKEudzOiCRvTFGm7mZHgmV1NTY62qy/lDl+fNWK9nBea0/W
Tvv3rDNyL6ic4aoEeYBbFsHzdcEFpVtLEeOpB2n8z8aA/7yvXKSQNf5nkFwytPmd
5gIMons58jwDjiWpkTxhzHYpwegMkqkEpizA82lHNt2q/IeLxNFeIkUIOPTsij7K
RitethBvVU5bhRCgur6V/6qy8kJX92G5AQ0EVXdy9gEIAL4qJzGDAl28z50vob6D
h2Ime9nIZohm0Fw4jk/bae2LQPnv/VMcCjleJ0VOZfjs3X4FYzv5gCKMz+Jcn1Q2
6kOqct/AO8XWBXXrlAd3z6Kf19IkrWtjeG9G2nN047R0l1xLj9+VAWhTK29aDkt8
oLUMZBkQXmYcK+caQfrc2KR1Ok0JQ4qGa4hRqnnTTODZJ56iHIx0c68BWl0DlU69
t4E+7KreiPxH43dx6mmC3DXfZcOMJnKXJelf2gCQfO0j1wHLen+7uT4/YY1jMKec
jhDgTTFJR26iMw+XdoWjJWThBwlZ+0CqoHDEYBEs3dSgtipaMNS69NR7bzUzrPUl
1vMAEQEAAYkBHwQYAQIACQUCVXdy9gIbDAAKCRBpuFaAm/J6raWYB/9YalFKgnnu
a3r3tcGkPnYgGDf8s1upG5kgcaROXmhuWq6CCsk3WyvGRGLnafMXi6mE+rBDKgij
GSJ+C+kgvXgGU1QRl9XL0hJLT9O0QrHt6TAfqJsDY1kHR0M8WaYj0RTr+3OAyJhg
kM1oEvabhrCbPNVxznCAMmT9z5U1i1NYqacjAQfnR8nHr3C6oHnj/gaQQOTO3xJg
rBMymDhBVoWMkoaoXYNqJNpgCuAAhmmUM1AtMA+RkWeSIzCUD+1GhO5VQyjtsdHZ
aC08CMLzjpG+VI+LgaU2pHUwwCLNEiA701AwSg4RMRj2ARjKWtOh6tqIN1UgTp1N
tg4DrEN2CFSW
=TN6d
-----END PGP PUBLIC KEY BLOCK-----
+2
View File
@@ -0,0 +1,2 @@
untrusted comment: alterstep minisign public key 10F22FAD80C6C36F
RWRvw8aArS/yEI3In0/zQSb9+qfWonLxjjEYG17cXt6zct6GLKtEvUfk
+4
View File
@@ -0,0 +1,4 @@
10.8 2 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.9/dnscrypt-osxclient-1.0.9.dmg
10.9 2 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.9/dnscrypt-osxclient-1.0.9.dmg
10.10 2 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.9/dnscrypt-osxclient-1.0.9.dmg
10.11 2 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.9/dnscrypt-osxclient-1.0.9.dmg
+4
View File
@@ -0,0 +1,4 @@
untrusted comment: signature from minisign secret key
RWRvw8aArS/yEM/HQP7vVPbVuXkF4hOWIpKzk6jMnlPY9nTgebaPUzGfbzlERHk5BRpstsLiTYude2nu1zhxOdDBBLV9SzqGzAY=
trusted comment: timestamp: 1436694823 file: versions.txt
qkPr7430Pru6nYOTvXxpAHNrEDjaakyJjtlNHLhgbpVw6mG4LNHK0PcuYTeGzwMum3AqiUnu9Lt12b9WiOaQAA==