All Projects → Alex313031 → Thorium

Alex313031 / Thorium

Licence: GPL-3.0 License
Chromium fork for linux named after radioactive element No. 90. Windows and Special builds are in different repositories, links are towards the top of the README.md.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
shell
77523 projects
CSS
56736 projects
python
139335 projects - #7 most used programming language
Batchfile
5799 projects
CMake
9771 projects

Projects that are alternatives of or similar to Thorium

docker-node-ci
The Docker image based on the official "node" image optimized for a CI environment
Stars: ✭ 18 (-60%)
Mutual labels:  chromium, chromedriver, chromium-browser
Chrome Protocol Proxy
Chrome DevTools Protocol Proxy - intelligent proxy for debugging purposes
Stars: ✭ 94 (+108.89%)
Mutual labels:  chrome-devtools, chromium, chromedriver
Crawlergo
A powerful dynamic crawler for web vulnerability scanners
Stars: ✭ 1,088 (+2317.78%)
Mutual labels:  chrome-devtools, chromium
Cdp4j
cdp4j - Chrome DevTools Protocol for Java
Stars: ✭ 232 (+415.56%)
Mutual labels:  chrome-devtools, chromium
raspberry-pi-kiosk
A simple set of commands to set up a raspberry pi for use as a stand alone kiosk screen
Stars: ✭ 45 (+0%)
Mutual labels:  chromium, chromium-browser
DMSkin-Miniblink
WPF 里面 调用 Miniblink 浏览器内核
Stars: ✭ 35 (-22.22%)
Mutual labels:  chromium, webbrowser
Surfingkeys Conf
A SurfingKeys configuration which adds 130+ key mappings for 20+ sites & OmniBar search suggestions for 50+ sites
Stars: ✭ 137 (+204.44%)
Mutual labels:  chromium, web-browser
labyrinth
[DEPRICATED] Labyrinth is a anti-censorship Web Browser created to bypass DPI, Blocklists, Port Filtering, Firewalls and DNS censorship all in one
Stars: ✭ 17 (-62.22%)
Mutual labels:  chromium, webbrowser
docker-selenium-lambda
The simplest demo of chrome automation by python and selenium in AWS Lambda
Stars: ✭ 172 (+282.22%)
Mutual labels:  chromium, chromedriver
chromium-notifier
Chromium browser extension that provides browser and extensions update notifications and extensions management functionality. Chromium versions are synced with Woolyss' Website.
Stars: ✭ 68 (+51.11%)
Mutual labels:  chromium, chromium-browser
HandyBrowser
A Handshake enabled Chromium web browser and reference client; works with HSD and the HNSD light client. Use our example to build or integrate Handshake into any browser.
Stars: ✭ 101 (+124.44%)
Mutual labels:  chromium, chromium-browser
JxBrowser-Examples
JxBrowser Examples & Tutorials
Stars: ✭ 49 (+8.89%)
Mutual labels:  chromium, webbrowser
devtools-proxy
Multiplexing proxy for Chrome DevTools. Fully compatible with Selenium and ChromeDriver
Stars: ✭ 64 (+42.22%)
Mutual labels:  chrome-devtools, chromedriver
Crusta
Fast, modern and minimal desktop web browser with rich features
Stars: ✭ 53 (+17.78%)
Mutual labels:  web-browser, webbrowser
NIM PC Demo
云信Windows(PC) C/C++ Demo源码仓库
Stars: ✭ 200 (+344.44%)
Mutual labels:  chromium
GModCEFCodecFix
Automatic Patching/Updating of GMod CEF
Stars: ✭ 68 (+51.11%)
Mutual labels:  chromium
chromium-legacy
Latest Chromium (≒Chrome Canary) for Mac OS X 10.7/10.8/10.9/10.10
Stars: ✭ 71 (+57.78%)
Mutual labels:  chromium
FiremacsWE
Firemacs as a Web Extension
Stars: ✭ 26 (-42.22%)
Mutual labels:  chromium
urlbox-screenshots-node
Capture website thumbnails using the urlbox.io screenshot as a service API in node
Stars: ✭ 14 (-68.89%)
Mutual labels:  chromium
whatabomb
A whatsapp bombing GUI Script
Stars: ✭ 84 (+86.67%)
Mutual labels:  chromedriver

GitHub tag (latest SemVer)  GitHub  GitHub commit activity  Subreddit subscribers

Thorium

Chromium fork for linux named after radioactive element No. 90. Windows/MacOS/Android/Other builds see below. NEW: New builds for different architectures in Thorium-Special! Also Google Sync is now enabled with baked in API Keys!

  • Always built with the latest x64 tip-o-tree "Trunk" build of Chromium.
  • Intended to behave like and have the featureset of Google Chrome, with differences/patches/enhancements listed below.
     – I also build for windows less frequently > https://github.com/Alex313031/Thorium-Win
     – Special and Experimental builds, sometimes for other CPUs (read the readme), and MacOS/Raspi/Android are located at > https://github.com/Alex313031/Thorium-Special You can find builds for Piledriver/Steamroller/Excavator CPUS, Haswell CPUs, as well as SSE4, SSE4.2, and pure AVX builds. NEW: Tigerlake (11th Gen) builds by @midzer
     – NEW: Thorium Special now also has experimental Android ARM32 & ARM64 builds.
     – NEW: Thorium Special now also has new ARM32 builds for things like the Raspberry Pi.
     – NEW: Thorium Special now also has ARM64 and x64 builds for MacOS.

  – Includes Widevine, FFmpeg, Chrome Plugins, as well as thinLTO, CFlag, LLVM Loop, and PGO compiler optimizations. It is built with SSE4, and AVX, so it won't launch on CPU's below 2nd gen Core or AMD FX, but benefits from Advanced Vector EXtensions. You can disable this and use regular SSE3 like Chromium and Chrome, or builds from Thorium special of which some are SSE4 or SSE4.2. (See below.)

EXPERIMENTAL FEATURES/DIFFERENCES BETWEEN CHROMIUM AND THORIUM

  • Various compiler flags that improve performance and target AVX CPU's (read patches.md)
  • Experimental MPEG-DASH.
  • JPEG XL Image File Format support.
  • Experimental PDF annotation support (called "Ink" on ChromiumOS). # DISABLED FOR NOW BECAUSE OF CRASHES.
  • Patches from Debian including font rendering patch, VAAPI Patch, Intel HD support patch, native notifications patch, title bar patch, and... the VDPAU Patch!! (Rejoice Nvidia users)
  • Audio Sandbox patch.
  • DoH (DNS over HTTPS) patches from Bromite.
  • Enable Do Not Track by default patch from Vanadium.
  • Show full URLs including trailing slashes in address bar by default.
  • Disable FLOC patch.
  • Disable Google API Key warning (you can still use API Keys to enable sync) from Ungoogled Chromium.
  • Adds DuckDuckGo, Ecosia, Ask.com, and Yandex.com in US and other locales, along with the normal search engines.
  • Always use the local NTP (New Tab Page) regardless of search engine.
  • Fix icons when distilling page content in Reader Mode.
  • Enable new Menu UI when right clicking the Reload button. (Adds 'Normal Reload', 'Hard Reload', and 'Clear Cache and Hard Reload')
  • Home button shown by Default.
  • Prefetch settings updated to respect privacy.
  • Patches for GN and chrome_sandbox when building.
  • Remove the addition of the Chrome APT sources.list during installation.
  • Inclusion of pak (linux) and pack_mingw (windows), a utility for packing and unpacking the *.pak files in Thorium and any other Chromium based browser.
  • Logo and Branding/Naming changed to the Thorium logo, Thorium name, and "Alex313031" being appended to "The Chromium Authors" in credits, etc.
  • .desktop file includes useful cmdline flags that enable experimental or useful features. (read PATCHES.md)
  • Includes installer patches and files to include ChromeDriver and content_shell, with a .desktop file being provided for content_shell (named thorium-shell.desktop and shows in desktop environments as Thorium Content Shell). You can also run content_shell with the command thorium-shell (custom wrapper for it, located in /usr/bin/). You can run ChromeDriver at /usr/bin/chromedriver. Also, patches for abseil library and mini_installer when building for AVX on Windows.
  • Right clicking the launcher after install gives two additional desktop actions, one to open content-shell, and another to open in safe mode which disables any flags one has set in chrome://flags until the next launch.
  • For more info, read the PATCHES.md file.
  • Known bugs are in the BUGS.md file.

  – args.gn exclude API Keys (you can get them yourself) and the pgo profile path is different for each chromium version (only needed when building). (See below.) UPDATE: Thorium now has API Keys baked in but the instructions are the same if you are building it yourself as I will not include the keys here.

  In general follow build instructions at https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/linux/build_instructions.md and API Keys (if desired) at https://www.chromium.org/developers/how-tos/api-keys

Building

The scripts assume the Chromium source is at $HOME/chromiums/src/. You may have to 'sudo chmod +x' the scripts to make them executable.

  • After initial download of Chromium source code, run (from where you cloned this repo) ./trunk.sh. This will update and sync the sources and at the end it will download the PGO profile for chromium. The file will be downloaded to //chromium/src/chrome/build/pgo_profiles/*.profdata with the actual file name looking something like 'chrome-linux-main-1632505958-ddbb37bcdfa7dbd7b10cf3a9b6a5bc45e7a958a6.profdata', which should be added to the end of args.gn as per below.
  • Then, (from where you cloned this repo) run ./setup.sh. This will copy all the files and patches to the needed locations and drop you to //chromium/src.
  • Run export EDITOR=nano & export VISUAL=nano # You can substitute a cmdline editor like vim here, but many GUI editors cause it to try and parse the args.gn file before it is even saved.
  • Run gn args out/thorium and the contents of 'args.gn' in this repo should be copy/pasted into the editor. --Include your api keys here at the top or leave blank, and edit the last line to point to the actual path and file name of '*.profdata'
  • 'args.list' contains an alphabetical list with descriptions of all possible build arguments; gn_args.list gives a similar list but with the flags in args.gn added.
  • To build, run autoninja -j8 -C out/thorium chrome chrome_sandbox content_shell -d stats The -j# can be changed to limit or increase the number of jobs (generally should be the number of CPU cores on your machine), and the -d stats at the end just shows better verbose stats during compiling. You could also append chromedriver (the releases have chromedriver) after content_shell to build chromedriver, the selenium compatible browser fuzzing library.
  • To install, copy/paste the contents of your out/thorium dir to a good location, i.e. $HOME/bin/thorium. RECOMMENDED - Copy and run clean.sh within this dir to clean up build artifacts. Then you can just run the browser with ~/bin/thorium/chrome, the content_shell with ~/bin/thorium/content_shell, or chromedriver with ~/bin/thorium/chromedriver.
  • Proper Install: To install with a .deb, dont copy the contents of out/thorium; instead run
    autoninja -C out/thorium/ "chrome/installer/linux:unstable_deb" A nice .deb file will now be in out/thorium and you can install it with sudo dpkg -i *.deb It will be called 'thorium-browser-unstable_$VERSIONNUMBER_amd64.deb', and will be installed to /opt/chromium.org/thorium-unstable/.
       NOTE: To get back to "Trunk", i.e. to revert all changes in order to build vanilla chromium, just run ./trunk.sh again.
       NOTE: To compile without AVX, simply go to //chromium/src/build/config/compiler/BUILD.gn, search for mavx (there's only two
       lines), and replace mavx with msse3, then remove the lines right under both of those that contain "-ffp-contract=fast",

https://www.reddit.com/r/ChromiumBrowser/ is a subreddit I made for Thorium and general Chromium discussion and https://alex313031.blogspot.com/ is a blog I made relating to Chromium/ChromiumOS. I also build ChromiumOS with codecs, linux-firmware/modules, and added packages at > https://github.com/Alex313031/ChromiumOS/

− Thanks to https://github.com/robrich999/ for some info and fixes that went into this project.
− Thanks to https://github.com/midzer/ for support and helping with builds.
− Also thanks to https://github.com/bromite/bromite, https://github.com/saiarcot895/chromium-ubuntu-build, https://github.com/Eloston/ungoogled-chromium, and https://github.com/GrapheneOS/Vanadium for patch code.
− The pak_src dir, and the binaries in pack_src/bin are credited to @freeer https://github.com/myfreeer/chrome-pak-customizer/

   NOTE: libpepflashplayer.so is included for posterity and can be used to enable Adobe Flash on older Chromium releases. ʘ‿ʘ

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].