[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#44678: Set a Firefox user agent for our Icecat build
From: |
Maxim Cournoyer |
Subject: |
bug#44678: Set a Firefox user agent for our Icecat build |
Date: |
Thu, 05 Aug 2021 12:48:12 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hello,
Efraim Flashner <efraim@flashner.co.il> writes:
> On Wed, Aug 04, 2021 at 11:22:58PM -0400, Maxim Cournoyer wrote:
>> Hi Arun,
>>
>> Arun Isaac <arunisaac@systemreboot.net> writes:
>>
>> > Hi,
>> >
>> > Many sites---jitsi among many others---don't work properly when they see
>> > an Icecat user agent. Instead, when the user agent is set to a Firefox
>> > user agent, these sites work as expected. Users can do this manually by
>> > installing user agent switching extensions such as uaswitcher, but it
>> > would be much better if our Icecat package, by default, came with a
>> > Firefox user agent, and everything worked normally without any user
>> > intervention.
>> >
>> > This bug report arose out of a discussion on help-guix. See
>> > https://lists.gnu.org/archive/html/help-guix/2020-11/msg00082.html
>> >
>> > I would normally volunteer a patch, but building Icecat takes too long
>> > (> 24 hours) on my slow computer. It would be nice if someone with a
>> > faster build machine handled this.
>>
>> I thought the default user agent was already that of Firefox for Windows
>> (!), purportedly to make it less unique (thus making fingerprinting of
>> browsers/users more difficult).
>>
>> Isn't it the case? I changed mine long ago so I don't remember (to
>> please some broken site).
>>
>> Thank you,
>>
>> Maxim
>
> I remember a discussion forever ago about making the User-Agent Guix
> specific but we ended up not going that way in order to try to provide
> more anonymity. I don't believe I've changed my user agent ever, and
> here's what I'm told mine is:
>
> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
> Firefox/78.0
>
> If you want to experiment with it you can send a patch (and tag me) and
> I'll build icecat locally and check it out and let you know how it goes.
> Icecat builds fairly quickly for me.
Thanks for the information. I got curious and did some archeology in
the gnuzilla repository [0] and found the commit that made Windows NT user
agent string go away:
--8<---------------cut here---------------start------------->8---
a25c630a21d78be6515648d8d65cf13fb633c3b5
Author: Ruben Rodriguez <ruben@gnu.org>
AuthorDate: Thu Sep 13 20:47:06 2018 -0400
Commit: Ruben Rodriguez <ruben@gnu.org>
CommitDate: Thu Sep 13 21:02:13 2018 -0400
Parent: f70c9f0 Some customizations to the UI
Contained: master
Follows: v52.1.0 (21)
Precedes: v60.2.0 (3)
Preserve Firefox as UserAgent
1 file changed, 8 insertions(+), 2 deletions(-)
makeicecat | 10 ++++++++--
modified makeicecat
@@ -405,6 +405,11 @@ sed 's/mozilla-bin/icecat-bin/' -i
build/unix/run-mozilla.sh
find -type f | grep run-mozilla | xargs prename s/mozilla/icecat/
+# do not alter useragent/platform/oscpu/etc with fingerprinting
countermeasure, it makes things worse
+sed '/ShouldResistFingerprinting/,/}/s/^/\/\//' -i
./netwerk/protocol/http/nsHttpHandler.cpp
+sed '/If fingerprinting resistance is on/,/}/s/^/\/\//' -i
./dom/base/Navigator.cpp
+
+# Leave user agent as Firefox
sed "/MOZILLA_UAVERSION/ s:IceCat/:Firefox/:" -i
netwerk/protocol/http/nsHttpHandler.cpp
find . -name region.properties |xargs -i /bin/sed 's_https://www.mibbit.*__'
-i {}
@@ -421,9 +426,9 @@ cat << EOF >> browser/app/profile/icecat.js
// Set useragent to Firefox compatible
//pref("general.useragent.compatMode.firefox",true);
// Spoof the useragent to a generic one
-pref("general.useragent.compatMode.firefox",true);
+//pref("general.useragent.compatMode.icecat",true);
// Spoof the useragent to a generic one
-pref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1;
rv:${FFMAJOR}.0) Gecko/20100101 Firefox/${FFMAJOR}.0");
+//pref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1;
rv:${FFMAJOR}.0) Gecko/20100101 Firefox/${FFMAJOR}.0");
pref("general.appname.override", "Netscape");
pref("general.appversion.override", "${FFMAJOR}.0");
pref("general.buildID.override", "Gecko/20100101");
@@ -433,6 +438,7 @@ EOF
cat << EOF >> browser/confvars.sh
# IceCat settings
+MOZ_APP_UA_NAME=IceCat
MOZ_APP_VENDOR=GNU
MOZ_APP_VERSION=$FFVERSION
MOZ_APP_PROFILE=mozilla/icecat
--8<---------------cut here---------------end--------------->8---
Closing.
Thanks,
Maxim
[0] git://git.savannah.gnu.org/gnuzilla.git