Go to file
Melroy van den Berg 6750ef624f
Try new release-cli
2021-10-01 21:40:37 +02:00
.vscode Introducing new cmark extensions. Fixing superscript. And fuse all inline features together in insertText() method 2021-03-05 01:18:42 +01:00
cmake Improve package desc 2021-03-29 01:42:02 +02:00
go-ipfs Update IPFS daemon to latest version 2021-08-17 16:27:53 +02:00
images Small change bg pattern 2021-08-23 22:44:10 +02:00
lib Update ipfs client 2021-10-01 21:24:15 +02:00
misc Update screenshot 2021-08-31 17:53:12 +02:00
scripts Update IPFS daemon to latest version 2021-08-17 16:27:53 +02:00
src Improve status popover menu 2021-08-31 02:23:46 +02:00
.gitignore Add build & package phase 2020-11-19 04:04:52 +01:00
.gitlab-ci.yml Try new release-cli 2021-10-01 21:40:37 +02:00
.gitmodules Introduce submodule from vasild again 2020-12-12 04:18:19 +01:00
CMakeLists.txt Rename target 2021-03-02 17:50:41 +01:00
CODEOWNERS Add codeowners file 2021-04-11 21:45:23 +02:00
LICENSE Release 0.2.0/media/melroy/Data/Projects/browser/build/bin/browser 2021-02-12 23:36:12 +01:00
README.md Add channel/group links 2021-08-30 18:22:58 +02:00
big.md Create Abstruct base class for renderer. Fix cppcheck. 2020-11-22 00:05:51 +01:00
check.sh Add ci 2020-11-15 04:51:00 +01:00
equation.md Add extra example 2020-11-13 18:55:03 +01:00
plantuml.md Fix icon loading, show error when ipfs is not found and add plantuml example. 2021-03-01 22:28:58 +01:00
suppressions.txt Some refactoring 2020-12-14 19:40:08 +01:00
test.md working save & save as 2021-03-29 22:03:14 +02:00
test2.md Update demo page 2021-03-28 04:03:54 +02:00

README.md

LibreWeb Browser

Decentralized Web-Browser; a revolution of the WWW.

What would you do different; if you could reinvent The Internet in 21st century? With all the knowledge and new technologies available today.

I was inspired by Douglas Engelbart, Tim Berners-Lee and Ted Nelson as well as projects like IPFS, Jekyll, ARPANET, and more.

Note: Project is still in development!

Download

Documentation

Visit the dedicated documentation site for user documentation.

Screenshots

Browser Screenshot
Browser Markdown Editor

Community

Join our Telegram group or Matrix channel and become part of our community!

Ideas/Features

The current success criteria:

  • Everyone should be able to easily read and create a site/blog/news page and publish the content online (without minimal technical knowledge);
  • Built-in easy-to-use editor (whenever you want to publish some content without programming language knowledge);
  • Decentralized (no single-point of failure or censorship), like: P2P, DHT and IPFS;
  • No client-server approach (the client is also the server and visa versa) - think mesh network.
  • Encrypted transfers;
  • Data is stored redundantly within the network (no single-point of failure);
  • Versioning/revisions of content and documenents (automatically solves broken 'links', that can't happy anymore);
  • Publisher user should be able to add additional information about the document/page, eg. title or path (similar in how Jekyll is using the YML format for meta data)
  • Human-readable source-code (eg. Markdown, could be extended as well);
  • End-user is in control about the layout and styling (just like with e-books);
  • Content is King;
  • Fast and Extensible!

Note: Since HyperText (so is HTML) is not used, you can even ditch the HTTP protocol. However TLS, for encryption, can still be used.

Developers

Decentralized Browser is written C++ together with some libraries. It's using the cmark-gfm library for example, which is used for CommonMark (markdown) parsing.

We're using markdown as the source-code of the content/site. No HTML and JavaScript anymore, content is king after all.

LibreWeb Browser is using Gnome GTK3 as UI framework.

Development Environment

I'm using VSCodium editor, with the following extensions installed: C/C++, CMake, CMake Tools, PlantUML, Markdown All in One, vscode-icons and GitLab Workflow.

Build Dependencies

For the build you need at least:

  • GCC 9 or higher (build-essential, g++-9)
  • CMake (Package: cmake)
  • Ninja build system (Package: ninja-build)
  • GTK & Pango (including C++ bindings):
    • Package: libgtkmm-3.0-dev under Debian based distros

Developer Docs

See latest Developer Docs.

Research

For research document plus findings including explanation (like diagrams) see the: