GithubHelp home page GithubHelp logo

mikeklem / cromite Goto Github PK

View Code? Open in Web Editor NEW

This project forked from uazo/cromite

0.0 0.0 0.0 138.94 MB

Cromite a Bromite fork with ad blocking and privacy enhancements; take back your browser!

Home Page: https://www.cromite.org/

License: GNU General Public License v3.0

Shell 1.90% JavaScript 0.21% Python 0.01% HCL 0.28% Dockerfile 0.86% C++ 96.74%

cromite's Introduction

current Cromite release

Build Cromite

Cromite (a Bromite fork) - Take back your browser

Bromite

Cromite is a Chromium fork based on Bromite with built-in support for ad blocking and an eye for privacy.

Cromite is available for Android arm64-v8a, arm32-v7a and x86_64, Nougat and above (Minimum v7.0, API level 24), Windows and Linux 64bit.

Goals

Cromite's goal is to

  • limit the features built into the browser that can be used as a platform for tracking users' habits, and, if it is not technically possible, disable them and leave it up to the user to choose whether to re-enable them
  • limit the close integration between the browser and its manufacturer
  • not let the excellent research work done by csagan5 with Bromite be lost

In addition, Cromite would like to promote greater integration with other non-profit, open source browsers, encouraging closer collaboration with others, and attempt to integrate them directly into Chromium once they have reached an appropriate level of maturity.

Privacy limitations

Cromite's privacy features, including anti-fingerprinting mitigations (which are not comprehensive), are not to be considered useful for journalists and people living in countries with freedom limitations, please look at Tor Browser in such cases. Please note that this project is not free of bugs and that changing the behaviour of a browser can be risky and not without problems.

Docs

Releases

All built versions are available as releases.

Cromite is currently built for ARM64, x86 (Android SDK version 23+) and Windows x64.

You will automatically receive notifications about new updates (and be able to install them) via the auto updater functionality (enabled by default), see related wiki page.

F-droid

Official F-droid repo url: https://www.cromite.org/fdroid/repo/?fingerprint=49F37E74DEE483DCA2B991334FB5A0200787430D0B5F9A783DD5F13695E9517B

Auto-update setup for windows

  1. Download https://github.com/henrypp/chrlauncher/releases
  2. Create a chrlauncher.ini
[chrlauncher]

# Custom Chromium update URL (string):
ChromiumUpdateUrl=https://github.com/uazo/cromite/releases/latest/download/updateurl.txt

# Command line for Chromium (string):
# note --user-data-dir= works better if path is absolute
# See here: http://peter.sh/experiments/chromium-command-line-switches/
ChromiumCommandLine=--user-data-dir="C:\Users\<my user>\AppData\Local\Chromium\User Data" --no-default-browser-check

# to enable full logging in c:\temp\log.txt (daily rotate, no automatic deletion)
# ChromiumCommandLine=--enable-logging --v=0 --log-file=C:\temp\log.txt --user-data-dir=".\User Data" --no-default-browser-check

# Chromium executable file name (string):
ChromiumBinary=chrome.exe

# Chromium binaries directory (string):
# Relative (to chrlauncher directory) or full path (env. variables supported).
ChromiumDirectory=.\bin

To prevent deletion by Microsoft Defender each time the browser is updated, check the user-data-dir folder by modifying it accordingly.

Enable network process sandbox in windows

I don't include any setups because I don't like the experience of not knowing what they do, so you must manually run this command on first installation:

cd <where_is_the_exe>
icacls . /grant "*S-1-15-2-2:(OI)(CI)(RX)"

see uazo/bromite-buildtools#51

Enable AppContainer for renderer process in windows

you can activate the 'RendererAppContainer' flag from the command line with

  --enable-features=RendererAppContainer

Making Cromite work in Ubuntu 24.04 and its derivatives (kubuntu, etc)

This happens because, starting with Ubuntu 24.04, Apparmor restricts the use of unprivileged user namespaces. To fix this, you have several options:

1. Creating an apparmor profile for cromite

Create /etc/apparmor.d/chrome, and write:

abi <abi/4.0>,
include <tunables/global>

profile cromite /home/user/cromite/chrome-lin/chrome flags=(unconfined) {
  userns,

  include if exists <local/chrome>
}

replacing the cromite binary path with where you have placed cromite.

Now, run sudo apparmor_parser -r /etc/apparmor.d/cromite to apply the changes.

2. Disabling the restriction until next reboot

sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0

3. Disabling the restriction permanently

Add kernel.apparmor_restrict_unprivileged_userns=0 to the file /etc/sysctl.d/60-apparmor-namespace.conf. Create the file if not exists.

Auto-update setup for linux

working in progress in uazo#771

Contributing

Please submit issues following the issue template; beware that GitHub does not display the templates from mobile.

Patches are welcome and accepted if they match the project goals.

If you want to help me, here is the list of things I would need.

For any usage or development discussion please use GitHub Discussions: https://github.com/uazo/cromite/discussions

Credits

thanks to austinhuang0131 for the svg icon

License

Cromite is published under GNU GPL v3. The patches published as part of the Bromite project are released under GNU GPL v3 only. Cromite specific patches are under the GNU GPL-2+ licence. Each individual patch contains specific information on the licence used.

cromite's People

Contributors

uazo avatar csagan5 avatar zhmars avatar evelikov avatar basilgello avatar 0xedward avatar universalizer avatar nikolowry avatar tacothedank avatar krlvm avatar oldphones68 avatar ngc6302h avatar lucianlau avatar jylitalbit avatar cacheiforindicium avatar zelda189 avatar madis0 avatar archangegabriel avatar ahrotahn avatar baylee4 avatar brainstinct0 avatar

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.