Giter Site home page Giter Site logo

browser-f's Introduction

Cliqz Browser

Cliqz develops novel Internet browsers that incorporate proprietary features such as search and anti-tracking. This repository is about the Cliqz desktop browser, based on Mozilla Firefox – thus the repository name “browser-f” like Firefox. It is available for Windows and Mac. Learn more about our products and team at cliqz.com.

Most features developed by Cliqz and offered as part of the Cliqz browsers are maintained in the open source project browser-core.

If you are curious about our mobile browsers, please visit our open source projects for Cliqz for Android and Cliqz for iOS.

Building

First you should have an environment prepared to build regular Firefox. To do that follow Mozilla instructions.

Next run a building script: ./magic_build_and_package.sh

The successful build should create packages for the appropriate platform in:

  • windows installer: ./obj/dist/installer/sea/
  • mac dmg: ./obj/dist/
  • linux tar.bz2: ./obj/dist/

Details:

To build a Cliqz browser some environment variables must be set up. If they don't - build script will use deafult values for them. Also developer can specify them to have special build:

  • CQZ_BUILD_ID - special identifier which will be used as MOZ_BUILD_DATE on all platforms (for same buildid). It used to save build artifacts to separate location in repository.cliqz.com. Also this ID used to download a special version of Cliqz and https-everywhere extensions, which are necessary for proper build process.
  • CQZ_RELEASE_CHANNEL - which version to build, beta or release. By default building "beta" version.
  • CQZ_BUILD_DE_LOCALIZATION - by default will be only en-US localization build. If you need a DE version - set this flag to 1. By default not specified.
  • CQZ_BUILD_64BIT_WINDOWS - to build 64-bit version (for Windows only). On Mac always building 64-bit version. By default not specified.

Running

To test the build switch to build folder (./obj/dist/cliqz) and launch binaries.

Developing

There should be no differences in development from the regular Mozilla process.

Feature requests and bug reports

Please use github issues to submit bugs and requests.

When submitting the bug report please include the following information:

  • OS version, eg. Windox 8.1, Mac OS X 10.10.4
  • system architecture (32/64 bit)
  • browser version, eg. Cliqz 1.5.0, based on Firefox 47

Repository structure

For automated build purposes we keep copies of the original Mozilla project in our repository. Thus, the following folders are archives of respective Mozilla repositories:

Cliqz changes are applied to original Mozilla code.

Localization

Firefox localization files (production version) placed in https://hg.mozilla.org/releases/l10n/mozilla-release. Early for each released FF version it was possible to find appropriate tag in localization. Now looks like FF stop adding new tags for release in localization. In new reality, to find proper commit for some released FF version, please, do next:

Some more interesting FF's localization resources:

browser-f's People

Contributors

aleksei-cliqz avatar alver-cliqz avatar andreja-cliqz avatar chrmod avatar giota-cliqz avatar he0s avatar hemulin avatar josephbk avatar leonidcliqz avatar luciancor avatar mai-cliqz avatar maxim-cliqz avatar mohamed-cliqz avatar oleksandra-cliqz avatar philipp-classen avatar private-face avatar remusao avatar sammacbeth avatar sbdzdz avatar stefanie-cliqz avatar tsl143 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

browser-f's Issues

Documentation of Balrog update

Krzysztof added a comment - 30/Jul/15 11:04 AM

To make the documentation, we must first identify core scenariors in which we will ship new release.

The obiouse ones are:

new firefox release
critical bugfix
important feature update (or l10n, legal stuff, etc)

Can we think about something else?

Add a mechanism for AdBlock Plus users that automatically disables the AdBlocker when visiting BILD.de as long as BILD.de prevents AdBlock Plus users to see its content

Flow for users (must have AdBlock Plus installed)

  1. user navigates to Bild.de
  2. a callout appears, asking the user whether we should de-activate AdBlock Plus while she is on bild.de, with options (i.e. 3 buttons) “always”, “always ask”, “no”
  3. user sees bild.de content without barrier
  4. going to another domain AdBlock Plus works normally
  5. we add one additional entry to the Q-Menu in order to enable the user to change the settings made in 2).

Opt-in message to be triggered when navigating to bild.de
User should be able to see all BILD.de content normally as long as she is on the site
When leaving BILD.de, the ad blocker should again work as intended

Add custom string to User-Agent?

Now our product have the same UA, as original:
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0

Is it good idea to add our string into it? So any third-party company will be able to calculate our auditory. For example:
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0 CliqzFF/39.0

(suggest - better to add some text to "Cliqz", because in future we can have a lot of different Cliqz product)

Install without administrative rights on Windows

Now our browser could be installed only with administrative rights on user's PC. I checked - original FF could be installed in the same way. But Chrome, for example, can be installed without administrative rights.

Let's investigate, does it possible to do with FF? Not all users have admin rights on their Windows.

Browser main window border on Windows

2

  1. The border on main window looks ugly if make "normal" (not maximized) window size in Windows. This is because we replace color in "tab area" to gray color
  2. System buttons (minimize-maximize-close) looks strange by same reason, as in p.1

Tabs in FF

1

  1. Active and non-active tabs looks absolutely similar.
  2. Imo, we need to improve design in "between tab" space. Now it's not so clear, and on bad quality of monitor could be not possible to see a border between two tabs.

Onboarding - First time experience

We want users to have best first time experience with CLIQZ browser. Also we probably want them to think it is not Firefox.

Those are some prefs that we can set:

// Don't show 'know your rights' on first run
pref("browser.rights.3.shown", true);

// Don't show WhatsNew on first run after every update
pref("browser.startup.homepage_override.mstone","ignore");

"CLIQZ seems slow...to...start" - Learn to speed it up will lead to Refresh FF download page

Original issue: https://github.com/cliqz/browser-feedback/issues/60
Reporter: stefanie-cliqz

When opening CLIQZ browser (with slow internet connection?) a message at the bottom of the window invites user to speed up the browser start, see button on the right hand side of the screenshot. Clicking the button will direct user to "refresh Firefox" web page (https://support.mozilla.org/en-US/kb/refresh-firefox-reset-add-ons-and-settings?redirectlocale=en-US&redirectslug=reset-firefox-easily-fix-most-problems). If user clicks "Refresh Firefox button on this page, he will actually see an alert box with a "refresh Cliqz" button. Selecting this button will remove all add-ons and set browser back to default.

Taking the user from Cliqz to Firefox back to Cliqz does not make any sense.

Solutions:
a) remove this alert message and reset option completely. >> other option for user to reset browser to default?

b) keep message and direct user either to Cliqz browser menu with "reset to default" function; or to direct to cliqz.com page with reset button (similar to Firefox support page) - a page like that first needs to be built.
dad6468a-41c3-11e5-8bb7-2db15144b137

The " # " shortcuts do not work

Do not work with cliqz browser 0.8.1, based on FF41
Windows 10, 64bit

Put the hotkeys in front of your query to directly use a search engine, e.g. to find a specific location directly, type in #gm + your query and hit enter
Find the full list in browser options --> search

Add timestamp and email to digital sign

Let's add at least timestamp to digital signes. Email could not be possible to add (i don't remember correctly, but it may be taken from certificate information)

All binaries must have digital sign

Now, as i see, only one binary file - cliqz.exe - have a digital sign. It's better to sign all binary in our product (to reduce number of problems with Antiviruses)

[important] Back button

3

I'm absolutely sure, that "Back" button must be placed near left size of screen. Current position of this button totally broken user experience on Windows.

Buttons near screen edge in windows called as "infinitife button", because it doesn't matter how far you will move a mouse to the edge direction - a mouse cursor it will always stop on screen edge. Also "back button" - once of most actively used by users in browser (https://blog.mozilla.org/ux/2012/06/firefox-heatmap-study-2012-results-are-in/)

Let's fix this ASAP. (and let's discuss this, why it's so important).

Browser options: All settings for CLIQZ's proprietary features to be included in the browser options

Changes

A) From Q-Menu: Feedback & FAQ to be an own top-level preferences entry named "Support" (EN) / "Hilfe" (DE) featuring 2 things:

  1. "Support and contact" / „Hilfe und Kontakt“ (former Feedback and FAQ)
    (English) „Nadine from CLIQZ User Support is happy to help you. Get in touch with her!“ (link should have the functionality of the current Q-Menu entry, english version)
    (German) „Nadine ist die Gute Fee bei CLIQZ. Sie freut sich auf Deine Fragen. Kontaktiere sie!“ (link should have the functionality of the current Q-Menu entry, German version)

  2. "Tipps and tricks" / "Tipps und Tricks" (former CLIQZ Triqz)
    (English) "With CLIQZ, you can use many shortcuts to find quick answers to your everyday questions! Just click here to see how!“ (Link with same functionality as Q-Menu entry, English Version)
    (German) „Mit CLIQZ kannst Du viele Shortcuts benutzen um schnell Antworten auf Deine alltäglichen Suchen zu finden! Klicke hier um zu sehen wie es funktioniert!“ (Link with same functionality as Q-Menu entry, German Version)

B) Default Search engine -> already covered in preferences, no action necessary

C) Explicit content -> add in Preferences under Content, as dropdown-menu for the three options:
(English)
"Filter content"
"Block websites with explicit content" <dropdown: always, always ask, never>

(German)
"Inhalte filtern"
"Webseiten mit nicht jugendfreien Inhalten blockieren" <dropdown: immer, immer fragen, niemals>

D) Share location -> add in „Privacy“ as dropdown-menu
(English)
"Location data"
"Use my position for location-based searches" <dropdown: always, always ask, no>

(German)
"Standortdaten"
"Zur Umgebungssuche meinen Standort erfassen" <dropdown: immer, immer fragen, niemals>

E) Human Web entry be added as a checkbox under "Privacy" according to the current Q-Menu entry (also with link to the HumanWeb paragraph on our website).

Safe browsing (google hook)

API doc: https://developers.google.com/safe-browsing/

From

browser/app/profile/firefox.js

:

978:pref("browser.safebrowsing.updateURL", "https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2&key=%GOOGLE_API_KEY%");
989:pref("browser.safebrowsing.appRepURL", "https://sb-ssl.google.com/safebrowsing/clientreport/download?key=%GOOGLE_API_KEY%");

those wont work for us as we do not provide GOOGLE_API_KEY

CLIQZ browser theme - centered address bar

Reported by: stefanie-cliqz
Original issue: https://github.com/cliqz/browser-feedback/issues/78

After testing the new browser theme on Mac and Windows for a few days, I find the centered address bar unintuitive. On smaller screens, centered vs left-aligned does not make any difference as the width of the bar is fixed. However, when using the browser on a large screen I continue to automatically go to the top left corner to navigate back (or forth), find nothing there, then move to the center.

I received the same feedback from multiple people at Cliqz (incl. Stephie, Stefan, and others), but also got some indifferent opinions (e.g. Valeria, Felix).

Suggestion: make URL bar, incl. back and forth arrows, left-aligned. On small screens this does not affect the UX, on larger screens the UX is consistent with what users are familiar with.

Alternative: move back and forth arrows to left, leave address bar centered (as done in Safari). but, personally, I prefer keeping arrows and address bar together as one logical unit.

Please do some more user tests (internally / family and friends is fine) to validate this initial feedback.

Investigate build options differences

while taking a look at about:buildconfig, you can identify some differences between our build and regular mozila one.

Some of them:
gcc: -ffunction-sections -fdata-sections

configure arguments (on linux):

    --host=x86_64-linux-gnu
    --prefix=/usr
    --libexecdir=/usr/lib/firefox
    -with-l10n-base=/build/firefox_mU0NB/firefox-39.0+build5/./l10n
    -srcdir=/build/firefox_mU0NB/firefox-39.0+build5/.
    --enable-release
    --disable-install-strip
    --disable-updater
    --enable-startup-notification
    --with-distribution-id=com.ubuntu
    --enable-optimize
    --enable-tests
    --enable-crashreporter
    --disable-gnomevfs
    --enable-gio
    --disable-debug
    --disable-elf-hack
    --enable-gstreamer=1.0
    -with-google-api-keyfile=/build/firefox_mU0NB/firefox-39.0+build5/debian/ga
    -with-google-oauth-api-keyfile=/build/firefox_mU0NB/firefox-39.0+build5/debian/go

no present in official:

    --enable-official-branding
    --with-app-name=CLIQZ
    --enable-update-packaging

Comments
Krzysztof added a comment - 05/Aug/15 10:18 AM

Firefox Windows options differences:

target
i686-pc-mingw32

conf:

--enable-jemalloc
--enable-eme=adobe
--enable-require-all-d3dc-versions

Browser icon

7
8

Now it's look much better than black one :) Look in attaches, please. It still can be little confusing to find Cliqz icon on some backgrounds. Browser could be installed in millions of PC. Default background on Windows platform use different colors in blue. Also user's usually replace background with their own (and it could be a lot of sky on their pictures). Can we improve icon somehow? For example create small white glow, like CocCoc browser? Firefox and Chrome doesn't have such kind of problem, because they use a lot of colors in their logos.

Firefox-labeled message when trying to start a second CLIQZ instance

Original issue: https://github.com/cliqz/browser-feedback/issues/64
Reporter: dominiks-cliqz

Trying to start CLIQZ a second time (i.e., while already running) prompts a Firefox-labeled message:
11617892-44c0-11e5-9dd8-d3e467356313
This occurs rarely, for example when the MacOS dock thinks that CLIQZ is not running anymore, but it is still running, it tries to start a second instance.

You can reproduce by starting CLIQZ from the terminal while it is running already: /Applications/CLIQZ.app/Contents/MacOS/CLIQZ-bin

FYI @luciancor @chrmod-cliqz

System to push snippets to about:home

// url used for fetching snippets on about:home
pref("browser.aboutHomeSnippets.updateUrl", 'https://www.cliqz.com/');

check aboutHomejs and aboutHome.xhtml

check screenshot !

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.