GithubHelp home page GithubHelp logo

fathyb / carbonyl Goto Github PK

View Code? Open in Web Editor NEW
14.1K 77.0 277.0 283 KB

Chromium running inside your terminal

License: BSD 3-Clause "New" or "Revised" License

Dockerfile 1.08% Python 0.22% Shell 8.17% Rust 68.82% C++ 10.67% JavaScript 9.75% C 1.29%
browser chromium terminal

carbonyl's People

Contributors

0mp avatar alexandermaxranabel avatar fathyb avatar glensc avatar kianmeng avatar licy183 avatar natelevin1 avatar orhun avatar pragmatwice avatar reynoldsme avatar stephen-seo 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  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  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

carbonyl's Issues

Any plans for binary releases?

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.

Cargo.lock Ignored

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

Error on build -

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.

"sub-pixel" glyphs?

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.

Il Ya Une Erreur !

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..

Build on Windows

I want to run this natively on Windows without using WSL or Docker. Can you please add support for it on Windows? Thanks.

Confirm

Echo "$Confirm issue resolutions"

Support text effects?

I think it should be possible to support various text effects beyound color such as bold, italic, underline, etc.

Build Docker on MacOS

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

Precompiled version as GitHub Release

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.

no sound on windows

running in Docker version 20.10.22, build 3a2c30b on windows 10, youtube videos will play but there is no audio output

try few site all show empty screen

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

Incomplete build instructions

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.

Point?

Why would i use this over chrome?

Cannot input some special characters

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.

Awesome Project!

I don't know what I can do with this project yet.
BUT IT'S SO COOOOOOOOOOOOOOOL.
Thanks, dude.

Audio through SSH

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.

How to set proxy?

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?

How to build

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

Released zip should contain a subdirectory.

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.

outdated dependencies

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

Cloud not complie on the last step

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

Ability to use --headless=chrome

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

Mouse unsupported

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.

Build on OSX (BigSur - intel)

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

Any plan to add address bar or tab manager?

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.

Text not showing on amazon

First, let me tell you how amazed I am about this project, what you achieved is unbelievable!
The only thing I found that made navigation impossible is on some websites (like amazon.fr product pages), no text is displayed:
SCR-20230129-ew9
Congratulations again for this project!

Visible cursor block to make it easier to see which links are highlighted?

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 use this with the npm module "puppeteer"?

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?

Right-to-left text renders badly

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?

Return key sometimes not registering

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.

JCK not line-wrapping

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/:

2023-02-06_14-37

Apologies for the minimal bug report. Let me know if how I may provide more helpful info if needed.

Script inject to web page ?

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,

Consider Sixel Support

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.

Use sixel technology

Amazing product. I just wanted to leave my suggestion here.
It produces very crisp images.

How to build on Ubuntu?

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 ?

How to use chromium's clipboard api in terminal?

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.

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.