All Projects → cztomczak → Cef2go

cztomczak / Cef2go

Licence: other
Go lang bindings for the Chromium Embedded Framework (CEF)

Programming Languages

c
50402 projects - #5 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Cef2go

Extension Create
Create modern cross-browser extensions with no build configuration.
Stars: ✭ 167 (-78.59%)
Mutual labels:  chrome, browser, chromium
Kdeconnect Chrome Extension
A browser extension to send pages and content from your browser to connected KDE Connect devices.
Stars: ✭ 124 (-84.1%)
Mutual labels:  chrome, browser, chromium
Surfingkeys Conf
A SurfingKeys configuration which adds 130+ key mappings for 20+ sites & OmniBar search suggestions for 50+ sites
Stars: ✭ 137 (-82.44%)
Mutual labels:  chrome, browser, chromium
Cef4delphi
CEF4Delphi is an open source project to embed Chromium-based browsers in applications made with Delphi or Lazarus/FPC for Windows, Linux and MacOS.
Stars: ✭ 785 (+0.64%)
Mutual labels:  cef, browser, chromium
Cefpython
Python bindings for the Chromium Embedded Framework (CEF)
Stars: ✭ 2,498 (+220.26%)
Mutual labels:  cef, chrome, chromium
Chromely
Build HTML Desktop Apps on .NET/.NET Core/.NET 5 using native GUI, HTML5, JavaScript, CSS
Stars: ✭ 2,728 (+249.74%)
Mutual labels:  cef, browser, chromium
Bas
BrowserAutomationStudio can automate everything that Chrome can.
Stars: ✭ 203 (-73.97%)
Mutual labels:  cef, browser, chromium
Adamantium Thief
🔑 Decrypt chromium based browsers passwords, cookies, credit cards, history, bookmarks, autofill. Version > 80 is supported.
Stars: ✭ 283 (-63.72%)
Mutual labels:  chrome, browser, chromium
Nightmare
A high-level browser automation library.
Stars: ✭ 19,067 (+2344.49%)
Mutual labels:  chrome, browser
Chromium
Chromium browser with SSL VPN. Use this browser to unblock websites.
Stars: ✭ 4,041 (+418.08%)
Mutual labels:  chrome, chromium
Phpdesktop
Developing Desktop Applications Like Developing Websites => phpdesktop
Stars: ✭ 434 (-44.36%)
Mutual labels:  cef, chrome
Undetected Chromedriver
Custom Selenium Chromedriver | Zero-Config | Passes ALL bot mitigation systems (like Distil / Imperva/ Datadadome / CloudFlare IUAM)
Stars: ✭ 365 (-53.21%)
Mutual labels:  chrome, browser
Extanalysis
Browser Extension Analysis Framework - Scan, Analyze Chrome, firefox and Brave extensions for vulnerabilities and intels
Stars: ✭ 351 (-55%)
Mutual labels:  chrome, browser
Puppetron
Puppeteer (Headless Chrome Node API)-based rendering solution.
Stars: ✭ 429 (-45%)
Mutual labels:  chrome, chromium
Chrome Charset
An extension used to modify the page default encoding for Chromium 55+ based browsers.
Stars: ✭ 346 (-55.64%)
Mutual labels:  chrome, chromium
Qzoneexport
QQ空间导出助手,用于备份QQ空间的说说、日志、私密日记、相册、视频、留言板、QQ好友、收藏夹、分享、最近访客为文件,便于迁移与保存
Stars: ✭ 456 (-41.54%)
Mutual labels:  chrome, chromium
Playwright Sharp
.NET version of the Playwright testing and automation library.
Stars: ✭ 459 (-41.15%)
Mutual labels:  chrome, chromium
Surfingkeys
Map your keys for web surfing, expand your browser with javascript and keyboard.
Stars: ✭ 3,787 (+385.51%)
Mutual labels:  chrome, chromium
Scriptsafe
a browser extension to bring security and privacy to chrome, firefox, and opera
Stars: ✭ 434 (-44.36%)
Mutual labels:  chrome, browser
Wrp
Web Rendering Proxy: Use vintage, historical, legacy browsers on modern web
Stars: ✭ 503 (-35.51%)
Mutual labels:  chrome, browser

CEF2go

Table of contents:

Introduction

CEF2go is an open source project founded by Czarek Tomczak in 2014 to provide Go bindings for the Chromium Embedded Framework (CEF). CEF2go can act as a GUI toolkit, allowing you to create an HTML 5 based GUI in your application. Or you can provide browser capabilities to your application.

Currently the CEF2go example creates just a simple window with the Chromium browser embedded. You can set a few options for your application like the cache directory. More advanced bindings are in plans, and that includes javascript bindings and callbacks, so that you can have bidirectional communication between Go and Javascript in a native way. Though, it is already possible to communicate with Go from Javascript, see the "Communication between Go and Javascript" section further down this page.

CEF2go is licensed under the BSD 3-clause license, see the LICENSE file.

Compatibility

Supported platforms: Windows, Linux, Mac OSX.

CEF2go was tested and works fine with Go 1.2 / Go 1.3.3.

Binary examples

The binary examples provided here use CEF 3 branch 1750 (Chrome 33 beta channel as of build time).

Windows example: releases/tag/v0.10

Linux example: releases/tag/v0.11

Mac OSX example: releases/tag/v0.12

Help

Having problems or questions? Go to the CEF2go Forum. Please do not use Issue Tracker for asking questions.

See the auto generated docs for the following packages:

Support development

Both code contributions and Paypal donations are welcome. Donate through Paypal

Thanks to those who have made a Paypal donation:

  • David Witten

Forks worth a look

  • fromkeith/cef2go
    • Adds support for client handlers (eg. Display, LifeSpan, Request, Resource, Scheme, Download).
    • Exposes new objects (eg. Browser, Frame, Request, Response).
    • Tested only on Windows.
  • paperlesspost/cef2go
    • Adds suport for a few client handlers including Render handler (off-screen rendering to a raw pixel buffer).
    • Implements V8 callbacks for native communication from Javascript to Go.
    • Tested only on Linux.

Communication between Go and Javascript

For now to make communication between Go and javascript possible you have to run an internal http server and communicate using XMLHttpRequests in javascript. See the http_server_windows.go example that embeds both a http server and a Chromium browser in a standalone application. To run it type "build.bat http_server". The http server is listening at 127.0.0.1:54007, thus it is not accessible from the outside, it can be accessed only from the machine it is running on.

Getting started on Windows

  1. Install Go 32-bit. CEF 64-bit binaries are still experimental and were not tested.

  2. Install mingw 32-bit and add C:\MinGW\bin to PATH. You can install mingw using mingw-get-setup.exe. Select packages to install: "mingw-developer-toolkit", "mingw32-base", "msys-base". CEF2go was tested and works fine with GCC 4.8.2. You can check gcc version with "gcc --version".

  3. Download CEF 3 branch 1750 revision 1590 binaries: cef_binary_3.1750.1590_windows32.7z
    Copy Release/* to cef2go/Release
    Copy Resources/* to cef2go/Release

  4. Run build.bat (or "build.bat noconsole" to get rid of the console window when running the final executable)

Getting started on Linux

  1. These instructions work fine with Ubuntu 12.04 64-bit. On Ubuntu 13/14 libudev.so.0 is missing and it is required to create a symbolic link to libudev.so.1. For example on Ubuntu 14.04 64-bit run this command: cd /lib/x86_64-linux-gnu/ && sudo ln -sf libudev.so.1 libudev.so.0.

  2. Install CEF dependencies:
    sudo apt-get install build-essential libgtk2.0-dev libgtkglext1-dev

  3. Download CEF 3 branch 1750 revision 1604 binaries: cef_binary_notcmalloc_3.1750.1604_linux64.zip
    Copy Release/* to cef2go/Release

  4. Run "make" command.

Getting started on Mac OS X

  1. These instructions work fine with OS X 10.8 Mountain Lion. May also work with other versions, but were not tested.

  2. Install Go 32-bit. Tested with Go 1.2-386 for OSX 10.8. CEF binaries for OSX 64-bit are still experimental, that's why we're using 32-bit. Though you can try building with CEF 64-bit, download binaries from cefbuilds.com.

  3. Install command line tools (make is required) from:
    https://developer.apple.com/downloads/
    (In my case command line tools for Mountain Lion from September 2013)

  4. Install XCode (gcc that comes with XCode is required). Use the link above. In my case it was XCode 4.6.3 from June 2013.

  5. Download CEF 3 branch 1750 revision 1625 binaries for 32-bit: releases/tag/v0.12
    Copy the cef2go.app directory to cef2go/Release.

  6. Run "make" command.

Built a cool app?

Built a cool app using CEF2go and would like to share info with the community? Talk about it on the CEF2go Forum.

Familiar with Python or PHP?

The author of CEF2go is also working on CEF bindings for other languages. For Python see the CEF Python project. For PHP see the PHP Desktop project.

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