Brave-sync

Iš Žinynas.
Jump to navigation Jump to search

Brave naršyklės sinchronizavimo įrankis, kurį gali paleisti kiekvienas. Mėgstamas "self-hosted" bendruomenės parašytas naudojant golang.

Docker swarm

Prieš tai jau turėtų būti paruoštas docker swarm cluster, sudėti node labeliai ir paleistas traefik. Atkreipkite dėmesį, kad šiame docker composer template yra nurodyta aarch64 architektūros konteinerių atvaizdai, kurie neveiks ant standartinės Intel architektūros. Originalų repozitorių galima rasti čia. Modifikuotas ARM64 (aarch64) randasi čia.

version: '3.4'

services:
  web:
    image: nulldevil/brave-go-sync:aarch64
    depends_on:
      - dynamo-local
      - redis
    networks:
      - sync
      - traefik_public
    command: "./main"
    deploy:
      resources:
        limits:
          cpus: '2.75' # one cpu
          memory: 480M
      placement:
        constraints: [node.labels.name == node0]
      labels:
        # traefik common
        - traefik.enable=true
        - traefik.docker.network=traefik_public
        # traefikv1
        - traefik.frontend.rule=Host:brave.domenas.lt
        - traefik.port=8295
        # traefikv2
        - "traefik.http.routers.brave.rule=Host(`brave.domenas.lt`)"
        - "traefik.http.services.brave.loadbalancer.server.port=8295"
    environment:
      - PPROF_ENABLED=true
      - SENTRY_DSN
      - ENV=local
      - DEBUG=1
      - AWS_ACCESS_KEY_ID=#
      - AWS_SECRET_ACCESS_KEY=#
      - AWS_REGION=us-west-2
      - AWS_ENDPOINT=http://dynamo-local:8000
      - TABLE_NAME=client-entity-dev
      - REDIS_URL=redis:6379
  dynamo-local:
    image: nulldevil/go-sync_dynamo:aarch64
    volumes:
     - ./data/db:/db
    user: root
    deploy:
      resources:
        limits:
          cpus: '2.75' # one cpu
          memory: 480M
      placement:
        constraints: [node.labels.name == node0]
    networks:
      - sync
  redis:
    image: public.ecr.aws/ubuntu/redis:latest
    volumes:
     - ./data/redis:/var/lib/redis
    deploy:
      resources:
        limits:
          cpus: '2.75' # one cpu
          memory: 480M
      placement:
        constraints: [node.labels.name == node0]
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
    networks:
      - sync

networks:
  traefik_public:
    external: true
  sync:
    driver: overlay
    ipam:
      config:
        - subnet: 172.16.21.0/24

Kliento nustatymai

Kadangi kūrėjai labai tingūs ir tokio dalyko kaip sinchronizavino serverio url keitimo neįdėjo į naršyklės nuostatas, t.y jį galima pakeisti tiktai paduodant komandinį parametrą --sync-url=http://sync-serveris.lt/. Žemiau aprašyta keletas triukų kaip pasilengvinti sau gyvenimą, kad nereiktų šio parametro rašinėti kiekvieną kartą paleidžiant naršyklę.

MacOS

Paleidimas gana paprastas

/Applications/Brave\ Browser.app/Contents/MacOS/Brave\ Browser --sync-url=https://brave.domenas.lt/v2

Bet norint pastovumo, toliau sekite instrukcijas

Įdedame failą pavadinimu "launcher" su šiuo turiniu į /Applications/Brave Browser.app/Contents/MacOS/launcher:

#!/bin/sh
RealBin="Brave Browser"
AppDir="$(dirname "$0")"
exec "$AppDir/$RealBin" --sync-url=https://brave.domenas.lt/v2 "$@"

Paredaguojame Info.plist:

/usr/libexec/PlistBuddy -c "Set CFBundleExecutable launcher" /Applications/Brave\ Browser.app/Contents/Info.plist

Pažiūrime ar pasikeitė:

/usr/libexec/PlistBuddy -c "Print CFBundleExecutable" /Applications/Brave\ Browser.app/Contents/Info.plist

Perkeliame "Brave Browser" iš /Applications į Desktop, poto vėl atgal (laikydami Shift+CMD). Apgauname MacOS cache, kitaip jis neaptiks Info.plist pakeitimų.

Windows

Windows sistemoje viskas daug paprasčiau, susiradę ant desktop "Brave browser" nuorodą spaudžiame ant jos dešinį pelės mygelį ir pasirenkame properties arba tiesiog alt+enter ant nuorodos. Atsiradusiame lange, langelyje Target darašome po brave.exe"

--sync-url=https://brave.domenas.lt/v2

Visa eilutė turetų atrodyti taip:

"C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe" --sync-url=https://brave.domenas.lt/v2