Code Monkey home page Code Monkey logo

beacon's People

Contributors

buffrr avatar mdaniel 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

beacon's Issues

git permissions are wrong on autogen.sh shell scripts

$ ./src/beacon/tools/bin/realbutil build debug
...
Traceback (most recent call last):
  File "/proj/imperviousinc/src/out/Debug/../../beacon/components/core/build_libs.py", line 186, in <module>
    sys.exit(main())
  File "/proj/imperviousinc/src/out/Debug/../../beacon/components/core/build_libs.py", line 29, in main
    run_build(args)
  File "/proj/imperviousinc/src/out/Debug/../../beacon/components/core/build_libs.py", line 178, in run_build
    build_hsk(libhsk_out, env)
  File "/proj/imperviousinc/src/out/Debug/../../beacon/components/core/build_libs.py", line 139, in build_hsk
    call(['./autogen.sh'], env)
  File "/proj/imperviousinc/src/out/Debug/../../beacon/components/core/build_libs.py", line 92, in call
    subprocess.check_call(command,env=env)
PermissionError: [Errno 13] Permission denied: './autogen.sh'
$ git ls-tree 100.0.4896.75 third_party/hnsd/autogen.sh
100644 blob 360f7133515ec9779bcd6d93a344823d88d04d25	third_party/hnsd/autogen.sh

but it should be 100755 and the same for its 100644 blob 271c2ee8c33c441336395243ab53f4488af61e22 third_party/hnsd/uv/autogen.sh friend

Or, of course, since build_libs.py is yours changing it to ["bash", "autogen.sh"] is another option

go build causes type error in hns.go

../../third_party/hnsquery/hns.go:83:52: cannot use _Ctype_ulonglong(ctxId) (value of type _Ctype_unsignedlonglong) as type _Ctype_unsignedlong in variable declaration
subprocess.CalledProcessError: Command '['go', 'build', '-trimpath', '-buildmode=c-shared', '-o', '/proj/imperviousinc/src/out/Debug/libbeacon.so']' returned non-zero exit status 2.

This is with go1.18.1, but I dunno what version the build is expecting it to be

GRD string placeholder DCHECK fails in debug builds

The GRD string in the info bubble expects a placeholder. This crash happens in debug builds clicking on the padlock because of a DCHECK :

Check failed: std::string::npos != pos .... "Didn't find a $1 placeholder in ..." at l10n_util.cc(795)

This should be a simple fix

.deb packaging

Fix chromium linux installer to create a .deb package for Beacon.

Doesn't update

There is no option to update/check for updates.
Also, beacon is behind other chromium browsers. This means that is is vulnerable to the various 0-day problems chrome has had recently.

Update user data dir branding

The user data directory still uses chromium on linux stored at ~/.config/chromium. Can also be checked by opening beacon://version. It should use ~/.config/beacon instead.

Replace any remaining grpc usage with mojo

The trust service is a mojo interface already but there's still some usage of gRPC left. It was used to avoid having to do plumbing for a mojo pipe from the browser process to the network service in the initial prototyping phase.

Note: A replacement would need to handle disconnections as well in case the trust service crashes since it lives in its own process.

WIN 10 ,,, MAC

I have win10 the same right? Or is the code only for Mac?

Fix linux binary name

The compiled executable is still called chrome, and should be renamed to beacon. This should be similar to what we do on windows i believe

copy("copy_exe") {
sources = [ "$root_out_dir/chrome.exe" ]
outputs = [ "$root_out_dir/beacon.exe" ]

Override chromium logos

Override chromium logos similar to macOS and windows to update branding. This will likely be the last step to get the installer setup.

Is there Linux support planned?

Security and privacy-driven folks are a staple of the Linux desktop community. They are also often accustomed to making support tickets, GH issues, and promoting their favorite software, even if it is still in beta and has paper cuts.

Is there Linux support planned? Where can we help?

realbutil sync does nothing

This issue may be "overcome by events" if(when) #8 lands, but for the time being it's confusing that realbutil sync does nothing but emit help, seemingly because it has no Action: associated to it

Option to set local listening full node(s)

Especially in bigger LANs local listening full nodes can reduce the burden of public listening full nodes since the sum of outbound connections for SPV clients can probably reduced from 4 public to 1+ local and 1-2 public full nodes. A customizable setting for this would be great.

Setup CI

We're gonna need some CI infra to do builds for Beacon this should make things a lot easier. Chromium uses LUCI it's a bit too googly i'm not sure if it's documented well enough to be usable for non-google projects

Use GN for all the things

We can divide butil into scripts instead and have GN call those since it's more flexible and some people may already have experience with it.

What's a bit tricky this repo is mounted at src/beacon after fetching chromium at src/ so chromium can depend on it internally using //beacon/... and this repo can depend on chromium libs.

Chromium builds work naturally this way (without Beacon):

  1. git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  2. Add depot tools to your path
  3. Use gsync/fetch from depot tools to pull chromium at src/
  4. gen gen out/Debug or whatever name. Set out/Debug/args.gn for the build
  5. call autoninja -C out/Debug chrome

At step 3 beacon is mounted at src/beacon and some patches and overrides get applied that's what butil does. A patch applied by butil links our BUILD.gn to chromium's main BUILD.gn file so that it's possible to build beacon using autoninja -C out/Debug beacon

So we need to at least mount this repo at src/beacon and i suppose we can later link our GN file somehow. Perhaps we can have a repo similar to depot_tools with a script to do this initial dance but that may be overkill. @mdaniel may have some thoughts on this.

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.