Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
ttodua committed Jan 12, 2021
1 parent 9976c9f commit f52097f
Show file tree
Hide file tree
Showing 9 changed files with 22 additions and 164 deletions.
6 changes: 4 additions & 2 deletions Authenticator/Authenticator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1044,8 +1044,10 @@ private static string DecryptSequenceNoHash(string data, PasswordTypes encrypted
public static HashAlgorithm SafeHasher(string name)
{
try
{
if (name == "SHA512")

{

if (name == "SHA512")
{
return SHA512.Create();
}
Expand Down
158 changes: 8 additions & 150 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,154 +1,12 @@
❗ ❗ ❗ Note, this is update over the <a href="https://github.com/Florastamine/winauth">https://github.com/Florastamine/winauth</a> fork (when he updated at 2020-09-01.
I've added only two things:
❗ ❗ ❗
Please Read the original repository's README, as I haven't copy-pasted that text here. I have only extended and added some features.
This is primarily an update over the <a href="https://github.com/Florastamine/winauth">https://github.com/Florastamine/winauth</a> fork (at 2020-09-01).
I've added only several things:
- Search-box to quickly filter the desired sites from list
- Option to drag &drop QR-image onto the Add-Authenticator window.
- Option to auto-copy the one-time code if the searched result is single.
- Option to auto-close app (to save an extra click) when you copy the code..
- Standalone .exe file is being produced by Costura.Fody.
- Fixed "Auto-Update" interval option being erased on next re-open.


// Original Readme //
____

# Windows Authenticator

*WinAuth is a portable, open-source Authenticator for Windows that provides counter or time-based RFC 6238 authenticators and common implementations, such as the Google Authenticator. WinAuth can be used with many Bitcoin trading websites as well as games, supporting Battle.net (World of Warcraft, Hearthstone, Heroes of the Storm, Diablo), Guild Wars 2, Glyph (Rift and ArcheAge), WildStar, RuneScape, SWTOR and Steam.*

----

## Download Latest Beta Version

The latest beta version is WinAuth 3.6 and is available from the [releases](https://github.com/winauth/winauth/releases) page. Please do not use this version unless you are testing new features.

This will likely be the last version of WinAuth when released as 3.7. It has reached the end of its useful life and requires a massive UI overhaul. My thanks to everyone who has used WinAuth, provided fixes and useful suggestions.

----

## Download Latest Stable Version (WinAuth 3.5)

WinAuth provides an alternative solution to combine various two-factor authenticator services in one convenient place.

This is the latest stable version and can be downloaded from the [releases](https://github.com/winauth/winauth/releases) page, or directly from:

[Latest Version (WinAuth-3.5.1)](https://github.com/winauth/winauth/releases/download/3.5.1/WinAuth-3.5.1.zip)

There is also a [.Net 3.5 build of WinAuth](https://github.com/winauth/winauth/releases/download/3.5.1/WinAuth-3.5.1-NET35.zip) that can be run on Windows 7 installations "out of the box".

<img src="https://winauth.github.io/winauth/images/winauth3-preview.png" alt="WinAuth3 Preview" />

Features include:

* Support for time-based RFC 6238 authenticators (e.g. Google Authenticator) and HOTP counter-based authenticators
* Supports Battle.net (World of Warcraft, Hearthstone, Heroes of the Storm, Diablo III), GuildWars 2, Trion / Glyph (Rift, ArcheAge), RuneScape, WildStar, SWTOR and Steam
* Supports Steam's SteamGuard and trading confirmations
* Supports many Bitcoin trading websites such as Coinbase, Gemini, Circle, Bitstamp, BTC-e, Cryptsy
* Displays multiple authenticators simultaneously
* Codes displayed and refreshed automatically or on demand
* Data is protected with your password, locked to Windows machine or account, or a YubiKey
* Additional password protection per authenticator
* Restore features for supported authenticators, e.g. Battle.net and Rift
* Selection of standard or custom icons
* Hot-key binding with standard or custom actions, such as code notification, keyboard input, and copy to clipboard
* Portable mode preventing changes to other files or registry settings
* Import and export in UriKeyFormat and from Authenticator Plus for Android

#### Updates

* 3.5.1 - Issue#366: fix spamming notifications when Steam is down. Hide confim/cancel all buttons on login.

### How To Use

Use the following link to download the latest version of WinAuth, or go to the [Releases](https://github.com/winauth/winauth/releases) page.

Requires [Microsoft .Net 4.5](http://www.microsoft.com/en-us/download/details.aspx?id=30653)

To use:
* Download the latest stable version of WinAuth
* There is no installation required, just open the zip file and extract the WinAuth.exe file to anywhere on your computer
* Double-click or run WinAuth.exe
* Click the Add button to add or import an authenticator
* Right-click any authenticator to bring up context menu
* Click the icon on the right to show the current code, if auto-refresh is not enabled
* Click cog/options icon for program options

To compile and build from source:
* Download source code file or clone project
* Requires Microsoft Visual Studio 2015
* any other dependencies are included in the source tree in the 3rd Party folder
* Use [ILMerge](http://research.microsoft.com/en-us/people/mbarnett/ilmerge.aspx ) to combine assemblies into one single exe file

### New Features

Version 3.5 includes Steam trade confirmations.

<img src="https://winauth.github.io/winauth/images/2013/07/steamconf1.png" alt="steamconf" class="aligncenter" />

If you registered SteamGuard with WinAuth 3.3.7 or earlier, you will need to remove it from your Steam account and add it again. This is because WinAuth 3.3 only kept information relevant to generating the SteamGuard authenticator codes, however, confirmations needs more information.

You can go into the normal Steam client, choose Account Details, then click "Manage Steam Guard". Click the Remove Authenticator button and enter the recovery code (aka revocation code - found from right-clicking in WinAuth).

Once the new authenticator is added, you will have an extra option when right-clicking called "Confirmations...". This will login with your username/password and show your current trade confirmations. You can click to view more details, and use the buttons to accept or reject them.

If you choose "remember me", WinAuth will keep you logged in (does not keep your username/password) so you can quickly go into Confirmations again.

----

## COMMON QUESTIONS

#### Is it secure? Is it safe?

All authenticators just provide another layer of security. None are 100% effective.

A physical/keychain device is by far the best protection. Although still subject to any man-in-the-middle attack, there is no way to get at the secret key stored within it. If you are at all concerned, get one of these.

An iPhone app or app on a non-rooted Android device is also secure. There is no way to get at the secret key stored on the device, however, some apps provides way to export the key that could compromise your authenticator if you do not physically protect your phone. Also if those apps backup their data elsewhere, that data could be vulnerable.

A rooted-Android phone can have your secret key read off it by an app with access. Some apps also do not encrypt the keys and so this should be considered risky.

WinAuth stores you secret key in an encrypted file on your computer. Whilst it cannot therefore provide the same security as a separate physical device, as much as possible has been done to protect the key on your machine. As above, physical access to your machine would be the only way to compromise any authenticator.

#### I'm concerned this might be a virus / malware / keylogger

WinAuth has been around and used since mid-2010 and has been downloaded by thousands of users.

It has always been open-source allowing everyone to inspect and review the code. A binary is provided, but the source code is always released simultaneously so that you can review the code and build it yourself.

No personal information is sent out to any other 3rd party servers. It never even sees your account information, only your authenticator details.

There are no other executables installed on your machine. There is no installer doing things you are unable to monitor. WinAuth is portable so you can just run it from anywhere.

#### I found WinAuth on another website, is it the same thing?

WinAuth source code is uploaded to GitHub at http://github.com/winauth/winauth and pre-built binaries are in [releases](https://github.com/winauth/winauth/releases). It is not published anywhere else, so please do not download any other programs claiming to be WinAuth.

#### Where does WinAuth save my authenticator information?

Unlike some other authenticator applications, WinAuth does not store/send your information to any 3rd party servers. Your authenticator information is saved by default in your account roaming profile, i.e. c:\Users\<username>\AppData\Roaming\WinAuth. However, this file can be moved anywhere and passed into WinAuth when run.

----

## More Information

All trademarks are recognised, including but not limited to:

* Blizzard, Battle.net, World of Warcraft, Starcraft, Diablo
* ArenaNet, Guild Wars 2
* Trion, Rift
* Google
* Microsoft
* Steam

----

## Author

WinAuth was written by Colin Mackie. Copyright (C) 2010-2017.

Bitcoin donations can be sent to `1C4bMkMATViiWYsmJSDUx2MruWM785C36Y`

----

## License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
2 changes: 1 addition & 1 deletion WinAuth/Resources/strings.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion WinAuth/Resources/strings.de.resx
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@ Would you like to import your previous authenticator now?</value>
<value>Auto Size</value>
</data>
<data name="CopySearchedSingle" xml:space="preserve">
<value>Copy Searched Single</value>
<value>Auto-copy if searched single</value>
</data>
<data name="AutoExitAfterCopy" xml:space="preserve">
<value>Auto-close WinAuth after code is copied</value>
Expand Down
2 changes: 1 addition & 1 deletion WinAuth/Resources/strings.resx
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ Would you like to import your previous authenticator now?</value>
<value>Auto Size</value>
</data>
<data name="CopySearchedSingle" xml:space="preserve">
<value>Copy Searched Single</value>
<value>Auto-copy if searched single</value>
</data>
<data name="AutoExitAfterCopy" xml:space="preserve">
<value>Auto-close WinAuth after code is copied</value>
Expand Down
2 changes: 1 addition & 1 deletion WinAuth/Resources/strings.zh-CN.resx
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ Would you like to import your previous authenticator now?</value>
<value>Auto Size</value>
</data>
<data name="CopySearchedSingle" xml:space="preserve">
<value>Copy Searched Single</value>
<value>Auto-copy if searched single</value>
</data>
<data name="AutoExitAfterCopy" xml:space="preserve">
<value>Auto-close WinAuth after code is copied</value>
Expand Down
7 changes: 3 additions & 4 deletions WinAuth/UpdateCheckForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ private void UpdateCheckForm_Load(object sender, EventArgs e)
// set checkboxes and dropdown
autoDropdown.Items.Clear();
autoDropdown.Items.Add(new UpdateIntervalItem { Name = "Every Time", Interval = new TimeSpan(0, 0, 0, 0) });
autoDropdown.Items.Add(new UpdateIntervalItem { Name = "Every Day", Interval = new TimeSpan(1, 0, 0, 0) });
autoDropdown.Items.Add(new UpdateIntervalItem { Name = "Every Day", Interval = new TimeSpan(1, 0, 0) });
autoDropdown.Items.Add(new UpdateIntervalItem { Name = "Every 3 Days", Interval = new TimeSpan(3, 0, 0, 0) });
autoDropdown.Items.Add(new UpdateIntervalItem { Name = "Every Week", Interval = new TimeSpan(7, 0, 0, 0) });
autoDropdown.Items.Add(new UpdateIntervalItem { Name = "Every 2 Weeks", Interval = new TimeSpan(14, 0, 0, 0) });
Expand All @@ -104,14 +104,13 @@ private void UpdateCheckForm_Load(object sender, EventArgs e)
Updater = new WinAuthUpdater(this.Config);
}

if (Updater.IsAutoCheck == false)
autoCheckbox.Checked = Updater.IsAutoCheck;
if ( autoCheckbox.Checked == false)
{
autoCheckbox.Checked = false;
autoDropdown.SelectedIndex = -1;
}
else
{
autoCheckbox.Checked = true;
TimeSpan? interval = Updater.UpdateInterval;
if (interval != null)
{
Expand Down
4 changes: 2 additions & 2 deletions WinAuth/WinAuthForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -576,7 +576,7 @@ private void InitializeForm()
// the very first time, we set it to update each time
if (Updater.LastCheck == DateTime.MinValue)
{
Updater.SetUpdateInterval(new TimeSpan(0, 0, 0));
Updater.SetUpdateInterval(new TimeSpan(1, 0, 0, 0));
}
if (Updater.IsAutoCheck == true)
{
Expand Down Expand Up @@ -620,7 +620,7 @@ private void InitializeForm()
HookHotkeys();

// hook Steam notifications
HookSteam();
//HookSteam();

// save the position of the list within the form else starting as minimized breaks the size
_listoffset = new Rectangle(authenticatorList.Left, authenticatorList.Top, (this.Width - authenticatorList.Width), (this.Height - authenticatorList.Height));
Expand Down
3 changes: 1 addition & 2 deletions WinAuth/WinAuthUpdater.cs
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,7 @@ public void SetUpdateInterval(TimeSpan? interval)
{
// write into regisry

Config.WriteSetting(WINAUTHREGKEY_CHECKFREQUENCY, string.Format("{0}:{1:00}:{2:00}", interval.Value.TotalHours, interval.Value.Minutes, interval.Value.Seconds)); // toString("c") is Net4
Config.WriteSetting(WINAUTHREGKEY_CHECKFREQUENCY, string.Format("{0:00}.{1:00}:{2:00}:{3:00}", (int)interval.Value.TotalDays, interval.Value.Hours, interval.Value.Minutes, interval.Value.Seconds) ); // toString("c") is Net4

// if last update not set, set to now
if (Config.ReadSetting(WINAUTHREGKEY_LASTCHECK) == null)
Expand All @@ -434,7 +434,6 @@ public void SetUpdateInterval(TimeSpan? interval)
// remove from registry
Config.WriteSetting(WINAUTHREGKEY_CHECKFREQUENCY, null);
}

// update local values
_autocheckInterval = interval;
}
Expand Down

0 comments on commit f52097f

Please sign in to comment.