Skip to content

Commit ab78dfc

Browse files
committed
Version 0.2.5
- Added update check, fixes #6 - Updated README
1 parent 83248c9 commit ab78dfc

20 files changed

Lines changed: 892 additions & 22 deletions

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Missing features:
1616

1717
### Installation
1818

19-
To install Simple DNSCrypt use the [latest MSI package](https://github.com/bitbeans/SimpleDnsCrypt/releases/download/0.2.4/SimpleDNSCrypt.msi).
19+
To install Simple DNSCrypt use the [latest MSI package](https://github.com/bitbeans/SimpleDnsCrypt/releases/download/0.2.5/SimpleDNSCrypt.msi).
2020
You don`t need to download the dnscrypt-resolvers.csv or the dnscrypt-proxy package at all.
2121
Both are included in the msi package, the dnscrypt-resolvers.csv can be updated from inside the software (and will be verified with minisign).
2222

@@ -25,13 +25,16 @@ The MSI package and the SimpleDnsCrypt.exe are signed via a *COMODO RSA Code Sig
2525
The files are signed under the name: *EAM Experience Area Münsingen GmbH*
2626

2727
You also can verify the MSI package with [minisign](https://jedisct1.github.io/minisign/).
28-
The minisign [signature](https://github.com/bitbeans/SimpleDnsCrypt/releases/download/0.2.4/SimpleDNSCrypt.msi.minisig) can be verified with the following command:
28+
The minisign [signature](https://github.com/bitbeans/SimpleDnsCrypt/releases/download/0.2.5/SimpleDNSCrypt.msi.minisig) can be verified with the following command:
2929

3030
minisign -Vm SimpleDNSCrypt.msi -P RWTSM+4BNNvkZPNkHgE88ETlhWa+0HDzU5CN8TvbyvmhVUcr6aQXfssV
3131

3232
#### Uninstall
3333
To uninstall Simple DNSCrypt and dnscrypt-proxy, just go to the windows Control Panel (Programs and Features) and search for Simple DNSCrypt.
3434

35+
#### Updates
36+
Simple DNSCrypt will automatically check for new versions on startup.
37+
3538

3639
### Overview
3740

@@ -99,6 +102,7 @@ If you don`t like this software, there are two similar projects:
99102
- Caliburn Micro [doc](http://caliburnmicro.com/) [:octocat:](https://github.com/Caliburn-Micro/Caliburn.Micro/)
100103
- MahApps Metro [doc](http://mahapps.com/) [:octocat:](https://github.com/MahApps/MahApps.Metro)
101104
- minisign-net [:octocat:](https://github.com/bitbeans/minisign-net)
105+
- YamlDotNet [:octocat:](https://github.com/aaubry/YamlDotNet)
102106

103107
### Special Thanks
104108

SimpleDnsCrypt.sln

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
99
ProjectSection(SolutionItems) = preProject
1010
LICENSE.md = LICENSE.md
1111
README.md = README.md
12+
update.yml = update.yml
1213
EndProjectSection
1314
EndProject
1415
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Uninstall", "Uninstall\Uninstall.csproj", "{70BFF12B-996D-43F0-8529-CF8711699ACB}"

SimpleDnsCrypt/Config/Global.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ public static class Global
1010
/// </summary>
1111
public const string ApplicationName = "Simple DNSCrypt";
1212

13+
/// <summary>
14+
/// Remote URI where the application will find the update informations.
15+
/// </summary>
16+
public const string ApplicationUpdateUri = "https://raw.githubusercontent.com/bitbeans/SimpleDnsCrypt/master/update.yml";
17+
1318
/// <summary>
1419
/// URL to the dnscrypt-resolvers.csv (hosted on github).
1520
/// </summary>
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
using System;
2+
3+
namespace SimpleDnsCrypt.Models
4+
{
5+
/// <summary>
6+
/// Outer remote update class.
7+
/// </summary>
8+
public class RemoteUpdate
9+
{
10+
/// <summary>
11+
/// Indicates if the requested update can be done.
12+
/// </summary>
13+
public bool CanUpdate { get; set; }
14+
15+
/// <summary>
16+
/// The update data.
17+
/// </summary>
18+
public Update Update { get; set; }
19+
}
20+
21+
/// <summary>
22+
/// Update types.
23+
/// </summary>
24+
public enum UpdateType
25+
{
26+
/// <summary>
27+
/// A regular update.
28+
/// </summary>
29+
Standard = 0,
30+
31+
/// <summary>
32+
/// A critical update, which should be done as soon as possible.
33+
/// </summary>
34+
Critical = 1
35+
}
36+
37+
/// <summary>
38+
/// The update data.
39+
/// </summary>
40+
public class Update
41+
{
42+
/// <summary>
43+
/// The available version.
44+
/// </summary>
45+
public Version Version { get; set; }
46+
47+
/// <summary>
48+
/// The update type.
49+
/// </summary>
50+
public UpdateType Type { get; set; }
51+
52+
/// <summary>
53+
/// The date of this release.
54+
/// </summary>
55+
public DateTime Release { get; set; }
56+
57+
/// <summary>
58+
/// The minisign public key to validate the installer.
59+
/// </summary>
60+
public string Publickey { get; set; }
61+
62+
/// <summary>
63+
/// The installer object.
64+
/// </summary>
65+
public Installer Installer { get; set; }
66+
67+
/// <summary>
68+
/// The signature object.
69+
/// </summary>
70+
public Signature Signature { get; set; }
71+
}
72+
73+
/// <summary>
74+
/// The installer information.
75+
/// </summary>
76+
public class Installer
77+
{
78+
/// <summary>
79+
/// Name of the installer file.
80+
/// </summary>
81+
public string Name { get; set; }
82+
83+
/// <summary>
84+
/// Uri to download the installer file.
85+
/// </summary>
86+
public Uri Uri { get; set; }
87+
}
88+
89+
/// <summary>
90+
/// The signature information.
91+
/// </summary>
92+
public class Signature
93+
{
94+
/// <summary>
95+
/// Uri to download the signature.
96+
/// </summary>
97+
public Uri Uri { get; set; }
98+
}
99+
}

SimpleDnsCrypt/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@
1414
ResourceDictionaryLocation.None,
1515
ResourceDictionaryLocation.SourceAssembly
1616
)]
17-
[assembly: AssemblyVersion("0.2.4")]
18-
[assembly: AssemblyFileVersion("0.2.4")]
17+
[assembly: AssemblyVersion("0.2.5")]
18+
[assembly: AssemblyFileVersion("0.2.5")]

SimpleDnsCrypt/Resources/Strings.Designer.cs

Lines changed: 108 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SimpleDnsCrypt/Resources/Strings.de.resx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,4 +265,40 @@
265265
<data name="dialog_plugins_save_button_tooltip" xml:space="preserve">
266266
<value>OK</value>
267267
</data>
268+
<data name="window_update_title" xml:space="preserve">
269+
<value>Bitte warten</value>
270+
</data>
271+
<data name="dialog_message_update_standard_title" xml:space="preserve">
272+
<value>Anwendungsaktualisierung</value>
273+
</data>
274+
<data name="dialog_message_update_standard_text" xml:space="preserve">
275+
<value>Es ist eine neue Simple DNSCrypt Version ({0}) verfügbar. Möchten Sie die Aktualisierung jetzt durchführen?</value>
276+
</data>
277+
<data name="no" xml:space="preserve">
278+
<value>Nein</value>
279+
</data>
280+
<data name="yes" xml:space="preserve">
281+
<value>Ja</value>
282+
</data>
283+
<data name="cancel" xml:space="preserve">
284+
<value>Abbrechen</value>
285+
</data>
286+
<data name="ok" xml:space="preserve">
287+
<value>Ok</value>
288+
</data>
289+
<data name="dialog_update_title" xml:space="preserve">
290+
<value>Downloads</value>
291+
</data>
292+
<data name="dialog_update_signature" xml:space="preserve">
293+
<value>Signatur</value>
294+
</data>
295+
<data name="dialog_update_installer" xml:space="preserve">
296+
<value>Installer</value>
297+
</data>
298+
<data name="dialog_message_update_critical_title" xml:space="preserve">
299+
<value>Kritische Anwendungsaktualisierung</value>
300+
</data>
301+
<data name="dialog_message_update_critical_text" xml:space="preserve">
302+
<value>Es ist eine neue Simple DNSCrypt Version ({0}) verfügbar. Die Aktualisierung ist als kritisch markiert, Sie sollten diese Aktualisierung jetzt durchführen! Möchten Sie die Aktualisierung jetzt durchführen?</value>
303+
</data>
268304
</root>

SimpleDnsCrypt/Resources/Strings.en.resx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,4 +266,40 @@ The logs are stored in a local file.</value>
266266
<data name="dialog_plugins_save_button_tooltip" xml:space="preserve">
267267
<value>OK</value>
268268
</data>
269+
<data name="dialog_message_update_standard_text" xml:space="preserve">
270+
<value>There is a new Simple DNSCrypt version ({0}) available. Do you want to update now?</value>
271+
</data>
272+
<data name="dialog_message_update_standard_title" xml:space="preserve">
273+
<value>Application Update</value>
274+
</data>
275+
<data name="window_update_title" xml:space="preserve">
276+
<value>Stay tuned</value>
277+
</data>
278+
<data name="yes" xml:space="preserve">
279+
<value>yes</value>
280+
</data>
281+
<data name="no" xml:space="preserve">
282+
<value>no</value>
283+
</data>
284+
<data name="ok" xml:space="preserve">
285+
<value>Ok</value>
286+
</data>
287+
<data name="cancel" xml:space="preserve">
288+
<value>cancel</value>
289+
</data>
290+
<data name="dialog_update_title" xml:space="preserve">
291+
<value>Downloads</value>
292+
</data>
293+
<data name="dialog_update_signature" xml:space="preserve">
294+
<value>Signature</value>
295+
</data>
296+
<data name="dialog_update_installer" xml:space="preserve">
297+
<value>Installer</value>
298+
</data>
299+
<data name="dialog_message_update_critical_title" xml:space="preserve">
300+
<value>Critical Application Update</value>
301+
</data>
302+
<data name="dialog_message_update_critical_text" xml:space="preserve">
303+
<value>There is a new Simple DNSCrypt version ({0}) available. The update is marked as critical, so you really should to the update now! Do you want to update now?</value>
304+
</data>
269305
</root>

0 commit comments

Comments
 (0)