Brave-sync

Iš Žinynas.
03:14, 21 sausio 2023 versija, sukurta \dev\null (Aptarimas | indėlis)
(skirt) ← Ankstesnė versija | Dabartinė versija (skirt) | Vėlesnė versija → (skirt)
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[keisti]

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[keisti]

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[keisti]

Paleidimas gana paprastas

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

Bet norint pastovumo, toliau sekite instrukcijas

1 Variantas[keisti]

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

2 Variantas[keisti]

Panaudojant Apple Script

do shell script "\"/Applications/Brave Browser.app/Contents/MacOS/Brave Browser\" --sync-url=https://brave.domenas.lt/v2"
quit

Išsaugome kaip apple script, ir spaudžiame export kaip app bundle, išsaugome ant darbalaukio. Toliau atsidarome ~/Desktop/Brave\ Browserys.app/Contents/Info.plist ir po pirmojo <dict> pridedame šias dvi eilutes

 <key>NSUIElement</key>
 <true/>

Pastarosios paslepia patį apple script langą paleidžiant naršyklę.

Windows[keisti]

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