Compare commits

..

No commits in common. "master" and "version-0.0.0-alpha" have entirely different histories.

109 changed files with 7513 additions and 7027 deletions

2
.gitignore vendored
View file

@ -1,3 +1 @@
compile_folder/
common/**
settings/**

View file

@ -1,45 +1,23 @@
image: ubuntu:18.04
stages:
- build
- Build
- Release
variables:
GIT_SUBMODULE_STRATEGY: recursive
# variables:
# pkgver: $PKGVER
# pkgrel: $PKGREL
# AARCH64: $AARCH64
# X86_64: $X86_64
.carch_aarch64: &carch_aarch64
variables:
CARCH: 'aarch64'
.carch_x86_64: &carch_x86_64
variables:
CARCH: 'x86_64'
.tarball_build_config: &tarball_build_config
stage: build
Build LibreWolf:
stage: Build
script:
- ./build_tarball.sh "${CI_PROJECT_DIR}/LibreWolf-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
- cd browser
- ./build.sh
artifacts:
name: "Librewolf-Tarball-${pkgver}-${pkgrel}-${CARCH}"
paths:
- "LibreWolf-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
- "browser/build_output"
tarball_x86_64:
image: ubuntu:18.04
tags: [x86_64b]
<<: *carch_x86_64
<<: *tarball_build_config
Release to Gitlab:
stage: Release
image: python3
script:
- pip3 install gitlab-release
- gitlab-release browser/build_output/*
only:
variables:
- $X86_64
tarball_aarch64:
image: arm64v8/ubuntu:18.04
tags: [aarch64b]
<<: *carch_aarch64
<<: *tarball_build_config
only:
variables:
- $AARCH64
- tags

View file

@ -1,295 +0,0 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
This project follows the official Firefox releases, but also uses
[Arch Linux Package Versioning](https://wiki.archlinux.org/index.php/Arch_package_guidelines#Package_versioning) to mark individual releases in between versions.
## [88.0-1] - TBD
### Changed
- New upstream release 88.0-1
- Several yet-to-be documented changes from previous updates that are not yet added to the changelog (tbd)
- Switched to building on Ubuntu Bionic (18.04) from Xenial (16.04) as the latter is now EOL/EOS
- Releases can from now on be found in the specific subprojects (debian, windows, flatpak, appimage, arch, macos) for consistency; this project will only hold the tarball used for the flatpak and appimage releases
## [85.0.2-2] 2021-02-15
### Changed
- New upstream release 85.0.2
### Fixed
- Fixed about box
- Removed pocket menu entry
## [85.0.2-1] Unreleased / Skipped
## [85.0.1-1] 2021-02-05
### Changed
- New upstream release 85.0.2
## [85.0.1-1] 2021-02-05
### Changed
- New upstream release 85.0.1
- New upstream release of included uBlock Origin (1.33.2)
## [85.0-1] 2021-01-31
### Changed
- New upstream release 85.0
- Global menubar patch removed from default releases. Separate releases will be made available.
- `dom.event.contextmenu.enabled` is now an unlocked preference
### Fixed
- Non-Arch releases should now also have some additional startup requests removed
## [84.0.2-2] - 2021-01-20
### Fixed
- AppImage and Flatpak releases were not using the most recent settings.
## [84.0.2-1] - 2021-01-08
### Changed
- New upstream release 84.0.1
- Flatpak runtime version updated (thanks @TheEvilSkeleton)
### Fixed
- Use patch for global menubar added to AppImage and Flatpak build script as well
## [84.0.1-1] - 2021-01-07
### Fixed
- Flatpak now properly provides a .desktop-file (and some other small improvements)
- Fixed AppImage crashes when `XDG_DATA_DIRS` is unset (fixes #139)
### Changed
- New upstream release 84.0.1
- New upstream release of included uBlock Origin (1.32.4)
- More options kept unlocked to remain easier to modify
- "Wayland first" Flatpak with (hopefully) clean X11-fallback
### Added
- Included Debian patch for global menubar
- HTTPS only mode enabled by default
## [84.0-1] - 2020-12-25
### Changed
- New upstream release 84.0
## [83.0-1] - 2020-11-21
### Changed
- New upstream release 83.0
- New upstream release of included uBlock Origin (1.31.0)
## [82.0.3-1] - 2020-11-10
### Changed
- New upstream release 82.0.3
## [82.0.2-1] - 2020-10-29
### Changed
- New upstream release 82.0.2
- New upstream release of included uBlock Origin (1.30.6)
## [81.0.2-1] - 2020-10-18
### Changed
- New upstream release 81.0.2
- New upstream release of included uBlock Origin (1.30.4)
## [81.0-2] - 2020-10-02
### Changed
- New upstream release 81.0
- New upstream release of included uBlock Origin (1.30.0)
## [80.0.1-1] - 2020-09-06
### Changed
- New upstream release 80.0.1
## [80.0-1] - 2020-08-27
### Changed
- New upstream release 80.0
- New upstream release of included uBlock Origin (1.29.2)
### Fixed
- Fixed too broad Flatpak access permissions / sandboxing (#122 and #123), thanks to @TheMainOne!
- Unlocked an important setting required to easily enable WebRTC (macOS/#8)
- Closing the last tab now closes the browser again (#121)
## [79.0-1] - 2020-07-30
### Changed
- New upstream release 79.0
## [78.0.2-1] - 2020-07-10
### Changed
- New upstream release 78.0.2
- New upstream release of included uBlock Origin (1.28.0)
## [78.0.1-1] - 2020-07-02
### Changed
- New upstream release 78.0.1
## [78.0-1] - Unreleased/Skipped
### Changed
- New upstream release 78.0
- Various changes to approach fixing settings#21
## [77.0.1-2] - 2020-06-08
### Fixed
- Fix somewhat broken urlbar (switch to proper megabar-removal code)
- Use correctly updated uBlock origin URL
## [77.0.1-1] - 2020-06-06
### Changed
- New upstream release 77.0.1
### Fixed
- Disable "Megabar" functionality (#23)
## [76.0.1-1] - 2020-05-08
### Changed
- New upstream release 76.0.1
## [76.0-2] - Unreleased/Skipped
### Fixed
- Typos in `librewolf.cfg` that prevented it from being cleanly loaded.
## [76.0-1] - Unreleased/Skipped
### Added
- Remove Internal Plugin Certificates from Mozilla
### Changed
- New upstream release 76.0
- DoH disabled by default
### Fixed
- Some default addons from Mozilla are now removed (#59)
- Improvements to search engines and DDG Lite added (settings#18)
- Don't disable the Intersection Observer API (settings#20)
- Configure manual update URL (settings#1)
- Set fallback UA to resistFingerprinting's default (settings#10)
- Temporarily fix Firefox's address bar (settings#23)
- Update to ghacks-user.js 69 (settings#21)
- Fix Qwant's name (settings#25)
## [75.0-1] - 2020-04-08
### Changed
- New upstream release 75.0
## [74.0.1-1] - 2020-04-04
### Changed
- New upstream release 74.0.1
## [74.0-5] - 2020-04-01
### Changed
- WebRTC related settings unlocked (but still disabled) in `librewolf.cfg`
## [74.0-4] - 2020-03-31
### Added
- AppImage and Flatpak improvements (metadata, conventions etc.)
- (Mostly) working Flatpak release
- **Untested**: AppImage and Flatpak releases for `aarch64` are now also built on Ubuntu 16.04
### Known Issues
- AppImage and Flatpak releases cannot be built as PGO/profiled builds at the moment
- AppStream metadata is not completely valid (missing screenshots)
- Build scripts are not tested outside of a dockerized environment
## [74.0-3] - 2020-03-31
### Added
- WebRTC enabled for `aarch64` builds (`librewolf.cfg` still blocks it by default, intentionally)
### Fixed
- Installation of uBlock
- Removal and addition of search engines via `policies.json`
- Building the intermediary tarball on Ubuntu 16.04 (Xenial) to ensure AppImage and Flatpak compatibility
### Known Issues
- Appimage and Flatpak settings loading still needs to be tested
- Appimage and Flatpak still don't work on older distributions
- LibreWolf built on Ubuntu 16.04 cannot be a profiled/PGO build at the time.
## [74.0-2] - 2020-03-10
### Fixed
- Wrong commenting format in `librewolf.cfg` breaking LibreWolf settings
### Known Issues
- Appimage and FlatPak releases must be considered broken
## [74.0-1] - 2020-03-10
### Added
- Initial release following stable upstream Firefox releases
- [WIP] Appimage and FlatPak Releases

369
KEY
View file

@ -1,369 +0,0 @@
This file contains the PGP keys of various developers that work on
Mozilla and its subprojects (such as Firefox and Thunderbird).
Please realize that this file itself or the public key servers may be
compromised. You are encouraged to validate the authenticity of these keys in
an out-of-band manner.
Mozilla users: pgp < KEY
pub rsa4096 2015-07-17 [SC]
14F26682D0916CDD81E37B6D61B7B526D98F0353
uid [ full ] Mozilla Software Releases <release@mozilla.com>
sub rsa4096 2015-07-17 [S] [expired: 2017-07-16]
sub rsa4096 2017-06-22 [S] [expired: 2019-06-22]
sub rsa4096 2019-05-30 [S] [expires: 2021-05-29]
sub rsa4096 2021-05-17 [S] [expires: 2023-05-17]
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=81zK
-----END PGP PUBLIC KEY BLOCK-----

450
README.md
View file

@ -1,14 +1,442 @@
### Important
<p align="center">
<a href="https://github.com/LibreWolf-Browser/LibreWolf/"><img width="727" src="./branding/logo_2/Logo.svg.png"></a>
</p>
<p align="center">
<a href="https://github.com/LibreWolf-Browser/LibreWolf/releases" target="_blank"><img src="https://img.shields.io/badge/Download-%20LibreWolf-green.svg"> </a>
<a href="https://github.com/LibreWolf-Browser/LibreWolf/releases"><img src="https://img.shields.io/badge/Version-0.0.1-green.svg"></a>
<a href="https://github.com/LibreWolf-Browser/LibreWolf/commits/master"><img src="https://img.shields.io/badge/Maintained-Yes-green.svg"></a>
<a href="https://gitlab.com/librewolf-community/librewolf/commits/master"><img alt="pipeline status" src="https://gitlab.com/librewolf-community/librewolf/badges/master/pipeline.svg" /></a>
<a href="https://github.com/LibreWolf-Browser/LibreWolf/pulls"><img src="https://img.shields.io/badge/PR-0-green.svg"></a>
<a href="https://github.com/LibreWolf-Browser/LibreWolf/issues?q=is%3Aissue+is%3Aclosed"><img src="https://img.shields.io/badge/Solved%20Issues-3-green.svg"></a>
<a href="https://www.mozilla.org/en-US/MPL/2.0/" target="_blank"><img src="https://img.shields.io/badge/License-Mozilla--MLP2-blue.svg"></a>
<a href="https://www.mozilla.org/en-US/MPL/" target="_blank"><img src="https://badges.frapsoft.com/os/v2/open-source.png?v=103"></a>
</p>
The build scripts are currently meant to be run in a CI environment with Docker containers
and gitlab-runners. Updated instructions for local builds or setting up your own
appropriate runners will be provided again in the future.
---
LibreWolf: Browse With Freedom
------------------------------
This project is an independent fork of Firefox, with the primary goals of privacy security and user freedom. It is the community run successor to [LibreFox](https://github.com/intika/Librefox)
LibreWolf uses more than 500 privacy/security/performance settings, patches, LibreWolf-Addons (optional) and is designed to minimize data collection and telemetry as much as possible (updater, crashreporter and Firefox's integrated addons that don't respect privacy are removed).
**LibreWolf is NOT associated with Mozilla or its products.**
Features
--------
- Latest Version of Firefox: LibreWolf is compiled directly from the latest build of Firefox Nightly. As a result, you will have the most bleeding edge of features, technologies and security updates. Stable builds are also planned in the future.
- Completely Independent Build: LibreWolf uses a completely independent build from Firefox and has its own settings, profile folder and installation path. As a result, it can be installed alongside Firefox or any other browser.
- Extensions firewall: limit internet access for extensions ([firewall-test-feature](#extensions-firewall-))
- IJWY (I Just Want You To Shut Up): embedded server links and other calling home functions are removed ([zero unauthorized connection](#ijwy-i-just-want-you-to-shut-up) by default).
- User settings updates: gHacks/pyllyukko base is kept up to date.
- Settings protection: important settings are enforced/locked within `mozilla.cfg` and `policies.json`, those settings cannot be changed by addons/updates/LibreWolf itself or unwanted/accidental manipulation; To change those settings you can easily do it by editing `mozilla.cfg` and `policies.json`.
- LibreWolf-addons: set of optional LibreWolf extensions
- Statistics disabled: telemetry and similar functions are disabled
- Tested settings: settings are performance aware
- ESR and Tor version (LibreWolf TBB Beta)
- Tor LibreWolf-addons: adapted LibreWolf extensions for TBB
- Multi-platform (Windows/Linux/Mac/and soon Android)
- Dark theme (classic and advanced)
- Recommended and *code reviewed* addons list
- Community-Driven
- And much more...
---
Index
-----
<pre>
<a href="#features"
>> LibreWolf: Features ............................................................... </a>
<a href="#download"
>> LibreWolf: Download ............................................................... </a>
<a href="#capture"
>> LibreWolf: Capture ................................................................ </a>
<a href="#LibreWolf-addons"
>> Addons: LibreWolf Addons .......................................................... </a>
<a href="#recommended-addons"
>> Addons: Recommended Addons ....................................................... </a>
<a href="#recommended-addons-settings"
>> Addons: Recommended Addons Settings .............................................. </a>
<a href="#reviewing-extensions-code"
>> Addons: Reviewing Addons Source Code ............................................. </a>
<a href="#other-addons"
>> Addons: Other Useful Addons Listing .............................................. </a>
<a href="#installation-instructions"
>> Wiki: Installation Instructions .................................................. </a>
<a href="#extensions-firewall"
>> Wiki: Extensions Network Firewall ................................................ </a>
<a href="#ijwy-i-just-want-you-to-shut-up"
>> Wiki: IJWY (I Just Want You To Shut Up) .......................................... </a>
<a href="#edit-locked-settings"
>> Wiki: Edit Locked Settings ....................................................... </a>
<a href="#settings-index"
>> Wiki: Settings Index ............................................................. </a>
<a href="#cookies-settings"
>> Wiki: Cookies Settings ........................................................... </a>
<a href="#tracking-protection"
>> Wiki: Tracking Protection ........................................................ </a>
<a href="#comparing-changes-and-updates"
>> Wiki: Comparing Changes And Updates .............................................. </a>
<a href="#documentation"
>> Wiki: Documentation .............................................................. </a>
<a href="#LibreWolf-dark-theme"
>> Wiki: LibreWolf Dark Theme ........................................................ </a>
<a href="#tuning-LibreWolf"
>> Wiki: Tuning LibreWolf ............................................................ </a>
<a href="#LibreWolf-esr"
>> Wiki: LibreWolf ESR ............................................................... </a>
<a href="#tor-compatibility"
>> Wiki: Tor Compatibility .......................................................... </a>
<a href="#drm-compatibility"
>> Wiki: DRM Compatibility .......................................................... </a>
<a href="#building-and-packaging"
>> Wiki: Building And Packaging ..................................................... </a>
<a href="#browser-tests---securityfingerprint"
>> Browser Tests: Security/Fingerprint .............................................. </a>
<a href="#browser-tests---performances"
>> Browser Tests: Performance ....................................................... </a>
<a href="#browser-tests---dnsvpnproxy-leak"
>> Browser Tests: DNS/VPN/Proxy Leak ................................................ </a>
<a href="#LibreWolf-roadmap"
>> Infos: LibreWolf Roadmap .......................................................... </a>
<a href="#changelog"
>> Infos: Changelog ................................................................. </a>
<a href="#about"
>> Infos: About ..................................................................... </a>
</pre>
Download
-------
#### Arch
LibreWolf is available on the AUR in both [source code](https://aur.archlinux.org/packages/librewolf/) and [binary](https://aur.archlinux.org/packages/librewolf-bin) format.
#### Portable/Universal
LibreWolf will also be available as a binary tarball and an AppImage format. Check out the [releases page](https://gitlab.com/librewolf-community/librewolf/-/releases) for downloads.
## Other builds
* [Gentoo](https://gitlab.com/librewolf-community/browser/gentoo)
* [macOS](https://gitlab.com/librewolf-community/browser/macos)
* [Debian](https://gitlab.com/librewolf-community/browser/debian)
* [Windows](https://gitlab.com/librewolf-community/browser/windows)
* [Flatpak](https://gitlab.com/librewolf-community/browser/flatpak)
* [AppImage](https://gitlab.com/librewolf-community/browser/appimage)
Recommended Addons
------------------
Recommended addons are not bundled and need to be installed manually
- [Cookie Master](https://addons.mozilla.org/en-US/firefox/addon/cookiemaster/): Block all cookies and only allow authorized sites
- [First Party Isolation](https://addons.mozilla.org/en-US/firefox/addon/first-party-isolation/): Enable/Disable FPI with the click of a button
- [User Agent Platform Spoofer](https://addons.mozilla.org/en-US/firefox/addon/user-agent-platform-spoofer/): Spoof a different UserAgent OS Linux/Windows/Mac
- [Browser Plugs Privacy Firewall](https://addons.mozilla.org/en-US/firefox/addon/browser-plugs-privacy-firewall/): Sets of settings to prevent fingerprinting and security issues
- [uBlock Origin](https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/) [+ IDCAC List](https://www.i-dont-care-about-cookies.eu/) [+ Nano-Defender List](https://jspenguin2017.github.io/uBlockProtector/#extra-installation-steps-for-ublock-origin): Block web advertisement and tracking
Recommended Addons Settings
---------------------------
`uBlock Origin`: Additional filters are availables here: https://filterlists.com/ (don't surcharge it to avoid performance loss)
`Browser Plugs Privacy Firewall`: Keep settings light to make `privacy.resistFingerprinting` efficient because too much customization will lead to uniqueness and therefore easy fingerprinting.
```
- Privacy / Fingerprint / Fake values for getClientRects
- Privacy / Fingerprint / Randomize Canvas Fingerprint
- Privacy / Fingerprint / 100% Randomize ALL Fingerprint Hash
- Firewall / Experimental / Block SVG getBBox and getComputedTextLength
- Privacy / Font / Randomize
- Privacy / Font / Enable protection for font and glyph fingerprinting
```
Reviewing Extensions Code
-------------------------
Recommended extensions code have been reviewed for potential unwanted behaviour... reviewed version are available under [extensions](https://github.com/LibreWolf-Browser/LibreWolf/tree/master/extensions) directory.
Extensions Firewall
-------------------
**Extensions Firewall - Description**
*This is a test experiment feature and it is disabled by default !!!* A new section `Extensions Manager` is added to manage addons globally (and addons networking in the subsection `Extensions Firewalling`). Firewalling the network for addons is doable, but it requires a considerable amount of additional work in LibreWolf to make it usable through a button or in a per addon basis (this may or may not be added in a future version, it also could be abandoned as it is a test feature). Currently you can block a list of domains or block the whole network for all the extensions.
**Extensions Firewall - The Settings**
Available native network restriction settings for addons:
- Restricted domains list: `extensions.webextensions.restrictedDomains` this is a list of restricted domains that will be used to block some hosts for all the extensions, Firefox uses this setting to block extensions from accessing mozilla's domains/sites, by default in LibreWolf this setting is set to allow extensions to access all the web (You can edit that list to match your needs or to block a specific domain, note that the domain name has to be 'exact' (for instance facebook.com will only block facebook.com not mobile.facebook.com)
- Content security policy: `extensions.webextensions.base-content-security-policy` and `extensions.webextensions.default-content-security-policy` the later settings can be redefined/changed within an extension so it's not efficient for a firewall purpose. CSP settings are used in Firefox as an added layer of security that helps to detect and mitigate certain types of attacks, including Cross Site Scripting (XSS) and data injection attacks. These attacks are used for everything from data theft to site defacement to distribution of malware; In short: CSP settings block and allow certain domains under certain circumstances and thus could be used to firewall the extensions ([CSP Documentations](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP), its [sources code](https://code.compassfoundation.io/general/mozilla-central/commit/623a4f866576815dfcbab26323d13b7144806bdf?view=inline&w=1) and [implementation](https://github.com/mozilla/gecko/blob/central/toolkit/components/extensions/ExtensionPolicyService.cpp))
**Extensions Firewall - Blocking A Domain**
Edit the restricted domains setting as follow under the `about:config` page:
- Restricted Domains Setting: `extensions.webextensions.restrictedDomains` Value: `ExactDomains1,ExactDomains2,ExactDomains3` etc.
**Extensions Firewall - Blocking The Network**
To enable the feature and block the network for all the extensions open `mozilla.cfg` search for `Enable-Firewall-Feature-In-The-Next-Line` and remove the `//` in the next line.
Note that this will block the network access for all the extensions and a lot of extensions needs to be connected in order to work. In the current version of LibreWolf you can block the network for all the extensions or allow it for all of them, a future version may provide additional features like "per addon" setting (By default LibreWolf allows networking for extensions).
**Extensions Firewall - More Infos**
Check `debug-notes.log` for additional info about future version and researches about the subject. Also check [CSP Documentations](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP), its [sources code](https://code.compassfoundation.io/general/mozilla-central/commit/623a4f866576815dfcbab26323d13b7144806bdf?view=inline&w=1) and [implementation](https://github.com/mozilla/gecko/blob/central/toolkit/components/extensions/ExtensionPolicyService.cpp).
IJWY (I Just Want You To Shut Up)
---------------------------------
This is a set of settings that aim to remove all the server links embedded in Firefox and other calling home functions in the purpose of blocking un-needed connections. The objective is zero unauthorized connection (ping/telemetry/Mozilla/Google...).
Changelog
---------
Available in the [releases page](https://github.com/LibreWolf-Browser/LibreWolf/releases)
Installation Instructions
--------------------------
**Notice:** in the current state of the project LibreWolf is a set of configuration files for Firefox (awaiting a correct build of the project), therefore if you already have a Firefox profile, that profile will be used and temporary files will be removed (cookies and current session), make sure to backup your current Firefox's profile before using LibreWolf.
Using LibreWolf simultaneously with Firefox is possilbe through a different profile you can follow [this wiki](https://www.ghacks.net/2008/05/29/run-multiple-firefox-profiles-simultaneously/) to do so. **[Future](https://github.com/LibreWolf-Browser/LibreWolf/issues/55) LibreWolf version** will be independent from Firefox and therefore will solve this issue.
**Windows**
- Download and install the last version of Firefox [x32 release](https://download-installer.cdn.mozilla.net/pub/firefox/releases/64.0/win32/en-US/Firefox%20Setup%2064.0.exe) or [x64 release](https://download-installer.cdn.mozilla.net/pub/firefox/releases/64.0/win64/en-US/Firefox%20Setup%2064.0.exe)
- Download [LibreWolf](https://github.com/LibreWolf-Browser/LibreWolf/releases/download/LibreWolf-v2.1-v64.0.0/LibreWolf-2.1-Firefox-Windows-64.0.0.zip) zip file and extract it
- Locate Firefox's installation directory (where the firefox.exe is located) `C:\Program Files\Mozilla Firefox\` or `C:\Program Files (x86)\Mozilla Firefox\` or `Tor-Install-Directory\Browser\`
- Copy the extracted LibreWolf files to the install directory
**Linux**
- Download and extract the last version of Firefox [x32 release](https://download-installer.cdn.mozilla.net/pub/firefox/releases/64.0/linux-i686/en-US/firefox-64.0.tar.bz2) or [x64 release](https://download-installer.cdn.mozilla.net/pub/firefox/releases/64.0/linux-x86_64/en-US/firefox-64.0.tar.bz2)
- Download [LibreWolf](https://github.com/LibreWolf-Browser/LibreWolf/releases/download/LibreWolf-v2.1-v64.0.0/LibreWolf-2.1-Firefox-Linux-64.0.0.zip) zip file and extract it
- Copy the extracted LibreWolf files to the newly downloaded `firefox` directory
- You can use directly LibreWolf by running 'firefox/firefox'
- You can as well create a shortcut to 'firefox/firefox' to open LibreWolf easily.
**Mac**
- Download and install the [last version of Firefox](https://download-installer.cdn.mozilla.net/pub/firefox/releases/64.0/mac/en-US/Firefox%2064.0.dmg)
- Download [LibreWolf](https://github.com/LibreWolf-Browser/LibreWolf/releases/download/LibreWolf-v2.1-v64.0.0/LibreWolf-2.1-Firefox-Mac-60.4.0.zip) zip file and extract it
- Locate Firefox's installation directory (`Applications/Firefox.app/Contents/Resources/` or `Applications/Tor Browser.app/Contents/Resources/`)
- Copy the extracted files to the install directory
**Uninstall**
- To uninstall, just remove the files you added to your Firefox's install directory (to know what are the files to remove just check the downloaded LibreWolf zip file) then restart Firefox.
Edit Locked Settings
--------------------
Just edit `mozilla.cfg`, save and restart LibreWolf.
Browser Tests - Security/Fingerprint
------------------------------------
Firefox 60 and `privacy.resistFingerprinting` are relatively new, please give it some time to be more widely used and thus less finger-printable; If you are using a different site to analyze your browser make sure to read and understand what the test is about.
- [SSLLabs](https://www.ssllabs.com/ssltest/viewMyClient.html)
- [AmiUnique](https://amiunique.org/fp)
- [BrowserLeaks](https://browserleaks.com/)
- [BrowserPlugs](https://www.browserplugs.com/fingerprint-test/index.html)
- [FingerPrintJS2](https://valve.github.io/fingerprintjs2/)
- [Third-Party-Cookies](https://alanhogan.github.io/web-experiments/3rd/third-party-cookies.html)
- [Testing-Notifications](https://www.bennish.net/web-notifications.html)
- [Browser-Storage-Abuser](https://demo.agektmr.com/storage/)
- [Service-Workers-Push-Test](https://gauntface.github.io/simple-push-demo/)
Browser Tests - Performances
----------------------------
Performance tests can be done here [LVP Octane](https://intika.github.io/lvp-octane/), it needs to be launched alone with other applications closed and with no other activity but the benchmark, also it's recommended to launch it many times and then calculate the average.
Browser Tests - DNS/VPN/Proxy Leak
----------------------------------
- [IPLeak](https://ipleak.net/)
- [Tenta-Test](https://tenta.com/test/)
- [IP-Browserleaks](https://browserleaks.com/ip)
About
-----
**License:** [Mozilla Public License 2.0](https://github.com/LibreWolf-Browser/LibreWolf/blob/master/License.txt)
**Inspired from:** [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium)
**Based on:** [Librefox](https://github.com/Librefox/Librefox), whose development seems to have halted.
**Acknowledgement**, special thanks to:
- @intika for putting Librefox together
- The Mozilla team for their amazing work on Firefox
- The gHacks-User team for allowing the usage of their work
- All the stargazers (users that are encouraging this project by starring it)
- Icon was created with images by [OpenClipart-Vectors](https://pixabay.com/users/OpenClipart-Vectors-30363/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=157677) from [Pixabay](https://pixabay.com/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=157677)
LibreWolf Roadmap
----------------
**Objectives for future versions of LibreWolf (this may change)**
- Develop an all-in-one LibreWolf addon to rule them all ? (Normal & Tor Version… this would simplify LibreWolf)
- Develop an easy to use firewall system for extensions (button/hosts/allow/deny/per-addon)
- Develop an advanced settings page
- Update checker extension (feature in the full extension ?)
- Advertisement for the project to reach more users ?
**Todo for future versions of LibreWolf (this may change)**
- Listed under [issues](https://github.com/LibreWolf-Browser/LibreWolf/issues/) section
Settings Index
--------------
```
// ==============================
// Index mozilla.cfg .......... :
// ==============================
//
// ---------------------------------------------------------------------
// Section: User settings // Bench Diff: +0 / 5000
// Section: Defaulting Settings // Bench Diff: +0 / 5000
// ------------------------------------------
// Section: Controversial // Bench Diff: +0 / 5000
// Section: Firefox Fingerprint // Bench Diff: +0 / 5000
// Section: Locale/Time // Bench Diff: +0 / 5000
// Section: Ghacks-user Selection // Bench Diff: +100 / 5000
// Section: Extensions Manager // Bench Diff: +0 / 5000
// Section: IJWY To Shut Up // Bench Diff: +0 / 5000
// Section: Microsoft Windows // Bench Diff: +0 / 5000
// Section: Firefox ESR60.x // Bench Diff: +0 / 5000
// ------------------------------------------
// Section: Security 1/3 // Bench Diff: +0 / 5000
// Section: Security 2/3 // Bench Diff: +0 / 5000
// Section: Security 3/3 (Cipher) // Bench Diff: +0 / 5000
// ------------------------------------------
// Section: Performance 1/5 // Bench Diff: +650 / 5000
// Section: Performance 2/5 // Bench Diff: -800 / 5000
// Section: Performance 3/5 // Bench Diff: -1720 / 5000
// Section: Performance 4/5 // Bench Diff: -200 / 5000
// Section: Performance 5/5 // Bench Diff: -50 / 5000
// ------------------------------------------
// Section: General Settings 1/3 // Bench Diff: +100 / 5000
// Section: General Settings 2/3 // Bench Diff: +0 / 5000
// Section: General Settings 3/3 // Bench Diff: -40 / 5000
// ------------------------------------------
// Section: Disabled - ON/OFF // Bench Diff: +0 / 5000
// Section: Disabled - Deprecated Active // Bench Diff: +0 / 5000
// Section: Disabled - Deprecated Inactive // Bench Diff: +0 / 5000
// ---------------------------------------------------------------------
// ==============================
// Index local-settings.js .... :
// ==============================
//
// ---------------------------------------------------------------------
// Section: General Settings // Bench Diff: ++ / 5000
// ---------------------------------------------------------------------
```
Cookies Settings
----------------
Using different web services without cookies is impossible and cookie settings in a browser are very important when it come to privacy, in LibreWolf the settings are locked to avoid unwanted changes in such an important setting, but they can be easily changed in `mozilla.cfg` under `User Settings: Cookies settings`.
Tracking Protection
-------------------
Firefox now integrates a tracking protection feature (based on disconnect.me) it's a small content blocking list, the listing can not be edited, this feature is disabled in LibreWolf. It's recommended to use uBlock Origin instead. This feature is disabled:
- Until it evolves and integrates at least list editing.
- Because double filtering (this + ublock) is not suitable for performance.
You can however easily enable this feature in `mozilla.cfg` under `User Settings: Track Protection` (just comment active lines with `//` or remove the entire section).
Comparing Changes And Updates
-----------------------------
If you want to compare changes over updates or if you already have a `user.js`/`mozilla.cfg`/`policies.json`. consider using [Compare-UserJS](https://github.com/claustromaniac/Compare-UserJS), it's an amazing tool to compare user.js files and output the diffs in detailed breakdown, developed by gHack's very own resident cat, [claustromaniac](https://github.com/claustromaniac) :cat:
Usage: If not on windows install [PowerShell](https://github.com/PowerShell/PowerShell) then (for example) `pwsh Compare-UserJS.ps1 mozilla.cfg user.js` (Warning that PowerShell connects to Microsoft sometimes).
Documentation
-------------
**Mozilla.cfg**: Locking and defaulting LibreWolf settings for security, privacy and performance.
**Policies.json**: Policies for enterprise environments (the settings available with `policies.json` are limited right now because this is a new feature of Firefox).
**Bench diff**: Impact on the performance of LibreWolf, it can be a gain or a loss of performance +100/5000 stand for 2% gained performance and -1500/5000 stand for -30% performance loss.
**lockPref**: Locked preference can not be changed by extensions or updates, they can only be changed in `mozilla.cfg`.
**Section**: Description of the settings section separated by ">>>".
**Defaulting VS Enforcing**: Defaulted settings can be changed by the user or an extension if permitted within the browser while enforced settings are locked and can not be changed within the browser, enforced settings can be changed in `mozilla.cfg`.
**About:config**: http://kb.mozillazine.org/About:config_entries.
LibreWolf Dark Theme
-------------------
LibreWolf provides a classic dark theme extension ([LibreWolf Dark Theme](https://addons.mozilla.org/en-US/firefox/addon/LibreWolf-dark-theme/)) but also a purified version of ShadowFox available under [dark-theme directory](https://github.com/LibreWolf-Browser/LibreWolf/tree/master/dark-theme) to install it just copy the directory chrome to your LibreWolf profile directory and then restart LibreWolf, this will expand the dark theme to internal pages like settings pages.
Tuning LibreWolf
---------------
**Restart Button**
One simple solution is to bookmark `about:restartrequired` or `about:profiles` ... when restart is needed open that page and click "normal restart". You can even go further and add the bookmarks links to your icons bar and rename the link to an empty text (you will then have a direct icon to `about:profiles` and a 2 clicks restart).
![capture](https://user-images.githubusercontent.com/6892180/48963055-bd914000-ef82-11e8-8ea4-a58e56f5c4a4.png)
...
**Alternative Dark Theme**
<a href="https://github.com/overdodactyl/ShadowFox" target="_blank"><img height=80px src="https://raw.githubusercontent.com/overdodactyl/ShadowFox/master/.github/Screenshots/header.png"></a>
**Linux Fix Text Colors**
On Linux when using a dark desktop theme LibreWolf could display white text over white background or black text on black input on some sites or addons, this is fixed in LibreWolf with `lockPref("ui.use_standins_for_native_colors", true);`.
If `ui.use_standins_for_native_colors` is not enough to fix everything you can fix this issue with an other additional solution by using the following values in `about:config` (you need to have Adwaita theme installed) [more details](https://github.com/DmitriK/darkContrast#text-contrast-for-dark-themes) (Note that this is not needed with the default LibreWolf settings as it is already fixed)
```
widget.content.allow-gtk-dark-theme;false
widget.chrome.allow-gtk-dark-theme;false
widget.content.gtk-theme-override;Adwaita:light
```
Other Addons
------------
**Other privacy addons**
- [NoHTTP](https://addons.mozilla.org/en-US/firefox/addon/nohttp): Block http traffic and/or redirect it to https (Excellent replacement for the unrecommended https-everywhere)
- [Google-Container](https://addons.mozilla.org/en-US/firefox/addon/google-container/): Open all Google sites in a container
- [Facebook-Container](https://addons.mozilla.org/en-US/firefox/addon/facebook-container/): Open all Facebook sites in a container
- [Request-Blocker](https://addons.mozilla.org/en-US/firefox/addon/request-blocker-we/): Hosts style blocking sites
- [Decentraleyes](https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/): Makes a lot of web resources available locally to improve privacy
- [Dont-Track-Me-Google](https://addons.mozilla.org/en-US/firefox/addon/dont-track-me-google1/): Cleaning Google search result links
- [Canvas-Blocker](https://addons.mozilla.org/en-US/firefox/addon/canvasblocker/): Prevent some fingerprinting techniques (This should not be used with browser plugins addon as it provide similar features)
- [Cookie-Quick-Manager](https://addons.mozilla.org/en-US/firefox/addon/cookie-quick-manager/): View and edit cookies
- [Mozilla-Multi-Account-Containers](https://addons.mozilla.org/en-US/firefox/addon/multi-account-containers/): Manage containers and assign sites to specific container
- [Switch-Containers](https://addons.mozilla.org/en-US/firefox/addon/switch-container/): Switching container for the current tab easily
- [Temporary-Containers](https://addons.mozilla.org/en-US/firefox/addon/temporary-containers/): Maximizing and automating container potential
- [Smart-Referer](https://addons.mozilla.org/en-US/firefox/addon/smart-referer/): Manage referer with a button (Send referers only when staying on the same domain.)
**Other useful addons**
- [Dormancy](https://addons.mozilla.org/en-US/firefox/addon/dormancy/): Unload tab after a certain time, useful for performance when opening a lot of tabs
- [Add Custom Search Engine](https://addons.mozilla.org/en-US/firefox/addon/add-custom-search-engine/): Customize your search engine
- [ProxySwitcheroo](https://addons.mozilla.org/en-US/firefox/addon/proxyswitcheroo/): Apply proxy settings in a click
- [UndoCloseTabButton](https://addons.mozilla.org/en-US/firefox/addon/undoclosetabbutton/): Reopen last closed tab
- [Advanced Github Notifier](https://addons.mozilla.org/en-US/firefox/addon/advanced-github-notifier/): Github notifications
- [Shortkeys](https://addons.mozilla.org/en-US/firefox/addon/shortkeys/): Add custom shortkeys
- [Tabboo](https://addons.mozilla.org/en-US/firefox/addon/tabboo-session-manager/): Session manager
**LibreWolf Addons For ESR And Tor**
- [LibreWolf HTTP Watcher ESR - Tor MoD](https://addons.mozilla.org/en-US/firefox/addon/LibreWolf-http-watcher-tor-mod/): Change the url bar color on http and onion sites (to green/red)
- [LibreWolf NoHTTP - Tor MoD](https://addons.mozilla.org/en-US/firefox/addon/nohttp-LibreWolf-mod-for-tor/): Block http traffic and/or redirect it to https (Excellent replacement for the unrecommended https-everywhere)
Tor Compatibility
-----------------
We do not recommend connecting over Tor on LibreWolf classic version (because of the missing LibreWolf-Tor-Addons, they are only included in the tor version for obvious reasons), use instead LibreWolf-Tor version if your threat model calls for it, or for accessing hidden services (Thus said tor settings have been enabled since v2 on all LibreWolf versions for user toriffying/proxifying their entire connection).
Currently LibreWolf-TBB is in beta test, Tor compatibility may change.
DRM Compatibility
-----------------
Digital rights management (DRM) is enforced off by default (this is needed for Netflix and similar); you can enable it with the following instructions:
- Open `mozilla.cfg`
- Under the section `Section: User Settings`
- Comment the active lines with `// ` under the subsection `User Settings: DRM/CDM - Main`
- Comment the active lines with `// ` under the subsection `User Settings: DRM/CDM - Widevine`
- Restart Firefox then open `about:preferences` and enable `Play DRM...` under general section
- Firefox will download Widevine and enable it (under `about:addons` plugins section) you can force the download by clicking `Check for updates` under the tools button
LibreWolf ESR
------------
For ESR users if you opt for `LibreWolf HTTP Watcher` you need to use this version [LibreWolf HTTP Watcher ESR - Tor MoD](https://addons.mozilla.org/en-US/firefox/addon/LibreWolf-http-watcher-tor-mod/)
Building And Packaging
----------------------
**Linux**
- `Build instruction will be updated soon`
**Windows**
- `Build instruction will be updated soon`
**Mac**
- `Build instruction will be updated soon`

8
archive/README.md Normal file
View file

@ -0,0 +1,8 @@
## Archive
These are parts of the original LibreFox and have not been reviewed yet. The files in this folder will be reviewed for:
* Integration into the browser itself
* Integration into the configuration scripts
* Moving to an external repository
* Deletion

View file

@ -0,0 +1,216 @@
========================================================================================================================
Build Notes v2 :
========================================================================================================================
- Compress tar.xz
tar cfJ <archive.tar.xz> <files>
- Files to remove :
crash-reporter...
crash-reporter...
removed-files
update...
update...
update...
browser/feature/webcomp...
browser/feature/webcomp...
browser/feature/...
- Tor files to remove :
Classic removal plus
https-everywhere addon
profile.meek-http-helper...
- Patching release :
>browser.omni.ja.chrome.browser.content.browser.preferences.in-content.privacy.origin (patch with winrar)
Tor : patch mozilla.cfg
- Tor windows :
Install it to desktop then get the files
(Only the lnk file is a new file compared to compressed version)
remove lnk file
add link.vbs
add bat file
- Tor mac :
Under mac, mount and extract all content to a folder
Copy by command .DS_Store (from dmg to folder)
run "codesign --remove-signature Tor\ Browser.app".
With disk utils, create a dmg from a folder (nocompression rw)
We are converting iso-dmg to dmg...
========================================================================================================================
JS Note & Debugging :
========================================================================================================================
// ----------
// CSP Note :
// ----------
//
// Syntax :
// One or more sources can be allowed for the default-src policy:
// Content-Security-Policy: default-src <source> <source>;
// Content-Security-Policy: default-src <source>;
//
// default-src is a fallback for :
// - child-src
// - connect-src
// - font-src
// - frame-src
// - img-src
// - manifest-src
// - media-src
// - object-src
// - prefetch-src
// - script-src
// - style-src
// - worker-src
//
// <source> can be one of the following:
//
// 'none'
// Refers to the empty set; that is, no URLs match. The single quotes are required.
//
// 'self'
// Refers to the origin from which the protected document is being served,
// including the same URL scheme and port number. You must include the single quotes.
// Some browsers specifically exclude blob and filesystem from source directives.
// Sites needing to allow these content types can specify them using the Data attribute.
//
// 'unsafe-inline'
// Allows the use of inline resources, such as inline <script> elements, javascript:
// URLs, inline event handlers, and inline <style> elements. You must include the single quotes.
//
// 'unsafe-eval'
// Allows the use of eval() and similar methods for creating code from strings.
// You must include the single quotes.
//
// <scheme-source>
// A schema such as 'http:' or 'https:'. The colon is required, single quotes
// shouldn't be used. You can also specify data schemas (not recommended).
// - data: Allows data: URIs to be used as a content source. This is insecure;
// An attacker can also inject arbitrary data: URIs.
// Use this sparingly and definitely not for scripts.
// - mediastream: Allows mediastream: URIs to be used as a content source.
// - blob: Allows blob: URIs to be used as a content source.
// - filesystem: Allows filesystem: URIs to be used as a content source.
//
// <host-source>
// Internet hosts by name or IP address, as well as an optional URL scheme and/or port number.
// The site's address may include an optional leading wildcard (the asterisk character, '*'),
// and you may use a wildcard (again, '*') as the port number, indicating that all
// legal ports are valid for the source.
// Examples:
// - http://*.example.com: Matches all attempts to load from any subdomain of example.com using the http: URL scheme.
// - mail.example.com:443: Matches all attempts to access port 443 on mail.example.com.
// - https://store.example.com: Matches all attempts to access store.example.com using https:.
//
// Sources :
// https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/default-src
// -----------------
// Process Isolation
// -----------------
//
// Pref : Separate process for protocol
// defaultPref("extensions.webextensions.protocol.remote", true); //default true
//
// Pref : Separate process for protocol extension
// defaultPref("extensions.webextensions.remote", false); //default true
//
// Process remote (separating process) can partially firewall extension by
// denying access to some moz-extension (extension internal url like settings page)
// but this is not reliable not usable for a purpose of firewalling
// Setting this to false will break moz-extension URI loading
// unless other process sandboxing and extension remoting prefs are changed.
// Note, extensions.webextensions.protocol.remote=false is for
// debugging purposes only. With process-level sandboxing, child
// processes (specifically content and extension processes), will
// not be able to load most moz-extension URI's when the pref is
// set to false.
// ------------------
// Restricted Domains
// ------------------
//
// "extensions.webextensions.restrictedDomains"
//
// gHacks set this to empty ""... this is list of blocked domain for ext.
// Default value :
// "accounts-static.cdn.mozilla.net,accounts.firefox.com,addons.cdn.mozilla.net,addons.mozilla.org,
// api.accounts.firefox.com,content.cdn.mozilla.net,content.cdn.mozilla.net,discovery.
// addons.mozilla.org,input.mozilla.org,install.mozilla.org,oauth.accounts.firefox.
// com,profile.accounts.firefox.com,support.mozilla.org,sync.services.
// mozilla.com,testpilot.firefox.com"
//
// Managed in
// AddonManagerWebAPI.cpp
// WebExtensionPolicy.cpp
//
// Check function (When fail directly return deny) :
//
// WebExtensionPolicy::IsRestrictedURI
// - Check againt restrictedDomains (false-allow) domains->Contains
// - Check if IsValidSite (deny access) (false-allow)
// --- Check if empty string --(false-allow)
// --- Check https/http --(false-allow)
// --- Check SSL --(false-allow)
// --- Allow those domain directly --(true---deny)
// "addons.mozilla.org"
// "discovery.addons.mozilla.org"
// "testpilot.firefox.com"
// --- If pref "extensions.webapi.testing" --(true---deny)
// is true, it allow access to other
// sites list
// --- Return false --(false-allow)
// - Return false (false-allow)
// -----------------
// Other Possibility
// -----------------
//
// Other possibility (securefox extension) compare requests to url... filter etc...
//
// Other possibility... recompile and make it a native feature... (may be for futur version)
// Just invert the code to be !domains->Contains and thus allow only listed domain
//
// Other hidden setting
// int dom.ipc.keepProcessesAlive.extension //hidden settings
//
// Conclusion : patching binary "IsRestrictedURI" function OR build own version
// Durable solution is to rebuild... this feature is paused until futur versions
//
// ---------------------------------------
// Pref : CSP Settings For Extensions I/II
// ---------------------------------------
//
// Default Value : "
// script-src 'self' https://* moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline';
// object-src 'self' https://* moz-extension: blob: filesystem:;
// "
//
// Default Deny Value : "
// default-src 'self' moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline';
// script-src 'self' moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline';
// object-src 'self' moz-extension: blob: filesystem:;
// "
//
// Strict Deny Value : "
// default-src 'self' moz-extension: blob: filesystem:;
// script-src 'self' moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline';
// object-src 'self' moz-extension: blob: filesystem:;
// "
//
// Super Strict Deny Value : "
// default-src 'none';
// script-src 'self' moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline';
// object-src 'self' moz-extension: blob: filesystem:;
// "

View file

@ -0,0 +1,47 @@
// https://github.com/mozilla/policy-templates/blob/master/README.md
// Extensions
// This policy controls the installation, uninstallation and locking of extensions.
// Locked extensions cannot be disabled or uninstalled. For Install, you specify a
// list of URLs or paths. For Uninstall and Locked, you specify extension IDs.
"policies": {
"Extensions": {
"Install": ["https://addons.mozilla.org/firefox/downloads/somefile.xpi", "//path/to/xpi"],
"Uninstall": ["addon_id@mozilla.org"],
"Locked": ["addon_id@mozilla.org"]
}
}
"policies": {
"WebsiteFilter": {
"Block": ["<all_urls>"],
"Exceptions": ["http://example.org/*"]
}
}
"policies": {
"SanitizeOnShutdown": [true|false]
}
// Does not seems to work to remove engines
"policies": {
"SearchEngines": {
"Add": [
{
"Name": "",
"URLTemplate": "URL including {searchTerms} to substitute for the terms",
"Method": ["GET", "POST"],
"IconURL": "URL to icon",
"Alias": "Alias that can be used to access the engine",
"Description": "Description",
"SuggestURLTemplate": "URL for suggestions using {searchTerms}"
}
],
"Default": "Name of engine",
"PreventInstalls": [true|false],
"Remove": ["Twitter", "Wikipedia (en)"]
}
}

View file

@ -0,0 +1,14 @@
--- privacy.js 2010-01-01 00:00:00.000000000 +0100
+++ privacy.patched.js 2018-12-11 17:08:48.076552654 +0100
@@ -1746,6 +1746,11 @@
});
// set initial values
+
+ // Librefox
+ if (Services.prefs.prefIsLocked("browser.safebrowsing.downloads.enabled")) {
+ enableSafeBrowsing.setAttribute("disabled", "true");
+ }
enableSafeBrowsing.checked = safeBrowsingPhishingPref.value && safeBrowsingMalwarePref.value;
if (!enableSafeBrowsing.checked) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

View file

@ -0,0 +1,46 @@
#!/bin/bash
# Usage: ./package_macos.sh /path/to/Firefox.dmg [--install]
# If `--install` is passed, will copy Librefox.app into /Applications.
# Otherwise, Librefox.dmg will be created next to Firefox.dmg
repo=$(git rev-parse --show-toplevel)
vol=$(hdiutil attach "$1" -shadow | tail -n 1 | cut -f 3)
app="$(basename "$vol").app"
cp "$repo/packaging/mac/background.png" "$vol/.background/"
cd "$vol"
codesign --remove-signature "$app"
cd "$app/Contents"
rm -rf _CodeSignature Library/LaunchServices/org.mozilla.updater
cd MacOS
rm -rf plugin-container.app/Contents/_CodeSignature \
crashreporter.app \
updater.app
cd ../Resources
rm -rf update-settings.ini updater.ini
cp -R "$repo/librefox/." .
cd browser/features
rm -rf aushelper@mozilla.org.xpi \
firefox@getpocket.com.xpi \
onboarding@mozilla.org.xpi
if [ "$2" == "--install" ]; then
cd "$vol"
cp -R "$app" /Applications/Librefox.app
fi
cd "$repo"
hdiutil detach "$vol"
if [ "$2" != "--install" ]; then
out_dir=$(dirname "$1")
rm -f "$out_dir/Librefox.dmg"
hdiutil convert -format UDZO -o "$out_dir/Librefox.dmg" "$1" -shadow
fi

View file

@ -0,0 +1,10 @@
// Librefox
// Librefox Compatibility Fix
user_pref("extensions.autoDisableScopes", 0);
// Removing https-everywhere adding 2 librefox addons
user_pref("extensions.enabledAddons", "librefox.http.watcher.tor%40intika.be:2.8,%7Befd1ce61-97d1-4b4f-a378-67d0d41d858d%7D:1.2,%7B73a6fe31-595d-460b-a920-fcc0f8843232%7D:2.6.6.1,torbutton%40torproject.org:1.5.2,ubufox%40ubuntu.com:2.6,tor-launcher%40torproject.org:0.1.1pre-alpha,%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D:17.0.5");
// Icons arrangement
user_pref("browser.uiCustomization.state", '{"placements":{"widget-overflow-fixed-list":[],"nav-bar":["back-button","forward-button","stop-reload-button","urlbar-container","downloads-button","_73a6fe31-595d-460b-a920-fcc0f8843232_-browser-action","_efd1ce61-97d1-4b4f-a378-67d0d41d858d_-browser-action","torbutton-button"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["personal-bookmarks"],"PanelUI-contents":["home-button","edit-controls","zoom-controls","new-window-button","save-page-button","print-button","bookmarks-menu-button","history-panelmenu","find-button","preferences-button","add-ons-button","developer-button","https-everywhere-button"],"addon-bar":["addonbar-closebutton","status-bar"]},"seen":["developer-button","_73a6fe31-595d-460b-a920-fcc0f8843232_-browser-action"],"dirtyAreaCache":["PersonalToolbar","nav-bar","TabsToolbar","toolbar-menubar"],"currentVersion":14,"newElementCount":3}');

View file

@ -0,0 +1,3 @@
@echo off
REM wscript Browser\link.vbs %USERPROFILE%\Desktop\Librefox-Tor.lnk Browser\firefox.exe
wscript Browser\link.vbs Librefox-Tor.lnk Browser\firefox.exe

View file

@ -0,0 +1,9 @@
set fs = CreateObject("Scripting.FileSystemObject")
set ws = WScript.CreateObject("WScript.Shell")
set arg = Wscript.Arguments
linkFile = arg(0)
set link = ws.CreateShortcut(linkFile)
link.TargetPath = fs.BuildPath(ws.CurrentDirectory, arg(1))
link.Save

4
branding/README.md Normal file
View file

@ -0,0 +1,4 @@
## Branding
This folder contains all related icons, artwork, images and media related to LibreWolf.
If editing these files, avoid changing the names as scripts in the "browser" folder uses these to generate the browser branding

90
branding/icon/icon.svg Normal file
View file

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="67.733337mm"
height="67.733337mm"
viewBox="0 0 67.733337 67.733337"
version="1.1"
id="svg8"
inkscape:version="0.92.4 5da689c313, 2019-01-14"
sodipodi:docname="LibreWolf.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.9899495"
inkscape:cx="-15.106575"
inkscape:cy="110.91343"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1366"
inkscape:window-height="711"
inkscape:window-x="0"
inkscape:window-y="30"
inkscape:window-maximized="1"
inkscape:showpageshadow="false"
units="px"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-42.106554,-153.8982)">
<circle
style="fill:#00acff;fill-opacity:1;stroke:none;stroke-width:0.53545821;stroke-miterlimit:4;stroke-dasharray:none"
id="path875"
cx="75.973221"
cy="187.76486"
r="33.866669" />
<path
style="fill:#ffffff;stroke-width:0.13229167"
d="m 72.543594,214.67719 c -4.744093,-0.60875 -9.281981,-2.49991 -13.241953,-5.51858 -1.29157,-0.98455 -3.714943,-3.42363 -4.772834,-4.80375 -2.96241,-3.86476 -4.804479,-8.2508 -5.41218,-12.88661 -0.260164,-1.98464 -0.258719,-5.63349 0.0029,-7.44738 1.308078,-9.0677 7.01463,-16.8454 15.20915,-20.72918 3.811512,-1.80647 7.300266,-2.57114 11.730683,-2.57114 7.165903,0 13.5265,2.56749 18.680882,7.54063 2.483054,2.39575 4.148141,4.66808 5.573968,7.60677 1.92868,3.9751 2.70979,7.43276 2.70979,11.99526 0,6.00619 -1.7345,11.24407 -5.336957,16.11672 -1.070527,1.44797 -3.161747,3.64749 -4.549468,4.78507 -3.806562,3.12041 -8.658642,5.23183 -13.473174,5.86296 -1.663528,0.21807 -5.593318,0.24524 -7.120854,0.0492 z m 10.041381,-4.86547 c 2.898391,-0.91366 5.260364,-2.14146 7.540624,-3.91979 1.212494,-0.9456 3.308223,-3.06144 4.186916,-4.22711 2.38328,-3.16162 4.004927,-7.12196 4.482067,-10.94597 0.229814,-1.84182 0.09634,-5.73827 -0.2545,-7.4296 -0.9294,-4.48046 -2.931647,-8.26499 -6.086007,-11.50342 -1.966575,-2.01898 -3.756882,-3.34972 -6.060203,-4.50458 -3.495001,-1.75236 -6.489835,-2.46043 -10.423481,-2.46442 -4.164073,-0.004 -7.815325,0.95024 -11.429055,2.98766 -3.289753,1.85476 -6.690628,5.25952 -8.553227,8.563 -1.371786,2.43299 -2.37583,5.32029 -2.767595,7.95869 -0.256867,1.72991 -0.261933,5.16508 -0.01006,6.82145 0.504067,3.31489 1.761474,6.59111 3.584314,9.33904 0.995409,1.50058 0.964154,1.48393 1.842248,0.98153 1.570774,-0.8987 1.980396,-1.33342 2.836087,-3.00984 1.000624,-1.96036 2.070459,-3.6735 3.037094,-4.86332 1.115822,-1.37347 1.269228,-1.61793 1.828988,-2.9147 0.281654,-0.65249 0.786977,-1.61074 1.122938,-2.12943 l 0.61084,-0.94309 -0.79023,-0.77671 c -1.049647,-1.03168 -1.922751,-2.2016 -2.087012,-2.79651 -0.167761,-0.60758 0.03021,-0.9466 0.818744,-1.40207 0.797354,-0.46057 1.367585,-0.5929 3.498657,-0.81193 1.037629,-0.10665 2.164153,-0.30199 2.518962,-0.43681 0.353024,-0.13414 1.407825,-0.70824 2.344001,-1.27579 2.702947,-1.63863 2.931619,-1.72344 4.552111,-1.68831 1.368686,0.0297 1.371262,0.0291 2.182813,-0.46143 1.700674,-1.02802 4.14305,-2.88289 7.357044,-5.58733 0.61632,-0.5186 1.21002,-0.92569 1.31934,-0.90464 0.45462,0.0876 1.289567,2.13636 1.416407,3.47562 0.07693,0.81225 -0.08023,1.6155 -0.562014,2.87261 -0.13146,0.34301 -0.19208,0.67043 -0.134706,0.7276 0.13774,0.13726 0.610706,-0.4535 0.610706,-0.76279 0,-0.39435 0.261127,-0.43936 0.616327,-0.10623 0.258235,0.24218 0.480842,0.31151 1.000202,0.31151 0.567073,0 0.707447,0.0526 0.928773,0.3479 0.375574,0.50112 0.463647,1.86688 0.176201,2.73231 -0.279641,0.84191 -1.124801,1.81287 -1.891829,2.17341 -0.686334,0.32262 -2.075841,1.67928 -2.726081,2.66164 -0.248906,0.37604 -0.715586,1.15995 -1.037066,1.74204 -0.321487,0.58208 -0.86074,1.46154 -1.19834,1.95436 -0.664294,0.96972 -1.233147,2.3224 -1.782214,4.23798 -0.322553,1.1253 -0.34962,1.41826 -0.362953,3.92797 -0.01613,3.0317 -0.172894,3.77561 -0.9925,4.7091 -0.931805,1.06126 -1.861937,3.39186 -1.940127,4.8613 -0.04935,0.92751 -0.192246,1.83164 -0.395304,2.50122 -0.08942,0.29484 0.07752,0.2914 1.072102,-0.0221 z"
id="path847"
inkscape:connector-curvature="0" />
<path
sodipodi:type="star"
style="fill:#00acff;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="path814"
sodipodi:sides="4"
sodipodi:cx="18.854025"
sodipodi:cy="172.98837"
sodipodi:r1="1.6036172"
sodipodi:r2="1.1339285"
sodipodi:arg1="1.5707963"
sodipodi:arg2="2.3561945"
inkscape:flatsided="true"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 18.854025,174.59199 -1.603617,-1.60362 1.603617,-1.60361 1.603617,1.60361 z"
transform="matrix(0.23203125,0.40188991,-0.99392962,0.57384553,246.21921,73.888081)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.8 KiB

View file

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="67.733337mm"
height="67.733337mm"
viewBox="0 0 67.733337 67.733337"
version="1.1"
id="svg8"
inkscape:version="0.92.4 5da689c313, 2019-01-14"
sodipodi:docname="LibreWolf.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="187.46066"
inkscape:cy="134.07761"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1366"
inkscape:window-height="711"
inkscape:window-x="0"
inkscape:window-y="30"
inkscape:window-maximized="1"
inkscape:showpageshadow="false"
units="px"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-42.106554,-153.8982)">
<path
style="fill:#00acff;fill-opacity:1;stroke:none;stroke-width:2.02377915;stroke-miterlimit:4;stroke-dasharray:none"
d="M 128 0 A 128.00001 128.00001 0 0 0 0 128 A 128.00001 128.00001 0 0 0 128 256 A 128.00001 128.00001 0 0 0 256 128 A 128.00001 128.00001 0 0 0 128 0 z M 128.32617 25.785156 C 155.4099 25.785156 179.44856 35.489037 198.92969 54.285156 C 208.31446 63.339959 214.60909 71.928296 219.99805 83.035156 C 227.28755 98.059156 230.23828 111.127 230.23828 128.37109 C 230.23828 151.07165 223.68394 170.86884 210.06836 189.28516 C 206.02227 194.7578 198.11798 203.07158 192.87305 207.37109 C 178.48604 219.16477 160.14783 227.14392 141.95117 229.5293 C 135.66382 230.3535 120.81047 230.45578 115.03711 229.71484 L 115.03711 229.7168 C 97.106679 227.41601 79.957058 220.26657 64.990234 208.85742 C 60.10871 205.13629 50.9495 195.91933 46.951172 190.70312 C 35.754662 176.09617 28.790963 159.51727 26.494141 141.99609 C 25.510844 134.49509 25.517063 120.70526 26.505859 113.84961 C 31.449776 79.577987 53.016868 50.18276 83.988281 35.503906 C 98.393996 28.676303 111.58129 25.785156 128.32617 25.785156 z M 127.99023 41.267578 C 112.25201 41.25246 98.451161 44.858109 84.792969 52.558594 C 72.359257 59.56871 59.504588 72.438234 52.464844 84.923828 C 47.280141 94.119381 43.486546 105.032 42.005859 115.00391 C 41.035023 121.54215 41.014836 134.52486 41.966797 140.78516 C 43.871932 153.31387 48.624198 165.69615 55.513672 176.08203 C 59.275848 181.75351 59.157783 181.6918 62.476562 179.79297 C 68.413346 176.39631 69.963158 174.75209 73.197266 168.41602 C 76.979152 161.00678 81.022358 154.53211 84.675781 150.03516 C 88.893061 144.84409 89.472262 143.92071 91.587891 139.01953 C 92.65241 136.55343 94.562257 132.93111 95.832031 130.9707 L 98.140625 127.40625 L 95.154297 124.4707 C 91.187127 120.57144 87.886454 116.14887 87.265625 113.90039 C 86.631568 111.60403 87.381042 110.32302 90.361328 108.60156 C 93.37495 106.86083 95.529543 106.36103 103.58398 105.5332 C 107.50573 105.13012 111.76251 104.39237 113.10352 103.88281 C 114.43778 103.37583 118.42459 101.20562 121.96289 99.060547 C 132.17875 92.8673 133.04327 92.546913 139.16797 92.679688 C 144.34096 92.791938 144.35069 92.789519 147.41797 90.935547 C 153.84571 87.050117 163.07723 80.039865 175.22461 69.818359 C 177.55401 67.858296 179.79776 66.318878 180.21094 66.398438 C 181.92919 66.729523 185.08506 74.473386 185.56445 79.535156 C 185.85521 82.605078 185.26037 85.641296 183.43945 90.392578 C 182.9426 91.688994 182.71479 92.926503 182.93164 93.142578 C 183.45223 93.661356 185.24023 91.428736 185.24023 90.259766 C 185.24023 88.769309 186.22587 88.598348 187.56836 89.857422 C 188.54437 90.772748 189.38667 91.035156 191.34961 91.035156 C 193.49288 91.035156 194.02287 91.233515 194.85938 92.349609 C 196.27886 94.243606 196.6118 99.406822 195.52539 102.67773 C 194.46848 105.85976 191.274 109.52796 188.375 110.89062 C 185.78098 112.10998 180.52987 117.23832 178.07227 120.95117 C 177.13152 122.37243 175.36739 125.33513 174.15234 127.53516 C 172.93727 129.73514 170.89902 133.05925 169.62305 134.92188 C 167.11233 138.58695 164.96193 143.69947 162.88672 150.93945 C 161.66762 155.19256 161.56602 156.29964 161.51562 165.78516 C 161.45467 177.24355 160.8614 180.05583 157.76367 183.58398 C 154.24189 187.59505 150.72716 196.40324 150.43164 201.95703 C 150.24512 205.46258 149.70496 208.87946 148.9375 211.41016 C 148.59953 212.52451 149.23118 212.51105 152.99023 211.32617 C 163.94478 207.87297 172.87193 203.23297 181.49023 196.51172 C 186.07289 192.9378 193.99341 184.94084 197.31445 180.53516 C 206.32213 168.58573 212.45054 153.61701 214.25391 139.16406 C 215.12249 132.20285 214.61898 117.47641 213.29297 111.08398 C 209.78028 94.149967 202.21105 79.847157 190.28906 67.607422 C 182.85634 59.976631 176.09023 54.946856 167.38477 50.582031 C 154.17531 43.958938 142.85756 41.282658 127.99023 41.267578 z M 144.16211 97.949219 L 136.73242 98.990234 L 132.11328 104.9043 L 139.54492 103.86133 L 144.16211 97.949219 z "
transform="matrix(0.26458333,0,0,0.26458333,42.106554,153.8982)"
id="path875" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.8 KiB

159
branding/logo/Logo.svg Normal file
View file

@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="314.78802mm"
height="67.733337mm"
viewBox="0 0 314.78802 67.733337"
version="1.1"
id="svg8"
inkscape:version="0.92.4 5da689c313, 2019-01-14"
sodipodi:docname="Logo (Pre Merging variant 2).svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.35"
inkscape:cx="187.36648"
inkscape:cy="312.95353"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1366"
inkscape:window-height="711"
inkscape:window-x="0"
inkscape:window-y="30"
inkscape:window-maximized="1"
inkscape:showpageshadow="false"
units="px"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
showguides="true"
inkscape:guide-bbox="true"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true">
<sodipodi:guide
position="5.6059918,150.21715"
orientation="1,0"
id="guide869"
inkscape:locked="false" />
<sodipodi:guide
position="309.18215,150.21715"
orientation="1,0"
id="guide871"
inkscape:locked="false" />
<sodipodi:guide
position="73.339052,116.35049"
orientation="1,0"
id="guide823"
inkscape:locked="false" />
<sodipodi:guide
position="278.22089,116.35049"
orientation="1,0"
id="guide825"
inkscape:locked="false" />
<sodipodi:guide
position="309.18227,116.35049"
orientation="0,1"
id="guide827"
inkscape:locked="false" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-141.21625,-244.81668)">
<g
id="g830"
transform="translate(0,-13.522126)">
<rect
ry="33.866665"
y="258.33881"
x="141.21625"
height="67.73333"
width="314.78802"
id="rect815"
style="fill:#00acff;fill-opacity:1;stroke:none;stroke-width:4.0283823;stroke-miterlimit:4;stroke-dasharray:none" />
<rect
ry="27.044252"
y="265.16122"
x="148.03986"
height="54.088505"
width="301.14081"
id="rect815-3"
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.52093244;stroke-miterlimit:4;stroke-dasharray:none" />
</g>
<g
id="g898"
transform="translate(-5.6059837,116.35049)">
<ellipse
ry="33.866669"
rx="33.866535"
cy="162.33286"
cx="180.68877"
id="path875"
style="fill:#00acff;fill-opacity:1;stroke:none;stroke-width:0.53545713;stroke-miterlimit:4;stroke-dasharray:none" />
<path
inkscape:connector-curvature="0"
id="path847"
d="m 177.2593,189.24526 c -4.74409,-0.60875 -9.28199,-2.4999 -13.24196,-5.51857 -1.29157,-0.98454 -3.71494,-3.42362 -4.77283,-4.80374 -2.96242,-3.86475 -4.80449,-8.25078 -5.41219,-12.88658 -0.26017,-1.98463 -0.25872,-5.63348 0.003,-7.44736 1.30807,-9.06768 7.01464,-16.84537 15.20917,-20.72914 3.81151,-1.80647 7.30026,-2.57113 11.73069,-2.57113 7.1659,0 13.52651,2.56748 18.68089,7.54061 2.48307,2.39574 4.14815,4.66807 5.57398,7.60675 1.92868,3.9751 2.70979,7.43275 2.70979,11.99524 0,6.00618 -1.7345,11.24405 -5.33696,16.11669 -1.07052,1.44796 -3.16175,3.64748 -4.54948,4.78506 -3.80656,3.1204 -8.65865,5.23181 -13.47318,5.86294 -1.66353,0.21807 -5.59333,0.24524 -7.12086,0.0492 z m 10.04139,-4.86546 c 2.89841,-0.91365 5.26038,-2.14145 7.54064,-3.91978 1.21249,-0.9456 3.30822,-3.06143 4.18691,-4.2271 2.38329,-3.16161 4.00494,-7.12194 4.48208,-10.94595 0.22982,-1.84181 0.0963,-5.73826 -0.2545,-7.42958 -0.9294,-4.48045 -2.93165,-8.26497 -6.08602,-11.5034 -1.96657,-2.01897 -3.75688,-3.34971 -6.0602,-4.50457 -3.49501,-1.75235 -6.48984,-2.46042 -10.42349,-2.46441 -4.16408,-0.004 -7.81533,0.95023 -11.42906,2.98765 -3.28977,1.85476 -6.69064,5.25951 -8.55324,8.56298 -1.37179,2.43299 -2.37584,5.32028 -2.76761,7.95868 -0.25686,1.7299 -0.26193,5.16507 -0.0101,6.82143 0.50407,3.31489 1.76149,6.5911 3.58433,9.33902 0.99541,1.50058 0.96415,1.48393 1.84225,0.98153 1.57077,-0.8987 1.98039,-1.33342 2.83608,-3.00983 1.00063,-1.96036 2.07046,-3.6735 3.03711,-4.86331 1.11582,-1.37347 1.26922,-1.61793 1.82898,-2.9147 0.28166,-0.65249 0.78698,-1.61073 1.12294,-2.12942 l 0.61084,-0.94309 -0.79023,-0.77671 c -1.04964,-1.03168 -1.92275,-2.20159 -2.08701,-2.7965 -0.16776,-0.60758 0.0302,-0.9466 0.81874,-1.40207 0.79736,-0.46057 1.36759,-0.5929 3.49866,-0.81193 1.03763,-0.10665 2.16415,-0.30199 2.51896,-0.43681 0.35303,-0.13414 1.40783,-0.70824 2.344,-1.27578 2.70296,-1.63863 2.93163,-1.72344 4.55213,-1.68831 1.36868,0.0297 1.37126,0.0291 2.18281,-0.46143 1.70067,-1.02802 4.14306,-2.88288 7.35705,-5.58732 0.61632,-0.5186 1.21002,-0.92569 1.31934,-0.90464 0.45462,0.0876 1.28957,2.13636 1.41641,3.47562 0.0769,0.81224 -0.0802,1.61549 -0.56201,2.8726 -0.13146,0.34301 -0.19208,0.67043 -0.13471,0.7276 0.13774,0.13726 0.61071,-0.4535 0.61071,-0.76279 0,-0.39435 0.26112,-0.43936 0.61632,-0.10623 0.25824,0.24218 0.48084,0.31151 1.0002,0.31151 0.56708,0 0.70745,0.0526 0.92878,0.3479 0.37557,0.50112 0.46364,1.86687 0.1762,2.7323 -0.27964,0.84191 -1.1248,1.81287 -1.89183,2.17341 -0.68633,0.32262 -2.07584,1.67928 -2.72608,2.66163 -0.24891,0.37604 -0.71559,1.15995 -1.03707,1.74204 -0.32148,0.58208 -0.86074,1.46154 -1.19834,1.95436 -0.66429,0.96971 -1.23314,2.32239 -1.78221,4.23797 -0.32255,1.12529 -0.34962,1.41825 -0.36295,3.92796 -0.0161,3.03169 -0.1729,3.7756 -0.99251,4.70909 -0.93181,1.06126 -1.86194,3.39185 -1.94013,4.86129 -0.0494,0.92751 -0.19225,1.83163 -0.39531,2.50121 -0.0894,0.29484 0.0775,0.2914 1.07211,-0.0221 z"
style="fill:#ffffff;stroke-width:0.13229167" />
<path
transform="matrix(0.23203125,0.40188991,-0.99392962,0.57384553,350.9349,48.456078)"
d="m 18.854025,174.59199 -1.603617,-1.60362 1.603617,-1.60361 1.603617,1.60361 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="true"
sodipodi:arg2="2.3561945"
sodipodi:arg1="1.5707963"
sodipodi:r2="1.1339285"
sodipodi:r1="1.6036172"
sodipodi:cy="172.98837"
sodipodi:cx="18.854025"
sodipodi:sides="4"
id="path814"
style="fill:#00acff;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="star" />
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="208.94958"
y="296.53955"
id="text819"><tspan
sodipodi:role="line"
x="208.94958"
y="296.53955"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.79999924px;font-family:Rajdhani;-inkscape-font-specification:'Rajdhani Bold';fill:#00acff;fill-opacity:1;stroke-width:0.26458332"
id="tspan853"> LibreWolf </tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8 KiB

BIN
branding/logo/Logo.svg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

1
branding/logo/Notes Normal file
View file

@ -0,0 +1 @@
Font used is Rajandi

150
branding/logo_2/Logo.svg Normal file
View file

@ -0,0 +1,150 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="292.36459mm"
height="67.733337mm"
viewBox="0 0 292.36459 67.733336"
version="1.1"
id="svg8"
inkscape:version="0.92.4 5da689c313, 2019-01-14"
sodipodi:docname="Logo (Pre Merging).svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.35"
inkscape:cx="279.50002"
inkscape:cy="312.95353"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1366"
inkscape:window-height="711"
inkscape:window-x="0"
inkscape:window-y="30"
inkscape:window-maximized="1"
inkscape:showpageshadow="false"
units="px"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
showguides="false"
inkscape:guide-bbox="true"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true">
<sodipodi:guide
position="5.605989,150.21715"
orientation="1,0"
id="guide869"
inkscape:locked="false" />
<sodipodi:guide
position="309.18215,150.21715"
orientation="1,0"
id="guide871"
inkscape:locked="false" />
<sodipodi:guide
position="73.339049,116.35049"
orientation="1,0"
id="guide823"
inkscape:locked="false" />
<sodipodi:guide
position="278.22089,116.35049"
orientation="1,0"
id="guide825"
inkscape:locked="false" />
<sodipodi:guide
position="309.18227,116.35049"
orientation="0,1"
id="guide827"
inkscape:locked="false" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-141.21625,-244.81668)">
<g
id="g898"
transform="translate(-5.6059837,116.35049)">
<ellipse
ry="33.866669"
rx="33.866535"
cy="162.33286"
cx="180.68877"
id="path875"
style="fill:#00acff;fill-opacity:1;stroke:none;stroke-width:0.53545713;stroke-miterlimit:4;stroke-dasharray:none" />
<path
inkscape:connector-curvature="0"
id="path847"
d="m 177.2593,189.24526 c -4.74409,-0.60875 -9.28199,-2.4999 -13.24196,-5.51857 -1.29157,-0.98454 -3.71494,-3.42362 -4.77283,-4.80374 -2.96242,-3.86475 -4.80449,-8.25078 -5.41219,-12.88658 -0.26017,-1.98463 -0.25872,-5.63348 0.003,-7.44736 1.30807,-9.06768 7.01464,-16.84537 15.20917,-20.72914 3.81151,-1.80647 7.30026,-2.57113 11.73069,-2.57113 7.1659,0 13.52651,2.56748 18.68089,7.54061 2.48307,2.39574 4.14815,4.66807 5.57398,7.60675 1.92868,3.9751 2.70979,7.43275 2.70979,11.99524 0,6.00618 -1.7345,11.24405 -5.33696,16.11669 -1.07052,1.44796 -3.16175,3.64748 -4.54948,4.78506 -3.80656,3.1204 -8.65865,5.23181 -13.47318,5.86294 -1.66353,0.21807 -5.59333,0.24524 -7.12086,0.0492 z m 10.04139,-4.86546 c 2.89841,-0.91365 5.26038,-2.14145 7.54064,-3.91978 1.21249,-0.9456 3.30822,-3.06143 4.18691,-4.2271 2.38329,-3.16161 4.00494,-7.12194 4.48208,-10.94595 0.22982,-1.84181 0.0963,-5.73826 -0.2545,-7.42958 -0.9294,-4.48045 -2.93165,-8.26497 -6.08602,-11.5034 -1.96657,-2.01897 -3.75688,-3.34971 -6.0602,-4.50457 -3.49501,-1.75235 -6.48984,-2.46042 -10.42349,-2.46441 -4.16408,-0.004 -7.81533,0.95023 -11.42906,2.98765 -3.28977,1.85476 -6.69064,5.25951 -8.55324,8.56298 -1.37179,2.43299 -2.37584,5.32028 -2.76761,7.95868 -0.25686,1.7299 -0.26193,5.16507 -0.0101,6.82143 0.50407,3.31489 1.76149,6.5911 3.58433,9.33902 0.99541,1.50058 0.96415,1.48393 1.84225,0.98153 1.57077,-0.8987 1.98039,-1.33342 2.83608,-3.00983 1.00063,-1.96036 2.07046,-3.6735 3.03711,-4.86331 1.11582,-1.37347 1.26922,-1.61793 1.82898,-2.9147 0.28166,-0.65249 0.78698,-1.61073 1.12294,-2.12942 l 0.61084,-0.94309 -0.79023,-0.77671 c -1.04964,-1.03168 -1.92275,-2.20159 -2.08701,-2.7965 -0.16776,-0.60758 0.0302,-0.9466 0.81874,-1.40207 0.79736,-0.46057 1.36759,-0.5929 3.49866,-0.81193 1.03763,-0.10665 2.16415,-0.30199 2.51896,-0.43681 0.35303,-0.13414 1.40783,-0.70824 2.344,-1.27578 2.70296,-1.63863 2.93163,-1.72344 4.55213,-1.68831 1.36868,0.0297 1.37126,0.0291 2.18281,-0.46143 1.70067,-1.02802 4.14306,-2.88288 7.35705,-5.58732 0.61632,-0.5186 1.21002,-0.92569 1.31934,-0.90464 0.45462,0.0876 1.28957,2.13636 1.41641,3.47562 0.0769,0.81224 -0.0802,1.61549 -0.56201,2.8726 -0.13146,0.34301 -0.19208,0.67043 -0.13471,0.7276 0.13774,0.13726 0.61071,-0.4535 0.61071,-0.76279 0,-0.39435 0.26112,-0.43936 0.61632,-0.10623 0.25824,0.24218 0.48084,0.31151 1.0002,0.31151 0.56708,0 0.70745,0.0526 0.92878,0.3479 0.37557,0.50112 0.46364,1.86687 0.1762,2.7323 -0.27964,0.84191 -1.1248,1.81287 -1.89183,2.17341 -0.68633,0.32262 -2.07584,1.67928 -2.72608,2.66163 -0.24891,0.37604 -0.71559,1.15995 -1.03707,1.74204 -0.32148,0.58208 -0.86074,1.46154 -1.19834,1.95436 -0.66429,0.96971 -1.23314,2.32239 -1.78221,4.23797 -0.32255,1.12529 -0.34962,1.41825 -0.36295,3.92796 -0.0161,3.03169 -0.1729,3.7756 -0.99251,4.70909 -0.93181,1.06126 -1.86194,3.39185 -1.94013,4.86129 -0.0494,0.92751 -0.19225,1.83163 -0.39531,2.50121 -0.0894,0.29484 0.0775,0.2914 1.07211,-0.0221 z"
style="fill:#ffffff;stroke-width:0.13229167" />
<path
transform="matrix(0.23203125,0.40188991,-0.99392962,0.57384553,350.9349,48.456078)"
d="m 18.854025,174.59199 -1.603617,-1.60362 1.603617,-1.60361 1.603617,1.60361 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="true"
sodipodi:arg2="2.3561945"
sodipodi:arg1="1.5707963"
sodipodi:r2="1.1339285"
sodipodi:r1="1.6036172"
sodipodi:cy="172.98837"
sodipodi:cx="18.854025"
sodipodi:sides="4"
id="path814"
style="fill:#00acff;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="star" />
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="208.94958"
y="296.53955"
id="text819"><tspan
sodipodi:role="line"
x="208.94958"
y="296.53955"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.79999924px;font-family:Rajdhani;-inkscape-font-specification:'Rajdhani Bold';fill:#00acff;fill-opacity:1;stroke-width:0.26458332"
id="tspan853"> LibreWolf </tspan></text>
<flowRoot
xml:space="preserve"
id="flowRoot826"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
transform="matrix(0.26458333,0,0,0.26458333,208.94958,260.82715)"><flowRegion
id="flowRegion828"><rect
id="rect830"
width="180"
height="148.57143"
x="-325.71429"
y="-259.30972" /></flowRegion><flowPara
id="flowPara832"></flowPara></flowRoot> </g>
</svg>

After

Width:  |  Height:  |  Size: 8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="292.36459mm"
height="67.733337mm"
viewBox="0 0 292.36459 67.733336"
version="1.1"
id="svg8"
inkscape:version="0.92.4 5da689c313, 2019-01-14"
sodipodi:docname="Logo.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="261.1233"
inkscape:cy="69.658245"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1366"
inkscape:window-height="711"
inkscape:window-x="0"
inkscape:window-y="30"
inkscape:window-maximized="1"
inkscape:showpageshadow="false"
units="px"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
showguides="false"
inkscape:guide-bbox="true"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true">
<sodipodi:guide
position="5.605989,150.21715"
orientation="1,0"
id="guide869"
inkscape:locked="false" />
<sodipodi:guide
position="309.18215,150.21715"
orientation="1,0"
id="guide871"
inkscape:locked="false" />
<sodipodi:guide
position="73.339049,116.35049"
orientation="1,0"
id="guide823"
inkscape:locked="false" />
<sodipodi:guide
position="278.22089,116.35049"
orientation="1,0"
id="guide825"
inkscape:locked="false" />
<sodipodi:guide
position="309.18227,116.35049"
orientation="0,1"
id="guide827"
inkscape:locked="false" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-141.21625,-244.81668)">
<path
style="fill:#00acff;fill-opacity:1;stroke:none;stroke-width:2.0237751;stroke-miterlimit:4;stroke-dasharray:none"
d="M 128 0 A 127.9995 128.00001 0 0 0 0 128 A 127.9995 128.00001 0 0 0 128 256 A 127.9995 128.00001 0 0 0 255.99805 128 A 127.9995 128.00001 0 0 0 128 0 z M 128.32617 25.785156 C 155.40989 25.785156 179.45052 35.489074 198.93164 54.285156 C 208.31647 63.339922 214.60908 71.928334 219.99805 83.035156 C 227.28755 98.059156 230.24023 111.12899 230.24023 128.37305 C 230.24023 151.07357 223.68396 170.86888 210.06836 189.28516 C 206.0223 194.75776 198.11801 203.07158 192.87305 207.37109 C 178.48605 219.16473 160.14782 227.14392 141.95117 229.5293 C 135.66381 230.3535 120.81045 230.45774 115.03711 229.7168 C 97.10669 227.41601 79.95705 220.26851 64.990234 208.85938 C 60.10871 205.13828 50.949496 195.91933 46.951172 190.70312 C 35.754624 176.09621 28.79096 159.51918 26.494141 141.99805 C 25.510821 134.49708 25.516681 120.70522 26.505859 113.84961 C 31.449746 79.578063 53.018783 50.182722 83.990234 35.503906 C 98.395941 28.676303 111.58124 25.785156 128.32617 25.785156 z M 127.99023 41.267578 C 112.25198 41.25246 98.451161 44.860062 84.792969 52.560547 C 72.359192 59.570663 59.504592 72.438272 52.464844 84.923828 C 47.280126 94.119381 43.486565 105.032 42.005859 115.00391 C 41.03505 121.54211 41.014998 134.5249 41.966797 140.78516 C 43.871943 153.31387 48.624198 165.69619 55.513672 176.08203 C 59.275851 181.75351 59.15776 181.6918 62.476562 179.79297 C 68.413331 176.39631 69.963162 174.75205 73.197266 168.41602 C 76.979174 161.00678 81.022301 154.53208 84.675781 150.03516 C 88.893054 144.84409 89.472262 143.92071 91.587891 139.01953 C 92.652432 136.55343 94.562261 132.93111 95.832031 130.9707 L 98.140625 127.40625 L 95.154297 124.4707 C 91.187154 120.57144 87.88645 116.15082 87.265625 113.90234 C 86.631571 111.60598 87.381019 110.32498 90.361328 108.60352 C 93.374972 106.86278 95.529551 106.36103 103.58398 105.5332 C 107.50574 105.13012 111.7625 104.39237 113.10352 103.88281 C 114.4378 103.37583 118.42461 101.20558 121.96289 99.060547 C 132.1788 92.8673 133.04324 92.546913 139.16797 92.679688 C 144.34093 92.791938 144.35069 92.789519 147.41797 90.935547 C 153.8457 87.050117 163.07725 80.039865 175.22461 69.818359 C 177.55401 67.858296 179.79776 66.320832 180.21094 66.400391 C 181.92919 66.731477 185.08506 74.473386 185.56445 79.535156 C 185.8551 82.60504 185.26047 85.641296 183.43945 90.392578 C 182.9426 91.688994 182.71481 92.926503 182.93164 93.142578 C 183.45223 93.661356 185.24023 91.428736 185.24023 90.259766 C 185.24023 88.769309 186.22587 88.600301 187.56836 89.859375 C 188.54438 90.774701 189.38667 91.035156 191.34961 91.035156 C 193.4929 91.035156 194.02285 91.235469 194.85938 92.351562 C 196.27884 94.245559 196.61178 99.406822 195.52539 102.67773 C 194.46848 105.85976 191.27401 109.52991 188.375 110.89258 C 185.781 112.11193 180.52987 117.23835 178.07227 120.95117 C 177.1315 122.37243 175.36739 125.33513 174.15234 127.53516 C 172.9373 129.73514 170.89902 133.05925 169.62305 134.92188 C 167.11234 138.58691 164.96194 143.69947 162.88672 150.93945 C 161.66763 155.19252 161.56601 156.29964 161.51562 165.78516 C 161.45478 177.24351 160.86141 180.05583 157.76367 183.58398 C 154.24187 187.59505 150.72716 196.40324 150.43164 201.95703 C 150.24493 205.46258 149.70497 208.87946 148.9375 211.41016 C 148.59961 212.52451 149.23108 212.51105 152.99023 211.32617 C 163.94485 207.87301 172.87193 203.23297 181.49023 196.51172 C 186.07287 192.9378 193.99342 184.94084 197.31445 180.53516 C 206.32216 168.58576 212.45054 153.61897 214.25391 139.16602 C 215.12252 132.20484 214.61883 117.47637 213.29297 111.08398 C 209.78028 94.150005 202.21109 79.847157 190.28906 67.607422 C 182.85636 59.976669 176.09023 54.946856 167.38477 50.582031 C 154.17528 43.958976 142.85757 41.282658 127.99023 41.267578 z M 144.16211 97.949219 L 136.73242 98.990234 L 132.11523 104.9043 L 139.54492 103.86133 L 144.16211 97.949219 z "
transform="matrix(0.26458333,0,0,0.26458333,141.21625,244.81668)"
id="path875" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="208.94958"
y="296.53955"
id="text819"><tspan
sodipodi:role="line"
x="208.94958"
y="296.53955"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.79999924px;font-family:Rajdhani;-inkscape-font-specification:'Rajdhani Bold';fill:#00acff;fill-opacity:1;stroke-width:0.26458332"
id="tspan853"> LibreWolf </tspan></text>
<flowRoot
xml:space="preserve"
id="flowRoot826"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
transform="matrix(0.26458333,0,0,0.26458333,208.94958,260.82715)"><flowRegion
id="flowRegion828"><rect
id="rect830"
width="180"
height="148.57143"
x="-325.71429"
y="-259.30972" /></flowRegion><flowPara
id="flowPara832" /></flowRoot> </g>
</svg>

After

Width:  |  Height:  |  Size: 7.9 KiB

1
branding/logo_2/Notes Normal file
View file

@ -0,0 +1 @@
Font used is Rajandi

14
browser/README.md Normal file
View file

@ -0,0 +1,14 @@
This folder contains all the required material to build the browser.
### Requirements
* Ubuntu or Linux Mint
### Notes
* As this script installs files during the build, it is recommended to run this script in a VM or installation dedicated to building.
* You will occassionally need to enter your sudo password. Running this script as root has not been tested
* This script has been tested with Linux Mint 19.1
### Instructions
* Run build.sh inside this folder.
* Packages will be saved in the 'build_output' folder

149
browser/build.sh Executable file
View file

@ -0,0 +1,149 @@
#!/bin/bash
printf "\n------------------------------------- SCRIPT SETUP ------------------------------------------\n";
# Prevents build from breaking in CI/CD environments
export SHELL=/bin/bash;
# Sets up internal script variables
printf "\nSetting up script variables\n";
SCRIPT_FOLDER=$(realpath $(dirname $0));
REPOSITORY_FOLDER=$(realpath $SCRIPT_FOLDER/../);
BRANDING_FOLDER=$SCRIPT_FOLDER/resources/source_files/browser/branding/librewolf;
ICON_FILE=$REPOSITORY_FOLDER/branding/icon/icon.svg;
PACKAGE_FILE="librewolf*.tar.bz2";
APPIMAGE_RESOURCE_FOLDER=$SCRIPT_FOLDER/resources/appimage;
printf "SCRIPT_FOLDER: $SCRIPT_FOLDER\n";
printf "REPOSITORY_FOLDER: $REPOSITORY_FOLDER\n";
printf "BRANDING_FOLDER: $BRANDING_FOLDER\n";
printf "ICON_FILE: $ICON_FILE\n";
printf "PACKAGE_FILE: $PACKAGE_FILE\n";
printf "APPIMAGE_RESOURCE_FOLDER: $APPIMAGE_RESOURCE_FOLDER\n";
# Installs some needed dependencies
printf "\nInstalling script dependencies\n";
apt update;
apt install sudo python python3 inkscape wget -y;
printf "\n\n---------------------------------- ICON GENERATION ------------------------------------------\n";
printf "\nGenerating icons from $ICON_FILE and moving to $BRANDING_FOLDER\n";
# Linux Icons
inkscape -z -f $ICON_FILE -e $BRANDING_FOLDER/default16.png -w 16 -h16;
inkscape -z -f $ICON_FILE -e $BRANDING_FOLDER/default32.png -w 32 -h32;
inkscape -z -f $ICON_FILE -e $BRANDING_FOLDER/default48.png -w 48 -h48;
inkscape -z -f $ICON_FILE -e $BRANDING_FOLDER/default64.png -w 64 -h64;
inkscape -z -f $ICON_FILE -e $BRANDING_FOLDER/default128.png -w 128 -h128;
# Windows Icons
inkscape -z -f $ICON_FILE -e $BRANDING_FOLDER/VisualElements_70.png -w 70 -h70;
inkscape -z -f $ICON_FILE -e $BRANDING_FOLDER/VisualElements_150.png -w 150 -h150;
# TODO: Add Apple Icons
printf "\n\n-------------------------------------- PREBUILD ---------------------------------------------\n";
# Downloads and runs bootstrapper to install dependencies.
printf "\nRunning bootstrapper to install build dependencies\n";
wget https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py;
python ./bootstrap.py --application-choice=browser --no-interactive;
# adds the new rust install to PATH
printf "\nAdding new rust install to PATH\n";
. $HOME/.cargo/env;
printf "\n\n--------------------------------------- BUILD -----------------------------------------------\n";
# Creates and enters the folder where compiling will take place
printf "\nCreating compile folder\n";
mkdir compile_folder;
cd compile_folder;
# Clones the firefox source code for compiling
printf "\nCloning Firefox Source Code\n";
hg clone https://hg.mozilla.org/releases/mozilla-release;
# Copies our branding to the source code, changing it from firefox to librewolf
printf "\nCopying branding to firefox source code\n";
cp -r $SCRIPT_FOLDER/resources/source_files/* mozilla-release;
cd mozilla-release;
# Bootstraps librewolf again (using the ./mach script inside the source code)
printf "\nRunning bootstrapper to install build dependencies (using ./mach script within source code)\n";
./mach bootstrap --application-choice=browser --no-interactive;
# Builds librewolf
printf "\nBuilding LibreWolf\n";
./mach build;
# Packages LibreWolf
printf "\nPackaging LibreWolf\n";
./mach package;
cd $SCRIPT_FOLDER;
# moves the packaged tarball to the main folder
printf "\nRelocating binary tarball to script folder\n"
cp ./compile_folder/mozilla-release/obj*/dist/librewolf*.tar.bz2 ./;
printf "\n\n--------------------------------- SETTINGS INTEGRATION --------------------------------------\n";
# Extracts the binary tarball
printf "\nExtracting librewolf binary tarball\n";
tar -xvf ./$PACKAGE_FILE;
# Adds the librefox config files to the packaged tarball
printf "\nCopying librewolf settings to extracted binary tarball\n";
cp -r $REPOSITORY_FOLDER/settings/* ./librewolf;
# Repacks the binary tarball
printf "\nRecompressing binary tarball\n";
tar -jcvf ./$PACKAGE_FILE librewolf;
# Moves the final binary tarball to build_output
printf "\nMoving binary tarball to build_output folder\n";
mv $PACKAGE_FILE $SCRIPT_FOLDER/build_output/;
printf "\n\n------------------------------------ APPIMAGE BUILD -----------------------------------------\n";
# Copy and generate icons
printf "\nGenerating AppImage Icons\n";
cp $ICON_FILE $APPIMAGE_RESOURCE_FOLDER/librewolf.svg;
ln -rs $APPIMAGE_RESOURCE_FOLDER/librewolf.svg $SCRIPT_FOLDER/resources/appimage/.DirIcon;
# Copy appimage resources to main tarball
printf "Copying AppImage resources to binary tarball folder\n";
cp -vrT $APPIMAGE_RESOURCE_FOLDER ./librewolf;
# Downloads appimage tool
printf "\nDownloading AppImage Tool\n";
wget https://github.com/AppImage/AppImageKit/releases/latest/download/appimagetool-x86_64.AppImage;
chmod +x ./appimagetool-x86_64.AppImage;
# Generate AppImage
printf "\nGenerating AppImage\n";
./appimagetool-x86_64.AppImage ./librewolf;
chmod +x ./LibreWolf*.AppImage;
# Move AppImage to build_output folder
printf "\nMoving AppImage to build_output folder\n";
mv ./LibreWolf*.AppImage ./build_output;
printf "\n\n---------------------------------------- CLEANUP --------------------------------------------\n";
# Remove the compile folder
printf "\nDeleting the compile_folder\n";
rm -rf ./compile_folder;
# Delete the extracted binary tarball folder
printf "\nDeleting extracted binary tarball folder\n";
rm -rf ./librewolf;
# Delete the appimage tool
printf "\nRemoving AppImage tool\n";
rm -f ./appimagetool-x86_64.AppImage
# Delete the bootstrapper script
printf "\nRemoving bootstrapper.py\n";
rm -f ./bootstrap.py;

2
browser/build_output/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
*
!.gitignore

2
browser/resources/appimage/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
.DirIcon
librewolf.svg

View file

@ -0,0 +1,12 @@
#!/bin/sh
SELF=$(readlink -f "$0")
HERE=${SELF%/*}
export PATH="${HERE}:${HERE}/usr/bin/:${HERE}/usr/sbin/:${HERE}/usr/games/:${HERE}/bin/:${HERE}/sbin/${PATH:+:$PATH}"
export LD_LIBRARY_PATH="${HERE}/usr/lib/:${HERE}/usr/lib/i386-linux-gnu/:${HERE}/usr/lib/x86_64-linux-gnu/:${HERE}/usr/lib32/:${HERE}/usr/lib64/:${HERE}/lib/:${HERE}/lib/i386-linux-gnu/:${HERE}/lib/x86_64-linux-gnu/:${HERE}/lib32/:${HERE}/lib64/${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
export PYTHONPATH="${HERE}/usr/share/pyshared/${PYTHONPATH:+:$PYTHONPATH}"
export XDG_DATA_DIRS="${HERE}/usr/share/${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}"
export PERLLIB="${HERE}/usr/share/perl5/:${HERE}/usr/lib/perl5/${PERLLIB:+:$PERLLIB}"
export GSETTINGS_SCHEMA_DIR="${HERE}/usr/share/glib-2.0/schemas/${GSETTINGS_SCHEMA_DIR:+:$GSETTINGS_SCHEMA_DIR}"
export QT_PLUGIN_PATH="${HERE}/usr/lib/qt4/plugins/:${HERE}/usr/lib/i386-linux-gnu/qt4/plugins/:${HERE}/usr/lib/x86_64-linux-gnu/qt4/plugins/:${HERE}/usr/lib32/qt4/plugins/:${HERE}/usr/lib64/qt4/plugins/:${HERE}/usr/lib/qt5/plugins/:${HERE}/usr/lib/i386-linux-gnu/qt5/plugins/:${HERE}/usr/lib/x86_64-linux-gnu/qt5/plugins/:${HERE}/usr/lib32/qt5/plugins/:${HERE}/usr/lib64/qt5/plugins/${QT_PLUGIN_PATH:+:$QT_PLUGIN_PATH}"
EXEC=$(grep -e '^Exec=.*' "${HERE}"/*.desktop | head -n 1 | cut -d "=" -f 2 | cut -d " " -f 1)
exec "${EXEC}" "$@"

View file

@ -0,0 +1,6 @@
[Desktop Entry]
Name=LibreWolf
Exec=librewolf
Icon=librewolf
Type=Application
Categories=Network;

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View file

@ -0,0 +1,50 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# NSIS branding defines for unofficial builds.
# The official release build branding.nsi is located in other-license/branding/firefox/
# The nightly build branding.nsi is located in browser/installer/windows/nsis/
# BrandFullNameInternal is used for some registry and file system values
# instead of BrandFullName and typically should not be modified.
!define BrandFullNameInternal "LibreWolf"
!define BrandFullName "LibreWolf"
!define CompanyName "LibreWolf"
!define URLInfoAbout "https://www.libreWolf.gitlab.io"
!define HelpLink "https://github.com/LibreWolf-Browser"
!define URLStubDownloadX86 "https://github.com/LibreWolf-Browser/LibreWolf/releases"
!define URLStubDownloadAMD64 "https://github.com/LibreWolf-Browser/LibreWolf/releases"
!define URLStubDownloadAArch64 "https://github.com/LibreWolf-Browser/LibreWolf/releases"
!define URLManualDownload "https://github.com/LibreWolf-Browser/LibreWolf/releases"
!define URLSystemRequirements "https://github.com/LibreWolf-Browser/LibreWolf"
!define Channel "unofficial"
# The installer's certificate name and issuer expected by the stub installer
!define CertNameDownload "Mozilla Corporation"
!define CertIssuerDownload "DigiCert SHA2 Assured ID Code Signing CA"
# Dialog units are used so the UI displays correctly with the system's DPI
# settings.
# The dialog units for the bitmap's dimensions should match exactly with the
# bitmap's width and height in pixels.
!define APPNAME_BMP_WIDTH_DU 159u
!define APPNAME_BMP_HEIGHT_DU 50u
!define INTRO_BLURB_WIDTH_DU "230u"
!define INTRO_BLURB_EDGE_DU "198u"
!define INTRO_BLURB_LTR_TOP_DU "16u"
!define INTRO_BLURB_RTL_TOP_DU "11u"
!define INSTALL_FOOTER_TOP_DU "-48u"
# UI Colors that can be customized for each channel
!define FOOTER_CONTROL_TEXT_COLOR_NORMAL 0x000000
!define FOOTER_CONTROL_TEXT_COLOR_FADED 0x999999
!define FOOTER_BKGRD_COLOR 0xFFFFFF
!define INSTALL_FOOTER_TEXT_COLOR 0xFFFFFF
!define INTRO_BLURB_TEXT_COLOR 0xFFFFFF
!define INSTALL_BLURB_TEXT_COLOR 0xFFFFFF
!define INSTALL_PROGRESS_TEXT_COLOR_NORMAL 0xFFFFFF
!define COMMON_TEXT_COLOR_NORMAL 0xFFFFFF
!define COMMON_TEXT_COLOR_FADED 0xA1AAB3
!define COMMON_BKGRD_COLOR 0x0F1B26

View file

@ -0,0 +1,9 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
MOZ_APP_NAME=librewolf
MOZ_APP_BASENAME="LibreWolf"
MOZ_APP_PROFILE=librewolf
MOZ_APP_VENDOR=LibreWolf

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<svg xmlns="http://www.w3.org/2000/svg" width="132px" height="48px" viewBox="0 0 132 48">
<path fill="#fff" d="M60.6,14.3l-2.4-2.4C57,12.7,56,13,54.7,13c-3,0-3.8-1.4-7.6-1.4c-5.4,0-9.2,3.4-9.2,8.4
c0,3.3,2.2,6.1,5.6,7.2c-3.4,1-4.5,2.2-4.5,4.3c0,2.2,1.8,3.6,4.7,3.6h3.8c2.5,0,3.9,0.2,4.9,0.9c0.9,0.6,1.4,1.6,1.4,3
c0,3.1-2.2,4.4-6,4.4c-2,0-3.8-0.5-5.1-1.2c-0.9-0.6-1.5-1.6-1.5-2.9c0-0.8,0.3-1.7,0.7-2.2l-4.1,0.4c-0.3,1-0.5,1.7-0.5,2.6
c0,3.5,3,6.4,10.8,6.4c6.1,0,9.9-2.5,9.9-7.9c0-2.1-0.8-3.9-2.7-5.3c-1.5-1.1-3.1-1.4-6-1.4h-4c-1.3,0-2-0.5-2-1.2
c0-0.8,1.1-1.7,4.5-2.9c1.8,0,3.4-0.3,4.7-1.1c2.3-1.4,3.7-4.1,3.7-6.8c0-1.6-0.5-3-1.5-4.3c0.4,0.2,1.1,0.3,1.7,0.3
C57.9,15.8,59,15.4,60.6,14.3z M47.1,24.8c-3.1,0-4.8-1.7-4.8-4.8c0-3.5,1.6-5.1,4.7-5.1c3.3,0,4.6,1.5,4.6,4.9
C51.6,23.1,50.1,24.8,47.1,24.8z M30.7,1.3c-1.7,0-3,1.4-3,3.1s1.4,3,3,3c1.7,0,3.1-1.3,3.1-3C33.7,2.7,32.4,1.3,30.7,1.3z
M107.7,34.5c-1.1,0-1.4-0.6-1.4-2.5V6.5c0-3.8-0.6-5.9-0.6-5.9l-3.9,0.8c0,0,0.6,1.9,0.6,5.1v26.4c0,1.8,0.4,2.8,1.2,3.5
c0.7,0.7,1.7,1,2.9,1c1,0,1.5-0.1,2.5-0.5l-0.8-2.5C108.2,34.4,107.8,34.5,107.7,34.5z M74.7,11.6c-3.2,0-6.1,1.8-8.3,3.9
c0,0,0.2-1.8,0.2-3.4V6.3c0-3.8-0.7-5.9-0.7-5.9l-3.9,0.7c0,0,0.7,1.9,0.7,5.1V37h3.9V19.3c2.1-2.7,4.9-4.2,7.2-4.2
c1.3,0,2.3,0.4,2.9,1c0.7,0.7,0.9,1.8,0.9,3.7V37h3.8V19.1c0-1.8-0.1-2.6-0.4-3.6C80.4,13.2,77.7,11.6,74.7,11.6z M127.4,12.1
l-4.9,16.4c-0.6,2-1.6,5.2-1.6,5.2s-0.7-3.9-1.5-6.2l-5.1-16.2l-3.9,1.3l5.4,15.6c0.8,2.5,2.2,7.4,2.5,9l1.6-0.3
c-1.3,5.1-2.5,6.7-5.7,7.6l1.2,2.7c4.4-1,6.4-4.3,8-9.3l8.6-25.8H127.4z M96.9,15l1.2-2.9h-6.2c0-3.3,0.5-7.2,0.5-7.2l-4.1,0.9
c0,0-0.4,3.9-0.4,6.3h-3.2V15h3.2v17.1c0,2.5,0.7,4.1,2.4,5c0.9,0.4,1.9,0.7,3.3,0.7c1.8,0,3.1-0.4,4.4-1l-0.6-2.5
c-0.7,0.3-1.3,0.5-2.4,0.5c-2.4,0-3.2-0.9-3.2-3.7V15H96.9z M28.6,37h4.1V11.5l-4.1,0.6V37z M18.9,21.3c0,5,0.4,10.5,0.4,10.5
s-1.4-3.8-3.2-7.2L4.8,2.7H0V37h4.2L4,17.1c0-4.5-0.4-9.3-0.4-9.3s1.7,4.1,3.9,8.2l11,21h4.3V2.7h-4L18.9,21.3z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

View file

@ -0,0 +1,25 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#aboutDialogContainer {
background-image: url("chrome://branding/content/about-background.png");
background-repeat: no-repeat;
background-color: #00acff;
color: #fff;
}
.text-link {
color: #fff !important;
text-decoration: underline;
}
#rightBox {
/* this margin prevents text from overlapping the planet image */
margin-left: 280px;
margin-right: 20px;
}
#bottomBox {
background-color: rgba(0,0,0,.7);
}

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1011.2 346"><path d="M497.6 247.9l-58.5-122.3c1 11.9 2.7 29.5 2.7 56.2v66h-18.6v-144h25.9l59.1 122.5c-.4-3.3-2.7-26.3-2.7-43.9v-78.6h18.6v144h-26.5v.1zm80.1-138.4c0 7.3-5.4 13-13.6 13-7.9 0-13.4-5.6-13.4-13 0-7.5 5.4-13.2 13.4-13.2 8.1 0 13.6 5.7 13.6 13.2zm-23 28.3h19.2v110.1h-19.2V137.8zm105.3 8.4c13 5.9 19.4 15 19.4 27.8 0 21.7-15.7 37.4-42 37.4-5 0-9.4-.6-14-2.1-3.1 2.3-5.4 6.3-5.4 10.2 0 5 3.1 9 14.4 9H650c22.6 0 37.6 13 37.6 30.5 0 21.3-17.6 33.4-51.6 33.4-35.9 0-47.2-11.1-47.2-33.4h17.3c0 12.5 5.6 18.4 29.9 18.4 23.8 0 32.2-6.1 32.2-17.1 0-10.5-8.4-15.7-22.2-15.7h-17.3c-19.6 0-28.4-9.8-28.4-20.9 0-7.1 4.2-14.2 12.1-19.4-12.7-6.7-18.6-16.3-18.6-30.5 0-22.6 18.2-38.5 42.4-38.5 27.4.6 37.4-4 50.4-9.8l5.6 17.3c-9.2 2.9-19.6 3.4-32.2 3.4zm-46.6 27.5c0 14.6 8.2 24.9 23.2 24.9s23.2-9.2 23.2-25.1c0-16.1-7.9-24.5-23.6-24.5-14.8.1-22.8 10.3-22.8 24.7zm172.2-4.8v79h-19.2v-76.3c0-16.5-7.1-21.3-17.6-21.3-11.9 0-20.5 7.7-27.8 19.2v78.4h-19.2V93.7l19.2-2.1V153c7.9-10.9 18.8-17.8 32.6-17.8 20.1.1 32 13 32 33.7zm59.4 81.5c-18.6 0-29.7-10.9-29.7-31.3v-66.5h-19.2v-14.8h19.2v-24.9l19.2-2.3v27.2h26.1l-2.1 14.8h-24v65.6c0 11.1 3.6 16.3 13.2 16.3 4.8 0 9.2-1.5 14.6-4.8l7.3 13.2c-7.3 5-15.2 7.5-24.6 7.5zm59.3-15.8c2.7 0 5-.4 7.1-1.3l5 13.4c-5.2 2.5-10.7 3.8-16.3 3.8-14 0-21.9-8.4-21.9-24.2V93.5l19.2-2.3v134.6c0 5.8 1.9 8.8 6.9 8.8zm18.9 57.9l-2.1-15c22.4-3.8 28.6-12.3 34.9-29.5h-6.5l-37-110.1H933l29.5 96.1 28.8-96.1h19.9l-36.8 110.8c-7.8 23.3-20.7 40.4-51.2 43.8z" fill="#363959"/><radialGradient id="a" cx="-7592.893" cy="-8773.69" r="306.995" gradientTransform="matrix(1.23 0 0 1.22 9568.41 10762.02)" gradientUnits="userSpaceOnUse"><stop offset=".02" stop-color="#005fe7"/><stop offset=".18" stop-color="#0042b4"/><stop offset=".32" stop-color="#002989"/><stop offset=".4" stop-color="#002079"/><stop offset=".47" stop-color="#131d78"/><stop offset=".66" stop-color="#3b1676"/><stop offset=".75" stop-color="#4a1475"/></radialGradient><path d="M172 346c95.2 0 172.2-77.5 172.2-173S267.1 0 172.1 0 0 77.3 0 172.9C-.2 268.6 77 346 172 346z" fill="url(#a)"/></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 38 KiB

View file

@ -0,0 +1,18 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
% content branding %content/branding/ contentaccessible=yes
content/branding/about.png
content/branding/about-background.png
content/branding/about-logo.png
content/branding/about-wordmark.svg
content/branding/icon16.png (../default16.png)
content/branding/icon32.png (../default32.png)
content/branding/icon48.png (../default48.png)
content/branding/icon64.png (../default64.png)
content/branding/icon128.png (../default128.png)
content/branding/identity-icons-brand.svg
content/branding/aboutDialog.css
content/branding/horizontal-lockup.svg

View file

@ -0,0 +1,7 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
JAR_MANIFESTS += ['jar.mn']

Binary file not shown.

After

Width:  |  Height:  |  Size: 6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 695 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

View file

@ -0,0 +1,8 @@
<Application xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
<VisualElements
ShowNameOnSquare150x150Logo='on'
Square150x150Logo='browser\VisualElements\VisualElements_150.png'
Square70x70Logo='browser\VisualElements\VisualElements_70.png'
ForegroundText='light'
BackgroundColor='#14171a'/>
</Application>

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View file

@ -0,0 +1,13 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!ENTITY brandShorterName "LibreWolf">
<!ENTITY brandShortName "LibreWolf">
<!ENTITY brandFullName "LibreWolf">
<!-- LOCALIZATION NOTE (brandProductName):
This brand name can be used in messages where the product name needs to
remain unchanged across different versions (Nightly, Beta, etc.). -->
<!ENTITY brandProductName "LibreWolf">
<!ENTITY vendorShortName "LibreWolf">
<!ENTITY trademarkInfo.part1 " ">

View file

@ -0,0 +1,22 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
## Firefox Brand
##
## Firefox must be treated as a brand, and kept in English.
## It cannot be:
## - Declined to adapt to grammatical case.
## - Transliterated.
## - Translated.
##
## Reference: https://www.mozilla.org/styleguide/communications/translation/
-brand-shorter-name = LibreWolf
-brand-short-name = LibreWolf
-brand-full-name = LibreWolf
# This brand name can be used in messages where the product name needs to
# remain unchanged across different versions (Nightly, Beta, etc.).
-brand-product-name = LibreWolf
-vendor-short-name = LibreWolf
trademarkInfo = { " " }

View file

@ -0,0 +1,14 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
brandShorterName=LibreWolf
brandShortName=LibreWolf
brandFullName=LibreWolf
# LOCALIZATION NOTE(brandProductName):
# This brand name can be used in messages where the product name needs to
# remain unchanged across different versions (Nightly, Beta, etc.).
brandProductName=LibreWolf
vendorShortName=LibreWolf
syncBrandShortName=LibreWolf Sync

View file

@ -0,0 +1,13 @@
#filter substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
[localization] @AB_CD@.jar:
branding (en-US/**/*.ftl)
@AB_CD@.jar:
% locale branding @AB_CD@ %locale/branding/
# Unofficial branding only exists in en-US
locale/branding/brand.dtd (en-US/brand.dtd)
locale/branding/brand.properties (en-US/brand.properties)

View file

@ -0,0 +1,9 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
DEFINES['MOZ_DISTRIBUTION_ID_UNQUOTED'] = CONFIG['MOZ_DISTRIBUTION_ID']
JAR_MANIFESTS += ['jar.mn']

View file

@ -0,0 +1,13 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
DIRS += ['content', 'locales']
DIST_SUBDIR = 'browser'
export('DIST_SUBDIR')
include('../branding-common.mozbuild')
FirefoxBranding()

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

View file

@ -0,0 +1,29 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
//---------------------- Updates ---------------------------------------------
// URL user can browse to manually if for some reason all update installation attempts fail.
pref("app.update.url.manual", "https://github.com/librewolf-browser");
// A default value for the "More information about this update" link supplied in
//the "An update is available" page of the update wizard.
pref("app.update.url.details", "https://github.com/librewolf-browser");
// The time interval between checks for a new version (in seconds)
pref("app.update.interval", 86400); // 24 hours
// Give the user x seconds to react before showing the big UI.
pref("app.update.promptWaitTime", 86400); // 24 hours
// The number of days a binary is permitted to be old without checking for an update.
// This assumes that app.update.checkInstallTime is true.
pref("app.update.checkInstallTime.days", 2);
// Give the user x seconds to reboot before showing a badge on the hamburger
// button. default=immediately
pref("app.update.badgeWaitTime", 0);
// Number of usages of the web console or scratchpad.
// If this is less than 5, then pasting code into the web console or scratchpad is disabled
pref("devtools.selfxss.count", 5);

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

View file

@ -0,0 +1,232 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsAboutRedirector.h"
#include "nsNetUtil.h"
#include "nsAboutProtocolUtils.h"
#include "nsBaseChannel.h"
#include "mozilla/ArrayUtils.h"
#include "nsIProtocolHandler.h"
#if defined(MOZ_WIDGET_ANDROID) && defined(RELEASE_OR_BETA)
# define ABOUT_CONFIG_BLOCKED_GV
#endif
#ifdef ABOUT_CONFIG_BLOCKED_GV
# include "mozilla/jni/Utils.h" // for mozilla::jni::IsFennec()
#endif
NS_IMPL_ISUPPORTS(nsAboutRedirector, nsIAboutModule)
struct RedirEntry {
const char* id;
const char* url;
uint32_t flags;
};
class CrashChannel final : public nsBaseChannel {
public:
explicit CrashChannel(nsIURI* aURI) { SetURI(aURI); }
nsresult OpenContentStream(bool async, nsIInputStream** stream,
nsIChannel** channel) override {
nsAutoCString spec;
mURI->GetSpec(spec);
if (spec.EqualsASCII("about:crashparent") && XRE_IsParentProcess()) {
MOZ_CRASH("Crash via about:crashparent");
}
if (spec.EqualsASCII("about:crashcontent") && XRE_IsContentProcess()) {
MOZ_CRASH("Crash via about:crashcontent");
}
NS_WARNING("Unhandled about:crash* URI or wrong process");
return NS_ERROR_NOT_IMPLEMENTED;
}
protected:
virtual ~CrashChannel() = default;
};
/*
Entries which do not have URI_SAFE_FOR_UNTRUSTED_CONTENT will run with chrome
privileges. This is potentially dangerous. Please use
URI_SAFE_FOR_UNTRUSTED_CONTENT in the third argument to each map item below
unless your about: page really needs chrome privileges. Security review is
required before adding new map entries without
URI_SAFE_FOR_UNTRUSTED_CONTENT.
URI_SAFE_FOR_UNTRUSTED_CONTENT is not enough to let web pages load that page,
for that you need MAKE_LINKABLE.
*/
static const RedirEntry kRedirMap[] = {
{"about", "chrome://global/content/aboutAbout.xhtml", 0},
{"addons", "chrome://mozapps/content/extensions/extensions.xul",
nsIAboutModule::ALLOW_SCRIPT},
{"library", "chrome://browser/content/places/places.xul",
nsIAboutModule::ALLOW_SCRIPT},
{"buildconfig", "chrome://global/content/buildconfig.html",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT},
{"checkerboard", "chrome://global/content/aboutCheckerboard.xhtml",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::ALLOW_SCRIPT},
{"config", "chrome://global/content/config.xul", 0},
#ifdef MOZ_CRASHREPORTER
{"crashes", "chrome://global/content/crashes.xhtml", 0},
#endif
{"credits", "https://www.mozilla.org/credits/",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT},
{"license", "chrome://global/content/license.html",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::MAKE_LINKABLE},
{"logo", "chrome://branding/content/about.png",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
// Linkable for testing reasons.
nsIAboutModule::MAKE_LINKABLE},
{"memory", "chrome://global/content/aboutMemory.xhtml",
nsIAboutModule::ALLOW_SCRIPT},
{"mozilla", "chrome://global/content/mozilla.xhtml",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT},
{"neterror", "chrome://global/content/netError.xhtml",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::URI_CAN_LOAD_IN_CHILD | nsIAboutModule::ALLOW_SCRIPT |
nsIAboutModule::HIDE_FROM_ABOUTABOUT},
{"networking", "chrome://global/content/aboutNetworking.xhtml",
nsIAboutModule::ALLOW_SCRIPT},
{"performance", "chrome://global/content/aboutPerformance.xhtml",
nsIAboutModule::ALLOW_SCRIPT},
{"plugins", "chrome://global/content/plugins.html",
nsIAboutModule::URI_MUST_LOAD_IN_CHILD},
{"serviceworkers", "chrome://global/content/aboutServiceWorkers.xhtml",
nsIAboutModule::URI_CAN_LOAD_IN_CHILD |
nsIAboutModule::URI_MUST_LOAD_IN_CHILD | nsIAboutModule::ALLOW_SCRIPT},
#ifndef ANDROID
{"profiles", "chrome://global/content/aboutProfiles.xhtml",
nsIAboutModule::ALLOW_SCRIPT},
#endif
// about:srcdoc is unresolvable by specification. It is included here
// because the security manager would disallow srcdoc iframes otherwise.
{"srcdoc", "about:blank",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::HIDE_FROM_ABOUTABOUT |
// Needs to be linkable so content can touch its own srcdoc frames
nsIAboutModule::MAKE_LINKABLE | nsIAboutModule::URI_CAN_LOAD_IN_CHILD},
{"support", "chrome://global/content/aboutSupport.xhtml",
nsIAboutModule::ALLOW_SCRIPT},
{"telemetry", "chrome://global/content/aboutTelemetry.xhtml",
nsIAboutModule::ALLOW_SCRIPT},
{"url-classifier", "chrome://global/content/aboutUrlClassifier.xhtml",
nsIAboutModule::ALLOW_SCRIPT},
{"webrtc", "chrome://global/content/aboutwebrtc/aboutWebrtc.html",
nsIAboutModule::ALLOW_SCRIPT},
{"printpreview", "about:blank",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::HIDE_FROM_ABOUTABOUT |
nsIAboutModule::URI_CAN_LOAD_IN_CHILD},
{"crashparent", "about:blank", nsIAboutModule::HIDE_FROM_ABOUTABOUT},
{"crashcontent", "about:blank",
nsIAboutModule::HIDE_FROM_ABOUTABOUT |
nsIAboutModule::URI_CAN_LOAD_IN_CHILD |
nsIAboutModule::URI_MUST_LOAD_IN_CHILD}};
static const int kRedirTotal = mozilla::ArrayLength(kRedirMap);
NS_IMETHODIMP
nsAboutRedirector::NewChannel(nsIURI* aURI, nsILoadInfo* aLoadInfo,
nsIChannel** aResult) {
NS_ENSURE_ARG_POINTER(aURI);
NS_ENSURE_ARG_POINTER(aLoadInfo);
NS_ASSERTION(aResult, "must not be null");
nsAutoCString path;
nsresult rv = NS_GetAboutModuleName(aURI, path);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIIOService> ioService = do_GetIOService(&rv);
NS_ENSURE_SUCCESS(rv, rv);
if (path.EqualsASCII("crashparent") || path.EqualsASCII("crashcontent")) {
bool isExternal;
aLoadInfo->GetLoadTriggeredFromExternal(&isExternal);
if (isExternal) {
return NS_ERROR_NOT_AVAILABLE;
}
nsCOMPtr<nsIChannel> channel = new CrashChannel(aURI);
channel->SetLoadInfo(aLoadInfo);
channel.forget(aResult);
return NS_OK;
}
#ifdef ABOUT_CONFIG_BLOCKED_GV
// We don't want to allow access to about:config from
// GeckoView on release or beta, but it's fine for Fennec.
if (path.EqualsASCII("config") && !mozilla::jni::IsFennec()) {
return NS_ERROR_NOT_AVAILABLE;
}
#endif
for (int i = 0; i < kRedirTotal; i++) {
if (!strcmp(path.get(), kRedirMap[i].id)) {
nsCOMPtr<nsIChannel> tempChannel;
nsCOMPtr<nsIURI> tempURI;
rv = NS_NewURI(getter_AddRefs(tempURI), kRedirMap[i].url);
NS_ENSURE_SUCCESS(rv, rv);
rv = NS_NewChannelInternal(getter_AddRefs(tempChannel), tempURI,
aLoadInfo);
NS_ENSURE_SUCCESS(rv, rv);
// If tempURI links to an external URI (i.e. something other than
// chrome:// or resource://) then set result principal URI on the
// load info which forces the channel principal to reflect the displayed
// URL rather then being the systemPrincipal.
bool isUIResource = false;
rv = NS_URIChainHasFlags(tempURI, nsIProtocolHandler::URI_IS_UI_RESOURCE,
&isUIResource);
NS_ENSURE_SUCCESS(rv, rv);
bool isAboutBlank = NS_IsAboutBlank(tempURI);
if (!isUIResource && !isAboutBlank) {
aLoadInfo->SetResultPrincipalURI(tempURI);
}
tempChannel->SetOriginalURI(aURI);
tempChannel.forget(aResult);
return rv;
}
}
NS_ERROR("nsAboutRedirector called for unknown case");
return NS_ERROR_ILLEGAL_VALUE;
}
NS_IMETHODIMP
nsAboutRedirector::GetURIFlags(nsIURI* aURI, uint32_t* aResult) {
NS_ENSURE_ARG_POINTER(aURI);
nsAutoCString name;
nsresult rv = NS_GetAboutModuleName(aURI, name);
NS_ENSURE_SUCCESS(rv, rv);
for (int i = 0; i < kRedirTotal; i++) {
if (name.EqualsASCII(kRedirMap[i].id)) {
*aResult = kRedirMap[i].flags;
return NS_OK;
}
}
NS_ERROR("nsAboutRedirector called for unknown case");
return NS_ERROR_ILLEGAL_VALUE;
}
nsresult nsAboutRedirector::Create(nsISupports* aOuter, REFNSIID aIID,
void** aResult) {
RefPtr<nsAboutRedirector> about = new nsAboutRedirector();
return about->QueryInterface(aIID, aResult);
}

View file

@ -0,0 +1,9 @@
# This is for the desktop version of librewolf
ac_add_options --enable-application=browser
# Folder to output the build files:
mk_add_options MOZ_OBJDIR=./obj_BUILD_OUTPUT
# Setting the branding options
ac_add_options --with-branding=browser/branding/librewolf
ac_add_options --with-distribution-id=io.github.librewolf

View file

@ -1,20 +0,0 @@
#!/bin/bash
printf "\n------------------------------------- BINARY TARBALL BUILD ------------------------------------------\n";
# Aborts the script upon any faliure
set -e;
# Sets up script variables
BINARY_TARBALL=$1;
_SCRIPT_FOLDER=$(realpath $(dirname $0));
_SOURCE_FOLDER=$_SCRIPT_FOLDER/compile;
_TOGGLE_SETTINGS_SCRIPT=$_SCRIPT_FOLDER/content/toggle-settings.sh;
_LAUNCH_SCRIPT=$_SCRIPT_FOLDER/content/launch_librewolf.sh;
# Executes the build
$_SCRIPT_FOLDER/scripts/1_Install_Dependencies.sh;
$_SCRIPT_FOLDER/scripts/2_Download_Source_Code.sh $_SOURCE_FOLDER;
$_SCRIPT_FOLDER/scripts/3_Configure_Source_Code.sh $_SOURCE_FOLDER;
$_SCRIPT_FOLDER/scripts/4_Build_Binary_Tarball.sh $_SOURCE_FOLDER $BINARY_TARBALL;
$_SCRIPT_FOLDER/scripts/5_Configure_Binary_Tarball.sh $BINARY_TARBALL $_TOGGLE_SETTINGS_SCRIPT $_LAUNCH_SCRIPT;

View file

@ -1,47 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>io.gitlab.librewolf-community</id>
<launchable type="desktop-id">io.gitlab.librewolf-community.desktop</launchable>
<name>LibreWolf</name>
<developer_name>LibreWolf Community</developer_name>
<summary>LibreWolf Web Browser</summary>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MPL-2.0</project_license>
<screenshots>
<screenshot type="default">
<image type="source" width="1121" height="902">https://librewolf.net/screenshot.png</image>
</screenshot>
</screenshots>
<description>
<p>LibreWolf</p>
<p>This project is an independent fork of Firefox, with the primary goals of privacy security and user freedom. It is the community run successor to LibreFox.</p>
<p>LibreWolf uses more than 500 privacy/security/performance settings, patches, LibreWolf-Addons (optional) and is designed to minimize data collection and telemetry as much as possible (updater, crashreporter and Firefoxs integrated addons that dont respect privacy are removed).</p>
<p>LibreWolf is NOT associated with Mozilla or its products.</p>
<p>Features:</p>
<ul>
<li>Latest Version of Firefox: LibreWolf is compiled directly from the latest build of Firefox Stable. You will have the the latest features, and security updates.</li>
<li>Completely Independent Build: LibreWolf uses a completely independent build from Firefox and has its own settings, profile folder and installation path. As a result, it can be installed alongside Firefox or any other browser.</li>
<li>Settings protection: important settings are enforced/locked within librewolf.cfg and policies.json, those settings cannot be changed by addons/updates/LibreWolf itself or unwanted/accidental manipulation; To change those settings you can easily do it by editing librewolf.cfg and policies.json.</li>
<li>LibreWolf-addons: set of optional LibreWolf extensions</li>
<li>Statistics disabled: telemetry and similar functions are disabled</li>
<li>Tested settings: settings are performance aware</li>
<li>Recommended and code reviewed addons list</li>
<li>Community-Driven</li>
<li>And much more…</li>
</ul>
</description>
<releases>
<release version="$pkgver-$pkgrel" date="$DATE"/>
</releases>
<keywords>
<keyword>librewolf</keyword>
<keyword>internet</keyword>
<keyword>web</keyword>
</keywords>
<url type="homepage">https://librewolf.net/</url>
<url type="bugtracker">https://gitlab.com/groups/librewolf-community/-/issues/</url>
<provides>
<id>io.gitlab.librewolf-community</id>
</provides>
<content_rating type="oars-1.1" />
</component>

View file

@ -1,29 +0,0 @@
#!/usr/bin/env bash
INSTALL_FOLDER=$(realpath $(dirname $0));
INSTALL_SETTINGS_FOLDER=$INSTALL_FOLDER/settings;
PROFILE_SETTINGS_FOLDER=$HOME/.librewolf/settings;
# Adds option to install settings if argument is passed
if [ "$1" = "--install-settings" ]; then
mkdir -p $PROFILE_SETTINGS_FOLDER;
cp $INSTALL_SETTINGS_FOLDER/defaults/pref/local-settings.js $PROFILE_SETTINGS_FOLDER/local-settings.js;
cp $INSTALL_SETTINGS_FOLDER/distribution/policies.json $PROFILE_SETTINGS_FOLDER/policies.json;
cp $INSTALL_SETTINGS_FOLDER/librewolf.cfg $PROFILE_SETTINGS_FOLDER/librewolf.cfg;
cp $INSTALL_SETTINGS_FOLDER/toggle-settings.sh $PROFILE_SETTINGS_FOLDER/toggle-settings.sh;
fi
# Sets up settings links
mkdir -p $INSTALL_FOLDER/defaults/pref/;
mkdir -p $INSTALL_FOLDER/distribution/;
ln -s $PROFILE_SETTINGS_FOLDER/local-settings.js $INSTALL_FOLDER/defaults/pref/local-settings.js;
ln -s $PROFILE_SETTINGS_FOLDER/policies.json $INSTALL_FOLDER/distribution/policies.json;
ln -s $PROFILE_SETTINGS_FOLDER/librewolf.cfg $INSTALL_FOLDER/librewolf.cfg;
# Sets env variables to disable dedicated profiles (which breaks some packaging methods)
export MOZ_LEGACY_PROFILES=1;
export SNAP_NAME="firefox";
# Launches librewolf
chmod +x $INSTALL_FOLDER/librewolf;
$INSTALL_FOLDER/librewolf "$@";

View file

@ -1,21 +0,0 @@
#!/usr/bin/env bash
# Exit script with a non-zero exit code if:
# - any command fails (-e | --errexit)
# - any variable is unset (-u | --nounset)
# - a part of a piped sequence fails (-o pipefail)
set -euo pipefail
SCRIPT_FOLDER=$(realpath $(dirname $0));
# Enable settings ------------------------------------------------------------------------------------------
if [[ "${1}" = "--enable" ]]; then
mv "${SCRIPT_FOLDER}/[DISABLED] local-settings.js" "${SCRIPT_FOLDER}/local-settings.js";
mv "${SCRIPT_FOLDER}/[DISABLED] policies.json" "${SCRIPT_FOLDER}/policies.json";
mv "${SCRIPT_FOLDER}/[DISABLED] librewolf.cfg" "${SCRIPT_FOLDER}/librewolf.cfg";
# Disable settings ------------------------------------------------------------------------------------------
elif [[ "${1}" = "--disable" ]]; then
mv "${SCRIPT_FOLDER}/local-settings.js" "${SCRIPT_FOLDER}/[DISABLED] local-settings.js";
mv "${SCRIPT_FOLDER}/policies.json" "${SCRIPT_FOLDER}/[DISABLED] policies.json";
mv "${SCRIPT_FOLDER}/librewolf.cfg" "${SCRIPT_FOLDER}/[DISABLED] librewolf.cfg";
fi

View file

@ -1,35 +0,0 @@
Description: starting with firefox 66, armhf builds on Launchpad frequently
fail with "/usr/bin/ld: final link failed: memory exhausted" when linking
libxul.so. This is an attempt to reduce the memory used by ld.
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -1699,6 +1699,7 @@
android_platform,
c_compiler,
developer_options,
+ host,
)
else:
deps = depends_if(
@@ -1709,6 +1710,7 @@
dependable(None),
host_c_compiler,
developer_options,
+ host,
)
@deps
@@ -1721,8 +1723,11 @@
android_platform,
c_compiler,
developer_options,
+ host,
):
flags = list((linker and linker.LINKER_FLAG) or [])
+ if host.cpu == "arm":
+ flags.append("-Wl,--no-keep-memory")
# rpath-link is irrelevant to wasm, see for more info https://github.com/emscripten-core/emscripten/issues/11076.
if sysroot.path and multiarch_dir and target.os != "WASI":
for d in ("lib", "usr/lib"):

View file

@ -1,17 +0,0 @@
Description: Remove an extra constant definition that is now being generated by newer versions of cbindgen (0.24),
and causing build failures because it is defined in several places.
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1773259
Forwarded: not-needed
--- a/gfx/webrender_bindings/webrender_ffi.h
+++ b/gfx/webrender_bindings/webrender_ffi.h
@@ -73,8 +73,6 @@ struct WrPipelineInfo;
struct WrPipelineIdAndEpoch;
using WrPipelineIdEpochs = nsTArray<WrPipelineIdAndEpoch>;
-const uint64_t ROOT_CLIP_CHAIN = ~0;
-
} // namespace wr
} // namespace mozilla

View file

@ -1,19 +0,0 @@
Description: Fix FTBFS on bionic. Compiler errors:
In file included from Unified_cpp_widget_gtk1.cpp:2:
/<<BUILDDIR>>/firefox-92.0~b2+build1/widget/gtk/WaylandBuffer.cpp:261:39: error: unknown type name 'GLContext'; did you mean 'EGLContext'?
const LayoutDeviceIntSize& aSize, GLContext* aGL) {
^~~~~~~~~
Author: Rico Tzschichholz <ricotz@ubuntu.com>
--- a/widget/gtk/WaylandBuffer.cpp
+++ b/widget/gtk/WaylandBuffer.cpp
@@ -258,7 +258,7 @@
/* static */
RefPtr<WaylandBufferDMABUF> WaylandBufferDMABUF::Create(
- const LayoutDeviceIntSize& aSize, GLContext* aGL) {
+ const LayoutDeviceIntSize& aSize, gl::GLContext* aGL) {
RefPtr<WaylandBufferDMABUF> buffer = new WaylandBufferDMABUF(aSize);
const auto flags =

View file

@ -1,21 +0,0 @@
Description: reduce the rust debuginfo level
because compiling with debuginfo=2 causes the OOM killer to interrupt the build
on launchpad builders. Initially this was only on 32 bit architectures, but
with firefox 63 it started happening frequently on arm64 and ppc64el too,
with newer versions it started happening very frequently on s390x too, and with
firefox 84 (built with rustc 1.47) it started happening on amd64 too.
This patch would initially decrease debug_info for selected architectures, but
with recent versions of rustc pretty much all supported architectures are
affected, so it is now unconditional.
--- a/build/moz.configure/rust.configure
+++ b/build/moz.configure/rust.configure
@@ -2167,7 +2167,7 @@ def rust_compile_flags(opt_level, debug_
debug_assertions = False
if debug_symbols:
- debug_info = "2"
+ debug_info = "1"
opts = []

View file

@ -1,13 +0,0 @@
diff -r 08cd64cdbc3b config/external/icu/data/convert_icudata.py
--- a/config/external/icu/data/convert_icudata.py Fri Jul 17 11:18:09 2020 +0000
+++ b/config/external/icu/data/convert_icudata.py Sat Jul 18 14:40:33 2020 +0200
@@ -11,7 +11,7 @@
subprocess.run(
[
- os.path.join(buildconfig.topobjdir, "dist", "host", "bin", "icupkg"),
+ "icupkg",
"-tb",
data_file,
output.name,
]

View file

@ -1,12 +0,0 @@
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
index f8977a6..34f52fc 100644
--- a/js/src/wasm/WasmSignalHandlers.cpp
+++ b/js/src/wasm/WasmSignalHandlers.cpp
@@ -243,7 +243,7 @@ using mozilla::DebugOnly;
// If you run into compile problems on a tier-3 platform, you can disable the
// emulation here.
-#if defined(__linux__) && defined(__arm__)
+#if 0 && defined(__linux__) && defined(__arm__)
# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
#endif

View file

@ -1,24 +0,0 @@
diff --git a/browser/base/content/browser-context.inc b/browser/base/content/browser-context.inc
index a7fce1a806..3a9d07582d 100644
--- a/browser/base/content/browser-context.inc
+++ b/browser/base/content/browser-context.inc
@@ -78,9 +78,6 @@
<menuitem id="context-savelink"
data-l10n-id="main-context-menu-save-link"
oncommand="gContextMenu.saveLink();"/>
- <menuitem id="context-savelinktopocket"
- data-l10n-id="main-context-menu-save-link-to-pocket"
- oncommand= "Pocket.savePage(gContextMenu.browser, gContextMenu.linkURL);"/>
<menuitem id="context-copyemail"
data-l10n-id="main-context-menu-copy-email"
oncommand="gContextMenu.copyEmail();"/>
@@ -215,9 +212,6 @@
<menuitem id="context-savepage"
data-l10n-id="main-context-menu-page-save"
oncommand="gContextMenu.savePageAs();"/>
- <menuitem id="context-pocket"
- data-l10n-id="main-context-menu-save-to-pocket"
- oncommand="Pocket.savePage(gContextMenu.browser, gContextMenu.browser.currentURI.spec, gContextMenu.browser.contentTitle);"/>
<menuseparator id="context-sep-sendpagetodevice" class="sync-ui-item"
hidden="true"/>
<menu id="context-sendpagetodevice"

View file

@ -1,129 +0,0 @@
diff --git a/browser/components/urlbar/UrlbarInput.jsm b/browser/components/urlbar/UrlbarInput.jsm
index 73d15df..99cc41b 100644
--- a/browser/components/urlbar/UrlbarInput.jsm
+++ b/browser/components/urlbar/UrlbarInput.jsm
@@ -1692,13 +1692,13 @@ class UrlbarInput {
// Enable the animation only after the first extend call to ensure it
// doesn't run when opening a new window.
- if (!this.hasAttribute("breakout-extend-animate")) {
- this.window.promiseDocumentFlushed(() => {
- this.window.requestAnimationFrame(() => {
- this.setAttribute("breakout-extend-animate", "true");
- });
- });
- }
+ // if (!this.hasAttribute("breakout-extend-animate")) {
+ // this.window.promiseDocumentFlushed(() => {
+ // this.window.requestAnimationFrame(() => {
+ // this.setAttribute("breakout-extend-animate", "true");
+ // });
+ // });
+ // }
}
endLayoutExtend() {
diff --git a/browser/themes/shared/urlbar-searchbar.inc.css b/browser/themes/shared/urlbar-searchbar.inc.css
index e9fde8b..6c4c444 100644
--- a/browser/themes/shared/urlbar-searchbar.inc.css
+++ b/browser/themes/shared/urlbar-searchbar.inc.css
@@ -5,7 +5,7 @@
%endif
%define fieldHoverBorderColor hsla(240,5%,5%,.35)
-%define urlbarMarginInline 5px
+%define urlbarMarginInline 0px
%define urlbarSearchButtonWidth calc(16px + 2 * var(--urlbar-icon-padding))
:root {
@@ -273,9 +273,9 @@
}
#urlbar[breakout][breakout-extend] {
- top: -@urlbarBreakoutExtend@;
- left: calc(-@urlbarMarginInline@ - @urlbarBreakoutExtend@);
- width: calc(100% + 2 * @urlbarMarginInline@ + 2 * @urlbarBreakoutExtend@);
+ top: calc((var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2);
+ left: 0;
+ width: 100%;
}
@supports -moz-bool-pref("browser.proton.urlbar.enabled") {
@@ -288,7 +288,7 @@
@supports not -moz-bool-pref("browser.proton.urlbar.enabled") {
#urlbar[breakout][breakout-extend] > #urlbar-background {
- box-shadow: 0 3px 8px 0 rgba(0,0,0,.15)
+ box-shadow: 0 1px 4px rgba(0,0,0,.05);
}
#urlbar[breakout][breakout-extend][open] > #urlbar-background {
@@ -297,9 +297,9 @@
} /*** END !proton ***/
#urlbar[breakout][breakout-extend] > #urlbar-input-container {
- height: calc(var(--urlbar-toolbar-height) + 2 * @urlbarBreakoutExtend@);
- padding-block: calc(@urlbarBreakoutExtend@ + (var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2);
- padding-inline: calc(@urlbarMarginInline@ + @urlbarBreakoutExtend@);
+ height: var(--urlbar-height);
+ padding-block: 0;
+ padding-inline: 0;
}
@supports -moz-bool-pref("browser.proton.urlbar.enabled") {
@@ -325,7 +325,7 @@
}
#urlbar[breakout][breakout-extend] > #urlbar-background {
- animation-name: urlbar-grow;
+ animation-name: none;
animation-duration: 0s;
animation-timing-function: var(--animation-easing-function);
}
diff --git a/browser/themes/shared/urlbarView.inc.css b/browser/themes/shared/urlbarView.inc.css
index c6ce546..da00fac 100644
--- a/browser/themes/shared/urlbarView.inc.css
+++ b/browser/themes/shared/urlbarView.inc.css
@@ -74,8 +74,8 @@
display: block;
text-shadow: none;
overflow: clip;
- margin-inline: calc(5px + var(--urlbar-container-padding));
- width: calc(100% - 2 * (5px + var(--urlbar-container-padding)));
+ margin-inline: 0;
+ width: 100%;
/* Match urlbar-background's border. */
border-inline: 1px solid transparent;
}
@@ -115,7 +115,7 @@
flex-wrap: nowrap;
fill: currentColor;
fill-opacity: .6;
- padding-block: 3px;
+ padding-block: 0;
}
:root[uidensity=compact] .urlbarView-row {
@@ -280,6 +280,7 @@
object-fit: contain;
flex-shrink: 0;
-moz-context-properties: fill, fill-opacity;
+ margin-inline-start: 20px;
}
@supports not -moz-bool-pref("browser.proton.urlbar.enabled") {
@@ -324,10 +325,10 @@
.urlbarView-type-icon {
position: absolute;
- width: 12px;
- height: 12px;
- margin-bottom: -4px;
- margin-inline-start: 8px;
+ width: 16px;
+ height: 16px;
+ margin-bottom: 0;
+ margin-inline-start: 0;
align-self: end;
background-repeat: no-repeat;
background-size: contain;

View file

@ -1,16 +0,0 @@
diff --git a/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html b/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
index 4d22812723..2542791b9b 100644
--- a/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
+++ b/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
@@ -54,11 +54,7 @@
<div class="info">
<h1 data-l10n-id="about-private-browsing-info-title"></h1>
<p data-l10n-id="about-private-browsing-info-description"></p>
- <a id="private-browsing-myths" data-l10n-id="about-private-browsing-info-myths"></a>
</div>
</div>
-
- <p id="private-browsing-vpn-text" class="vpn-promo" data-l10n-id="about-private-browsing-need-more-privacy"></p>
- <a id="private-browsing-vpn-link" class="vpn-promo" data-l10n-id="about-private-browsing-turn-on-vpn"></a>
</body>
</html>

View file

@ -1,74 +0,0 @@
diff --git a/browser/extensions/moz.build b/browser/extensions/moz.build
index 269dcb2..ed7c31d 100644
--- a/browser/extensions/moz.build
+++ b/browser/extensions/moz.build
@@ -5,10 +5,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
DIRS += [
- "doh-rollout",
"formautofill",
"screenshots",
- "webcompat",
- "report-site-issue",
"pictureinpicture",
]
diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
index 496379c..dd6f359 100644
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -61,7 +61,6 @@ l10n-%:
ifneq (,$(wildcard ../extensions/formautofill/locales))
@$(MAKE) -C ../extensions/formautofill/locales AB_CD=$* XPI_NAME=locale-$*
endif
- @$(MAKE) -C ../extensions/report-site-issue/locales AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) -C ../../devtools/startup/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) l10n AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
@@ -82,7 +81,6 @@ endif
@$(MAKE) -C ../../devtools/startup/locales chrome AB_CD=$*
@$(MAKE) chrome AB_CD=$*
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
- @$(MAKE) -C ../extensions/report-site-issue/locales chrome AB_CD=$*
package-win32-installer: $(SUBMAKEFILES)
$(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen ZIP_IN='$(ZIP_OUT)' installer
diff --git a/browser/locales/filter.py b/browser/locales/filter.py
index bb2e992..7d7768e 100644
--- a/browser/locales/filter.py
+++ b/browser/locales/filter.py
@@ -20,7 +20,6 @@ def test(mod, path, entity=None):
"browser",
"browser/extensions/formautofill",
"browser/extensions/fxmonitor",
- "browser/extensions/report-site-issue",
"extensions/spellcheck",
"other-licenses/branding/firefox",
"browser/branding/official",
diff --git a/browser/locales/l10n.ini b/browser/locales/l10n.ini
index f4cb7ca..4efac13 100644
--- a/browser/locales/l10n.ini
+++ b/browser/locales/l10n.ini
@@ -14,7 +14,6 @@ dirs = browser
devtools/startup
browser/extensions/formautofill
browser/extensions/fxmonitor
- browser/extensions/report-site-issue
[includes]
# non-central apps might want to use %(topsrcdir)s here, or other vars
diff --git a/browser/locales/l10n.toml b/browser/locales/l10n.toml
index b9b18fe..af7c583 100644
--- a/browser/locales/l10n.toml
+++ b/browser/locales/l10n.toml
@@ -133,10 +133,6 @@ locales = [
reference = "browser/extensions/fxmonitor/locales/en-US/**"
l10n = "{l}browser/extensions/fxmonitor/**"
-[[paths]]
- reference = "browser/extensions/report-site-issue/locales/en-US/**"
- l10n = "{l}browser/extensions/report-site-issue/**"
-
[[paths]]
reference = "services/sync/locales/en-US/**"
l10n = "{l}services/sync/**"

File diff suppressed because it is too large Load diff

View file

@ -1,7 +0,0 @@
![Logo](https://librewolf-community.gitlab.io/images/logo.png)
# LibreWolf
## Documentation has moved
You can find the current documentation for LibreWolf at [librewolf-community.gitlab.io/docs/](https://librewolf-community.gitlab.io/docs/).

View file

@ -1,78 +0,0 @@
#!/bin/bash
printf "\n\n-------------------------------------- DEPENDENCY INSTALLATION ---------------------------------------------\n";
set -e
# Setup Script Variables
_DEPENDENCIES="wget git xvfb \
xz-utils \
gettext-base \
curl python3 libjack-dev \
python3-dev python-dev \
gnupg \
autotools-dev \
autoconf2.13 \
zip \
libx11-dev \
libx11-xcb-dev \
libxt-dev \
libxext-dev \
libgtk-3-dev \
libglib2.0-dev \
libpango1.0-dev \
libfontconfig1-dev \
libfreetype6-dev \
libstartup-notification0-dev \
libasound2-dev \
libcurl4-openssl-dev \
libdbus-glib-1-dev \
lsb-release \
libiw-dev \
mesa-common-dev \
libnotify-dev \
libxrender-dev \
libpulse-dev \
libssl-dev \
yasm \
unzip \
dbus-x11 \
python \
libffi-dev \
nodejs-mozilla \
nasm-mozilla \
locales"
# cargo \
# rustc \
export DEBIAN_FRONTEND=noninteractive
# Installs Dependencies
printf "\nInstalling dependencies: $_DEPENDENCIES\n";
apt-get -qq update;
apt-get -y -qq install $_DEPENDENCIES;
if [[ $CARCH == 'x86_64' ]];then
# Installs (non-ancient) clang
apt install -y software-properties-common apt-transport-https ca-certificates
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add
apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-13 main"
apt-get update
apt-get -y install clang-13 libclang-13-dev
else
# seems like we can use 13 here as well, finally?
apt install -y software-properties-common apt-transport-https ca-certificates
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add
apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-13 main"
apt-get update
apt-get -y install clang-13 libclang-13-dev
fi
# avoid python parsing files as ascii instead of utf8 and complaining
locale-gen en_US.UTF-8
# we need a more recent rust
# …to test if a fix in 1.57 magically fixes aarch64 hanging
curl https://sh.rustup.rs -o rustup.sh
bash rustup.sh -y
source /root/.cargo/env

Some files were not shown because too many files have changed in this diff Show more