nccgroup / autochrome Goto Github PK
View Code? Open in Web Editor NEWThis tool downloads, installs, and configures a shiny new copy of Chromium.
License: Apache License 2.0
This tool downloads, installs, and configures a shiny new copy of Chromium.
License: Apache License 2.0
AutoChrome isn't compatible with recent versions of Chromium. However, it is possible to force the download of a specific version with the "-V" switch.
So let's use an old and compatible one: $ ruby ./autochrome.rb -V 612442 -c
That will install the fully compatible version 72.0.3626.0
Hello,
after installation of AutoChrome, the default White profile has a yellow background image. The script build_extensions.rb has the correct Hue value (i.e. "White: 0.0") but isn't run at installation time. Instead, static copies stored in data/themes/ are used.
The following workaround rebuilds and reinstalls extensions, and provides a greyish White profile:
cd autochrome && ruby ./build_extensions.rb --path ~/.local/autochrome/chrome-orig && ruby autochrome.rb -P
A definitive solution could be to update the repository with fresh builds of the extensions, or to run build_extensions.rb at installation time.
ruby autochrome.rb -c
[???] Detected OS X
[---] Using locally cached Chromium version 687702
/Users/ghorton/Development/autochrome/lib/processor/macosx.rb:36:in `exist?': no implicit conversion of nil into String (TypeError)
from /Users/ghorton/Development/autochrome/lib/processor/macosx.rb:36:in `tweak_install'
from /Users/ghorton/Development/autochrome/lib/auto_chrome.rb:57:in `go'
from autochrome.rb:91:in `<main>'
Suggestion to add another switch to the chrome executable in the ~/.local/autochrome folder.
Add the following to the opts list.
"--disable-features=OptimizationGuideModelDownloading,OptimizationHintsFetching,OptimizationTargetPrediction,OptimizationHints",
Without this switch you get some more noise in the proxy where chrome is contacting optimization servers or something. Adding this switch seems to stop that traffic.
Hello,
I wanted to try using custom extensions with autochrome, it seems to install well but when launching there are no extensions loaded, or only the settings resetter (depends on which ext I try to add or random).
I downloaded crx from Chrome webstore with that URL for instance, using appropriate prodversion.
https://clients2.google.com/service/update2/crx?response=redirect&prodversion=90.0.4409.0&acceptformat=crx2,crx3&x=id%3Dgppongmhjkpfnbhagpmjfkannfbllamg%26uc
Hello,
by default, traffic to localhost, 127.0.0.1, ... isn't proxied.
That can be fixed by adding the following line to the chrome
script:
"--proxy-bypass-list=<-loopback>",
When compiling the Burp extension, it is compiled for java 9 (major version 53), as some files define this as the desired/required version. When trying to add the extension in Burp, if running from the Burp installer and launcher (which uses the bundled Java 8 instance included with Burp), the extension cannot be loaded due to the major version mismatch (53 vs 52).
Attempts to compile the extension for "-target 8" fail, because the code requires to be targeted for Java 9.
One can workaround the issue by running Burp manually with "java -jar burp.jar", using Java 9. However, when this is done, Burp "complains" that it has not been tested in Java other than 8, which is the recommended, and "things could fail or go wrong".
Thus, the only way of using the Extension is to use Burp with a "non-recommended" Java.
The following files require major version 53:
burp/IBurpExtender.class
burp/IBurpExtenderCallbacks.class
com/nccgroup/autochrome/useragenttag/BurpExtender.class
Hi,
as someone else mentioned in this comment to #19, the installation of prebuilt .crx
files in the data/extensions
folder fails with:
No key file found for extension /path/to/autochrome/data/extensions/extension.crx
It would be nice to at least have a workaround for this described somewhere.
get_default_directory': uninitialized constant AutoChrome::ProfileBuilder::NotImplementedException (NameError)
used command:
ruby ./autochrome.rb -t Win_x64
I am using ruby with ming64, so usual command doesn't work. Please help!
On windows 10
I tried to run this from within a 64bit VirtualBox Kali (stock) VM on Mac OS X 10.12.5 but it crashed. I'm not sure if this is supported but would be great to have this tool work from within a VM.
# ./autochrome.rb
[???] Detected Linux (x86_64)
[---] Determining latest Chromium version for Linux_x64
[---] Got latest version: Linux_x64 483973
[---] Downloading Chromium from https://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_x64/483973/chrome-linux.zip
[???] Saved 96370455 of 96370455 bytes (100%)
[---] Installed Chromium
[---] Installing extension /root/Desktop/Engagement/autochrome/data/themes/Red.crx
[---] Installing extension /root/Desktop/Engagement/autochrome/data/themes/Yellow.crx
[---] Installing extension /root/Desktop/Engagement/autochrome/data/themes/Blue.crx
[---] Installing extension /root/Desktop/Engagement/autochrome/data/extensions/settingsreset.crx
[---] Installing extension /root/Desktop/Engagement/autochrome/data/extensions/autochrome_junk_drawer.crx
[---] Installed user profiles
To launch Chromium, run '/root/.local/autochrome/chrome-wrapper' in a terminal.
The application may not appear in your launcher until you log out.
Click on the "Getting Started" bookmark after launching Chromium.
# /root/.local/autochrome/chrome-wrapper
[1820:1820:0703/062723.175746:FATAL:zygote_host_impl_linux.cc(107)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.
#0 0x564bf9c09317 base::debug::StackTrace::StackTrace()
#1 0x564bf9c1cc31 logging::LogMessage::~LogMessage()
#2 0x564bf8e4eafa content::ZygoteHostImpl::Init()
#3 0x564bf8b06a50 content::BrowserMainLoop::EarlyInitialization()
#4 0x564bf8b0cf39 content::BrowserMainRunnerImpl::Initialize()
#5 0x564bf8b06202 content::BrowserMain()
#6 0x564bf992ec89 content::ContentMainRunnerImpl::Run()
#7 0x564bf9936632 service_manager::Main()
#8 0x564bf992d712 content::ContentMain()
#9 0x564bf85ca16c ChromeMain
#10 0x7fae6e52c2b1 __libc_start_main
#11 0x564bf85c9fd0 <unknown>
Received signal 6
#0 0x564bf9c09317 base::debug::StackTrace::StackTrace()
#1 0x564bf9c08e8f base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7fae713530c0 <unknown>
#3 0x7fae6e53efcf gsignal
#4 0x7fae6e5403fa abort
#5 0x564bf9c07e02 base::debug::BreakDebugger()
#6 0x564bf9c1d121 logging::LogMessage::~LogMessage()
#7 0x564bf8e4eafa content::ZygoteHostImpl::Init()
#8 0x564bf8b06a50 content::BrowserMainLoop::EarlyInitialization()
#9 0x564bf8b0cf39 content::BrowserMainRunnerImpl::Initialize()
#10 0x564bf8b06202 content::BrowserMain()
#11 0x564bf992ec89 content::ContentMainRunnerImpl::Run()
#12 0x564bf9936632 service_manager::Main()
#13 0x564bf992d712 content::ContentMain()
#14 0x564bf85ca16c ChromeMain
#15 0x7fae6e52c2b1 __libc_start_main
#16 0x564bf85c9fd0 <unknown>
r8: 0000000000000000 r9: 00007ffebeece3a0 r10: 0000000000000008 r11: 0000000000000246
r12: 00007ffebeeceaa0 r13: 000000000000016b r14: 00007ffebeecea98 r15: 00007ffebeecea90
di: 0000000000000002 si: 00007ffebeece3a0 bp: 00007ffebeece650 bx: 0000000000000006
dx: 0000000000000000 ax: 0000000000000000 cx: 00007fae6e53efcf sp: 00007ffebeece418
ip: 00007fae6e53efcf efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000
trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.
I'm using Autochrome to check different user profiles. Therefore I created a seperate "person" for each profile.
However, when I'm using my own profiles, the profile is not added to the user-agent header. Hence there is no way to see the different profiles in Burp.
Google Translate is not working. All requests are getting a 403 as shown below:
HTTP/1.1 403 Forbidden
Access-Control-Allow-Origin: *
Date: Wed, 16 Jan 2019 07:04:24 GMT
Expires: Wed, 16 Jan 2019 07:04:24 GMT
Cache-Control: private, max-age=600
Content-Type: text/html; charset=UTF-8
Content-Language: en
X-Content-Type-Options: nosniff
Content-Disposition: attachment; filename="f.txt"
Server: HTTP server (unknown)
Content-Length: 1780
X-XSS-Protection: 1; mode=block
Alt-Svc: quic=":443"; ma=2592000; v="44,43,39,35"
Connection: close
<!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
<title>Error 403 (Forbidden)!!1</title>
<style>
*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
</style>
<a href=//www.google.com/><span id=logo aria-label=Google></span></a>
<p><b>403.</b> <ins>That�s an error.</ins>
<p>Your client does not have permission to get URL <code>/translate_a/t?anno=3&client=te_lib&format=html&v=1.0&sp=smrd&key=invalid&logld=vTE_20181015_01&sl=auto&tl=en&sp=nmt&tc=1&sr=1&tk=835342.667721&mode=1</code> from this server. <ins>That�s all we know.</ins>
Tried different sites with different languages.
To whoever is maintaining this repository,
I noticed that the user agent value is currently not appended after installing autochrome. As the last release and activity seems to be 1-2 years ago, i was wondering if:
Let me know if this works, thanks!
Hello,
when launching AutoChrome, the message "You are using an unsupported command-line flag" appears. That can be fixed by adding the following line to the chrome
script:
"--test-type",
Source: https://groups.google.com/a/chromium.org/forum/#!msg/chromium-discuss/O4WpwWvGz4A/jmrypvjNEQAJ
Reference: https://peter.sh/experiments/chromium-command-line-switches/
Hey there,
I used autochrome for a couple of months on Kali Linux. After the last systemupdate and rebuilding autochrome for the new Chromium Version I get the following Error message:
└─$ ruby autochrome.rb -c
[???] Detected Linux (x86_64)
[---] Determining latest Chromium version for Linux_x64
[---] Got latest version: Linux_x64 1035024
[---] Downloading Chromium from https://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_x64/1035024/chrome-linux.zip
[???] Saved 160036982 of 160036982 bytes (100%)
[---] Installed Chromium
/home/user/autochrome/lib/auto_chrome/prefs.rb:87:in `initialize': EVP_PKEY_new_mac_key: malloc failure (OpenSSL::HMACError)
from /home/user/autochrome/lib/auto_chrome/prefs.rb:87:in `new'
from /home/user/autochrome/lib/auto_chrome/prefs.rb:87:in `sign'
from /home/user/autochrome/lib/auto_chrome/prefs.rb:69:in `[]='
from /home/user/autochrome/lib/auto_chrome/profile.rb:79:in `block in init_prefs'
from /home/user/autochrome/lib/auto_chrome/profile.rb:79:in `each'
from /home/user/autochrome/lib/auto_chrome/profile.rb:79:in `init_prefs'
from /home/user/autochrome/lib/auto_chrome/profile.rb:27:in `initialize'
from /home/user/autochrome/lib/auto_chrome/profile_builder.rb:27:in `new'
from /home/user/autochrome/lib/auto_chrome/profile_builder.rb:27:in `block in generate'
from /home/user/autochrome/lib/auto_chrome/profile_builder.rb:26:in `map'
from /home/user/autochrome/lib/auto_chrome/profile_builder.rb:26:in `generate'
from /home/user/autochrome/lib/auto_chrome.rb:61:in `go'
from autochrome.rb:91:in `<main>'
While on a fresh Debian Installation it works like a charm, it still throws that Error on a fresh Kali Linux Install.
Is there a possible Workaround?
Thanks in Advance!
Extensions are broken (disabled, cannot be enabled) again in Chromium 65.0.3323.0, at least on macOS; help text links to:
https://support.google.com/chrome_webstore/answer/2811969
https://blog.chromium.org/2015/05/continuing-to-protect-chrome-users-from.html
Not sure if this was just enabled for Mac or what.
Hi there,
I am trying to install Autochrome on a fresh install of Kali linux, but I am having some issues with the plugins not working correctly. I did a fresh install of Kali linux 2019.3. Running ruby version: ruby 2.5.7p206 (2019-10-01 revision 67816) [x86_64-linux-gnu]
Running: ruby autochrome.rb
will install autochrome with no warnings or errors. When I run Autochrome I get a chrome browser (without the background colors). The profiles are present in the profiles menu, but the background colors do not apply and the User-Agent is not configured to the autochrome version, it only sends the default user-agent.
The autochrome plugin and the settings-reset plugin is not loaded. Is there a solution for this problem? I have also tried on the Ubuntu 19.04 with the same problem.
The extensions are not loaded when updating to a current chromium version.
When I try to install the extension manually, I get the error CRX_HEADER_INVALID.
It works with Chromium 599096.
It does not work with Chromium 645689
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.