Compare commits

...
62 Commits
Author SHA1 Message Date
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
42 changed files with 708 additions and 128 deletions
@@ -159,7 +159,7 @@
09A13AC4145F3B9000B227A4 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0460;
LastUpgradeCheck = 0510;
};
buildConfigurationList = 09A13AC7145F3B9000B227A4 /* Build configuration list for PBXProject "DNSCrypt-Menubar" */;
compatibilityVersion = "Xcode 3.2";
@@ -235,7 +235,10 @@
ALWAYS_SEARCH_USER_PATHS = NO;
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;
@@ -252,7 +255,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;
@@ -266,7 +271,10 @@
ALWAYS_SEARCH_USER_PATHS = NO;
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;
@@ -277,7 +285,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;
@@ -287,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)",
@@ -296,6 +308,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "DNSCrypt-Menubar/DNSCrypt-Menubar-Prefix.pch";
INFOPLIST_FILE = "DNSCrypt-Menubar/DNSCrypt-Menubar-Info.plist";
MACOSX_DEPLOYMENT_TARGET = 10.8;
PRODUCT_NAME = "DNSCrypt Menubar";
WRAPPER_EXTENSION = app;
};
@@ -304,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)",
@@ -313,6 +328,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "DNSCrypt-Menubar/DNSCrypt-Menubar-Prefix.pch";
INFOPLIST_FILE = "DNSCrypt-Menubar/DNSCrypt-Menubar-Info.plist";
MACOSX_DEPLOYMENT_TARGET = 10.8;
PRODUCT_NAME = "DNSCrypt Menubar";
WRAPPER_EXTENSION = app;
};
@@ -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.2</string>
<string>1.0.9</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0.2</string>
<string>1.0.9</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>LSMinimumSystemVersion</key>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 243 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 455 B

@@ -0,0 +1,267 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="34"
height="34"
id="svg2"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="icon-dnscrypt.inkscape.svg"
inkscape:export-filename="/Users/avh4/workspace/dnscrypt-osxclient/DNSCrypt-Menubar/DNSCrypt-Menubar/icon-dnscrypt-active.png"
inkscape:export-xdpi="45"
inkscape:export-ydpi="45"
style="enable-background:new">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="10.351258"
inkscape:cx="17.323754"
inkscape:cy="16.37179"
inkscape:document-units="px"
inkscape:current-layer="g4162"
showgrid="false"
inkscape:window-width="1191"
inkscape:window-height="822"
inkscape:window-x="9"
inkscape:window-y="0"
inkscape:window-maximized="0"
showguides="true"
inkscape:guide-bbox="true"
inkscape:snap-object-midpoints="true">
<sodipodi:guide
orientation="1,0"
position="-3.8642648,37.386762"
id="guide4115" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Reference no network"
style="display:none"
sodipodi:insensitive="true"
transform="translate(0,-2)">
<image
style="display:inline"
y="0"
x="0"
id="image4031"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABHNCSVQICAgIfAhkiAAAANtJREFU OI2d1DFKBDEYxfFfZo2QERSbRVjZo3gKK1sPIHoEGyvBWgStPIAH8DCiN9h+bLIyO86MiQ8CX76Q //fyioSU2n3c4RxrdfrCC24XMcZ7XOOoEgKHOENscJGbb1giFK5lvgOXIaW2y5vTbLVGK3xCHxQq IVt10MwcdhX9SdDOtJG6GNR/5tDFaARzjsYuTOb419OKNQeaCrsKNMxkmFmVoy1krP6lvQJASX/H 0Wpu4oR+fosGm1w/q/tG1njK9Sak1D7g6h9u+npcxBjfcYATHFcCPvCKm291ZyCHBno2ewAAAABJ RU5ErkJggg== "
height="36"
width="36" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Reference failed"
sodipodi:insensitive="true"
style="display:none"
transform="translate(0,-2)">
<image
y="0"
x="0"
id="image4099"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABHNCSVQICAgIfAhkiAAAARZJREFU OI2V1DFKA0EYBeBvEzewURQRg6DEJp138BRWth5AvICFCIKgWFkpeAZbwUoQrGysFEVR7FIFrCQW DsmyTHazP/zwZub9jzeP2U2yrN3CEbbQVa++cIWDZpqmJ9jDQk0RmMcm0ga2w+Y1Okim7E6YgZ0k y9rDsFgLVuvUKj6hkduMiRziO/Rx5Hw0k3eURIjP6AXcx1KEMyw6itVjDt+VEauEHibg2kL3OXxT RqzKqInXgNcnaAxhpsLRLy4xqOBVOoLlINgvc1SVURfveMJcGbFKqOU/p1boiZXPqIuPwvkLNvAj frXR36JhHOSF8SsuisU+n16YgUGSZe0z7JbZnqJOm2ma3mIWK1isKfCGc+z/AeH3MRrXRYDWAAAA AElFTkSuQmCC "
height="36"
width="36" />
</g>
<g
inkscape:label="Reference active"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1018.3622)"
style="display:none"
sodipodi:insensitive="true">
<image
y="1016.3622"
x="0"
id="image3079"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABHNCSVQICAgIfAhkiAAAAXxJREFU OI2Vk79LXEEUhb/duCv3jD8QG0MKERTBzsbSTnB7BUkVEIRUqVUwELYIFmIlCApWVoKVWCn+B4K1 aCNsICBavAkKMin2PXwOszF74RYz3PvNuYc7FTPVgQ3gC/CJ7uIWOAS+f6jVak1gDRjoEgIwBMwC L1VgOVHwCPwApr3PKsAw0AB+An8S9V8rZgrR5Tmw5H32OyVBcuPADjBXfriagDQ6QQC8z65zdYfl +7Kie2DC++y+EyRSVgcugalY0VYZIjmT3K7kWpK7k9x23lwoe6btIwA9JdBJ9OgmsFI6f6Nt9Gqq pzxab/5KoagFjETwX95nH1Ojxma/G5Ibl9yF5J4kdya5sRg0GfUcJDj7wB7tfeoHjoFdAMwU8lwP IVCkmepmaprpJs9mfvcU1fgQwhtQy0x9ZVgqzRRS53izj7zPFjt4Mwg8dPIuNntBcqeFgd1EFYi/ wzxwJbkNyc38L6hipiaw/k7dIzDKP0br4XXNPwNdj1TEX4ehms1FM7oVAAAAAElFTkSuQmCC "
height="36"
width="36" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Scratch - Target"
style="display:none"
transform="translate(0,-2)"
sodipodi:insensitive="true">
<path
style="fill:#1a1a1a;fill-opacity:1;stroke:none;display:inline"
d="M 5.6666667,2 C 2.5273333,2 0,4.5273333 0,7.6666667 L 0,30.333333 C 0,33.472667 2.5273333,36 5.6666667,36 L 28.333333,36 C 31.472667,36 34,33.472667 34,30.333333 L 34,7.6666667 C 34,4.5273333 31.472667,2 28.333333,2 L 5.6666667,2 z M 17.029514,5.8958333 c 7.409335,0 13.428819,5.9899707 13.428819,13.3993057 0,7.409335 -6.019484,13.428819 -13.428819,13.428819 -7.4093349,0 -13.3993057,-6.019484 -13.3993057,-13.428819 0,-7.409335 5.9899708,-13.3993057 13.3993057,-13.3993057 z"
id="rect3854"
inkscape:connector-curvature="0" />
<path
sodipodi:type="arc"
style="fill:#1a1a1a;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
id="path3082"
sodipodi:cx="18.035715"
sodipodi:cy="18.321428"
sodipodi:rx="5.7142859"
sodipodi:ry="5.7142859"
d="m 23.750001,18.321428 a 5.7142859,5.7142859 0 1 1 -11.428572,0 5.7142859,5.7142859 0 1 1 11.428572,0 z"
transform="matrix(1.0329861,0,0,1.0329861,-1.5969123,0.37782222)" />
</g>
<g
style="display:none"
inkscape:label="Scratch - Large Lock"
id="g4144"
inkscape:groupmode="layer"
transform="translate(0,-2)"
sodipodi:insensitive="true">
<rect
y="17.409853"
x="7.7394609"
height="13.229342"
width="18.521078"
id="rect4146"
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
<path
inkscape:label="#path3884"
sodipodi:nodetypes="csscc"
inkscape:connector-curvature="0"
id="path4148"
d="m 11.487773,20.507275 0,-6.153827 c 0,-3.044319 2.467909,-5.5122266 5.512226,-5.5122266 3.044319,0 5.512668,2.4679076 5.512668,5.5122266 l 0,5.748148"
style="fill:none;stroke:#1a1a1a;stroke-width:2.96083331;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
</g>
<g
style="display:none"
inkscape:label="No Network"
id="g4162"
inkscape:groupmode="layer"
transform="translate(0,-2)"
sodipodi:insensitive="true">
<path
inkscape:connector-curvature="0"
id="path4164"
d="M 5.6666667,2 C 2.5273333,2 0,4.5273333 0,7.6666667 L 0,30.333333 C 0,33.472667 2.5273333,36 5.6666667,36 L 28.333333,36 C 31.472667,36 34,33.472667 34,30.333333 L 34,7.6666667 C 34,4.5273333 31.472667,2 28.333333,2 L 5.6666667,2 z M 17.029514,5.8958333 c 7.409335,0 13.428819,5.9899707 13.428819,13.3993057 0,7.409335 -6.019484,13.428819 -13.428819,13.428819 -7.4093349,0 -13.3993057,-6.019484 -13.3993057,-13.428819 0,-7.409335 5.9899708,-13.3993057 13.3993057,-13.3993057 z"
style="fill:#808080;fill-opacity:1;stroke:none;display:inline"
inkscape:export-filename="/Users/avh4/workspace/dnscrypt-osxclient/DNSCrypt-Menubar/DNSCrypt-Menubar/icon-no-network@2x.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
transform="matrix(1.0329861,0,0,1.0329861,-1.5969123,0.37782222)"
d="m 23.750001,18.321428 a 5.7142859,5.7142859 0 1 1 -11.428572,0 5.7142859,5.7142859 0 1 1 11.428572,0 z"
sodipodi:ry="5.7142859"
sodipodi:rx="5.7142859"
sodipodi:cy="18.321428"
sodipodi:cx="18.035715"
id="path4166"
style="fill:#808080;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
sodipodi:type="arc"
inkscape:export-filename="/Users/avh4/workspace/dnscrypt-osxclient/DNSCrypt-Menubar/DNSCrypt-Menubar/icon-no-network@2x.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
</g>
<g
inkscape:groupmode="layer"
id="layer7"
inkscape:label="Inactive"
style="display:none"
transform="translate(0,-2)"
sodipodi:insensitive="true">
<g
style="font-size:30.8449707px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#d40000;fill-opacity:1;stroke:none;font-family:Georgia;-inkscape-font-specification:Georgia Bold"
id="text4108"
transform="matrix(0.94444444,0,0,0.94444444,0.03393364,2)"
inkscape:export-filename="/Users/avh4/workspace/dnscrypt-osxclient/DNSCrypt-Menubar/DNSCrypt-Menubar/g4124.png"
inkscape:export-xdpi="45"
inkscape:export-ydpi="45">
<path
d="m 18.843,21.718332 -1.76,0 c -0.27253,-1.907467 -2.121054,-7.471109 -2.049557,-10.033756 0.06071,-2.175835 0.826587,-4.8119882 2.921838,-4.80135 2.15386,0.010936 3.012254,2.384064 2.936899,4.80135 -0.07535,2.417286 -1.739851,8.209756 -2.04918,10.033756 z"
style="fill:#d40000;fill-opacity:1"
id="path4113"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsszc" />
</g>
<g
id="g4124"
style="font-size:30.8449707px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#d40000;fill-opacity:1;stroke:none;font-family:Georgia;-inkscape-font-specification:Georgia Bold"
transform="matrix(0.85003413,0,0,0.85003413,1.7309954,4.4841187)"
inkscape:export-xdpi="45"
inkscape:export-ydpi="45">
<path
sodipodi:nodetypes="ccscscccc"
inkscape:connector-curvature="0"
id="path4126"
style="fill:#d40000;fill-opacity:1"
d="m 20.86206,26.327004 c -9e-6,0.763093 -0.291188,1.420757 -0.873539,1.972994 -0.572326,0.542196 -1.245051,0.813294 -2.018177,0.813295 -0.783178,-10e-7 -1.465944,-0.271099 -2.048299,-0.813295 -0.572322,-0.552237 -0.858481,-1.209901 -0.858478,-1.972994 -3e-6,-0.763089 0.286156,-1.420753 0.858478,-1.972994 0.582355,-0.562273 1.265121,-0.843412 2.048299,-0.843417 0.773126,5e-6 1.445851,0.281144 2.018177,0.843417 0.582351,0.552241 0.87353,1.209905 0.873539,1.972994" />
</g>
<rect
style="fill:none;stroke:#808080;stroke-width:3.77777767;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
id="rect4105"
width="30.222221"
height="30.222221"
x="1.8888888"
y="3.8888888"
rx="3.7311382"
ry="3.7311382"
inkscape:export-filename="/Users/avh4/workspace/dnscrypt-osxclient/DNSCrypt-Menubar/DNSCrypt-Menubar/icon-dnscrypt-inactive.png"
inkscape:export-xdpi="45"
inkscape:export-ydpi="45" />
</g>
<g
style="display:inline"
inkscape:label="Active"
id="g3056"
inkscape:groupmode="layer"
transform="translate(0,-2)"
sodipodi:insensitive="true">
<path
style="fill:#1a1a1a;fill-opacity:1;stroke:none;display:inline"
d="M 5.6666667,2 C 2.5273333,2 0,4.5273333 0,7.6666667 L 0,30.333333 C 0,33.472667 2.5273333,36 5.6666667,36 l 13.2222223,0 0,-3.423611 c -0.611523,0.08547 -1.224534,0.147569 -1.859375,0.147569 -7.4093349,0 -13.3993057,-6.019484 -13.3993057,-13.428819 0,-7.409335 5.9899708,-13.3993057 13.3993057,-13.3993057 6.846362,0 12.519739,5.1238497 13.340278,11.7465277 1.779019,0.868614 3.125286,2.504502 3.630208,4.456597 L 34,7.6666667 C 34,4.5273333 31.472667,2 28.333333,2 L 5.6666667,2 z"
id="path3058"
inkscape:connector-curvature="0" />
<path
transform="matrix(1.0329861,0,0,1.0329861,-1.5969123,0.37782222)"
d="m 23.750001,18.321428 a 5.7142859,5.7142859 0 1 1 -11.428572,0 5.7142859,5.7142859 0 1 1 11.428572,0 z"
sodipodi:ry="5.7142859"
sodipodi:rx="5.7142859"
sodipodi:cy="18.321428"
sodipodi:cx="18.035715"
id="path3060"
style="fill:#1a1a1a;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
sodipodi:type="arc" />
<rect
style="fill:#1a1a1a;fill-opacity:1;stroke:none;display:inline"
id="rect3863"
width="13.222222"
height="9.4444447"
x="20.777779"
y="26.555555" />
<path
style="fill:none;stroke:#1a1a1a;stroke-width:1.57407403;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
d="m 23.453703,28.115447 0,-4.393225 c 0,-2.173342 1.761844,-3.935185 3.935186,-3.935185 2.173343,0 3.9355,1.761843 3.9355,3.935185 l 0,4.103611"
id="locktop"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csscc"
inkscape:label="#path3884" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 663 B

-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>
@@ -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.0</string>
<string>1.5.0.3</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.2</string>
<string>1.0.9</string>
</dict>
<key>TYPE</key>
<integer>0</integer>
@@ -1929,7 +1926,7 @@
<key>USE_HFS+_COMPRESSION</key>
<true/>
<key>VERSION</key>
<string>1.0.2</string>
<string>1.0.9</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.2'
VERSION='1.0.9'
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.2</string>
<string>1.0.9</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0.2</string>
<string>1.0.9</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.2"
#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"
@@ -36,3 +36,13 @@
still be useful against passive attackers and in order to bypass
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,
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)
@@ -42,6 +42,18 @@
DNS censorship. Don't enable it unless you are frequently
roaming and you don't want to manually disable/enable DNSCrypt.
</li>
<li>
Using Little Snitch? There are 4 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>
</ol>
(Thanks to @cavemandaveman)
</li>
</ul>
</p>
</body>
@@ -103,4 +103,3 @@
domains.
%p
Use actual apps, or even a command like ping(8).
@@ -21,6 +21,63 @@
%body
%h1 Release Notes for DNSCrypt-OSXclient by AlterStep
%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
%p
Updated DNSCrypt proxy to version 1.4.1
%p
Updated libsodium to 0.7.0-minimal
%article
%h2 Version 1.0.3 by AlterStep
%time Thu, 18 Jun 2014
%p
Runs on OSX 10.8 (Mountain Lion), 10.9 (Mavericks) and 10.10 (Yosemite)
%p
New set of icons, contributed by Aaron VonderHaar
%article
%h2 Version 1.0.2 by AlterStep
%time Thu, 05 Jun 2014
@@ -25,6 +25,77 @@
</head>
<body>
<h1>Release Notes for DNSCrypt-OSXclient by AlterStep</h1>
<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>
<p>
Updated DNSCrypt proxy to version 1.4.1
</p>
<p>
Updated libsodium to 0.7.0-minimal
</p>
</article>
<article>
<h2>Version 1.0.3 by AlterStep</h2>
<time>Thu, 18 Jun 2014</time>
<p>
Runs on OSX 10.8 (Mountain Lion), 10.9 (Mavericks) and 10.10 (Yosemite)
</p>
<p>
New set of icons, contributed by Aaron VonderHaar
</p>
</article>
<article>
<h2>Version 1.0.2 by AlterStep</h2>
<time>Thu, 05 Jun 2014</time>
@@ -1 +0,0 @@
/usr/local/bin/alarmer
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
libsodium.10.dylib
@@ -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=2
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.1.zip](https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.1/dnscrypt-osxclient-1.0.1.zip)
for OSX 10.8 (Mountain Lion) and OSX 10.9 (Mavericks).
[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 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==