fathyb / carbonyl Goto Github PK
View Code? Open in Web Editor NEWChromium running inside your terminal
License: BSD 3-Clause "New" or "Revised" License
Chromium running inside your terminal
License: BSD 3-Clause "New" or "Revised" License
Amazing project! It would be really nice to have binary releases, aarch64 and x86_64 in particular. I hope to use Carbonyl in Termux on Android so Docker isn't an option.
The Cargo.lock is ignored, which makes it difficult to guarantee reproducible builds.
Also makes it difficult to package for platforms such as nixpkgs, which require a Cargo.lock for building Rust programs
for mac /linux/ windows
any requirement for ssh terminal ?
can it be install like brew / apt install ?
Instead of have hardcoded values for the number of pixels of the font on screen, it's possible to get the real font size in pixels using the ws_xpixel
and ws_ypixel
values, between some other syscalls and tools, although they are poorly supported, but if they can be fetch, it's better to use the real values to do the calcs.
https://stackoverflow.com/questions/42936926/ws-xpixel-and-ws-ypixel
Got
../../sandbox/policy/mac/sandbox_mac.mm:28:10: fatal error: 'sandbox/policy/mac/print_backend.sb.h' file not found
#include "sandbox/policy/mac/print_backend.sb.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[7293/36295] CXX obj/media/capture/mojom/image_capture/image_capture.mojom.o
ninja: build stopped: subcommand failed.
Changed options - no luck.
Instead of just only use lower block glyph, try to detect actual image shape and use glyphs that better adapt to it, like diagonals and so.
J'arrive Pas A Commencer A Cloner :::::
Sicks-MacBook-Pro:carbonyl sick$ ./scripts/gclient.sh sync
Updating depot_tools...
curl: (22) The requested URL returned error: 403
/opt/local/bin/python3: can't open file '/Users/sick/carbonyl/chromium/depot_tools/.cipd_bin/goma_ctl.py': [Errno 2] No such file or directory
curl: (22) The requested URL returned error: 403
/Users/sick/carbonyl/chromium/depot_tools/bootstrap_python3: line 32: [email protected]_bin/python3/bin/python3: No such file or directory
/Users/sick/carbonyl/chromium/depot_tools/vpython3: line 45: /Users/sick/carbonyl/chromium/depot_tools/.cipd_bin/vpython3: No such file or directory
/Users/sick/carbonyl/chromium/depot_tools/vpython3: line 45: exec: /Users/sick/carbonyl/chromium/depot_tools/.cipd_bin/vpython3: cannot execute: No such file or directory
Je Ne Veut Pas Parler Anglais Je suis suffisamment Frustré La..
I want to run this natively on Windows without using WSL or Docker. Can you please add support for it on Windows? Thanks.
Echo "$Confirm issue resolutions"
I think it should be possible to support various text effects beyound color such as bold, italic, underline, etc.
trapped in a fortune cookie factory, please send help!
Trying to build Docker on macOS
user@MacBook-Pro-User carbonyl % ./scripts/docker-build.sh Default amd64
cp: /Users/user/carbonyl/carbonyl/chromium/src/out/Default/libEGL.so: No such file or directory
instead of files with .so extension, I see .dyLib
Hello
This project is really cool, but the build time is very very long (even with my Ryzen 9 5950X) and need a lot of space.
It would be nice if we could have a GitHub Release with precompiled binary
Do you think it's possible?
You could do it manually or automatically using GitHub Actions for CI/CD.
running in Docker version 20.10.22, build 3a2c30b on windows 10, youtube videos will play but there is no audio output
try on ubuntu 22.10, youtube and google show empty screen. and no logs after quit
docker run --rm -it fathyb/carbonyl https://www.google.com
It seems the build instructions are missing details on how to patch the chromium sources. Right now it only shows how to build chromium without patches.
Why would i use this over chrome?
Hi, congrats on this project.
I have problems with typing some special characters into text fields. I tried on couple websites, i.e. google.com search:
% (shift+5) behaves like left arrow key
& (shift+7) appears to behave like a up arrow key
' behaves like right arrow key
( [shift+9] works like down arrow key
I'm running docker image on remote debian machine. I'm connecting to it through ssh.
I don't know what I can do with this project yet.
BUT IT'S SO COOOOOOOOOOOOOOOL.
Thanks, dude.
This is so cool! Are you able to play audio via SSH? I'm running the docker container on a Linux box, and accessing it via Terminal with SSH on macOS Ventura.
hi,
i want to try this docker image in an env that need proxy,how can i pass the proxy settings to this docker container?
Following instructions on homepage I get
./scripts/build.sh Default
Updating crates.io index
Compiling libc v0.2.139
Compiling unicode-width v0.1.10
Compiling unicode-segmentation v1.10.0
Compiling carbonyl v0.0.1 (/media/philip/chromium/home/projects/carbonyl)
Finished dev [unoptimized + debuginfo] target(s) in 5.48s
ninja: error: '../../carbonyl/build/x86_64-unknown-linux-gnu/release/libcarbonyl.a', needed by 'headless_shell', missing and no known rule to make it
Unpacking a zip file in a downloads-folder produces clutter unless it contains a single subdirectory containing the relevant documents.
Carbonyl's currently released zip file unnecessarily splashes cryptically named files all over the user's downloads folder.
The easiest fix is for the release to contain a single folder, which might simply be named carbonyl
that contains all the files that belong to the archive.
gcode depreciated can you please update build guide ------VERY COOL PROJECT!!! (been waiting 30 yrs for this)
building under ubuntu ..(edit i just saw you updated) .....can you please just add a release file for the masses? both arm64 and amd see im stuck on a orange pi 5 and my friend whom is trying trying to build it is having issues
I have follow all step in the README and got rustc error
Compiling carbonyl v0.0.1 (/home/vaz/Code/personal/carbonyl)
error[E0554]: `#![feature]` may not be used on the stable release channel
--> src/lib.rs:1:1
|
1 | #![feature(c_unwind)]
| ^^^^^^^^^^^^^^^^^^^^^
For more information about this error, try `rustc --explain E0554`.
error: could not compile `carbonyl` due to previous error
It seems that websites can detect that its a headless browser, so most websites block requests coming from this. I'm not sure how you are launching it in headless mode, but if you are using --headless then you can just switch it to --headless=chrome and it may fix the detections, and it will use the real GPU instead of a virtual gpu
As "browsh" similar browser, when I'm in a true console (not emulated in Xorg) mouse is not recognized, so I can't do nothing but move up-down.
Trying to build on OSX
./scripts/gn.sh args out/Default
Waiting for editor on "/Users/bardbess/code/carbonyl/chromium/src/out/Default/args.gn"...
Generating files...
ERROR at build arg file (use "gn args <out_dir>" to edit):3:1: Unable to load "/Users/bardbess/code/carbonyl/chromium/src/carbonyl/src/browser/args.gn".
The carbonyl/chromium/src/carbonyl
directory has 2 files (build src
) (perhaps supposed to be symlinks?).
cat src => ../../../src
When I delete the file and manually link (ln -s ../../../src src
) it appears to work, but the build fails.
./scripts/build.sh Default
Finished release [optimized] target(s) in 0.20s
[0/1] Regenerating ninja files
ninja: error: '../../carbonyl/build/x86_64-apple-darwin/release/libcarbonyl.a', needed by 'obj/headless/libheadless_shell_lib.a', missing and no known rule to make it
Awesome, it is a very interesting and useful project.
I wonder if there are plans to add address bar or tab manager (or a command panel like vscode/vim)
that would make the browser easier to use.
Will this project support Chromium extentions, like uBlock Origin?
Any plans on non-docker version?
I'd love to see an option to render a block character that follows the cursor. Right now it can be pretty fiddly to see which links are highlighted as it doesn't seem to perfectly follow the mouse. Doesn't have to be exactly this, but I think some way of making link hovering as unambiguous as possible would be great for usability.
Is there any way to launch carbonyl instead of chromium with puppeteer? I know I can use executablePath but its not working with carbonyl, only chrome and chromium. Can I use chromium flags when launching carbonyl to set a wsEndpoint to connect to automate carbonyl?
This project is incredible. I was wondering whether why right-to-left rendering fails. Currently, all text appears as if it were in visual order (in practice: reversed), and shaping does not work at all.
The first order of things should be to fix ordering. One could hack the order by piping relevant RTL strings through fribidi, but Chrome already has icu library. I wonder why that does not work. The output renderer doesn't seem to have a notion of direction, yet it receives logical order strings?
Hi Fathy, I just wanted to say that this project is really mind-blowing. Congratulations! 🎉
I took the liberty to share your project on Twitter and people seem to love it! I hope you don't mind.
Tweet link: https://twitter.com/manekinekko/status/1619819186368434176?s=20
Very practical tool, yet how to jump forward and backward in history?
Expect them to be added to shortcut keys.
Example:
docker run -ti fathyb/carbonyl https://google.com
Enter a keyword, hit Enter -> nothing happens. On other sites like YouTube it's working though.
It looks like the line-breaker is only triggering on spaces, so long paragraphs of Japanese end up falling back to the terminal's line wrapper, which breaks the layout. . Sample image below taken from https://rainlab.co.jp/works/:
Apologies for the minimal bug report. Let me know if how I may provide more helpful info if needed.
Hi,
I try to using Carbonyl to replace PhantomJS as headless browser run in terminal.
It's there anyway to access Carbonyl Chromium Developer Console from terminal or anyway to inject JS to webpage ?
Thanks in advance,
As shown at https://piranna.github.io/2020/04/25/How-to-simulate-Chrome-is-running-in-a-TTY/, CSS has constants for both tty
media type (that's deprecated), and grid
media feature. Since this project allow to use Chrome in real TTY/grid devices, we should add support for that CSS constants so they are properly notified to web pages.
I think this is an amazing project! The only problem are images and some UI elements that need some rendering. I think sixel might be the best alternative, it's pretty lightweight and has support on a lot of terminals.
Amazing product. I just wanted to leave my suggestion here.
It produces very crisp images.
Trying to build, the first error I get is
λ ./scripts/patches.sh apply
Stashing Chromium changes..
fatal: pathspec 'carbonyl' did not match any files
Then I don't understand the part which says "When prompted, enter the following arguments:" do you mean when the editor pops open? I tried that but it gave an error when save and quit vi
Is it because its not checked out in the root but its in the path /media/philip/chromium/carbonyl ?
In Chromium, when we are opening web apps which integrate clipboard capabilities with navigator.clipboard which provides clipboard read and write permissions. It will stick a popper on top left and user needs to click allow then the clipboard access abilities will be able.
can it diectly install from cargo?
then just carbonyl google.com
?
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.