arguablykomodo / shadowfox-updater Goto Github PK
View Code? Open in Web Editor NEWAn auto-updater for ShadowFox
Home Page: https://github.com/overdodactyl/ShadowFox
License: MIT License
An auto-updater for ShadowFox
Home Page: https://github.com/overdodactyl/ShadowFox
License: MIT License
The readme did not detail that the userChrome.css
file is overwritten. Thankfully I had it open at the time and was able to recover my extensive changes, but it would be good to add this information to the readme so that others don't lose their data.
The updater is working great, however I cannot get the colorOverrrides.css to be properly integrated. internal_UUIDs.txt, userChrome_customization.css, and userContent_customization.css are being properly, so it is not an issue where the updater cannot find the customization files. I only have the following in my colorOverrides.css but when running the updater it used the default color.
--grey-70: #333333;
That way adding the updater into some kind of script for automatic enviroment setups would be way easier.
It fails in termite
terminal. Works fine in urxvt tho
Setting $TERM to xterm fixes the issue but it shouldn't happen in the first place
$ ./shadowfox_linux_amd64
panic: terminal entry not found
goroutine 1 [running]:
main.createUI()
/home/travis/gopath/src/github.com/SrKomodo/shadowfox-updater/ui.go:177 +0x2de7
main.main()
/home/travis/gopath/src/github.com/SrKomodo/shadowfox-updater/main.go:4 +0x20
This happens for both version from AUR and downloaded from release.
tested with versions:
1.4.0
1.4.1
You have made the common mistake that most dark theme creators, do. The mistake that in addition to swapping text and background color (which is good and necessary), has done an unnecessary additional step and has made text color darker
It reduces contrast and actually put more pressure on the eye
Windows Color has to be changed or an adjust must be made for ShadowFox to work properly. Thiis problem did not exist with Firefox 64 . This is in Windows 10 The checkmark has to be left blank which ruins Win 10 colors or a dark color has to be chosen.
Just to inform you that v1.5.9 appears with 10 detections at VirusTotal. I know that might be false positives, but at each update, the number of detections increases.
When using ShadowFox, users need to select the built in dark theme provided by Firefox.
One way to avoid this would be to add the following lines to a user.js
file that resides in the profile directory:
user_pref("lightweightThemes.selectedThemeID", "[email protected]");
user_pref("devtools.theme", "dark");
The first line is for the browser theme, the second is for the developer tools.
In terms of implementation, we would probably need to first check if the file exists. If so, check whether the lines are already present and either write/don't write them to it. If not, create the file with the corresponding lines.
Do you think trying to add this into the updater would be worthwhile or not a good idea/worth the effort?
user.js
is often used to harden security/privacy preferences for Firefox (e.x: ghacks user-js), so I'm not sure whether or not users would have any concern with a script writing to this file either..
Just upgraded to FF 68 and noticed extension details text is hidden with shadowfox 2.2.0.
I have tried uninstalling from my FF profile and then installing again but text is still not readable.
The only way to read the extension details text is to either.
When I make
the updater or try to install it with brew install srkomodo/tap/shadowfox-updater
, I get this error:
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
I'm running MacOS Mojave 10.14.0.
I recently updated to a new version of this updater ( related: #39 )
Today, I made a mistake and went to restore from the .backup file... And there isn't one. Was the feature to make backups, removed? Perhaps this is related to the installer not finding my profile? #40 I moved the installer adjacent to the profiles.ini and it did not make backups again, so I don't think that's the issue.
I think this is best described with images.
I start the updater, and see this:
I press Enter, and I see this:
Note: This profile listed is not my default profile - older versions of the updater selected that profile
I press Enter again and I get this:
Now, it has selected my primary profile. Pressing Enter one more time, selects it.
I can also use the cursor keys in that menu. When I do, the default profile becomes visible, and the empty row below the other profile, disappears.
Edit: I can work around this by placing the updater in the directory with the profiles.ini as suggested in README.MD, however the reason I mention this is that obviously, whatever the updater is doing when I press enter that second time, contains the 'fix' for this - rather than having to specifically locate the updater.
Some anti-viruses detects a Trojan inside:
https://www.virustotal.com/#/file/2498d0157ab1cfea942364bbb31aa5ac688599a8f33fc712870936d592bc59db/detection
See here: overdodactyl/ShadowFox#147
When the script runs it creates a backup of the existing css files and renames them. However, they retain the .css extension, which is causing them to be loaded by the userchrome.js extension.
Might I suggest that the files be renamed with an alternative extension? Perhaps something like
userChrome.backup.2018-03-08_10-05-27.css
Could instead be
userChrome.css.2018-03-08_10-05-27.bk
By the way, LOVE this script! Great work man :)
The build script should work perfectly but for some reason the version number doesnt get injected.
When ran directly from the command line the version gets injected, but when running the same command from the go compiler it doesn't get injected
I'm trying to make a port for this program on MacPorts, which is something we discussed in the ShadowFox repository some months ago. I've been pretty swamped for months and haven't had time to do this, but while I was waiting on some things today I decided to go ahead and bite the bullet. I've tried to compile this program from scratch and I've successfully gotten it to compile, but when I try to run it, I get this fairly cryptic error (and I'm not familiar with Go):
panic: runtime error: index out of range [recovered]
panic: runtime error: index out of range
goroutine 1 [running]:
github.com/rivo/tview.(*Application).Run.func1(0xc00016c100)
/Users/my_username/go/pkg/mod/github.com/rivo/[email protected]/application.go:131 +0x8b
panic(0x13180c0, 0x15c8ef0)
/opt/local/lib/go/src/runtime/panic.go:513 +0x1b9
github.com/rivo/tview.(*TextView).Draw(0xc0000a5e10, 0x13c8820, 0xc0000ac9c0)
/Users/my_username/go/pkg/mod/github.com/rivo/[email protected]/textview.go:941 +0x14b3
github.com/rivo/tview.(*Flex).Draw(0xc0000a3770, 0x13c8820, 0xc0000ac9c0)
/Users/my_username/go/pkg/mod/github.com/rivo/[email protected]/flex.go:169 +0x295
github.com/rivo/tview.(*Application).Draw(0xc00016c100, 0x0)
/Users/my_username/go/pkg/mod/github.com/rivo/[email protected]/application.go:296 +0xdb
github.com/rivo/tview.(*Application).Run(0xc00016c100, 0x0, 0x0)
/Users/my_username/go/pkg/mod/github.com/rivo/[email protected]/application.go:137 +0xd8
main.createUI(0xc0000caf48, 0xc000094058)
/Users/my_username/development/misc/shadowfox-updater/ui.go:147 +0x17d3
main.main()
/Users/my_username/development/misc/shadowfox-updater/main.go:13 +0x3b
I'd like to know what this error means because I get an identical error message (with only the directories of the files being different) when I get this program to compile with MacPorts.
It seems like what I really need, and what would solve the problem altogether, are build instructions. I think some clear build instructions for building this program from scratch would be very helpful. Thus far, I've had to deduce how to build everything from compiler/main.go
and then I had to deduce how to get the dependencies in go.mod
. At this point, I think pure deduction is insufficient (and tedious).
Noticed some minor typos while using the updater.
fallbackui.go - "Wich" should be "Which".
install.go - You write "couln't" a few times instead of "Couldn't".
Haven't noticed any others as of yet.
Shadowfox-Updater seems to be unable to find my Firefox Nightly profile. I actually looked into the source code of this and noticed that, in profiles.go, it seems to only look in ~/.mozilla/firefox/profiles.ini, while Firefox Nightly is under ~/.mozilla/firefox-trunk/profiles.ini. This should be an easy fix and I really hope that it gets made soon, seeing how it probably only needs a line that tells it to look in the firefox-trunk file, but I could be wrong. I'm not experienced with GoLang.
When I attempt to install via homebrew, I get the following: Authentication failed for https://github.com/srkmodo/homebrew-tap/
.
Edit: I am a doofus and used an old version with a bug that has been fixed. Could the updater do a version check/self-update?
TL;DR Don't delete stuff that doesn't need to be, please!
Rename/move it if you must, but don't delete!So, I was having trouble with my CSS and I wasn't sure if my own customization userChrome was interfering with shadowfox (This has happened before and turned out to be a SF bug)... So I used the uninstaller, so I could start from vanilla FF.... and it not only removed the shadowfox CSS files, but deleted the entire ShadowFox_Customization directory.... WHICH HAD ALL MY BACKUPS IN IT. (Yes, I'm a good boy and have a backup from earlier, on another drive, so I only lost a few days work, but still....)
Uninstalling ShadowFox does not imply deleting user-created files... I think that routine could do with some attention. It's entirely possible I've missed something but, I don't see any need to touch that directory at all. Just remove (or better yet, rename!) the userChrome and userContent CSS that was created by the installer in the first place should be enough, no?
Thanks man I love your work but this was a SERIOUS bummer. I'm just glad that the uninstaller didn't delete the .backup files it created when I had updated while testing, so I still have some remnants of my old work.
Hi and thank you for this updater!
I have a question. I'd like to style firefox using pywal/wpg. I have to put an import into color_variables.css for that but I can't find the source file anywhere the updater uses to create the files in my firefox profile folder.
Could you please tell me how I can do that?
Thank you very much!
@import url('file:///home/account/.config/wpg/formats/colors.css');
The theme has been installed through the AUR package but it doesn't seem to be working at all.
I tried starting with a fresh profile and there was no difference.
Currently running on
OS: Manjaro Linux x86_64
Kernel: 4.14.39-1-MANJARO
DE: Cinnamon 3.8.2
Theme: Arc-Maia-Dark [GTK2/3]
Icons: Vertex-Maia [GTK2/3]
CPU: AMD Phenom 9550 (4) @ 2.200GHz
GPU: NVIDIA GeForce GT 720
Memory: 4234MiB / 7980MiB
So the browser preferences just stick to the 'Default' theme following the GTK3 styling and no pages seems to be affected.
Was wondering why my rules from userContent_customization.css
weren't applying when running the updater script, until realizing both files are skipped if userChrome_customization.css
is zero bytes.
Current workaround is putting a CSS comment in the former.
Currently it is possible to use the updater in either GUI or CLI mode. The GUI mode requires zenity being installed.
The CLI mode functions perfectly fine without zenity. But if I run shadowfox-updater without any flags and without having zenity installed, it stops with the following error:
panic: dlgs: exec: "zenity": executable file not found in $PATH; exec: "qarma": executable file not found in $PATH
goroutine 1 [running]:
main.checkErr(0x0, 0x0, 0x7611a0, 0xc000012d20)
/home/travis/gopath/src/github.com/SrKomodo/shadowfox-updater/ui.go:10 +0xf2
main.createUI()
/home/travis/gopath/src/github.com/SrKomodo/shadowfox-updater/ui.go:18 +0xeb
main.main()
/home/travis/gopath/src/github.com/SrKomodo/shadowfox-updater/main.go:11 +0x38
I suggest that if I run the updater without any flags and without zenity a helpful message should be printed instead.
When trying to update via Brew, I'm running into this error:
Error: An exception occurred within a child process:
ChecksumMismatchError: SHA256 mismatch
Expected: a43877e3837e4e2ac9ea5e2f42b77ba6271cc8c85b8fd8b024c048a664c3e1a3
Actual: 12eda523598c7af382792c549545233d82bfafac187162ff5309c567b8f42596
Any ideas? Sorry, I know adding Homebrew support has been a hassle.
Would it be difficult to implement an ESR option into the updater? I'm thinking something like a checkbox that would result in a different userChrome.css
and userContent.css
file being downloaded.
Firefox has started to implement some aspects of the dark theme, making some code unnecessary. I've been hesitant to remove it though just because I don't want anyone using an older version of Firefox (whether it be ESR, Tor, a fork or whatever else) to suddenly miss out.
Ubuntu 18.04.3 LTS i386, Firefox 69.
Hi @SrKomodo
Any version for windows after 1.5.8 is giving me this:
Was GUI removed?
OS: Windows 10 x64 Home v1803
[I don't know if this is the right place to do this]
I am currently on Fedora 27 running Firefox 59.0.2
The current linux_386 release of the updater on the release page gave me an error when I tried to run it.
I looked into it and found out the line in ui.go (182)
iniPath = homedir + "/.mozilla/profiles.ini"
should be
iniPath = homedir + "/.mozilla/firefox/profiles.ini"
Building and install worked okay after the change.
I am not completely sure if this directory is the same for all Linux distros but I feel like it's a safe bet.
Hi,
A chrome folder is created under my profile, with two files, userChrome.css (94 Kb) and userContent.css (127 Kb).
userChrome.css reduces to 1 Kb, new file created in chrome folder, WBbackupuserChrome.css 94Kb.
Page opens after blank, white page appears briefly.
It's the temporary whiteness I'm trying to get rid of, and the reason for trying shadowfox. Would I be right in saying something is awry?
Would it be too hard to add support for firefox installed via snap?
Opening either of the Windows exes in Command Prompt throws up this error:
C:\Users\rekyuu>"C:\Users\rekyuu\Downloads\shadowfox_windows_amd64.exe"
anic: key-value delimiter not found:
goroutine 1 [running]:
main.getProfilePaths(0x729900, 0xc04214efc0, 0xc042075bf0, 0x4103f3, 0xc042078178, 0x8)
/home/travis/gopath/src/github.com/SrKomodo/shadowfox-updater/profiles.go:57 +0x7f7
main.createUI(0xc042075f78, 0xc042048058)
/home/travis/gopath/src/github.com/SrKomodo/shadowfox-updater/ui.go:23 +0x5b
main.main()
/home/travis/gopath/src/github.com/SrKomodo/shadowfox-updater/main.go:4 +0x29
I find that the right click menu section divider is way too noticeable (thick), drawing too much attention to itself instead of just visually grouping the menu items and fading into the background. Not sure if this only happens on my 1080p 15" laptop. Not sure if you will agree that this is an issue but in any case I'd love to know which shadowfox css file/setting I have to tweak to get something that looks more or less like I want.
Btw, I love shadowfox and even though I just installed it a couple of weeks ago I already can't live without it. Thanks!
Would be cool to exit the program if you enter exit
when asked for profiles.ini path
shadowfox_windows_amd64.exe V1.40
After checking several different ini parsers, it appears that Go just really doesn't like UTF-16 and the such. So basically until Go provides an easier way to read other encodings this issue will persist
The version information of the installer is neither baked into the .exe (so you could see it when right-clicking -> properties), nor is it anywhere (that I can find) within the running application.
Having some way of reading the version information would be very useful.
Reporting for due diligence. It does work if I manually copy both userContent.css
and userChrome.css
over.
PS: This is on a workplace computer which is behind bazillion proxies so its possible its just my proxy settings. But the error message could be cleaner instead of panic. Also it can provide links and instructions to manually download the files. Not high priority
> ./shadowfox_mac_x64 -set-dark-theme
userChrome.css Couldn't be downloaded: Get https://raw.githubusercontent.com/overdodactyl/ShadowFox/master/userChrome.css: dial tcp 151.101.20.133:443: i/o timeout
You should probably report this crash in https://github.com/SrKomodo/shadowfox-updater/issues/new
Press enter to close the program
panic: Get https://raw.githubusercontent.com/overdodactyl/ShadowFox/master/userChrome.css: dial tcp 151.101.20.133:443: i/o timeout
goroutine 1 [running]:
main.checkErr(0x137c8b9, 0x25, 0x13c38e0, 0xc000188180)
/home/travis/gopath/src/github.com/SrKomodo/shadowfox-updater/profiles.go:17 +0x1ce
main.cli()
/home/travis/gopath/src/github.com/SrKomodo/shadowfox-updater/cli.go:33 +0x2be
main.main()
/home/travis/gopath/src/github.com/SrKomodo/shadowfox-updater/main.go:11 +0x2c
Currently there is no option to unset the dark firefox theme, once it has been set, even by uninstalling shadowfox.
Adding a checkbox to unset it , or unsetting it if the user hasn't selected the dark theme option when updating, would solve the issue.
Also the devtools dark theme could get it's own checkbox, for those that want only one.
Parts of the profile dropdown menu are still rendered after making a selection:
The above screenshot is taken after dev-edition-default
is selected, but several other profile options can still be seen.
Adjusting the size of the terminal seems to resolve the issue:
I'm on macOS 10.14, but this was also reported by a Linux user on Reddit.
Any idea if this is something with the updater or an upstream bug? I quickly glanced through issues on tview but nothing caught my eye
Can we make a default CSS to apply always, to enable addressbar in the bottom of the UI such as suggested here https://support.mozilla.org/en-US/questions/1248277?page=2 ?
I just wanted the internal fx pages to be in dark mode. A simple cocoa window with checkboxes would suffice. wtf archaic thing is this. Seriously, man. KISS. Keep it simple, stupid. oh right, cross platform. jeez.. anyways, the extracted file (shadowfox_mac_x64) is extensionless. By default it opens in textedit with some garbled text. I don't know what I'm supposed to do with it. Thanks.
Where I am supposed to put the .exe?
Even next to the profiles.ini
it can't find it.
When trying to copy and paste the path it is stripped at 11 characters, but this might be a windows issue.
C:\Users\ad
instead of
C:\Users\admin\AppData\Roaming\Mozilla\Firefox\profiles.ini
shadowfox_windows_amd64.exe V1.40
im on kubuntu 18.10 and when i download shadowfox_linux_x64 and go to properties it shows it is already set as executable, double clicking on it doesnt bring up the GUI in terminal. if i go to see if the process is running, it is. if i chmod +x shadowfox_linux_x64
it does the same thing. if i ./shadowfox_linux_x64
from terminal it works fine that way.
im fairly new to linux so i may be making assumptions on how this should work but i have other files that are executable like that that seem to work just fine. also, this has been the issue for me for many versions, i just havent remember to bring an issue. i talked about it here, though: https://www.reddit.com/r/ShadowFoxCSS/comments/9ghs79/does_the_dark_scroll_bars_not_work_anymore/e64zkd9
I use Waterfox which is a fork of regular Firefox but specifically built for 64-bit systems with an emphasis on privacy.
I've used ShadowFox with Waterfox, but I have to:
profiles.ini
Waterfox also has a profiles.ini
located here:
C:\Users\<username>\AppData\Roaming\Mozilla\Waterfox\
I was hoping we could add an entry for this directory in profiles.go
for Waterfox.
Note that Waterfox has two versions: the regular build based off FF 56 (incompatible since it isn't FF Quantum) and a WF Quantum Alpha based off FF 68.
Using the v2.0.0 updater for Windows 10 64bit, on my work computer, which blocks all domains not explicitly allowed, the updater finds the profiles, asks all the relevant prompts, creates the internal UUID's, but doesn't create any userChrome.css or userContent.css files.
I am assuming this is due to it not being downloaded, which I worked around by manually downloading the files from github (which I had to do via copy/paste, as raw.github is blocked), and modifying them appropriately.
It would be nice to have a backup system in place, where, if not connected to the internet, or unable to download, the user is prompted to use the built in files, which may be outdated, if your installer is outdated.
I'm not sure how feasible this is, but I think it would be useful for situations like mine, or worse than mine (since I was still able to access github, I could still manually copy paste).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.