Compare commits

..
56 Commits
Author SHA1 Message Date
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
55 changed files with 501 additions and 2089 deletions
@@ -7,18 +7,13 @@
objects = {
/* Begin PBXBuildFile section */
09651148147D832D007FEE31 /* dnscrypt.icns in Resources */ = {isa = PBXBuildFile; fileRef = 09651147147D832D007FEE31 /* dnscrypt.icns */; };
098E725E1905DF4C00C8CC6E /* icon-dnscrypt-active.png in Resources */ = {isa = PBXBuildFile; fileRef = 098E72581905DF4C00C8CC6E /* icon-dnscrypt-active.png */; };
098E72601905DF4C00C8CC6E /* icon-dnscrypt-inactive.png in Resources */ = {isa = PBXBuildFile; fileRef = 098E725A1905DF4C00C8CC6E /* icon-dnscrypt-inactive.png */; };
098E72621905DF4C00C8CC6E /* icon-no-network.png in Resources */ = {isa = PBXBuildFile; fileRef = 098E725C1905DF4C00C8CC6E /* icon-no-network.png */; };
098E72671905E1A700C8CC6E /* icon-dnscrypt-active@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 098E72641905E1A700C8CC6E /* icon-dnscrypt-active@2x.png */; };
098E72681905E1A700C8CC6E /* icon-dnscrypt-inactive@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 098E72651905E1A700C8CC6E /* icon-dnscrypt-inactive@2x.png */; };
098E72691905E1A700C8CC6E /* icon-no-network@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 098E72661905E1A700C8CC6E /* icon-no-network@2x.png */; };
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 */; };
09A13AE5145F3B9000B227A4 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A13AE4145F3B9000B227A4 /* AppDelegate.m */; };
09A13AE8145F3B9000B227A4 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 09A13AE6145F3B9000B227A4 /* MainMenu.xib */; };
F622E21B1C88C76800721313 /* Icons.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F622E21A1C88C76800721313 /* Icons.xcassets */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -34,13 +29,7 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
09651147147D832D007FEE31 /* dnscrypt.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = dnscrypt.icns; path = ../dnscrypt.icns; sourceTree = "<group>"; };
098E72581905DF4C00C8CC6E /* icon-dnscrypt-active.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-dnscrypt-active.png"; sourceTree = "<group>"; };
098E725A1905DF4C00C8CC6E /* icon-dnscrypt-inactive.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-dnscrypt-inactive.png"; sourceTree = "<group>"; };
098E725C1905DF4C00C8CC6E /* icon-no-network.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-no-network.png"; sourceTree = "<group>"; };
098E72641905E1A700C8CC6E /* icon-dnscrypt-active@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-dnscrypt-active@2x.png"; sourceTree = "<group>"; };
098E72651905E1A700C8CC6E /* icon-dnscrypt-inactive@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-dnscrypt-inactive@2x.png"; sourceTree = "<group>"; };
098E72661905E1A700C8CC6E /* icon-no-network@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-no-network@2x.png"; sourceTree = "<group>"; };
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; };
@@ -53,6 +42,7 @@
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>"; };
F622E21A1C88C76800721313 /* Icons.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Icons.xcassets; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -117,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 */,
098E72581905DF4C00C8CC6E /* icon-dnscrypt-active.png */,
098E725A1905DF4C00C8CC6E /* icon-dnscrypt-inactive.png */,
098E725C1905DF4C00C8CC6E /* icon-no-network.png */,
098E72641905E1A700C8CC6E /* icon-dnscrypt-active@2x.png */,
098E72651905E1A700C8CC6E /* icon-dnscrypt-inactive@2x.png */,
098E72661905E1A700C8CC6E /* icon-no-network@2x.png */,
);
name = "Supporting Files";
sourceTree = "<group>";
@@ -183,15 +168,10 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
098E72681905E1A700C8CC6E /* icon-dnscrypt-inactive@2x.png in Resources */,
09A13ADC145F3B9000B227A4 /* InfoPlist.strings in Resources */,
098E725E1905DF4C00C8CC6E /* icon-dnscrypt-active.png in Resources */,
09A13AE8145F3B9000B227A4 /* MainMenu.xib in Resources */,
098E72691905E1A700C8CC6E /* icon-no-network@2x.png in Resources */,
098E72601905DF4C00C8CC6E /* icon-dnscrypt-inactive.png in Resources */,
098E72621905DF4C00C8CC6E /* icon-no-network.png in Resources */,
098E72671905E1A700C8CC6E /* icon-dnscrypt-active@2x.png in Resources */,
09651148147D832D007FEE31 /* dnscrypt.icns in Resources */,
F622E21B1C88C76800721313 /* Icons.xcassets in Resources */,
091360731C88418E00F308D3 /* dnscrypt.iconset in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -71,13 +71,13 @@ BOOL appUpdated = FALSE;
switch (currentState) {
case kDNS_CONFIGURATION_LOCALHOST:
led = [NSImage imageNamed: @"icon-dnscrypt-active"];
led = [NSImage imageNamed: @"Active"];
break;
case kDNS_CONFIGURATION_VANILLA:
led = [NSImage imageNamed: @"icon-dnscrypt-inactive"];
led = [NSImage imageNamed: @"Inactive"];
break;
default:
led = [NSImage imageNamed: @"icon-no-network"];
led = [NSImage imageNamed: @"No-Network"];
}
[led setTemplate:YES];
_statusItem.image = led;
@@ -138,7 +138,7 @@ BOOL appUpdated = FALSE;
{
[self setCheckBoxesEnabled: FALSE];
NSImage *led = [NSImage imageNamed: @"icon-no-network"];
NSImage *led = [NSImage imageNamed: @"No-Network"];
_statusItem.image = led;
[self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./gui-push-conf-change.sh prefpane", nil]];
@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0.8</string>
<string>1.0.12</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0.8</string>
<string>1.0.12</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>LSMinimumSystemVersion</key>
@@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 455 B

@@ -1,267 +0,0 @@
<?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>

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 663 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

Binary file not shown.
@@ -1,652 +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>PROJECT</key>
<dict>
<key>PACKAGE_FILES</key>
<dict>
<key>DEFAULT_INSTALL_LOCATION</key>
<string>/</string>
<key>HIERARCHY</key>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Utilities</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Applications</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>509</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Application Support</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Documentation</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Filesystems</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Frameworks</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Internet Plug-Ins</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>LaunchAgents</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>LaunchDaemons</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>PreferencePanes</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Preferences</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Printers</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>PrivilegedHelperTools</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>QuickTime</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Screen Savers</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Scripts</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Services</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Widgets</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Library</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<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>Extensions</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Library</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>System</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Shared</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>1023</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Users</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>/</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<key>PAYLOAD_TYPE</key>
<integer>0</integer>
<key>VERSION</key>
<integer>2</integer>
</dict>
<key>PACKAGE_SCRIPTS</key>
<dict>
<key>PREINSTALL_PATH</key>
<dict>
<key>PATH</key>
<string>install.sh</string>
<key>PATH_TYPE</key>
<integer>3</integer>
</dict>
<key>RESOURCES</key>
<array>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>pkg.tgz</string>
<key>PATH_TYPE</key>
<integer>1</integer>
<key>PERMISSIONS</key>
<integer>420</integer>
<key>TYPE</key>
<integer>3</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
</dict>
<key>PACKAGE_SETTINGS</key>
<dict>
<key>AUTHENTICATION</key>
<false/>
<key>CONCLUSION_ACTION</key>
<integer>0</integer>
<key>IDENTIFIER</key>
<string>osx.org.pureftpd.pkg.DNSCrypt-Meta-Installer</string>
<key>OVERWRITE_PERMISSIONS</key>
<false/>
<key>VERSION</key>
<string>0.19</string>
</dict>
<key>PROJECT_COMMENTS</key>
<dict>
<key>NOTES</key>
<data>
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1M
IDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQv
c3RyaWN0LmR0ZCI+CjxodG1sPgo8aGVhZD4KPG1ldGEgaHR0cC1l
cXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7
IGNoYXJzZXQ9VVRGLTgiPgo8bWV0YSBodHRwLWVxdWl2PSJDb250
ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4KPHRp
dGxlPjwvdGl0bGU+CjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29u
dGVudD0iQ29jb2EgSFRNTCBXcml0ZXIiPgo8bWV0YSBuYW1lPSJD
b2NvYVZlcnNpb24iIGNvbnRlbnQ9IjExODcuMzQiPgo8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5
Pgo8L2JvZHk+CjwvaHRtbD4K
</data>
</dict>
<key>PROJECT_SETTINGS</key>
<dict>
<key>BUILD_PATH</key>
<dict>
<key>PATH</key>
<string>build</string>
<key>PATH_TYPE</key>
<integer>1</integer>
</dict>
<key>EXCLUDED_FILES</key>
<array>
<dict>
<key>PATTERNS_ARRAY</key>
<array>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>.DS_Store</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
</array>
<key>PROTECTED</key>
<true/>
<key>PROXY_NAME</key>
<string>Remove .DS_Store files</string>
<key>PROXY_TOOLTIP</key>
<string>Remove ".DS_Store" files created by the Finder.</string>
<key>STATE</key>
<true/>
</dict>
<dict>
<key>PATTERNS_ARRAY</key>
<array>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>.pbdevelopment</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
</array>
<key>PROTECTED</key>
<true/>
<key>PROXY_NAME</key>
<string>Remove .pbdevelopment files</string>
<key>PROXY_TOOLTIP</key>
<string>Remove ".pbdevelopment" files created by ProjectBuilder or Xcode.</string>
<key>STATE</key>
<true/>
</dict>
<dict>
<key>PATTERNS_ARRAY</key>
<array>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>CVS</string>
<key>TYPE</key>
<integer>1</integer>
</dict>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>.cvsignore</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>.cvspass</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>.svn</string>
<key>TYPE</key>
<integer>1</integer>
</dict>
</array>
<key>PROTECTED</key>
<true/>
<key>PROXY_NAME</key>
<string>Remove SCM metadata</string>
<key>PROXY_TOOLTIP</key>
<string>Remove helper files and folders used by the CVS and SVN Source Code Management systems.</string>
<key>STATE</key>
<true/>
</dict>
<dict>
<key>PATTERNS_ARRAY</key>
<array>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>classes.nib</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>designable.db</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>info.nib</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
</array>
<key>PROTECTED</key>
<true/>
<key>PROXY_NAME</key>
<string>Optimize nib files</string>
<key>PROXY_TOOLTIP</key>
<string>Remove "classes.nib", "info.nib" and "designable.nib" files within .nib bundles.</string>
<key>STATE</key>
<true/>
</dict>
<dict>
<key>PATTERNS_ARRAY</key>
<array>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>Resources Disabled</string>
<key>TYPE</key>
<integer>1</integer>
</dict>
</array>
<key>PROTECTED</key>
<true/>
<key>PROXY_NAME</key>
<string>Remove Resources Disabled folders</string>
<key>PROXY_TOOLTIP</key>
<string>Remove "Resources Disabled" folders.</string>
<key>STATE</key>
<true/>
</dict>
<dict>
<key>SEPARATOR</key>
<true/>
</dict>
</array>
<key>NAME</key>
<string>DNSCrypt</string>
</dict>
</dict>
<key>TYPE</key>
<integer>1</integer>
<key>VERSION</key>
<integer>2</integer>
</dict>
</plist>
-7
View File
@@ -1,7 +0,0 @@
#! /bin/sh
env > /tmp/a
tdir=$(mktemp -d /tmp/XXXXXXXXXXXXXXXX)
chmod 755 "$tdir"
tar x -z -C "$tdir" -f pkg.tgz
(sleep 10 ; cd "$tdir" ; exec open -W -b 'com.apple.installer' ./DNSCrypt.mpkg) &
@@ -47,900 +47,6 @@
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Application Support</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Documentation</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Filesystems</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Frameworks</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Internet Plug-Ins</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>LaunchAgents</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>LaunchDaemons</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>PreferencePanes</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Preferences</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Printers</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>PrivilegedHelperTools</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>QuickTime</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Screen Savers</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Scripts</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Services</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Widgets</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Library</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<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>Extensions</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Library</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>System</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Shared</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>1023</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Users</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<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/hostip</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>
<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/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/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>/usr/local/lib/dnscrypt-proxy/libdcplugin_example_ldns_aaaa_blocking.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_aaaa_blocking.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/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>/usr/local/lib/dnscrypt-proxy/libdcplugin_example_ldns_blocking.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_blocking.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/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>/usr/local/lib/dnscrypt-proxy/libdcplugin_example_ldns_opendns_deviceid.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_deviceid.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/>
<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/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>/usr/local/lib/dnscrypt-proxy/libdcplugin_example_logging.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_logging.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>
</array>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>dnscrypt-proxy</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>lib</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>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>/usr/local/sbin/dnscrypt-proxy</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>sbin</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>
<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/share/dnscrypt-proxy/dnscrypt-resolvers.csv</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>420</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>dnscrypt-proxy</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>
<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/share/man/man8/dnscrypt-proxy.8</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>420</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/share/man/man8/hostip.8</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>420</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>man8</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>man</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>share</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>
<key>PATH</key>
<string>/</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<key>PAYLOAD_TYPE</key>
<integer>0</integer>
<key>VERSION</key>
<integer>2</integer>
</dict>
<key>PACKAGE_SCRIPTS</key>
<dict>
<key>POSTINSTALL_PATH</key>
<dict/>
<key>PREINSTALL_PATH</key>
<dict/>
<key>RESOURCES</key>
<array/>
</dict>
<key>PACKAGE_SETTINGS</key>
<dict>
<key>AUTHENTICATION</key>
<integer>1</integer>
<key>CONCLUSION_ACTION</key>
<integer>0</integer>
<key>IDENTIFIER</key>
<string>com.github.dnscrypt-osxclient.dnscryptClient.dnscrypt-proxy</string>
<key>LOCATION</key>
<integer>0</integer>
<key>NAME</key>
<string>DNSCrypt Proxy</string>
<key>OVERWRITE_PERMISSIONS</key>
<false/>
<key>REFERENCE_PATH</key>
<string>/</string>
<key>RELOCATABLE</key>
<false/>
<key>USE_HFS+_COMPRESSION</key>
<true/>
<key>VERSION</key>
<string>1.5.0.3</string>
</dict>
<key>UUID</key>
<string>7F7D70AB-F7A2-4027-8304-3063C7B9532F</string>
</dict>
<dict>
<key>PACKAGE_FILES</key>
<dict>
<key>DEFAULT_INSTALL_LOCATION</key>
<string>/</string>
<key>HIERARCHY</key>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Utilities</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Applications</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>509</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array>
<dict>
@@ -1433,7 +539,7 @@
<key>USE_HFS+_COMPRESSION</key>
<true/>
<key>VERSION</key>
<string>1.0.8</string>
<string>1.0.12</string>
</dict>
<key>TYPE</key>
<integer>0</integer>
@@ -1926,7 +1032,7 @@
<key>USE_HFS+_COMPRESSION</key>
<true/>
<key>VERSION</key>
<string>1.0.8</string>
<string>1.0.12</string>
</dict>
<key>TYPE</key>
<integer>0</integer>
@@ -1979,29 +1085,6 @@
<dict>
<key>LIST</key>
<array>
<dict>
<key>DESCRIPTION</key>
<array/>
<key>OPTIONS</key>
<dict>
<key>HIDDEN</key>
<false/>
<key>STATE</key>
<integer>1</integer>
</dict>
<key>PACKAGE_UUID</key>
<string>7F7D70AB-F7A2-4027-8304-3063C7B9532F</string>
<key>REQUIREMENTS</key>
<array/>
<key>TITLE</key>
<array/>
<key>TOOLTIP</key>
<array/>
<key>TYPE</key>
<integer>0</integer>
<key>UUID</key>
<string>FE4B2779-1476-4341-A773-534E27377369</string>
</dict>
<dict>
<key>DESCRIPTION</key>
<array/>
+8 -2
View File
@@ -1,6 +1,9 @@
#! /bin/sh
VERSION='1.0.8'
VERSION='1.0.12'
echo '*** Do not forget to increase CURRENT_VERSION in common.inc'
sleep 10
cd build || exit 1
[ -e DNSCrypt.pkg ] || exit 1
@@ -12,7 +15,6 @@ productsign --sign 'Developer ID Installer' DNSCrypt.pkg DNSCrypt-OSX.pkg
mv DNSCrypt.pkg DNSCrypt-unsigned.pkg
mv DNSCrypt-OSX.pkg DNSCrypt.pkg
zip -9 -r "dnscrypt-osxclient-${VERSION}.zip" DNSCrypt.pkg
rm -fr dnscrypt-pkg
rm -f "dnscrypt-osxclient-${VERSION}.dmg"
mkdir dnscrypt-pkg
@@ -22,3 +24,7 @@ hdiutil create "dnscrypt-osxclient-${VERSION}.dmg" -srcfolder dnscrypt-pkg
mv dnscrypt-pkg/DNSCrypt.pkg .
rm -fr dnscrypt-pkg
rm -fr DNSCrypt-unsigned.pkg
minisign -S -m "dnscrypt-osxclient-${VERSION}.dmg" \
-p ../../minisign.pub -s ../../minisign.key \
-t "dnscrypt-osxclient-${VERSION}.dmg"
@@ -11,7 +11,6 @@
0946B0C813F47F53008277C6 /* PreferencePanes.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0946B0C713F47F53008277C6 /* PreferencePanes.framework */; };
0946B0D213F47F53008277C6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0946B0D013F47F53008277C6 /* InfoPlist.strings */; };
0946B0D613F47F53008277C6 /* DNSCrypt.m in Sources */ = {isa = PBXBuildFile; fileRef = 0946B0D513F47F53008277C6 /* DNSCrypt.m */; };
0946B0D813F47F53008277C6 /* DNSCrypt.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 0946B0D713F47F53008277C6 /* DNSCrypt.tiff */; };
0946B0DB13F47F53008277C6 /* DNSCrypt.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0946B0D913F47F53008277C6 /* DNSCrypt.xib */; };
0946B0E413F48065008277C6 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0946B0E313F48065008277C6 /* Security.framework */; };
09A13ABC145F2D8700B227A4 /* ajax-loader.gif in Resources */ = {isa = PBXBuildFile; fileRef = 09A13ABB145F2D8700B227A4 /* ajax-loader.gif */; };
@@ -41,7 +40,6 @@
0946B0D313F47F53008277C6 /* DNSCrypt-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DNSCrypt-Prefix.pch"; sourceTree = "<group>"; };
0946B0D413F47F53008277C6 /* DNSCrypt.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DNSCrypt.h; sourceTree = "<group>"; };
0946B0D513F47F53008277C6 /* DNSCrypt.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DNSCrypt.m; sourceTree = "<group>"; };
0946B0D713F47F53008277C6 /* DNSCrypt.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = DNSCrypt.tiff; sourceTree = "<group>"; };
0946B0DA13F47F53008277C6 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/DNSCrypt.xib; sourceTree = "<group>"; };
0946B0E113F48056008277C6 /* SecurityFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SecurityFoundation.framework; path = System/Library/Frameworks/SecurityFoundation.framework; sourceTree = SDKROOT; };
0946B0E313F48065008277C6 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
@@ -121,7 +119,6 @@
0946B0D413F47F53008277C6 /* DNSCrypt.h */,
0946B0D513F47F53008277C6 /* DNSCrypt.m */,
0946B0D913F47F53008277C6 /* DNSCrypt.xib */,
0946B0D713F47F53008277C6 /* DNSCrypt.tiff */,
4B89D982147CA39200872F60 /* dnscrypt_256.png */,
09B1686F1906062E003FDBCC /* CHCSVParser */,
09AD019F15D2483500638DCE /* html */,
@@ -204,7 +201,7 @@
0946B0B713F47F52008277C6 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0610;
LastUpgradeCheck = 0700;
};
buildConfigurationList = 0946B0BA13F47F52008277C6 /* Build configuration list for PBXProject "DNSCrypt" */;
compatibilityVersion = "Xcode 3.2";
@@ -229,7 +226,6 @@
buildActionMask = 2147483647;
files = (
0946B0D213F47F53008277C6 /* InfoPlist.strings in Resources */,
0946B0D813F47F53008277C6 /* DNSCrypt.tiff in Resources */,
0946B0DB13F47F53008277C6 /* DNSCrypt.xib in Resources */,
4BABEA28144F5A7B006AEF34 /* led_green.png in Resources */,
4BABEA29144F5A7B006AEF34 /* led_yellow.png in Resources */,
@@ -292,9 +288,9 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
CLANG_ENABLE_OBJC_ARC = NO;
COPY_PHASE_STRIP = NO;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
@@ -320,7 +316,6 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
CLANG_ENABLE_OBJC_ARC = NO;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
@@ -340,7 +335,6 @@
0946B0DF13F47F53008277C6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_ARC = YES;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
@@ -353,6 +347,7 @@
GCC_VERSION = "";
INFOPLIST_FILE = "DNSCrypt/DNSCrypt-Info.plist";
INSTALL_PATH = "$(HOME)/Library/PreferencePanes";
PRODUCT_BUNDLE_IDENTIFIER = "com.github.dnscrypt-osxclient.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = prefPane;
};
@@ -361,7 +356,6 @@
0946B0E013F47F53008277C6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_ARC = YES;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
@@ -374,6 +368,7 @@
GCC_VERSION = "";
INFOPLIST_FILE = "DNSCrypt/DNSCrypt-Info.plist";
INSTALL_PATH = "$(HOME)/Library/PreferencePanes";
PRODUCT_BUNDLE_IDENTIFIER = "com.github.dnscrypt-osxclient.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = prefPane;
};
@@ -9,7 +9,7 @@
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.github.dnscrypt-osxclient.${PRODUCT_NAME:rfc1034identifier}</string>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0.8</string>
<string>1.0.12</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0.8</string>
<string>1.0.12</string>
<key>NSHumanReadableCopyright</key>
<string>BSD</string>
<key>NSMainNibFile</key>
+8 -4
View File
@@ -3,12 +3,13 @@
#import <WebKit/WebKit.h>
#import "CHCSVParser/CHCSVParser.h"
#define kDNSCRYPT_PACKAGE_VERSION @"1.0.8"
#define kDNSCRYPT_PACKAGE_VERSION @"1.0.12"
#define kDNSCRYPT_PREFPANE_APP_PATH @"/Library/PreferencePanes/DNSCrypt.prefPane"
#define kDNSCRYPT_USR_BASE_DIR kDNSCRYPT_PREFPANE_APP_PATH @"/Contents/Resources/usr"
#define kDNSCRIPT_BIN_BASE_DIR kDNSCRYPT_USR_BASE_DIR @"/bin"
#define kDNSCRIPT_SCRIPTS_BASE_DIR kDNSCRYPT_USR_BASE_DIR @"/scripts"
#define kDNSCRYPT_BIN_BASE_DIR kDNSCRYPT_USR_BASE_DIR @"/bin"
#define kDNSCRYPT_SHARE_BASE_DIR kDNSCRYPT_USR_BASE_DIR @"/share"
#define kDNSCRYPT_SCRIPTS_BASE_DIR kDNSCRYPT_USR_BASE_DIR @"/scripts"
#define kDNSCRYPT_VAR_BASE_DIR @"/Library/Application Support/DNSCrypt"
#define kDNSCRYPT_CONTROL_DIR kDNSCRYPT_VAR_BASE_DIR @"/control"
@@ -19,7 +20,7 @@
#define kBUNDLE_IDENTIFIER @"com.github.dnscrypt-osxclient.DNSCrypt"
#define kRESOLVERS_LIST_FILE @"/usr/local/share/dnscrypt-proxy/dnscrypt-resolvers.csv"
#define kRESOLVERS_LIST_FILE kDNSCRYPT_SHARE_BASE_DIR @"/dnscrypt-proxy/dnscrypt-resolvers.csv"
#define kREFRESH_DELAY 2.0
#define kCHECKBOXES_AFTER_CHANGE_DELAY 8.0
@@ -38,6 +39,7 @@ typedef enum {
NSButton *_dnscryptButton;
NSButton *_fallbackButton;
NSButton *_disableIPv6Button;
NSTextField *_currentResolverTextField;
NSImageView *_statusImageView;
@@ -59,6 +61,7 @@ typedef enum {
@property (nonatomic, strong) IBOutlet NSButton *dnscryptButton;
@property (nonatomic, strong) IBOutlet NSButton *fallbackButton;
@property (nonatomic, strong) IBOutlet NSButton *disableIPv6Button;
@property (nonatomic, strong) IBOutlet NSTextField *currentResolverTextField;
@property (nonatomic, strong) IBOutlet NSImageView *statusImageView;
@@ -84,6 +87,7 @@ typedef enum {
- (IBAction)dnscryptButtonPressed:(NSButton *)sender;
- (IBAction)fallbackButtonPressed:(NSButton *)sender;
- (IBAction)disableIPv6ButtonPressed:(NSButton *)sender;
- (IBAction)providerLinkPushed:(NSButton *)sender;
- (IBAction)uninstallPushed:(NSButton *)sender;
+54 -23
View File
@@ -16,6 +16,7 @@
@synthesize exceptionsTextField = _exceptionsTextField;
@synthesize dnscryptButton = _dnscryptButton;
@synthesize fallbackButton = _fallbackButton;
@synthesize disableIPv6Button = _disableIPv6Button;
@synthesize statusImageView = _statusImageView;
@synthesize statusText = _statusText;
@synthesize currentResolverTextField = _currentResolverTextField;
@@ -28,6 +29,8 @@ NSArray *resolversList;
{
[_dnscryptButton setEnabled: enabled];
[_fallbackButton setEnabled: enabled];
[_disableIPv6Button setEnabled: enabled];
[_resolverNamesButton setEnabled: enabled];
}
- (NSString *) fromCommand: (NSString *) launchPath withArguments: (NSArray *) arguments
@@ -55,18 +58,23 @@ NSArray *resolversList;
_dnscryptButton.state = 0;
_fallbackButton.state = 0;
_disableIPv6Button.state = 0;
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./get-dnscrypt-status.sh", nil]];
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && exec ./get-dnscrypt-status.sh", nil]];
if ([res isEqualToString: @"yes"]) {
[_dnscryptButton setState: 1];
}
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./get-fallback-status.sh", nil]];
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && exec ./get-fallback-status.sh", nil]];
if ([res isEqualToString: @"yes"]) {
[_fallbackButton setState: 1];
}
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./get-static-resolvers.sh", nil]];
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && exec ./get-aaaa-blocking-status.sh", nil]];
if ([res isEqualToString: @"yes"]) {
[_disableIPv6Button setState: 1];
}
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && exec ./get-static-resolvers.sh", nil]];
[_staticResolversTextField setStringValue: res];
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./get-query-logging-status.sh", nil]];
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && exec ./get-query-logging-status.sh", nil]];
if ([res isEqualToString: @"yes"]) {
[_queryLoggingButton setState: 1];
}
@@ -90,7 +98,7 @@ NSArray *resolversList;
NSUInteger rows_count = [resolversList count];
NSUInteger i;
[_resolverNamesButton addItemWithTitle: NSLocalizedString(@"Please select a resolver", @"A resolver hasn't been selected yet")];
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./get-dnscrypt-resolver-name.sh", nil]];
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && exec ./get-dnscrypt-resolver-name.sh", nil]];
for (i = 1U; i < rows_count; i++) {
NSArray *row = [resolversList objectAtIndex: i];
NSString *name;
@@ -129,7 +137,7 @@ NSArray *resolversList;
- (BOOL) updateStatusWithCurrentConfig
{
NSString *stateDescription = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./get-current-resolvers.sh | ./get-resolvers-description.sh", nil]];
NSString *stateDescription = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && ./get-current-resolvers.sh | ./get-resolvers-description.sh", nil]];
if ([stateDescription isEqualToString: @"DNSCrypt"]) {
currentState = kDNS_CONFIGURATION_LOCALHOST;
} else if ([stateDescription isEqualToString: @"None"]) {
@@ -141,10 +149,10 @@ NSArray *resolversList;
}
[self updateLedStatus];
NSString *currentResolvers = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./get-current-resolvers.sh | ./get-upstream-resolvers.sh", nil]];
NSString *currentResolvers = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && ./get-current-resolvers.sh | ./get-upstream-resolvers.sh", nil]];
_currentResolverTextField.stringValue = currentResolvers;
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./gui-pop-conf-change.sh prefpane", nil]];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && exec ./gui-pop-conf-change.sh prefpane", nil]];
if ([res isEqualToString: @"yes"]) {
[self initState];
}
@@ -167,7 +175,7 @@ NSArray *resolversList;
_statusImageView.image = [[NSImage alloc] initWithContentsOfFile: [bundle pathForImageResource: @"ajax-loader.gif"]];
_currentResolverTextField.stringValue = @"";
[self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./gui-push-conf-change.sh menubar", nil]];
[self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && exec ./gui-push-conf-change.sh menubar", nil]];
[NSObject cancelPreviousPerformRequestsWithTarget: self selector: @selector(periodicallyUpdateStatusWithCurrentConfig) object: nil];
[NSObject cancelPreviousPerformRequestsWithTarget: self selector: @selector(waitForUpdate) object: nil];
@@ -176,28 +184,42 @@ NSArray *resolversList;
- (BOOL) setDNSCryptOn {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/csh" 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: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-to-dnscrypt.sh", nil]];
(void) res;
return TRUE;
}
- (BOOL) setDNSCryptOff {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/csh" 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: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-to-dhcp.sh", nil]];
(void) res;
return TRUE;
}
- (BOOL) setFallbackOn {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-fallback-on.sh", nil]];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-fallback-on.sh", nil]];
(void) res;
return TRUE;
}
- (BOOL) setFallbackOff {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-fallback-off.sh", nil]];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-fallback-off.sh", nil]];
(void) res;
return TRUE;
}
- (BOOL) setDisableIPv6On {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-aaaa-blocking-on.sh", nil]];
(void) res;
return TRUE;
}
- (BOOL) setDisableIPv6Off {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-aaaa-blocking-off.sh", nil]];
(void) res;
return TRUE;
}
@@ -220,11 +242,20 @@ NSArray *resolversList;
}
}
- (IBAction)disableIPv6ButtonPressed:(NSButton *)sender
{
if (sender.state != 0) {
[self setDisableIPv6On];
} else {
[self setDisableIPv6Off];
}
}
- (void) waitForUpdate {
NSString *res;
static unsigned int tries;
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./get-tickets-count.sh", nil]];
res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_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];
@@ -257,7 +288,7 @@ NSArray *resolversList;
NSArray *row = [resolversList objectAtIndex: i];
[self updateResolverInfo: row];
setenv("RESOLVER_NAME", [[row objectAtIndex: 0] UTF8String], 1);
[self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./set-dnscrypt-resolver-name.sh \"$RESOLVER_NAME\"", nil]];
[self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && exec ./set-dnscrypt-resolver-name.sh \"$RESOLVER_NAME\"", nil]];
}
- (void) mainViewDidLoad
@@ -319,7 +350,7 @@ NSArray *resolversList;
}
- (IBAction)uninstallPushed:(NSButton *)sender {
[self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_BIN_BASE_DIR @"' && /usr/bin/open ./Uninstall.app", nil]];
[self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_BIN_BASE_DIR @"' && /usr/bin/open ./Uninstall.app", nil]];
}
- (IBAction)staticResolversTextFieldChanged:(NSTextField *)sender {
@@ -328,19 +359,19 @@ NSArray *resolversList;
staticResolvers = [[staticResolvers componentsSeparatedByCharactersInSet: charset] componentsJoinedByString: @" "];
sender.stringValue = staticResolvers;
setenv("STATIC_RESOLVERS", [staticResolvers UTF8String], 1);
[self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./set-static-resolvers.sh \"$STATIC_RESOLVERS\"", nil]];
[self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && exec ./set-static-resolvers.sh \"$STATIC_RESOLVERS\"", nil]];
}
- (BOOL) setQueryLoggingOn {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-query-logging-on.sh", nil]];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-query-logging-on.sh", nil]];
(void) res;
return TRUE;
}
- (BOOL) setQueryLoggingOff {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-query-logging-off.sh", nil]];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./switch-query-logging-off.sh", nil]];
(void) res;
return TRUE;
}
@@ -354,12 +385,12 @@ NSArray *resolversList;
}
- (IBAction)viewLogButtonPushed:(NSButton *)sender {
[self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"open /Applications/Utilities/Console.app " kDNSCRYPT_QUERY_LOG_FILE " || open " kDNSCRYPT_QUERY_LOG_FILE, nil]];
[self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"open /Applications/Utilities/Console.app " kDNSCRYPT_QUERY_LOG_FILE " || open " kDNSCRYPT_QUERY_LOG_FILE, nil]];
}
- (BOOL) updateBlacklistIPs {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./update-blacklist-ips.sh", nil]];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./update-blacklist-ips.sh", nil]];
(void) res;
return TRUE;
}
@@ -374,7 +405,7 @@ NSArray *resolversList;
- (BOOL) updateBlacklistDomains {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./update-blacklist-domains.sh", nil]];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./update-blacklist-domains.sh", nil]];
(void) res;
return TRUE;
}
@@ -389,7 +420,7 @@ NSArray *resolversList;
- (BOOL) updateExceptions {
[self showSpinners];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./update-exceptions.sh", nil]];
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-f", @"-c", @"cd '" kDNSCRYPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./update-exceptions.sh", nil]];
(void) res;
return TRUE;
}
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 96 KiB

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="5056" systemVersion="13D45a" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="8191" systemVersion="15B17c" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<dependencies>
<deployment version="1070" defaultVersion="1060" identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="5056"/>
<plugIn identifier="com.apple.WebKitIBPlugin" version="5056"/>
<deployment version="1070" identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="8191"/>
<plugIn identifier="com.apple.WebKitIBPlugin" version="8191"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="DNSCrypt">
@@ -15,6 +15,7 @@
<outlet property="blacklistIPsTextField" destination="402" id="444"/>
<outlet property="currentResolverTextField" destination="174" id="296"/>
<outlet property="descriptionText" destination="2aF-7O-SkX" id="nM9-H2-22g"/>
<outlet property="disableIPv6Button" destination="ESJ-Kf-yNj" id="xFL-L3-vLp"/>
<outlet property="dnscryptButton" destination="179" id="363"/>
<outlet property="exceptionsTextField" destination="406" id="452"/>
<outlet property="fallbackButton" destination="281" id="365"/>
@@ -33,8 +34,8 @@
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application"/>
<window title="&lt;&lt; do not localize >>" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" deferred="NO" oneShot="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="12" userLabel="PrefPane">
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="&lt;&lt; do not localize &gt;&gt;" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" deferred="NO" oneShot="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="12" userLabel="PrefPane">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="176" y="715" width="589" height="375"/>
@@ -47,6 +48,7 @@
<tabView initialItem="100" id="99">
<rect key="frame" x="13" y="10" width="563" height="359"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<animations/>
<font key="font" metaFont="system"/>
<tabViewItems>
<tabViewItem label="General" identifier="1" id="100">
@@ -57,6 +59,7 @@
<button toolTip="Use OpenDNS resolvers with the DNSCrypt protocol" id="179">
<rect key="frame" x="15" y="234" width="204" height="22"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<buttonCell key="cell" type="check" title="Enable DNSCrypt" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="180">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="systemBold" size="14"/>
@@ -67,9 +70,10 @@
</connections>
</button>
<button id="281">
<rect key="frame" x="15" y="126" width="239" height="54"/>
<rect key="frame" x="15" y="164" width="239" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<string key="toolTip">Only check this box if you often have to connect to public WiFi hotspots and you don't want to manually disable DNSCrypt in order to pass a captive portal.</string>
<animations/>
<buttonCell key="cell" type="check" title="Automatically disable if blocked" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="282">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system" size="14"/>
@@ -82,6 +86,7 @@
<textField verticalHuggingPriority="750" id="162">
<rect key="frame" x="14" y="96" width="173" height="19"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Current DNS settings:" id="163">
<font key="font" metaFont="system" size="16"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@@ -89,10 +94,11 @@
</textFieldCell>
</textField>
<textField verticalHuggingPriority="750" id="Wkj-kT-maK">
<rect key="frame" x="278" y="208" width="173" height="19"/>
<rect key="frame" x="278" y="208" width="70" height="19"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Location:" id="GO7-P1-scE">
<font key="font" metaFont="system" size="14"/>
<font key="font" metaFont="titleBar"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
@@ -100,24 +106,17 @@
<textField verticalHuggingPriority="750" id="174">
<rect key="frame" x="14" y="-3" width="240" height="83"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="..." placeholderString="" id="175">
<font key="font" size="14" name="Monaco"/>
<color key="textColor" white="0.2046370968" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField verticalHuggingPriority="750" id="e9H-pq-zb6">
<rect key="frame" x="345" y="200" width="200" height="27"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" placeholderString="" id="q83-P7-DNW">
<font key="font" size="14" name="Monaco"/>
<color key="textColor" white="0.2046370968" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField verticalHuggingPriority="750" id="rnd-WE-K61">
<rect key="frame" x="278" y="46" width="261" height="150"/>
<rect key="frame" x="278" y="46" width="261" height="122"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" placeholderString="" id="2aF-7O-SkX">
<font key="font" size="14" name="Monaco"/>
<color key="textColor" white="0.2046370968" alpha="1" colorSpace="calibratedWhite"/>
@@ -127,6 +126,7 @@
<textField verticalHuggingPriority="750" id="274">
<rect key="frame" x="55" y="283" width="219" height="19"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="..." placeholderString="" id="275">
<font key="font" size="16" name="Monaco"/>
<color key="textColor" white="0.2046370968" alpha="1" colorSpace="calibratedWhite"/>
@@ -136,11 +136,13 @@
<imageView id="270">
<rect key="frame" x="17" y="277" width="32" height="32"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" animates="YES" imageAlignment="topLeft" imageScaling="proportionallyDown" image="ajax-loader" id="271"/>
</imageView>
<box autoresizesSubviews="NO" horizontalHuggingPriority="750" title="Box" boxType="separator" titlePosition="noTitle" id="276">
<box horizontalHuggingPriority="750" title="Box" boxType="separator" titlePosition="noTitle" id="276">
<rect key="frame" x="270" y="2" width="4" height="300"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<font key="titleFont" metaFont="system"/>
@@ -148,6 +150,7 @@
<button verticalHuggingPriority="750" id="323">
<rect key="frame" x="274" y="10" width="269" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<buttonCell key="cell" type="push" title="http://www.dnscrypt.org" alternateTitle="Browse the OpenDNS web site" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="324">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="cellTitle"/>
@@ -156,9 +159,10 @@
<action selector="providerLinkPushed:" target="-2" id="HYc-qW-k00"/>
</connections>
</button>
<box autoresizesSubviews="NO" verticalHuggingPriority="750" title="Box" boxType="separator" titlePosition="noTitle" id="345">
<box verticalHuggingPriority="750" title="Box" boxType="separator" titlePosition="noTitle" id="345">
<rect key="frame" x="17" y="193" width="240" height="5"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<font key="titleFont" metaFont="system"/>
@@ -166,6 +170,7 @@
<textField verticalHuggingPriority="750" id="UQr-Gd-nzd">
<rect key="frame" x="324" y="268" width="183" height="19"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="DNSCrypt name server:" id="ctO-Mw-4JZ">
<font key="font" metaFont="system" size="16"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@@ -175,6 +180,7 @@
<popUpButton toolTip="Select the resolver to use" verticalHuggingPriority="750" id="yY6-5S-StG">
<rect key="frame" x="286" y="232" width="260" height="26"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<popUpButtonCell key="cell" type="push" title="None selected" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="zMy-SG-d4L" id="LPZ-wM-tAR">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -191,7 +197,31 @@
<action selector="resolversNamesPopupButtonPressed:" target="-2" id="fEP-TP-PCO"/>
</connections>
</popUpButton>
<button toolTip="Do not try to resolve IPv6 records" id="ESJ-Kf-yNj">
<rect key="frame" x="15" y="133" width="252" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<buttonCell key="cell" type="check" title="Disable IPv6 to reduce IPv4 latency" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="cCj-X4-U6n">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system" size="14"/>
</buttonCell>
<accessibility description="Fallback to insecure DNS"/>
<connections>
<action selector="disableIPv6ButtonPressed:" target="-2" id="s7R-gl-0Fy"/>
</connections>
</button>
<textField verticalHuggingPriority="750" id="e9H-pq-zb6">
<rect key="frame" x="278" y="182" width="267" height="27"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" alignment="left" placeholderString="-" id="q83-P7-DNW">
<font key="font" size="12" name="Monaco"/>
<color key="textColor" white="0.2046370968" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<animations/>
</view>
</tabViewItem>
<tabViewItem label="Advanced" identifier="2" id="388">
@@ -202,6 +232,7 @@
<textField verticalHuggingPriority="750" id="390">
<rect key="frame" x="5" y="236" width="406" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="When not using DNSCrypt, use the following static DNS servers:" id="391">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@@ -211,6 +242,7 @@
<textField verticalHuggingPriority="750" id="392">
<rect key="frame" x="8" y="206" width="526" height="22"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" toolTip="Leave empty to use DHCP-provided servers" placeholderString="Space-separated list of IP addresses or leave blank for DHCP" drawsBackground="YES" usesSingleLineMode="YES" id="393">
<font key="font" size="13" name="Courier"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
@@ -227,6 +259,7 @@
<button id="398">
<rect key="frame" x="7" y="281" width="126" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<buttonCell key="cell" type="check" title="Log DNS queries" bezelStyle="regularSquare" imagePosition="left" inset="2" id="399">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
@@ -239,6 +272,7 @@
<button verticalHuggingPriority="750" id="400">
<rect key="frame" x="161" y="273" width="94" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<buttonCell key="cell" type="push" title="View log" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="401">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
@@ -251,6 +285,7 @@
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" id="402">
<rect key="frame" x="10" y="7" width="169" height="141"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="403">
<font key="font" size="11" name="Courier"/>
<string key="placeholderString">IP addresses (IPv4/IPv6) to block.

208.67.0.255
192.0.43.10
@@ -268,6 +303,7 @@
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" id="404">
<rect key="frame" x="188" y="7" width="169" height="141"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="405">
<font key="font" size="11" name="Courier"/>
<string key="placeholderString">Domain names to block.
@@ -287,6 +323,7 @@ ads.*
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" id="406">
<rect key="frame" x="366" y="7" width="169" height="141"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Domain names to resolve through the default resolvers instead of DNSCrypt.

localdomain
mycompany.example.net" drawsBackground="YES" id="407">
<font key="font" size="11" name="Courier"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
@@ -302,6 +339,7 @@ ads.*
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" id="408">
<rect key="frame" x="7" y="156" width="175" height="34"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Block replies containing any of these IP addresses:" id="409">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@@ -311,6 +349,7 @@ ads.*
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" id="410">
<rect key="frame" x="186" y="156" width="175" height="34"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Block queries for the following domain names:" id="411">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@@ -320,6 +359,7 @@ ads.*
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" id="412">
<rect key="frame" x="363" y="156" width="175" height="34"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Bypass DNSCrypt to resolve these domains:" id="413">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@@ -329,6 +369,7 @@ ads.*
<button horizontalHuggingPriority="750" verticalHuggingPriority="750" id="416">
<rect key="frame" x="503" y="277" width="25" height="25"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<buttonCell key="cell" type="help" bezelStyle="helpButton" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="417">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
@@ -340,15 +381,17 @@ ads.*
<textField verticalHuggingPriority="750" id="423">
<rect key="frame" x="467" y="284" width="33" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Help" id="424">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<box autoresizesSubviews="NO" verticalHuggingPriority="750" title="Box" boxType="separator" titlePosition="noTitle" id="425">
<box verticalHuggingPriority="750" title="Box" boxType="separator" titlePosition="noTitle" id="425">
<rect key="frame" x="9" y="265" width="526" height="5"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<font key="titleFont" metaFont="system"/>
@@ -356,10 +399,12 @@ ads.*
<webView hidden="YES" maintainsBackForwardList="NO" id="449">
<rect key="frame" x="3" y="-3" width="536" height="278"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
<webPreferences key="preferences" identifier="helpWebView" defaultFontSize="12" defaultFixedFontSize="12" minimumFontSize="2" plugInsEnabled="NO" javaEnabled="NO" javaScriptEnabled="NO" javaScriptCanOpenWindowsAutomatically="NO" loadsImagesAutomatically="NO" allowsAnimatedImages="NO" allowsAnimatedImageLooping="NO"/>
<accessibility description="Static DNS resolvers"/>
</webView>
</subviews>
<animations/>
</view>
</tabViewItem>
<tabViewItem label="About" identifier="3" id="356">
@@ -370,6 +415,7 @@ ads.*
<webView maintainsBackForwardList="NO" id="358">
<rect key="frame" x="17" y="31" width="509" height="279"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
<webPreferences key="preferences" defaultFontSize="12" defaultFixedFontSize="12" plugInsEnabled="NO" javaEnabled="NO" javaScriptCanOpenWindowsAutomatically="NO" loadsImagesAutomatically="NO" allowsAnimatedImages="NO" allowsAnimatedImageLooping="NO">
<nil key="identifier"/>
</webPreferences>
@@ -377,6 +423,7 @@ ads.*
<button verticalHuggingPriority="750" id="385">
<rect key="frame" x="437" y="-5" width="95" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<animations/>
<buttonCell key="cell" type="push" title="Uninstall" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="386">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
@@ -386,6 +433,7 @@ ads.*
</connections>
</button>
</subviews>
<animations/>
</view>
</tabViewItem>
<tabViewItem label="Release Notes" identifier="4" id="349">
@@ -396,16 +444,19 @@ ads.*
<webView maintainsBackForwardList="NO" id="354">
<rect key="frame" x="17" y="17" width="509" height="293"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
<webPreferences key="preferences" defaultFontSize="12" defaultFixedFontSize="12" plugInsEnabled="NO" javaEnabled="NO" javaScriptCanOpenWindowsAutomatically="NO" loadsImagesAutomatically="NO" allowsAnimatedImages="NO" allowsAnimatedImageLooping="NO">
<nil key="identifier"/>
</webPreferences>
</webView>
</subviews>
<animations/>
</view>
</tabViewItem>
</tabViewItems>
</tabView>
</subviews>
<animations/>
</view>
</window>
<customObject id="263"/>
@@ -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 download.dnscrypt.org, as well as to port 443 (https) of github.com and download.dnscrypt.org 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 download.dnscrypt.org, as well as to port 443 (https) of github.com and download.dnscrypt.org 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
@@ -102,4 +101,4 @@
thing about specific resolvers that have to be used for specific
domains.
%p
Use actual apps, or even a command like ping(8).
Use actual apps, or even a command such as ping(8).
@@ -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>
@@ -132,7 +130,7 @@
domains.
</p>
<p>
Use actual apps, or even a command like ping(8).
Use actual apps, or even a command such as ping(8).
</p>
</section>
</body>
@@ -3,24 +3,59 @@
%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.12 by AlterStep
%time Sun, Jul 31 2016
%p
Compatibility with OSX 10.12
%p
dnscrypt-proxy 1.7.0
%p
libsodium 1.0.9
%p
Fixed a regression in the automatic updater for the resolvers list
%article
%h2 Version 1.0.11 by AlterStep
%time Thu, Mar 3 2016
%p
Compatibility with OSX 10.11
%p
dnscrypt-proxy 1.6.1
%p
libsodium 1.0.8
%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
@@ -3,28 +3,72 @@
<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.12 by AlterStep</h2>
<time>Sun, Jul 31 2016</time>
<p>
Compatibility with OSX 10.12
</p>
<p>
dnscrypt-proxy 1.7.0
</p>
<p>
libsodium 1.0.9
</p>
<p>
Fixed a regression in the automatic updater for the resolvers list
</p>
</article>
<article>
<h2>Version 1.0.11 by AlterStep</h2>
<time>Thu, Mar 3 2016</time>
<p>
Compatibility with OSX 10.11
</p>
<p>
dnscrypt-proxy 1.6.1
</p>
<p>
libsodium 1.0.8
</p>
</article>
<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>
@@ -1 +0,0 @@
/usr/local/sbin/dnscrypt-proxy
@@ -1 +0,0 @@
/usr/local/bin/hostip
Binary file not shown.
Binary file not shown.
@@ -8,8 +8,8 @@ exec 2>&1
SOCKETFILTERFW='/usr/libexec/ApplicationFirewall/socketfilterfw'
[ -x "$SOCKETFILTERFW" ] || exit 0
"$SOCKETFILTERFW" --add /usr/local/sbin/dnscrypt-proxy
"$SOCKETFILTERFW" --unblockapp /usr/local/sbin/dnscrypt-proxy
"$SOCKETFILTERFW" --add "${DNSCRYPT_USR_BASE_DIR}/sbin/dnscrypt-proxy"
"$SOCKETFILTERFW" --unblockapp "${DNSCRYPT_USR_BASE_DIR}/sbin/dnscrypt-proxy"
"$SOCKETFILTERFW" --add /usr/local/bin/hostip
"$SOCKETFILTERFW" --unblockapp /usr/local/bin/hostip
"$SOCKETFILTERFW" --add "${DNSCRYPT_USR_BASE_DIR}/bin/hostip"
"$SOCKETFILTERFW" --unblockapp "${DNSCRYPT_USR_BASE_DIR}/bin/hostip"
@@ -1,5 +1,5 @@
CURRENT_VERSION=1
CURRENT_VERSION=5
DNSCRYPT_USR_BASE_DIR='/Library/PreferencePanes/DNSCrypt.prefPane/Contents/Resources/usr'
DNSCRYPT_VAR_BASE_DIR='/Library/Application Support/DNSCrypt'
@@ -26,6 +26,7 @@ DEBUG_ENABLED_FILE="${CONTROL_DIR}/debug.enabled"
PLUGINS_ENABLED_FILE="${CONTROL_DIR}/plugins.enabled"
QUERY_LOGGING_FILE="${CONTROL_DIR}/plugin-query-logging.enabled"
BLOCKING_FILE="${CONTROL_DIR}/plugin-blocking.enabled"
AAAA_BLOCKING_FILE="${CONTROL_DIR}/plugin-aaaa-blocking.enabled"
QUERY_LOG_FILE="${DNSCRYPT_LOG_BASE_DIR}/dnscrypt-query.log"
DEBUG_LOG_FILE="${DNSCRYPT_LOG_BASE_DIR}/dnscrypt-osxclient-debug.log"
@@ -44,7 +45,7 @@ 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_BASE_DIR="${DNSCRYPT_USR_BASE_DIR}/share/dnscrypt-proxy"
RESOLVERS_LIST_PUBLIC_KEY="RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"
RESOLVERS_LIST_STATE="${STATES_DIR}/resolvers-updated"
@@ -56,12 +57,10 @@ INTERFACE_PROBES="127.0.0.55"
INTERFACE_PROBES_MASK="24"
DOMAINS_EXCEPTIONS='
belkin corp domain example home host invalid lan local localdomain test freebox.fr fritz.box nowtv.com routerlogin.net l
belkin corp domain example home host invalid lan local localdomain test freebox.fr fritz.box nowtv.com routerlogin.net l onion
'
DISABLE_IPV6='no'
export PATH="${DNSCRYPT_USR_BASE_DIR}/bin:${DNSCRYPT_USR_BASE_DIR}/scripts:$PATH"
export PATH="${DNSCRYPT_USR_BASE_DIR}/sbin:${DNSCRYPT_USR_BASE_DIR}/bin:${DNSCRYPT_USR_BASE_DIR}/scripts:$PATH"
init_interfaces() {
/sbin/ifconfig lo0 alias ${INTERFACE_UNBOUND}/${INTERFACE_UNBOUND_MASK}
@@ -0,0 +1,9 @@
#! /bin/sh
. ./common.inc
if [ -e "$AAAA_BLOCKING_FILE" ]; then
echo 'yes'
else
echo 'no'
fi
@@ -41,9 +41,15 @@ try_resolver() {
case "$line" in
*Proxying\ from\ *)
logger_debug "Proxy for [$description] is up"
# This doesn't send anything to Apple, and any reliable domain name can be used --
# The following line sends a common query to the chosen DNSCrypt resolver to
# check that it responds and can be used instead of leaving the mac without
# a working DNS configuration.
answers=$(exec dig +time=1 +short +tries=2 -p $priority \
@"$INTERFACE_PROBES" www.apple.com. 2> /dev/null | \
egrep -ic '^[0-9.:]+$')
[ -r "$pid_file" ] && kill $(cat -- "$pid_file")
if [ $answers -gt 0 ]; then
logger_debug "Proxy for [$description] can be used"
@@ -74,18 +80,6 @@ get_plugin_args() {
logger_debug "dnscrypt-proxy should be (re)started, stopping previous instance if needed"
./stop-dnscrypt-proxy.sh
ipv6_supported="no"
if [ x"$DISABLE_IPV6" = "xno" ]; then
logger_debug "Testing IPv6 connectivity"
ping6 -c 1 2620:0:ccc::2 > /dev/null 2>&1
if [ $? = 0 ]; then
ipv6_supported="yes"
logger_debug "IPv6 connectivity detected"
else
logger_debug "IPv6 connectivity is not available"
fi
fi
wait_pids=""
try_resolver 5004 "${RESOLVER_NAME} using DNSCrypt over UDP" \
@@ -97,9 +91,13 @@ try_resolver 5005 "${RESOLVER_NAME} using DNSCrypt over TCP" \
wait_pids="$wait_pids $!"
for pid in $wait_pids; do
wait $pid
wait
best_file=$(ls "$RES_DIR" | head -n 1)
[ x"$best_file" != "x" ] && break
if [ ! -e "$DNSCRYPT_FILE" ]; then
logger_debug "Aborted by user"
exit 1
fi
done
if [ x"$best_file" = "x" ]; then
@@ -111,8 +109,6 @@ plugins_args=''
if [ -r "${DNSCRYPT_PROXY_PLUGINS_BASE_FILE}s.enabled" ]; then
plugin_args=$(get_plugin_args)
fi
[ "$ipv6_supported" = "no" ] && \
plugin_args="${plugin_args} --plugin=libdcplugin_example_ldns_aaaa_blocking.la"
best_args=$(cat "${RES_DIR}/${best_file}")
@@ -0,0 +1,6 @@
#! /bin/sh
. ./common.inc
rm -f "$AAAA_BLOCKING_FILE"
@@ -0,0 +1,7 @@
#! /bin/sh
. ./common.inc
echo "libdcplugin_example_ldns_aaaa_blocking.la" > "$AAAA_BLOCKING_FILE"
touch "$PLUGINS_ENABLED_FILE"
@@ -2,8 +2,9 @@
. ./common.inc
PAUSE_MAX=10
PAUSE_INCREMENT=0.1
PAUSE_MAX=50
PAUSE_UNIT=0.1
PAUSE_INCREMENT=1
[ ! -e "$DNSCRYPT_FILE" ] && exit 0
@@ -21,18 +22,23 @@ while [ -e "$DNSCRYPT_FILE" ]; do
./switch-to-dhcp.sh
fi
fi
if [ $pause -lt $PAUSE_MAX ]; then
pause=$((pause + $PAUSE_INCREMENT))
[ $pause -lt $PAUSE_MAX ] && pause=$((pause + 1))
pause_counter=0
while [ -e "$DNSCRYPT_FILE" -a $pause_counter -lt $pause ]; do
sleep $PAUSE_UNIT
pause_counter=$((pause_counter + 1))
done
[ ! -e "$DNSCRYPT_FILE" ] && break
if [ -e "$FALLBACK_FILE" ]; then
logger_debug "Checking if the router hijacks HTTP queries"
if ./check-hijacking.sh; then
logger_debug "The router doesn't hijack HTTP queries"
else
logger_debug "The router hijacks HTTP queries - DNSCrypt is likely to be blocked"
continue
fi
fi
sleep $pause
logger_debug "Checking if the router hijacks HTTP queries"
if ./check-hijacking.sh; then
logger_debug "The router doesn't hijack HTTP queries"
else
logger_debug "The router hijacks HTTP queries - DNSCrypt is likely to be blocked"
continue
fi
./start-dnscrypt-proxy.sh
./start-dnscrypt-proxy.sh || continue
./check-local-dns.sh || continue
./set-dns.sh "$INTERFACE_PROXY"
if [ $? != 0 ]; then
@@ -2,6 +2,9 @@
. ./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
@@ -2,6 +2,9 @@
. ./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 \
+42
View File
@@ -0,0 +1,42 @@
#! /bin/sh
mkdir -p extra/usr/bin
cp /Library/PreferencePanes/DNSCrypt.prefPane/Contents/Resources/usr/bin/hostip \
extra/usr/bin/
mkdir -p extra/usr/sbin
cp /Library/PreferencePanes/DNSCrypt.prefPane/Contents/Resources/usr/sbin/dnscrypt-proxy \
extra/usr/sbin/
mkdir -p extra/usr/lib
cp /opt/ldns/lib/libldns.1.dylib \
extra/usr/lib/
( cd extra/usr/lib &&
rm -f libldns.dylib &&
ln -fs libldns.1.dylib libldns.dylib )
if [ -f /usr/local/lib/libsodium.18.dylib ]; then
echo '*** /usr/local/lib/libsodium.{dylib,la} found'
echo '*** Compile dnscrypt-proxy without them to get a static build'
sleep 10
fi
cp /usr/local/lib/libsodium.18.dylib \
extra/usr/lib/
( cd extra/usr/lib &&
rm -f libsodium.dylib &&
ln -fs libsodium.18.dylib libsodium.dylib )
mkdir -p extra/usr/lib/dnscrypt-proxy
cp /Library/PreferencePanes/DNSCrypt.prefPane/Contents/Resources/usr/lib/dnscrypt-proxy/* \
extra/usr/lib/dnscrypt-proxy/
mkdir -p extra/usr/share/dnscrypt-proxy
cp /Library/PreferencePanes/DNSCrypt.prefPane/Contents/Resources/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv \
extra/usr/share/dnscrypt-proxy/
cp /Library/PreferencePanes/DNSCrypt.prefPane/Contents/Resources/usr/share/dnscrypt-proxy/minisign.pub \
extra/usr/share/dnscrypt-proxy/
+8 -19
View File
@@ -1,24 +1,13 @@
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.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).
[Download dnscrypt-osxclient.dmg](https://github.com/alterstep/dnscrypt-osxclient/releases/latest)
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
* DNSCrypt.eu
* DNSCrypt.org
* OVPN
* OpenNIC
* Proxy.sh
* Soltysiak
* d0wn
* iPredator
* okTurtles
Compatible with all the DNS servers with DNSCrypt enabled.
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
+5 -4
View File
@@ -1,4 +1,5 @@
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
10.8 5 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.12/dnscrypt-osxclient-1.0.12.dmg
10.9 5 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.12/dnscrypt-osxclient-1.0.12.dmg
10.10 5 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.12/dnscrypt-osxclient-1.0.12.dmg
10.11 5 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.12/dnscrypt-osxclient-1.0.12.dmg
10.12 5 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.12/dnscrypt-osxclient-1.0.12.dmg
+3 -3
View File
@@ -1,4 +1,4 @@
untrusted comment: signature from minisign secret key
RWRvw8aArS/yEHYsWWF0s6ueXO4F4Xql7W4QD0TOfRs8ZBSPtjxSgrMPis0k46GPhVkaAFzbWx1jEXCNLgDNlnehWwFEjhD/DQc=
trusted comment: timestamp: 1436633664 file: versions.txt
O4OxZpRmxNPlsVSeuVO2SpdmzTwnMpvPV9dMMr1W5FtusQ+WZtXVupBYRu15NZ1VsKbY0b4k0Qb1Jjb7loWsAw==
RWRvw8aArS/yEJ4dpKMNawnmT9zOyXUpQ74mVAjMsxG3VygtaF+6k7YPoire23Tqdk0lcolS16ngIg9dCJPXuNuWUFFwIzqKIQ4=
trusted comment: timestamp:1469970056 file:versions.txt
Sp5RYaUW/tOqKM2Lq2w1Qb1QyH9VTCBG0vwB5VatktYhnXLawYVIQ0eUoDSPhSwiDzxMGNUtPaHoQT0stumjAg==