overdodactyl / ShadowFox

A universal dark theme for Firefox

Home Page:https://overdodactyl.github.io/ShadowFox/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Smartscreen is triggered

thany opened this issue · comments

The installer triggers Smartscreen.

The installer also has no icon, which is very suspicious. Many malware masquerading as real programs, also lack an icon, relying on the user to recognize (and trust) the filename.

The main problem might be that the installer is unsigned or otherwise unrecognized as "safe", giving it either a Smartscreen trigger, or an "Open File - Security Warning" dialog, when starting the installer. This gives me the impression that shadowfox is going to try and dodgy things that could break my Firefox, or worse.

Please make the installer more trustworthy by giving it an icon, adding signing information, and making it bloody graphical. Surely it can't be that much effort to make it look the part. An application that looks and acts tidy, is more easily trusted as being ligitimate and not break your system.

Hi @thany - since this is related to the updater, this would be best submitted in it's repo:

https://github.com/SrKomodo/shadowfox-updater

Pinging @SrKomodo, as they would be better able to address things, but here are just a few thoughts on my end:

The installer also has no icon, which is very suspicious.

I don't think it's very atypical for executables to be given without an icon. I'm not sure if it's even possible for a non-end user to assign one, is it?

If it is, and @SrKomodo want to include one, I can try and throw something together.

The main problem might be that the installer is unsigned

Are there free ways to digitally sign something? I know in some cases certificates can cost a decent chunk of money, which I personally wouldn't be able to justify here. If there are free options, maybe it's worth looking into to if it's not a complicated implementation.

making it bloody graphical. Surely it can't be that much effort to make it look the part.

It already has a ui that can be used, and there are plenty of reputable tools that are cli only. Sometimes simplicity is the best option - the installer does a great job doing what's intended, I don't see a big need to spend the time developing a full blown application when, functionally, there would be no added benefit.

As a whole though, I understand there can be concerns when downloading and executing files obtained online. I don't mean to downplay that, but there has to be a balance between development time and taking every possible step to convince a user a program is trustable, especially for an open source project such as this one. If you want to preview the code used by the updater, it is all available in it's GitHub repo, but I can assure you there's nothing fishy going on with it.

If we don't end up making any modifications and you don't feel comfortable using the installer, manual installation is always an option as well.

The installer also has no icon, which is very suspicious.

I don't think it's very atypical for executables to be given without an icon. I'm not sure if it's even possible for a non-end user to assign one, is it?

It's very much possible. Have you ever seen any exe installer? 😕
It is customary for a developer/publisher to assign an icon, which I believe is a trivial process. Most development tools have a feature to include an icon in the output exe.

The main problem might be that the installer is unsigned

Are there free ways to digitally sign something? I know in some cases certificates can cost a decent chunk of money, which I personally wouldn't be able to justify here. If there are free options, maybe it's worth looking into to if it's not a complicated implementation.

I don't know, but virtually all software doesn't show the warning that I saw. So I guess there must be a way to get software signed for free. Perhaps self-signing or similar, is enough.

making it bloody graphical. Surely it can't be that much effort to make it look the part.

It already has a ui that can be used, and there are plenty of reputable tools that are cli only. Sometimes simplicity is the best option - the installer does a great job doing what's intended, I don't see a big need to spend the time developing a full blown application when, functionally, there would be no added benefit.

Added benefit is that ShadowFox is a graphical program, and having a graphical installer makes it feel legitimate. In fact, I have personally never seen a CLI installer for a GUI program. Another added benefit is that a GUI installer feels friendlier to an end-user. It is, after all, the norm on graphical OSes.

As a whole though, I understand there can be concerns when downloading and executing files obtained online. I don't mean to downplay that, but there has to be a balance between development time and taking every possible step to convince a user a program is trustable, especially for an open source project such as this one. If you want to preview the code used by the updater, it is all available in it's GitHub repo, but I can assure you there's nothing fishy going on with it.

If we don't end up making any modifications and you don't feel comfortable using the installer, manual installation is always an option as well.

I understand, but rest assured a novice user won't 😃

The installer also has no icon, which is very suspicious.

I haven't considered adding an icon, and i would have to figure out a way to embed it into a Go program, specially considering that the build pipeline runs on Linux, so embedding a Windows icon might be more complicated than it seems. I will try to add an icon, all i need is for someone to make one.

It is customary for a developer/publisher to assign an icon

I don't think so, considering that Linux doesn't even have embedded icons for executables. But i understand that a novice end user, just as you said ("I understand, but rest assured a novice user won't"), would expect one

The main problem might be that the installer is unsigned

As @overdodactyl has already mentioned, signing a Windows executable costs money, but i would have to look into self-signing, and if it even matters at all because im pretty sure that the same warning would show up. As with the icon, it will also be complicated to implement with the build system

making it bloody graphical. Surely it can't be that much effort to make it look the part.

I have actually been working to make it graphical, but it takes much more effort than you might assume, taking into account the program has to be cross platform, and this is all just a simple hobby project.

If you want to do the icon I can put something together, just let me know the ideal format/size

Gonna go ahead and close this. If there are any realistic changes that I can help with, let me know.

It is customary for a developer/publisher to assign an icon

I don't think so, considering that Linux doesn't even have embedded icons for executables. But i understand that a novice end user, just as you said ("I understand, but rest assured a novice user won't"), would expect one

Perhaps you didn't realize I was talking about the Windows version. But the same would apply to the macOS version, although icons work very, very differently there, fwik.

The main problem might be that the installer is unsigned

As @overdodactyl has already mentioned, signing a Windows executable costs money, but i would have to look into self-signing, and if it even matters at all because im pretty sure that the same warning would show up. As with the icon, it will also be complicated to implement with the build system

I'm preeeeeetty sure signing is free. Or at least doing up the executable in such a way that you don't get a big fat certificate warning. I've installed LOADS of application during my time, and most of them are free of charge, and free of such warning. I'm pretty sure small software devs don't pay for such things.

making it bloody graphical. Surely it can't be that much effort to make it look the part.

I have actually been working to make it graphical, but it takes much more effort than you might assume, taking into account the program has to be cross platform, and this is all just a simple hobby project.

Well, installers on Windows, Linux, and Mac are wildy different anyway. Windows "requires" a GUI installer, whereas on Linux you just install a package from your friendly neighbourhood package manager. On macOS, you just sort of "copy" a blob of stuff to your Applications drawer.

Just fyi @thany, the new version (v2.0.0) finally has a graphical interface.