Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eefb31be76 | ||
|
|
1e3a8db2b6 | ||
|
|
531d3e48ab | ||
|
|
edf400d681 | ||
|
|
c03ffce707 | ||
|
|
22fac25b52 | ||
|
|
d75b291e71 | ||
|
|
66efa12e24 | ||
|
|
90a3558751 | ||
|
|
5cd2147527 | ||
|
|
08af88b591 | ||
|
|
23bef375ef | ||
|
|
079a08db64 | ||
|
|
409cfa07c6 | ||
|
|
4d2c1e80b6 | ||
|
|
212e8921ec | ||
|
|
8cc814acba | ||
|
|
f5a4892bf3 | ||
|
|
784963b6fd | ||
|
|
bb49e3d386 | ||
|
|
3408d3beed | ||
|
|
8491012652 | ||
|
|
e5652d8933 | ||
|
|
1b53464c9a | ||
|
|
f4ab8a0991 | ||
|
|
121feecdf7 | ||
|
|
1c3184a36e | ||
|
|
fb1adf423b | ||
|
|
a364d88326 | ||
|
|
70a39e6756 | ||
|
|
0848088f22 | ||
|
|
4e681b272d | ||
|
|
105a7c800f | ||
|
|
bc5a6cbac4 | ||
|
|
ca7eedb795 | ||
|
|
98261a3396 | ||
|
|
dafba50926 | ||
|
|
aa82ddd1cb | ||
|
|
76bcc9755e | ||
|
|
85b67e70aa | ||
|
|
50a2250ac5 | ||
|
|
6c08e50dd2 | ||
|
|
71acebf3be | ||
|
|
e1236241fa | ||
|
|
afe2bfcdf5 | ||
|
|
2e5e311f00 | ||
|
|
f64a4991f0 | ||
|
|
650b910e7d | ||
|
|
6b6ae896fd | ||
|
|
3a3f040524 | ||
|
|
418bbe586c | ||
|
|
c274c6082c | ||
|
|
54ad6a70d2 | ||
|
|
61ccbaec85 | ||
|
|
9bd689a1f3 | ||
|
|
ce3dcf4c06 | ||
|
|
572b33a765 | ||
|
|
77742886c4 | ||
|
|
236957ce0c | ||
|
|
5ca4dc6dc7 | ||
|
|
de5235f8b2 | ||
|
|
275bb49624 |
@@ -159,7 +159,7 @@
|
||||
09A13AC4145F3B9000B227A4 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0460;
|
||||
LastUpgradeCheck = 0510;
|
||||
};
|
||||
buildConfigurationList = 09A13AC7145F3B9000B227A4 /* Build configuration list for PBXProject "DNSCrypt-Menubar" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
@@ -235,7 +235,10 @@
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||
CLANG_ENABLE_OBJC_ARC = NO;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
@@ -252,7 +255,9 @@
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.6;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
@@ -266,7 +271,10 @@
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||
CLANG_ENABLE_OBJC_ARC = NO;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
@@ -277,7 +285,9 @@
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.6;
|
||||
SDKROOT = macosx;
|
||||
@@ -287,6 +297,8 @@
|
||||
09A13AEC145F3B9000B227A4 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@@ -296,6 +308,7 @@
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "DNSCrypt-Menubar/DNSCrypt-Menubar-Prefix.pch";
|
||||
INFOPLIST_FILE = "DNSCrypt-Menubar/DNSCrypt-Menubar-Info.plist";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.8;
|
||||
PRODUCT_NAME = "DNSCrypt Menubar";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
@@ -304,6 +317,8 @@
|
||||
09A13AED145F3B9000B227A4 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@@ -313,6 +328,7 @@
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "DNSCrypt-Menubar/DNSCrypt-Menubar-Prefix.pch";
|
||||
INFOPLIST_FILE = "DNSCrypt-Menubar/DNSCrypt-Menubar-Info.plist";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.8;
|
||||
PRODUCT_NAME = "DNSCrypt Menubar";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#define kDNSCRYPT_CONTROL_DIR kDNSCRYPT_VAR_BASE_DIR @"/control"
|
||||
|
||||
@interface AppDelegate : NSObject <NSApplicationDelegate> {
|
||||
NSWindow *_window;
|
||||
NSWindow *__weak _window;
|
||||
NSMenu *_dnscryptMenu;
|
||||
NSStatusItem *_statusItem;
|
||||
NSMenuItem *_versionMenuItem;
|
||||
@@ -25,7 +25,7 @@ typedef enum {
|
||||
} DNSConfigurationState;
|
||||
|
||||
@property (strong) NSStatusItem *statusItem;
|
||||
@property (assign) NSWindow *window;
|
||||
@property (weak) NSWindow *window;
|
||||
|
||||
@property (strong) IBOutlet NSMenu *dnscryptMenu;
|
||||
@property (strong) IBOutlet NSMenuItem *versionMenuItem;
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
@synthesize versionMenuItem = _versionMenuItem;
|
||||
|
||||
DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
|
||||
BOOL appUpdated = FALSE;
|
||||
|
||||
- (void) setCheckBoxesEnabled: (BOOL) enabled
|
||||
{
|
||||
@@ -28,8 +29,7 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
|
||||
[task launch];
|
||||
data = [[pipe fileHandleForReading] readDataToEndOfFile];
|
||||
[task waitUntilExit];
|
||||
[task release];
|
||||
result = [[[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding] autorelease];
|
||||
result = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
|
||||
if ([result hasSuffix: @"\n"]) {
|
||||
result = [result substringToIndex: result.length - 1];
|
||||
}
|
||||
@@ -79,6 +79,7 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
|
||||
default:
|
||||
led = [NSImage imageNamed: @"icon-no-network"];
|
||||
}
|
||||
[led setTemplate:YES];
|
||||
_statusItem.image = led;
|
||||
}
|
||||
|
||||
@@ -87,6 +88,10 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
|
||||
NSString *stateDescription = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./get-current-resolvers.sh | ./get-resolvers-description.sh", nil]];
|
||||
if ([stateDescription isEqualToString: @"DNSCrypt"]) {
|
||||
currentState = kDNS_CONFIGURATION_LOCALHOST;
|
||||
if (appUpdated == FALSE) {
|
||||
appUpdated = TRUE;
|
||||
[self appUpdate];
|
||||
}
|
||||
} else if ([stateDescription isEqualToString: @"None"]) {
|
||||
currentState = kDNS_CONFIGURATION_UNKNOWN;
|
||||
} else if ([stateDescription isEqualToString: @"Updating"]) {
|
||||
@@ -146,7 +151,6 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
|
||||
- (void) awakeFromNib
|
||||
{
|
||||
_statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
|
||||
[_statusItem retain];
|
||||
_statusItem.highlightMode = TRUE;
|
||||
_statusItem.toolTip = @"DNSCrypt";
|
||||
_statusItem.menu = _dnscryptMenu;
|
||||
@@ -191,6 +195,12 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
- (BOOL) appUpdate {
|
||||
NSString *res = [self fromCommand: @"/bin/csh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && exec ./update-dnscrypt-app.sh", nil]];
|
||||
(void) res;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
- (IBAction)dnscryptMenuItemPushed:(NSMenuItem *)sender
|
||||
{
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.2</string>
|
||||
<string>1.0.9</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0.2</string>
|
||||
<string>1.0.9</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>public.app-category.utilities</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
|
||||
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 416 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 762 B |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 243 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 455 B |
@@ -0,0 +1,267 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="34"
|
||||
height="34"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.2 r9819"
|
||||
sodipodi:docname="icon-dnscrypt.inkscape.svg"
|
||||
inkscape:export-filename="/Users/avh4/workspace/dnscrypt-osxclient/DNSCrypt-Menubar/DNSCrypt-Menubar/icon-dnscrypt-active.png"
|
||||
inkscape:export-xdpi="45"
|
||||
inkscape:export-ydpi="45"
|
||||
style="enable-background:new">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="10.351258"
|
||||
inkscape:cx="17.323754"
|
||||
inkscape:cy="16.37179"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g4162"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1191"
|
||||
inkscape:window-height="822"
|
||||
inkscape:window-x="9"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:snap-object-midpoints="true">
|
||||
<sodipodi:guide
|
||||
orientation="1,0"
|
||||
position="-3.8642648,37.386762"
|
||||
id="guide4115" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer4"
|
||||
inkscape:label="Reference no network"
|
||||
style="display:none"
|
||||
sodipodi:insensitive="true"
|
||||
transform="translate(0,-2)">
|
||||
<image
|
||||
style="display:inline"
|
||||
y="0"
|
||||
x="0"
|
||||
id="image4031"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABHNCSVQICAgIfAhkiAAAANtJREFU OI2d1DFKBDEYxfFfZo2QERSbRVjZo3gKK1sPIHoEGyvBWgStPIAH8DCiN9h+bLIyO86MiQ8CX76Q //fyioSU2n3c4RxrdfrCC24XMcZ7XOOoEgKHOENscJGbb1giFK5lvgOXIaW2y5vTbLVGK3xCHxQq IVt10MwcdhX9SdDOtJG6GNR/5tDFaARzjsYuTOb419OKNQeaCrsKNMxkmFmVoy1krP6lvQJASX/H 0Wpu4oR+fosGm1w/q/tG1njK9Sak1D7g6h9u+npcxBjfcYATHFcCPvCKm291ZyCHBno2ewAAAABJ RU5ErkJggg== "
|
||||
height="36"
|
||||
width="36" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer5"
|
||||
inkscape:label="Reference failed"
|
||||
sodipodi:insensitive="true"
|
||||
style="display:none"
|
||||
transform="translate(0,-2)">
|
||||
<image
|
||||
y="0"
|
||||
x="0"
|
||||
id="image4099"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABHNCSVQICAgIfAhkiAAAARZJREFU OI2V1DFKA0EYBeBvEzewURQRg6DEJp138BRWth5AvICFCIKgWFkpeAZbwUoQrGysFEVR7FIFrCQW DsmyTHazP/zwZub9jzeP2U2yrN3CEbbQVa++cIWDZpqmJ9jDQk0RmMcm0ga2w+Y1Okim7E6YgZ0k y9rDsFgLVuvUKj6hkduMiRziO/Rx5Hw0k3eURIjP6AXcx1KEMyw6itVjDt+VEauEHibg2kL3OXxT RqzKqInXgNcnaAxhpsLRLy4xqOBVOoLlINgvc1SVURfveMJcGbFKqOU/p1boiZXPqIuPwvkLNvAj frXR36JhHOSF8SsuisU+n16YgUGSZe0z7JbZnqJOm2ma3mIWK1isKfCGc+z/AeH3MRrXRYDWAAAA AElFTkSuQmCC "
|
||||
height="36"
|
||||
width="36" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="Reference active"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-1018.3622)"
|
||||
style="display:none"
|
||||
sodipodi:insensitive="true">
|
||||
<image
|
||||
y="1016.3622"
|
||||
x="0"
|
||||
id="image3079"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABHNCSVQICAgIfAhkiAAAAXxJREFU OI2Vk79LXEEUhb/duCv3jD8QG0MKERTBzsbSTnB7BUkVEIRUqVUwELYIFmIlCApWVoKVWCn+B4K1 aCNsICBavAkKMin2PXwOszF74RYz3PvNuYc7FTPVgQ3gC/CJ7uIWOAS+f6jVak1gDRjoEgIwBMwC L1VgOVHwCPwApr3PKsAw0AB+An8S9V8rZgrR5Tmw5H32OyVBcuPADjBXfriagDQ6QQC8z65zdYfl +7Kie2DC++y+EyRSVgcugalY0VYZIjmT3K7kWpK7k9x23lwoe6btIwA9JdBJ9OgmsFI6f6Nt9Gqq pzxab/5KoagFjETwX95nH1Ojxma/G5Ibl9yF5J4kdya5sRg0GfUcJDj7wB7tfeoHjoFdAMwU8lwP IVCkmepmaprpJs9mfvcU1fgQwhtQy0x9ZVgqzRRS53izj7zPFjt4Mwg8dPIuNntBcqeFgd1EFYi/ wzxwJbkNyc38L6hipiaw/k7dIzDKP0br4XXNPwNdj1TEX4ehms1FM7oVAAAAAElFTkSuQmCC "
|
||||
height="36"
|
||||
width="36" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Scratch - Target"
|
||||
style="display:none"
|
||||
transform="translate(0,-2)"
|
||||
sodipodi:insensitive="true">
|
||||
<path
|
||||
style="fill:#1a1a1a;fill-opacity:1;stroke:none;display:inline"
|
||||
d="M 5.6666667,2 C 2.5273333,2 0,4.5273333 0,7.6666667 L 0,30.333333 C 0,33.472667 2.5273333,36 5.6666667,36 L 28.333333,36 C 31.472667,36 34,33.472667 34,30.333333 L 34,7.6666667 C 34,4.5273333 31.472667,2 28.333333,2 L 5.6666667,2 z M 17.029514,5.8958333 c 7.409335,0 13.428819,5.9899707 13.428819,13.3993057 0,7.409335 -6.019484,13.428819 -13.428819,13.428819 -7.4093349,0 -13.3993057,-6.019484 -13.3993057,-13.428819 0,-7.409335 5.9899708,-13.3993057 13.3993057,-13.3993057 z"
|
||||
id="rect3854"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#1a1a1a;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
id="path3082"
|
||||
sodipodi:cx="18.035715"
|
||||
sodipodi:cy="18.321428"
|
||||
sodipodi:rx="5.7142859"
|
||||
sodipodi:ry="5.7142859"
|
||||
d="m 23.750001,18.321428 a 5.7142859,5.7142859 0 1 1 -11.428572,0 5.7142859,5.7142859 0 1 1 11.428572,0 z"
|
||||
transform="matrix(1.0329861,0,0,1.0329861,-1.5969123,0.37782222)" />
|
||||
</g>
|
||||
<g
|
||||
style="display:none"
|
||||
inkscape:label="Scratch - Large Lock"
|
||||
id="g4144"
|
||||
inkscape:groupmode="layer"
|
||||
transform="translate(0,-2)"
|
||||
sodipodi:insensitive="true">
|
||||
<rect
|
||||
y="17.409853"
|
||||
x="7.7394609"
|
||||
height="13.229342"
|
||||
width="18.521078"
|
||||
id="rect4146"
|
||||
style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
inkscape:label="#path3884"
|
||||
sodipodi:nodetypes="csscc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4148"
|
||||
d="m 11.487773,20.507275 0,-6.153827 c 0,-3.044319 2.467909,-5.5122266 5.512226,-5.5122266 3.044319,0 5.512668,2.4679076 5.512668,5.5122266 l 0,5.748148"
|
||||
style="fill:none;stroke:#1a1a1a;stroke-width:2.96083331;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
style="display:none"
|
||||
inkscape:label="No Network"
|
||||
id="g4162"
|
||||
inkscape:groupmode="layer"
|
||||
transform="translate(0,-2)"
|
||||
sodipodi:insensitive="true">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4164"
|
||||
d="M 5.6666667,2 C 2.5273333,2 0,4.5273333 0,7.6666667 L 0,30.333333 C 0,33.472667 2.5273333,36 5.6666667,36 L 28.333333,36 C 31.472667,36 34,33.472667 34,30.333333 L 34,7.6666667 C 34,4.5273333 31.472667,2 28.333333,2 L 5.6666667,2 z M 17.029514,5.8958333 c 7.409335,0 13.428819,5.9899707 13.428819,13.3993057 0,7.409335 -6.019484,13.428819 -13.428819,13.428819 -7.4093349,0 -13.3993057,-6.019484 -13.3993057,-13.428819 0,-7.409335 5.9899708,-13.3993057 13.3993057,-13.3993057 z"
|
||||
style="fill:#808080;fill-opacity:1;stroke:none;display:inline"
|
||||
inkscape:export-filename="/Users/avh4/workspace/dnscrypt-osxclient/DNSCrypt-Menubar/DNSCrypt-Menubar/icon-no-network@2x.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
<path
|
||||
transform="matrix(1.0329861,0,0,1.0329861,-1.5969123,0.37782222)"
|
||||
d="m 23.750001,18.321428 a 5.7142859,5.7142859 0 1 1 -11.428572,0 5.7142859,5.7142859 0 1 1 11.428572,0 z"
|
||||
sodipodi:ry="5.7142859"
|
||||
sodipodi:rx="5.7142859"
|
||||
sodipodi:cy="18.321428"
|
||||
sodipodi:cx="18.035715"
|
||||
id="path4166"
|
||||
style="fill:#808080;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
sodipodi:type="arc"
|
||||
inkscape:export-filename="/Users/avh4/workspace/dnscrypt-osxclient/DNSCrypt-Menubar/DNSCrypt-Menubar/icon-no-network@2x.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer7"
|
||||
inkscape:label="Inactive"
|
||||
style="display:none"
|
||||
transform="translate(0,-2)"
|
||||
sodipodi:insensitive="true">
|
||||
<g
|
||||
style="font-size:30.8449707px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#d40000;fill-opacity:1;stroke:none;font-family:Georgia;-inkscape-font-specification:Georgia Bold"
|
||||
id="text4108"
|
||||
transform="matrix(0.94444444,0,0,0.94444444,0.03393364,2)"
|
||||
inkscape:export-filename="/Users/avh4/workspace/dnscrypt-osxclient/DNSCrypt-Menubar/DNSCrypt-Menubar/g4124.png"
|
||||
inkscape:export-xdpi="45"
|
||||
inkscape:export-ydpi="45">
|
||||
<path
|
||||
d="m 18.843,21.718332 -1.76,0 c -0.27253,-1.907467 -2.121054,-7.471109 -2.049557,-10.033756 0.06071,-2.175835 0.826587,-4.8119882 2.921838,-4.80135 2.15386,0.010936 3.012254,2.384064 2.936899,4.80135 -0.07535,2.417286 -1.739851,8.209756 -2.04918,10.033756 z"
|
||||
style="fill:#d40000;fill-opacity:1"
|
||||
id="path4113"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccsszc" />
|
||||
</g>
|
||||
<g
|
||||
id="g4124"
|
||||
style="font-size:30.8449707px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#d40000;fill-opacity:1;stroke:none;font-family:Georgia;-inkscape-font-specification:Georgia Bold"
|
||||
transform="matrix(0.85003413,0,0,0.85003413,1.7309954,4.4841187)"
|
||||
inkscape:export-xdpi="45"
|
||||
inkscape:export-ydpi="45">
|
||||
<path
|
||||
sodipodi:nodetypes="ccscscccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4126"
|
||||
style="fill:#d40000;fill-opacity:1"
|
||||
d="m 20.86206,26.327004 c -9e-6,0.763093 -0.291188,1.420757 -0.873539,1.972994 -0.572326,0.542196 -1.245051,0.813294 -2.018177,0.813295 -0.783178,-10e-7 -1.465944,-0.271099 -2.048299,-0.813295 -0.572322,-0.552237 -0.858481,-1.209901 -0.858478,-1.972994 -3e-6,-0.763089 0.286156,-1.420753 0.858478,-1.972994 0.582355,-0.562273 1.265121,-0.843412 2.048299,-0.843417 0.773126,5e-6 1.445851,0.281144 2.018177,0.843417 0.582351,0.552241 0.87353,1.209905 0.873539,1.972994" />
|
||||
</g>
|
||||
<rect
|
||||
style="fill:none;stroke:#808080;stroke-width:3.77777767;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
id="rect4105"
|
||||
width="30.222221"
|
||||
height="30.222221"
|
||||
x="1.8888888"
|
||||
y="3.8888888"
|
||||
rx="3.7311382"
|
||||
ry="3.7311382"
|
||||
inkscape:export-filename="/Users/avh4/workspace/dnscrypt-osxclient/DNSCrypt-Menubar/DNSCrypt-Menubar/icon-dnscrypt-inactive.png"
|
||||
inkscape:export-xdpi="45"
|
||||
inkscape:export-ydpi="45" />
|
||||
</g>
|
||||
<g
|
||||
style="display:inline"
|
||||
inkscape:label="Active"
|
||||
id="g3056"
|
||||
inkscape:groupmode="layer"
|
||||
transform="translate(0,-2)"
|
||||
sodipodi:insensitive="true">
|
||||
<path
|
||||
style="fill:#1a1a1a;fill-opacity:1;stroke:none;display:inline"
|
||||
d="M 5.6666667,2 C 2.5273333,2 0,4.5273333 0,7.6666667 L 0,30.333333 C 0,33.472667 2.5273333,36 5.6666667,36 l 13.2222223,0 0,-3.423611 c -0.611523,0.08547 -1.224534,0.147569 -1.859375,0.147569 -7.4093349,0 -13.3993057,-6.019484 -13.3993057,-13.428819 0,-7.409335 5.9899708,-13.3993057 13.3993057,-13.3993057 6.846362,0 12.519739,5.1238497 13.340278,11.7465277 1.779019,0.868614 3.125286,2.504502 3.630208,4.456597 L 34,7.6666667 C 34,4.5273333 31.472667,2 28.333333,2 L 5.6666667,2 z"
|
||||
id="path3058"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
transform="matrix(1.0329861,0,0,1.0329861,-1.5969123,0.37782222)"
|
||||
d="m 23.750001,18.321428 a 5.7142859,5.7142859 0 1 1 -11.428572,0 5.7142859,5.7142859 0 1 1 11.428572,0 z"
|
||||
sodipodi:ry="5.7142859"
|
||||
sodipodi:rx="5.7142859"
|
||||
sodipodi:cy="18.321428"
|
||||
sodipodi:cx="18.035715"
|
||||
id="path3060"
|
||||
style="fill:#1a1a1a;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
sodipodi:type="arc" />
|
||||
<rect
|
||||
style="fill:#1a1a1a;fill-opacity:1;stroke:none;display:inline"
|
||||
id="rect3863"
|
||||
width="13.222222"
|
||||
height="9.4444447"
|
||||
x="20.777779"
|
||||
y="26.555555" />
|
||||
<path
|
||||
style="fill:none;stroke:#1a1a1a;stroke-width:1.57407403;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
d="m 23.453703,28.115447 0,-4.393225 c 0,-2.173342 1.761844,-3.935185 3.935186,-3.935185 2.173343,0 3.9355,1.761843 3.9355,3.935185 l 0,4.103611"
|
||||
id="locktop"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="csscc"
|
||||
inkscape:label="#path3884" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 355 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 663 B |
@@ -1,10 +1,3 @@
|
||||
//
|
||||
// main.m
|
||||
// DNSCrypt-Menubar
|
||||
//
|
||||
// Created by OpenDNS, Inc. on 10/31/11.
|
||||
// Copyright (c) 2011 OpenDNS, Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
|
||||
@@ -447,6 +447,38 @@
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>/usr/local/lib/dnscrypt-proxy/libdcplugin_example.la</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>3</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>/usr/local/lib/dnscrypt-proxy/libdcplugin_example.so</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>3</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
@@ -543,6 +575,38 @@
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>/usr/local/lib/dnscrypt-proxy/libdcplugin_example_ldns_opendns_set_client_ip.la</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>3</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>/usr/local/lib/dnscrypt-proxy/libdcplugin_example_ldns_opendns_set_client_ip.so</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>3</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
@@ -829,7 +893,7 @@
|
||||
<key>USE_HFS+_COMPRESSION</key>
|
||||
<true/>
|
||||
<key>VERSION</key>
|
||||
<string>1.4.0</string>
|
||||
<string>1.5.0.3</string>
|
||||
</dict>
|
||||
<key>UUID</key>
|
||||
<string>7F7D70AB-F7A2-4027-8304-3063C7B9532F</string>
|
||||
@@ -1314,73 +1378,6 @@
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>/usr/local/bin/alarmer</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>3</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>bin</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>2</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>local</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>2</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>usr</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>2</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
@@ -1436,7 +1433,7 @@
|
||||
<key>USE_HFS+_COMPRESSION</key>
|
||||
<true/>
|
||||
<key>VERSION</key>
|
||||
<string>1.0.2</string>
|
||||
<string>1.0.9</string>
|
||||
</dict>
|
||||
<key>TYPE</key>
|
||||
<integer>0</integer>
|
||||
@@ -1929,7 +1926,7 @@
|
||||
<key>USE_HFS+_COMPRESSION</key>
|
||||
<true/>
|
||||
<key>VERSION</key>
|
||||
<string>1.0.2</string>
|
||||
<string>1.0.9</string>
|
||||
</dict>
|
||||
<key>TYPE</key>
|
||||
<integer>0</integer>
|
||||
@@ -2238,7 +2235,7 @@
|
||||
<key>ADVANCED_OPTIONS</key>
|
||||
<dict/>
|
||||
<key>BUILD_FORMAT</key>
|
||||
<integer>1</integer>
|
||||
<integer>0</integer>
|
||||
<key>BUILD_PATH</key>
|
||||
<dict>
|
||||
<key>PATH</key>
|
||||
|
||||
@@ -1,31 +1,27 @@
|
||||
#! /bin/sh
|
||||
|
||||
VERSION='1.0.2'
|
||||
VERSION='1.0.9'
|
||||
|
||||
cd build || exit 1
|
||||
[ -d DNSCrypt.mpkg ] || exit 1
|
||||
[ -e DNSCrypt.pkg ] || exit 1
|
||||
|
||||
(
|
||||
cd DNSCrypt.mpkg/Contents/Packages || exit 1
|
||||
rm -fr DNSCrypt-OSX.pkg DNSCrypt-unsigned.pkg
|
||||
|
||||
productsign --sign 'Developer ID Installer' DNSCrypt.pkg DNSCrypt-OSX.pkg
|
||||
|
||||
mv DNSCrypt.pkg DNSCrypt-unsigned.pkg
|
||||
mv DNSCrypt-OSX.pkg DNSCrypt.pkg
|
||||
|
||||
for pkg in *pkg ; do
|
||||
rm -fr "x-${pkg}"
|
||||
mv "$pkg" "x-${pkg}"
|
||||
productsign --sign 'Developer ID Installer' "x-${pkg}" "$pkg"
|
||||
rm -fr "x-${pkg}"
|
||||
done
|
||||
)
|
||||
rm -fr DNSCrypt-OSX.mpkg DNSCrypt-unsigned.mpkg
|
||||
productsign --sign 'Developer ID Application' DNSCrypt.mpkg DNSCrypt-OSX.mpkg
|
||||
mv DNSCrypt.mpkg DNSCrypt-unsigned.mpkg
|
||||
mv DNSCrypt-OSX.mpkg DNSCrypt.mpkg
|
||||
zip -9 -r "dnscrypt-osxclient-${VERSION}.zip" DNSCrypt.mpkg
|
||||
rm -fr dnscrypt-pkg
|
||||
rm -f "dnscrypt-osxclient-${VERSION}.dmg"
|
||||
mkdir dnscrypt-pkg
|
||||
mv DNSCrypt.mpkg dnscrypt-pkg
|
||||
mv DNSCrypt.pkg dnscrypt-pkg
|
||||
hdiutil create "dnscrypt-osxclient-${VERSION}.dmg" -srcfolder dnscrypt-pkg
|
||||
|
||||
mv dnscrypt-pkg/DNSCrypt.mpkg .
|
||||
mv dnscrypt-pkg/DNSCrypt.pkg .
|
||||
rm -fr dnscrypt-pkg
|
||||
rm -fr DNSCrypt-unsigned.mpkg
|
||||
rm -fr DNSCrypt-unsigned.pkg
|
||||
|
||||
minisign -S -m "dnscrypt-osxclient-${VERSION}.dmg" \
|
||||
-p ../../minisign.pub -s ../../minisign.key \
|
||||
-t "dnscrypt-osxclient-${VERSION}.dmg"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2011-2014 OpenDNS, Inc.
|
||||
* Copyright (c) 2014 AlterStep
|
||||
* Copyright (c) 2014-2015 AlterStep
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
|
||||
@@ -204,7 +204,7 @@
|
||||
0946B0B713F47F52008277C6 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0510;
|
||||
LastUpgradeCheck = 0610;
|
||||
};
|
||||
buildConfigurationList = 0946B0BA13F47F52008277C6 /* Build configuration list for PBXProject "DNSCrypt" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
@@ -347,7 +347,7 @@
|
||||
"$(inherited)",
|
||||
"\"$(SRCROOT)\"",
|
||||
);
|
||||
GCC_ENABLE_OBJC_GC = no;
|
||||
GCC_ENABLE_OBJC_GC = unsupported;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "DNSCrypt/DNSCrypt-Prefix.pch";
|
||||
GCC_VERSION = "";
|
||||
@@ -368,7 +368,7 @@
|
||||
"$(inherited)",
|
||||
"\"$(SRCROOT)\"",
|
||||
);
|
||||
GCC_ENABLE_OBJC_GC = no;
|
||||
GCC_ENABLE_OBJC_GC = unsupported;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "DNSCrypt/DNSCrypt-Prefix.pch";
|
||||
GCC_VERSION = "";
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.2</string>
|
||||
<string>1.0.9</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0.2</string>
|
||||
<string>1.0.9</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>BSD</string>
|
||||
<key>NSMainNibFile</key>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#import <WebKit/WebKit.h>
|
||||
#import "CHCSVParser/CHCSVParser.h"
|
||||
|
||||
#define kDNSCRYPT_PACKAGE_VERSION @"1.0.2"
|
||||
#define kDNSCRYPT_PACKAGE_VERSION @"1.0.8"
|
||||
|
||||
#define kDNSCRYPT_PREFPANE_APP_PATH @"/Library/PreferencePanes/DNSCrypt.prefPane"
|
||||
#define kDNSCRYPT_USR_BASE_DIR kDNSCRYPT_PREFPANE_APP_PATH @"/Contents/Resources/usr"
|
||||
|
||||
@@ -36,3 +36,13 @@
|
||||
still be useful against passive attackers and in order to bypass
|
||||
DNS censorship. Don't enable it unless you are frequently
|
||||
roaming and you don't want to manually disable/enable DNSCrypt.
|
||||
%li
|
||||
Using Little Snitch? There are 4 rules you need to establish,
|
||||
which Little Snitch should prompt for when trying to
|
||||
activate this application:
|
||||
%ol
|
||||
%li Allow any outgoing connection for system processes (dnscrypt-proxy)
|
||||
%li Allow any incoming connection for system process (dnscrypt-proxy)
|
||||
%li Allow any outgoing connection for system processes (dig)
|
||||
%li Allow outgoing TCP connections on port 80( http) of www.apple.com for system process (curl)
|
||||
(Thanks to @cavemandaveman)
|
||||
|
||||
@@ -42,6 +42,18 @@
|
||||
DNS censorship. Don't enable it unless you are frequently
|
||||
roaming and you don't want to manually disable/enable DNSCrypt.
|
||||
</li>
|
||||
<li>
|
||||
Using Little Snitch? There are 4 rules you need to establish,
|
||||
which Little Snitch should prompt for when trying to
|
||||
activate this application:
|
||||
<ol>
|
||||
<li>Allow any outgoing connection for system processes (dnscrypt-proxy)</li>
|
||||
<li>Allow any incoming connection for system process (dnscrypt-proxy)</li>
|
||||
<li>Allow any outgoing connection for system processes (dig)</li>
|
||||
<li>Allow outgoing TCP connections on port 80( http) of www.apple.com for system process (curl)</li>
|
||||
</ol>
|
||||
(Thanks to @cavemandaveman)
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</body>
|
||||
|
||||
@@ -103,4 +103,3 @@
|
||||
domains.
|
||||
%p
|
||||
Use actual apps, or even a command like ping(8).
|
||||
|
||||
|
||||
@@ -21,6 +21,63 @@
|
||||
%body
|
||||
%h1 Release Notes for DNSCrypt-OSXclient by AlterStep
|
||||
|
||||
%article
|
||||
%h2 Version 1.0.9 by AlterStep
|
||||
%time Tue, 12 Jul 2015
|
||||
%p
|
||||
Fixed an issue with libsodium not being found by minisign-verify
|
||||
|
||||
%article
|
||||
%h2 Version 1.0.8 by AlterStep
|
||||
%time Tue, 12 Jul 2015
|
||||
%p
|
||||
New versions are automatically downloaded
|
||||
|
||||
%article
|
||||
%h2 Version 1.0.7 by AlterStep
|
||||
%time Tue, 1 Jul 2015
|
||||
%p
|
||||
Fixed a bug in the automatic updater for the resolvers list
|
||||
|
||||
%article
|
||||
%h2 Version 1.0.6 by AlterStep
|
||||
%time Tue, 10 Jun 2015
|
||||
%p
|
||||
Updated DNSCrypt proxy to version 1.5.0
|
||||
%p
|
||||
Updated libsodium to 1.0.3-minimal
|
||||
%p
|
||||
The list of available resolvers is automatically updated
|
||||
%p
|
||||
Improved privacy: ephemeral keys have been turned on
|
||||
%p
|
||||
Improved privacy: if no resolvers have been configured, a new one
|
||||
is randomly chosen after each reboot
|
||||
|
||||
%article
|
||||
%h2 Version 1.0.5 by AlterStep
|
||||
%time Tue, 06 Jan 2015
|
||||
%p
|
||||
Updated DNSCrypt proxy to version 1.4.3
|
||||
%p
|
||||
Updated libsodium to 1.0.1-minimal
|
||||
|
||||
%article
|
||||
%h2 Version 1.0.4 by AlterStep
|
||||
%time Thu, 19 Sep 2014
|
||||
%p
|
||||
Updated DNSCrypt proxy to version 1.4.1
|
||||
%p
|
||||
Updated libsodium to 0.7.0-minimal
|
||||
|
||||
%article
|
||||
%h2 Version 1.0.3 by AlterStep
|
||||
%time Thu, 18 Jun 2014
|
||||
%p
|
||||
Runs on OSX 10.8 (Mountain Lion), 10.9 (Mavericks) and 10.10 (Yosemite)
|
||||
%p
|
||||
New set of icons, contributed by Aaron VonderHaar
|
||||
|
||||
%article
|
||||
%h2 Version 1.0.2 by AlterStep
|
||||
%time Thu, 05 Jun 2014
|
||||
|
||||
@@ -25,6 +25,77 @@
|
||||
</head>
|
||||
<body>
|
||||
<h1>Release Notes for DNSCrypt-OSXclient by AlterStep</h1>
|
||||
<article>
|
||||
<h2>Version 1.0.9 by AlterStep</h2>
|
||||
<time>Tue, 12 Jul 2015</time>
|
||||
<p>
|
||||
Fixed an issue with libsodium not being found by minisign-verify
|
||||
</p>
|
||||
</article>
|
||||
<article>
|
||||
<h2>Version 1.0.8 by AlterStep</h2>
|
||||
<time>Tue, 12 Jul 2015</time>
|
||||
<p>
|
||||
New versions are automatically downloaded
|
||||
</p>
|
||||
</article>
|
||||
<article>
|
||||
<h2>Version 1.0.7 by AlterStep</h2>
|
||||
<time>Tue, 1 Jul 2015</time>
|
||||
<p>
|
||||
Fixed a bug in the automatic updater for the resolvers list
|
||||
</p>
|
||||
</article>
|
||||
<article>
|
||||
<h2>Version 1.0.6 by AlterStep</h2>
|
||||
<time>Tue, 10 Jun 2015</time>
|
||||
<p>
|
||||
Updated DNSCrypt proxy to version 1.5.0
|
||||
</p>
|
||||
<p>
|
||||
Updated libsodium to 1.0.3-minimal
|
||||
</p>
|
||||
<p>
|
||||
The list of available resolvers is automatically updated
|
||||
</p>
|
||||
<p>
|
||||
Improved privacy: ephemeral keys have been turned on
|
||||
</p>
|
||||
<p>
|
||||
Improved privacy: if no resolvers have been configured, a new one
|
||||
is randomly chosen after each reboot
|
||||
</p>
|
||||
</article>
|
||||
<article>
|
||||
<h2>Version 1.0.5 by AlterStep</h2>
|
||||
<time>Tue, 06 Jan 2015</time>
|
||||
<p>
|
||||
Updated DNSCrypt proxy to version 1.4.3
|
||||
</p>
|
||||
<p>
|
||||
Updated libsodium to 1.0.1-minimal
|
||||
</p>
|
||||
</article>
|
||||
<article>
|
||||
<h2>Version 1.0.4 by AlterStep</h2>
|
||||
<time>Thu, 19 Sep 2014</time>
|
||||
<p>
|
||||
Updated DNSCrypt proxy to version 1.4.1
|
||||
</p>
|
||||
<p>
|
||||
Updated libsodium to 0.7.0-minimal
|
||||
</p>
|
||||
</article>
|
||||
<article>
|
||||
<h2>Version 1.0.3 by AlterStep</h2>
|
||||
<time>Thu, 18 Jun 2014</time>
|
||||
<p>
|
||||
Runs on OSX 10.8 (Mountain Lion), 10.9 (Mavericks) and 10.10 (Yosemite)
|
||||
</p>
|
||||
<p>
|
||||
New set of icons, contributed by Aaron VonderHaar
|
||||
</p>
|
||||
</article>
|
||||
<article>
|
||||
<h2>Version 1.0.2 by AlterStep</h2>
|
||||
<time>Thu, 05 Jun 2014</time>
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
/usr/local/bin/alarmer
|
||||
@@ -1 +0,0 @@
|
||||
libsodium.10.dylib
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
rm -f "$QUERY_LOG_FILE"
|
||||
rm -f "$DEBUG_LOG_FILE"
|
||||
find -x "$RESOLVERS_LIST_STATE" -type f -mtime +1 -exec rm -f {} \; 2>/dev/null
|
||||
find -x "$APP_UPDATES_STATE" -type f -mtime +1 -exec rm -f {} \; 2>/dev/null
|
||||
|
||||
./clear-fw.sh
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ try_resolution() {
|
||||
}
|
||||
|
||||
try_http_query() {
|
||||
exec alarmer 5 curl -L --max-redirs 5 -4 -m 5 \
|
||||
exec alarmer 5 curl -L --max-redirs 5 -4 -m 5 --connect-timeout 5 -s \
|
||||
http://www.apple.com 2>/dev/null | \
|
||||
fgrep -c Apple > /dev/null 2>&1
|
||||
}
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
|
||||
CURRENT_VERSION=2
|
||||
|
||||
DNSCRYPT_USR_BASE_DIR='/Library/PreferencePanes/DNSCrypt.prefPane/Contents/Resources/usr'
|
||||
DNSCRYPT_VAR_BASE_DIR='/Library/Application Support/DNSCrypt'
|
||||
DNSCRYPT_LOG_BASE_DIR='/var/log'
|
||||
@@ -35,7 +38,15 @@ BLACKLIST_DOMAINS_TMP_FILE="${BLACKLIST_DOMAINS_FILE}.tmp"
|
||||
EXCEPTIONS_FILE="${CONTROL_DIR}/exceptions"
|
||||
EXCEPTIONS_TMP_FILE="${EXCEPTIONS_FILE}.tmp"
|
||||
|
||||
DEFAULT_RESOLVER_NAME='opendns'
|
||||
APP_UPDATES_BASE_URL="http://updates.dnscrypt.org/updates/dnscrypt-osx-client"
|
||||
APP_UPDATES_DIR="${DNSCRYPT_VAR_BASE_DIR}/updates"
|
||||
APP_UPDATES_PUBLIC_KEY="RWRvw8aArS/yEI3In0/zQSb9+qfWonLxjjEYG17cXt6zct6GLKtEvUfk"
|
||||
APP_UPDATES_STATE="${APP_UPDATES_DIR}/app-updated"
|
||||
|
||||
RESOLVERS_UPDATES_BASE_URL="http://updates.dnscrypt.org/dnscrypt-proxy"
|
||||
RESOLVERS_LIST_BASE_DIR="/usr/local/share/dnscrypt-proxy"
|
||||
RESOLVERS_LIST_PUBLIC_KEY="RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"
|
||||
RESOLVERS_LIST_STATE="${STATES_DIR}/resolvers-updated"
|
||||
|
||||
INTERFACE_UNBOUND="127.0.0.53"
|
||||
INTERFACE_UNBOUND_MASK="24"
|
||||
@@ -45,7 +56,7 @@ INTERFACE_PROBES="127.0.0.55"
|
||||
INTERFACE_PROBES_MASK="24"
|
||||
|
||||
DOMAINS_EXCEPTIONS='
|
||||
freebox.fr fritz.box intranet lan localdomain nowtv.com private routerlogin.net l
|
||||
belkin corp domain example home host invalid lan local localdomain test freebox.fr fritz.box nowtv.com routerlogin.net l
|
||||
'
|
||||
|
||||
DISABLE_IPV6='no'
|
||||
|
||||
@@ -4,5 +4,5 @@
|
||||
|
||||
[ -r "$DNSCRYPT_RESOLVER_NAME_FILE" ] && \
|
||||
sed 's/[^a-zA-Z0-9.-]/_/g' < "$DNSCRYPT_RESOLVER_NAME_FILE" && exit 0
|
||||
echo "$DEFAULT_RESOLVER_NAME"
|
||||
exit 0
|
||||
|
||||
exec ./get-random-resolver.sh
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#! /bin/sh
|
||||
|
||||
. ./common.inc
|
||||
|
||||
(read header; fgrep -v :: | cut -d, -f1 | egrep -v '^\s*$') \
|
||||
< "${RESOLVERS_LIST_BASE_DIR}/dnscrypt-resolvers.csv" | \
|
||||
perl -MList::Util=shuffle -e 'print shuffle(<STDIN>);' | \
|
||||
head -n1
|
||||
@@ -15,6 +15,9 @@ fi
|
||||
mkdir -m 755 -p "$TICKETS_DIR" || exit 1
|
||||
chown -R "${wanted_uid}:0" "$TICKETS_DIR"
|
||||
|
||||
mkdir -m 755 -p "$APP_UPDATES_DIR" || exit 1
|
||||
chown -R "${wanted_uid}:0" "$APP_UPDATES_DIR"
|
||||
|
||||
eval $(stat -s "$CONTROL_DIR") || exit 1
|
||||
if [ $? != 0 ]; then
|
||||
mkdir -m 755 -p "$CONTROL_DIR" || exit 1
|
||||
|
||||
@@ -118,7 +118,7 @@ best_args=$(cat "${RES_DIR}/${best_file}")
|
||||
|
||||
logger_debug "Starting dnscrypt-proxy $best_args"
|
||||
eval dnscrypt-proxy $best_args --local-address="$INTERFACE_PROXY" \
|
||||
--resolver-name="$RESOLVER_NAME" \
|
||||
--resolver-name="$RESOLVER_NAME" --ephemeral-keys \
|
||||
--pidfile="$PROXY_PID_FILE" --user=daemon --daemonize $plugin_args
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
@@ -156,3 +156,7 @@ logger_debug "Current configuration doesn't seem to hijack all DNS queries"
|
||||
|
||||
mv "${DESCRIPTIONS_DIR}/${best_file}" \
|
||||
"${STATES_DIR}/dnscrypt-proxy-description" 2>/dev/null || exit 0
|
||||
|
||||
[ -e "$RESOLVERS_LIST_STATE" ] && exit 0
|
||||
touch "$RESOLVERS_LIST_STATE"
|
||||
exec ./update-resolvers-list.sh
|
||||
|
||||
@@ -8,7 +8,7 @@ if [ ! -s "$BLACKLIST_DOMAINS_TMP_FILE" ]; then
|
||||
fi
|
||||
|
||||
tr -s '[:blank:]' '\n' < "$BLACKLIST_DOMAINS_TMP_FILE" | \
|
||||
egrep -vi '^(apple[.]com|resolver1[.]opendns[.]com)$' > \
|
||||
egrep -vi '^(apple[.]com)$' > \
|
||||
"${BLACKLIST_DOMAINS_TMP_FILE}~" &&
|
||||
mv "${BLACKLIST_DOMAINS_TMP_FILE}~" "$BLACKLIST_DOMAINS_FILE"
|
||||
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
#! /bin/sh
|
||||
|
||||
. ./common.inc
|
||||
|
||||
DNSCRYPT_LIB_BASE_DIR="${DNSCRYPT_USR_BASE_DIR}/lib"
|
||||
export DYLD_LIBRARY_PATH="${DNSCRYPT_LIB_BASE_DIR}:${DYLD_LIBRARY_PATH}"
|
||||
|
||||
TARGET_DIR=~/Desktop
|
||||
|
||||
[ -e "$APP_UPDATES_STATE" ] && exit 0
|
||||
touch "$APP_UPDATES_STATE" || exit 1
|
||||
|
||||
[ -d "$TARGET_DIR" ] || exit 1
|
||||
mkdir -p "$APP_UPDATES_DIR" || exit 1
|
||||
|
||||
curl -L --max-redirs 5 -4 -m 30 --connect-timeout 30 -s \
|
||||
"${APP_UPDATES_BASE_URL}/versions.txt" > "${APP_UPDATES_DIR}/versions.txt" || exit 1
|
||||
|
||||
CURRENT_HASH=$(shasum -a 512 "${APP_UPDATES_DIR}/versions.txt")
|
||||
OLD_HASH=$(cat "${APP_UPDATES_DIR}/versions_hash" 2> /dev/null)
|
||||
[ "x$CURRENT_HASH" = "x$OLD_HASH" ] && exit 0
|
||||
|
||||
curl -L --max-redirs 5 -4 -m 30 --connect-timeout 30 -s \
|
||||
"${APP_UPDATES_BASE_URL}/versions.txt.minisig" > "${APP_UPDATES_DIR}/versions.txt.minisig" || exit 1
|
||||
|
||||
minisign-verify -q -V -P "$APP_UPDATES_PUBLIC_KEY" -m "${APP_UPDATES_DIR}/versions.txt" || exit 1
|
||||
rm -f "${APP_UPDATES_DIR}/versions.txt.minisig"
|
||||
|
||||
OS_VERSION=$(sw_vers -productVersion | sed 's/[^0-9.]$//' | cut -d. -f1-2) || exit 0
|
||||
AVAILABLE=$(egrep "^${OS_VERSION} " "${APP_UPDATES_DIR}/versions.txt") || exit 0
|
||||
rm -f "${APP_UPDATES_DIR}/versions.txt"
|
||||
AVAILABLE_VERSION=$(echo "$AVAILABLE" | cut -d' ' -f2 | sed 's/[^0-9]//g')
|
||||
DOWNLOAD_URL=$(echo "$AVAILABLE" | cut -d' ' -f3 | sed 's/ //g')
|
||||
DOWNLOADED_FILE="${TARGET_DIR}/dnscrypt-update-${AVAILABLE_VERSION}.dmg"
|
||||
[ -f "$DOWNLOADED_FILE" ] && exit 0
|
||||
[ -z "$AVAILABLE_VERSION" -o -z "$DOWNLOAD_URL" ] && exit 1
|
||||
[ "$AVAILABLE_VERSION" -gt "$CURRENT_VERSION" ] || exit 0
|
||||
SIG_DOWNLOAD_URL="${DOWNLOAD_URL}.minisig"
|
||||
|
||||
curl -L --max-redirs 5 -4 -m 30 --connect-timeout 30 -s \
|
||||
"$SIG_DOWNLOAD_URL" > "${APP_UPDATES_DIR}/update.tmp.minisig" || exit 1
|
||||
|
||||
curl -L --max-redirs 5 -4 -m 300 --connect-timeout 30 -s --compress \
|
||||
"$DOWNLOAD_URL" > "${APP_UPDATES_DIR}/update.tmp" || exit 1
|
||||
|
||||
minisign-verify -q -V -P "$APP_UPDATES_PUBLIC_KEY" -m "${APP_UPDATES_DIR}/update.tmp" || exit 1
|
||||
rm -f "${APP_UPDATES_DIR}/update.tmp.minisig"
|
||||
|
||||
mv -f "${APP_UPDATES_DIR}/update.tmp" "$DOWNLOADED_FILE" || exit 1
|
||||
echo "$CURRENT_HASH" > "${APP_UPDATES_DIR}/versions_hash"
|
||||
|
||||
osascript -e "display notification \"A new version of DNSCrypt has been downloaded and saved on your desktop. Install it whenever you want!\" with title \"A new version of DNSCrypt is available!\" sound name \"Hero\""
|
||||
@@ -0,0 +1,22 @@
|
||||
#! /bin/sh
|
||||
|
||||
. ./common.inc
|
||||
|
||||
DNSCRYPT_LIB_BASE_DIR="${DNSCRYPT_USR_BASE_DIR}/lib"
|
||||
export DYLD_LIBRARY_PATH="${DNSCRYPT_LIB_BASE_DIR}:${DYLD_LIBRARY_PATH}"
|
||||
|
||||
logger_debug "Checking if updates to the resolvers list are available"
|
||||
|
||||
curl -L --max-redirs 5 -4 -m 30 --connect-timeout 30 -s \
|
||||
"${RESOLVERS_UPDATES_BASE_URL}/dnscrypt-resolvers.csv" > \
|
||||
"${RESOLVERS_LIST_BASE_DIR}/dnscrypt-resolvers.csv.tmp" &&
|
||||
curl -L --max-redirs 5 -4 -m 30 --connect-timeout 30 -s \
|
||||
"${RESOLVERS_UPDATES_BASE_URL}/dnscrypt-resolvers.csv.minisig" > \
|
||||
"${RESOLVERS_LIST_BASE_DIR}/dnscrypt-resolvers.csv.minisig" &&
|
||||
minisign-verify -Vm ${RESOLVERS_LIST_BASE_DIR}/dnscrypt-resolvers.csv.tmp \
|
||||
-x "${RESOLVERS_LIST_BASE_DIR}/dnscrypt-resolvers.csv.minisig" \
|
||||
-P "$RESOLVERS_LIST_PUBLIC_KEY" -q &&
|
||||
mv -f ${RESOLVERS_LIST_BASE_DIR}/dnscrypt-resolvers.csv.tmp \
|
||||
${RESOLVERS_LIST_BASE_DIR}/dnscrypt-resolvers.csv
|
||||
|
||||
logger_debug "Resolvers list is up to date"
|
||||
@@ -1,17 +1,26 @@
|
||||
OSX client for managing the DNSCrypt Proxy
|
||||
==========================================
|
||||
|
||||
The purpose of this application is to allow the user to have a better
|
||||
experience controlling the DNSCrypt Proxy on OSX.
|
||||
The purpose of this application is to allow the user to have a better experience controlling the DNSCrypt Proxy on OSX.
|
||||
|
||||
[Download dnscrypt-osxclient-1.0.1.zip](https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.1/dnscrypt-osxclient-1.0.1.zip)
|
||||
for OSX 10.8 (Mountain Lion) and OSX 10.9 (Mavericks).
|
||||
[Download dnscrypt-osxclient-1.0.9.dmg](https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.9/dnscrypt-osxclient-1.0.9.dmg)
|
||||
for OSX 10.8 (Mountain Lion), OSX 10.9 (Mavericks), OSX 10.10 (Yosemite) and OSX 10.11 (El Capitan).
|
||||
|
||||
Compatible with:
|
||||
* Adamas
|
||||
* Cisco (OpenDNS)
|
||||
* CloudNS
|
||||
* d0wn
|
||||
* Cypherpunk.lu
|
||||
* DNSCrypt.eu
|
||||
* okTurtles
|
||||
* OpenDNS
|
||||
* DNSCrypt.org
|
||||
* OVPN
|
||||
* OpenNIC
|
||||
* Proxy.sh
|
||||
* Soltysiak
|
||||
* d0wn
|
||||
* iPredator
|
||||
* okTurtles
|
||||
|
||||
Packages are signed with [Minisign](https://jedisct1.github.io/minisign/) and can be verified with:
|
||||
|
||||
minisign -V -P RWRvw8aArS/yEI3In0/zQSb9+qfWonLxjjEYG17cXt6zct6GLKtEvUfk -m dnscrypt-osxclient-*.dmg
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
My PGP public key, to verify the releases:
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1
|
||||
|
||||
mQENBFV3cvYBCACmUwWPeGbnzEsBzdsq+15a9td4RjuJsUEAxhCkXAp36Hn0lVJB
|
||||
Bz1Mcjqoo3Im6S/ec6EEQQrLuZBvuL4LnSWaIa+6HfPQiEr3mD/kyKp371jvrKkl
|
||||
lIRqa4fZWKoasRhLBqo4lTUsrR3wblbmnFRjTNMBB3ltfi8VMmr//KEHJx8hkgpQ
|
||||
udJoBF5fZ8RQZsFjbqxncE2/pwYmOE+rO7hEkULx6KnkxqUkpxjnPkAmf+7G3bpS
|
||||
K+l4ZIakOFwRELvqU9pX6T4mx5/GpMv5F+gJGjRHOMUeSQLhzLTKihBpHa1OnMGC
|
||||
zD0fB24Msn+0g2rsReccuFo9qLkCc3IvaGAHABEBAAG0CkFsdGVyIFN0ZXCJATgE
|
||||
EwECACIFAlV3cvYCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEGm4VoCb
|
||||
8nqtAEEH/A31A04X51I6gEiEsd1Il310GWF/SD1r9G2B64zAenlfQo8yY1qeCRZi
|
||||
Sh5TGVpXmnv4IK+BbuAZLxr5X8fs5UtX+otrgGbiS9cJSsIhffHyeCiRZyNgcPuQ
|
||||
ZCRLjNx9zt3as/TZUBKEudzOiCRvTFGm7mZHgmV1NTY62qy/lDl+fNWK9nBea0/W
|
||||
Tvv3rDNyL6ic4aoEeYBbFsHzdcEFpVtLEeOpB2n8z8aA/7yvXKSQNf5nkFwytPmd
|
||||
5gIMons58jwDjiWpkTxhzHYpwegMkqkEpizA82lHNt2q/IeLxNFeIkUIOPTsij7K
|
||||
RitethBvVU5bhRCgur6V/6qy8kJX92G5AQ0EVXdy9gEIAL4qJzGDAl28z50vob6D
|
||||
h2Ime9nIZohm0Fw4jk/bae2LQPnv/VMcCjleJ0VOZfjs3X4FYzv5gCKMz+Jcn1Q2
|
||||
6kOqct/AO8XWBXXrlAd3z6Kf19IkrWtjeG9G2nN047R0l1xLj9+VAWhTK29aDkt8
|
||||
oLUMZBkQXmYcK+caQfrc2KR1Ok0JQ4qGa4hRqnnTTODZJ56iHIx0c68BWl0DlU69
|
||||
t4E+7KreiPxH43dx6mmC3DXfZcOMJnKXJelf2gCQfO0j1wHLen+7uT4/YY1jMKec
|
||||
jhDgTTFJR26iMw+XdoWjJWThBwlZ+0CqoHDEYBEs3dSgtipaMNS69NR7bzUzrPUl
|
||||
1vMAEQEAAYkBHwQYAQIACQUCVXdy9gIbDAAKCRBpuFaAm/J6raWYB/9YalFKgnnu
|
||||
a3r3tcGkPnYgGDf8s1upG5kgcaROXmhuWq6CCsk3WyvGRGLnafMXi6mE+rBDKgij
|
||||
GSJ+C+kgvXgGU1QRl9XL0hJLT9O0QrHt6TAfqJsDY1kHR0M8WaYj0RTr+3OAyJhg
|
||||
kM1oEvabhrCbPNVxznCAMmT9z5U1i1NYqacjAQfnR8nHr3C6oHnj/gaQQOTO3xJg
|
||||
rBMymDhBVoWMkoaoXYNqJNpgCuAAhmmUM1AtMA+RkWeSIzCUD+1GhO5VQyjtsdHZ
|
||||
aC08CMLzjpG+VI+LgaU2pHUwwCLNEiA701AwSg4RMRj2ARjKWtOh6tqIN1UgTp1N
|
||||
tg4DrEN2CFSW
|
||||
=TN6d
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
@@ -0,0 +1,2 @@
|
||||
untrusted comment: alterstep minisign public key 10F22FAD80C6C36F
|
||||
RWRvw8aArS/yEI3In0/zQSb9+qfWonLxjjEYG17cXt6zct6GLKtEvUfk
|
||||
@@ -0,0 +1,4 @@
|
||||
10.8 1 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.8/dnscrypt-osxclient-1.0.8.dmg
|
||||
10.9 1 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.8/dnscrypt-osxclient-1.0.8.dmg
|
||||
10.10 1 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.8/dnscrypt-osxclient-1.0.8.dmg
|
||||
10.11 1 https://github.com/alterstep/dnscrypt-osxclient/releases/download/1.0.8/dnscrypt-osxclient-1.0.8.dmg
|
||||
@@ -0,0 +1,4 @@
|
||||
untrusted comment: signature from minisign secret key
|
||||
RWRvw8aArS/yEHYsWWF0s6ueXO4F4Xql7W4QD0TOfRs8ZBSPtjxSgrMPis0k46GPhVkaAFzbWx1jEXCNLgDNlnehWwFEjhD/DQc=
|
||||
trusted comment: timestamp: 1436633664 file: versions.txt
|
||||
O4OxZpRmxNPlsVSeuVO2SpdmzTwnMpvPV9dMMr1W5FtusQ+WZtXVupBYRu15NZ1VsKbY0b4k0Qb1Jjb7loWsAw==
|
||||