Compare commits

..
11 Commits
Author SHA1 Message Date
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
16 changed files with 190 additions and 15 deletions
@@ -10,6 +10,7 @@
@synthesize versionMenuItem = _versionMenuItem;
DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
BOOL appUpdated = FALSE;
- (void) setCheckBoxesEnabled: (BOOL) enabled
{
@@ -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"]) {
@@ -190,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.6</string>
<string>1.0.8</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0.6</string>
<string>1.0.8</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.5.0</string>
<string>1.5.0.3</string>
</dict>
<key>UUID</key>
<string>7F7D70AB-F7A2-4027-8304-3063C7B9532F</string>
@@ -1369,7 +1433,7 @@
<key>USE_HFS+_COMPRESSION</key>
<true/>
<key>VERSION</key>
<string>1.0.6</string>
<string>1.0.8</string>
</dict>
<key>TYPE</key>
<integer>0</integer>
@@ -1862,7 +1926,7 @@
<key>USE_HFS+_COMPRESSION</key>
<true/>
<key>VERSION</key>
<string>1.0.6</string>
<string>1.0.8</string>
</dict>
<key>TYPE</key>
<integer>0</integer>
+1 -1
View File
@@ -1,6 +1,6 @@
#! /bin/sh
VERSION='1.0.6'
VERSION='1.0.8'
cd build || exit 1
[ -e DNSCrypt.pkg ] || exit 1
@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0.6</string>
<string>1.0.8</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0.6</string>
<string>1.0.8</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.6"
#define kDNSCRYPT_PACKAGE_VERSION @"1.0.8"
#define kDNSCRYPT_PREFPANE_APP_PATH @"/Library/PreferencePanes/DNSCrypt.prefPane"
#define kDNSCRYPT_USR_BASE_DIR kDNSCRYPT_PREFPANE_APP_PATH @"/Contents/Resources/usr"
@@ -21,6 +21,18 @@
%body
%h1 Release Notes for DNSCrypt-OSXclient by AlterStep
%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
@@ -25,6 +25,20 @@
</head>
<body>
<h1>Release Notes for DNSCrypt-OSXclient by AlterStep</h1>
<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>
@@ -4,7 +4,8 @@
rm -f "$QUERY_LOG_FILE"
rm -f "$DEBUG_LOG_FILE"
find -X -x "$RESOLVERS_LIST_STATE" -type f -mtime +1 -exec rm -f {} \; 2>/dev/null
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
@@ -1,3 +1,6 @@
CURRENT_VERSION=1
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,6 +38,11 @@ BLACKLIST_DOMAINS_TMP_FILE="${BLACKLIST_DOMAINS_FILE}.tmp"
EXCEPTIONS_FILE="${CONTROL_DIR}/exceptions"
EXCEPTIONS_TMP_FILE="${EXCEPTIONS_FILE}.tmp"
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"
@@ -48,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'
@@ -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
@@ -0,0 +1,49 @@
#! /bin/sh
. ./common.inc
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\""
+7 -4
View File
@@ -4,18 +4,21 @@ 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.
[Download dnscrypt-osxclient-1.0.6.dmg](https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.6/dnscrypt-osxclient-1.0.6.dmg)
[Download dnscrypt-osxclient-1.0.7.dmg](https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.7/dnscrypt-osxclient-1.0.7.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
* Cypherpunk.lu
* d0wn
* DNSCrypt.eu
* DNSCrypt.org
* okTurtles
* OpenDNS
* OVPN
* OpenNIC
* Proxy.sh
* Soltysiak
* d0wn
* iPredator
* okTurtles
+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 1 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.8/dnscrypt-osxclient-1.0.8.dmg
10.9 1 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.8/dnscrypt-osxclient-1.0.8.dmg
10.10 1 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.8/dnscrypt-osxclient-1.0.8.dmg
10.11 1 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.8/dnscrypt-osxclient-1.0.8.dmg
+4
View File
@@ -0,0 +1,4 @@
untrusted comment: signature from minisign secret key
RWRvw8aArS/yEHYsWWF0s6ueXO4F4Xql7W4QD0TOfRs8ZBSPtjxSgrMPis0k46GPhVkaAFzbWx1jEXCNLgDNlnehWwFEjhD/DQc=
trusted comment: timestamp: 1436633664 file: versions.txt
O4OxZpRmxNPlsVSeuVO2SpdmzTwnMpvPV9dMMr1W5FtusQ+WZtXVupBYRu15NZ1VsKbY0b4k0Qb1Jjb7loWsAw==