Brave
Silent install package for Brave
1.84.132-12
Internet
Internet
- package: tis-brave
- name: Brave
- version: 1.84.132-12
- categories: Internet
- maintainer: WAPT Team,Tranquil IT,Flavien Schelfaut,Jimmy PELÉ
- editor: Brave Software, Inc.
- licence: opensource_free,cpe:/a:mozilla:public_license_2.0,wapt_public
- locale: all
- target_os: redhat_based
- impacted_process: brave,brave_vpn_helper
- architecture: x64
- signature_date:
- size: 127.76 Mo
- installed_size: 690.14 Mo
- homepage : https://brave.com/
package : tis-brave
version : 1.84.132-12
architecture : x64
section : base
priority : optional
name : Brave
categories : Internet
maintainer : WAPT Team,Tranquil IT,Flavien Schelfaut,Jimmy PELÉ
description : Brave is a free and open-source web browser developed by Brave Software, Inc. It blocks ads and website trackers, and provides a way for users to send cryptocurrency contributions in the form of Basic Attention Tokens to websites and content creators
depends :
conflicts :
maturity : PROD
locale : all
target_os : redhat_based
min_wapt_version : 2.3
sources : https://github.com/brave/brave-browser/releases/latest
installed_size : 690141109
impacted_process : brave,brave_vpn_helper
description_fr : Brave est un navigateur web gratuit et open-source développé par Brave Software, Inc. Il bloque les publicités et les traqueurs de sites web, et permet aux utilisateurs d'envoyer des contributions en crypto-monnaie sous la forme de jetons d'attention de base à des sites web et à des créateurs de contenu
description_pl : Brave to darmowa i otwarta przeglądarka internetowa opracowana przez Brave Software, Inc. Blokuje ona reklamy i elementy śledzące witryn internetowych, a także zapewnia użytkownikom możliwość wysyłania kryptowalut w postaci tokenów Basic Attention Token do witryn internetowych i twórców treści
description_de : Brave ist ein freier und quelloffener Webbrowser, der von Brave Software, Inc. entwickelt wurde. Er blockiert Werbung und Website-Tracker und bietet Nutzern die Möglichkeit, Kryptowährungsbeiträge in Form von Basic Attention Tokens an Websites und Inhaltsersteller zu senden
description_es : Brave es un navegador web gratuito y de código abierto desarrollado por Brave Software, Inc. Bloquea los anuncios y los rastreadores de sitios web, y permite a los usuarios enviar contribuciones en criptomoneda en forma de Basic Attention Tokens a sitios web y creadores de contenidos
description_pt : O Brave é um navegador web gratuito e de código aberto desenvolvido pela Brave Software, Inc. Bloqueia anúncios e rastreadores de sítios Web e fornece uma forma de os utilizadores enviarem contribuições em criptomoeda sob a forma de Basic Attention Tokens para sítios Web e criadores de conteúdos
description_it : Brave è un browser web gratuito e open-source sviluppato da Brave Software, Inc. Blocca gli annunci e i tracker dei siti web e offre agli utenti la possibilità di inviare contributi in criptovaluta sotto forma di Basic Attention Token a siti web e creatori di contenuti
description_nl : Brave is een gratis en open-source webbrowser ontwikkeld door Brave Software, Inc. Het blokkeert advertenties en website trackers, en biedt een manier voor gebruikers om cryptocurrency bijdragen in de vorm van Basic Attention Tokens te sturen naar websites en content creators
description_ru : Brave - свободный веб-браузер с открытым исходным кодом, разработанный компанией Brave Software, Inc. Он блокирует рекламу и трекеры сайтов, а также предоставляет пользователям возможность отправлять криптовалютные взносы в виде токенов Basic Attention Tokens на сайты и создателям контента
audit_schedule :
editor : Brave Software, Inc.
keywords : browser,navigateur,brave,chromium
licence : opensource_free,cpe:/a:mozilla:public_license_2.0,wapt_public
homepage : https://brave.com/
package_uuid : 092701b4-c093-46e3-859f-8dddffc9cfb3
valid_from :
valid_until :
forced_install_on :
changelog : https://brave.com/latest/
min_os_version : 9
max_os_version :
icon_sha256sum : 0ac229cb58fe612c76230e09124cef96cff2272017a956f69f5f432c7ab63c99
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-10-29T23:07:47.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : M5VyHENG1ynsT1vZDvOLQuHYkTwtNuJz++56umosqIC7HHrainOpDDXX1mprl+v58Agws0grcIGNUKl1V15ZfkuZV2u0MmwRtZEJA2Abb1yjujyFtYPwrwO6ogERZ2/q/uDtZR+bDgb1QQv93XYX8hIreXCno30qJQWAdsUcVzRH/hjhgTbvIN1vft88ldaGZgHwoenYIAZBHRav1N0KRf3Hle6+iG27dj0De3CZV+GjGP2vtPZo5WshpSnk6RgoWTa9apF4GGhHzY5a54ejejoButr/wagvRM8irhThNoa1k1THKMZEMRhbs2ryq7knhftfx3xS+kZ6ijL+1f/rlg==
# -*- coding: utf-8 -*-
from setuphelpers import *
def install():
bin_name = glob.glob("*.rpm")
install_yum(" ".join(bin_name))
def uninstall():
uninstall_yum("brave-browser")
uninstall_yum("brave-keyring")
# -*- coding: utf-8 -*-
from setuphelpers import *
from io import BytesIO
import gzip
import xml.etree.ElementTree as ET
RPM_NS = {
"common": "http://linux.duke.edu/metadata/common",
"rpm": "http://linux.duke.edu/metadata/rpm",
"repo": "http://linux.duke.edu/metadata/repo",
}
def fetch_primary_xml_url(repo_base, proxies=None):
repomd_url = f"{repo_base}/repodata/repomd.xml"
repomd = wgets(repomd_url, proxies=proxies).decode("utf-8")
root = ET.fromstring(repomd)
data_primary = root.find(".//repo:data[@type='primary']", RPM_NS)
if data_primary is None:
error("primary metadata not found in repomd.xml")
loc = data_primary.find("repo:location", RPM_NS)
href = loc.attrib.get("href")
if not href:
error("primary location href missing in repomd.xml")
return f"{repo_base}/{href}"
class RPMPackagesParser:
def __init__(self, file):
self.root = ET.fromstring(file)
self.raw_pkg_info = self._parse()
def _parse(self):
out = []
for pkg in self.root.findall("common:package", RPM_NS):
ver = pkg.find("common:version", RPM_NS)
fmt = pkg.find("common:format", RPM_NS)
requires = []
if fmt is not None:
reqs = fmt.find("rpm:requires", RPM_NS)
if reqs is not None:
for e in reqs.findall("rpm:entry", RPM_NS):
n = e.attrib.get("name")
if n:
requires.append(n)
out.append({
"name": pkg.findtext("common:name", default="", namespaces=RPM_NS),
"arch": pkg.findtext("common:arch", default="", namespaces=RPM_NS),
"epoch": ver.attrib.get("epoch") or "0",
"version": ver.attrib.get("ver", ""),
"release": ver.attrib.get("rel", ""),
"filename": pkg.find("common:location", RPM_NS).attrib.get("href", ""),
"summary": pkg.findtext("common:summary", default="", namespaces=RPM_NS),
"description": pkg.findtext("common:description", default="", namespaces=RPM_NS),
"url": pkg.findtext("common:url", default="", namespaces=RPM_NS),
"checksum": pkg.findtext("common:checksum", default="", namespaces=RPM_NS),
"dependencies": requires,
})
return out
def rpm_sort_key(p):
return (
int(p.get("epoch", "0") or "0"),
Version(p.get("version", "")),
Version(p.get("release", "0"))
)
def get_all_dep_version_package(list_package, package_name, all_dep):
cand = sorted([p for p in list_package if p["name"] == package_name], key=rpm_sort_key, reverse=True)
if not cand:
return
pkg = cand[0]
if pkg not in all_dep:
all_dep.append(pkg)
for dep in pkg.get("dependencies", []):
get_all_dep_version_package(list_package, dep, all_dep)
def download_all_dependencies(list_package, package_name, repo_base, proxies=None):
all_dep = []
get_all_dep_version_package(list_package, package_name, all_dep)
for p in all_dep:
url = f"{repo_base}/{p['filename']}"
fn = url.rsplit("/", 1)[-1]
if not isfile(fn):
print(f"Download URL is: {url}")
wget(url, fn, proxies=proxies)
else:
print(f"{fn} already exists.")
def update_package():
"""Met à jour un paquet RPM à partir du repo distant."""
package_updated = False
proxies = get_proxies_from_wapt_console() or get_proxies()
app_name = control.name
arch = "x86_64"
repo_base = f"https://brave-browser-rpm-release.s3.brave.com/{arch}"
primary_url = fetch_primary_xml_url(repo_base, proxies=proxies)
print(f"Repo primary metadata: {primary_url}")
with gzip.open(BytesIO(wgets(primary_url, proxies=proxies))) as f:
data = f.read().decode('utf-8')
pkgs = RPMPackagesParser(data).raw_pkg_info
package_name = "brave-browser"
last_pkg = sorted([p for p in pkgs if p["name"] == package_name], key=rpm_sort_key, reverse=True)[0]
epoch, version, release = last_pkg["epoch"], last_pkg["version"], last_pkg["release"]
print(f"Latest {app_name} version is: {version}-{release} (epoch {epoch})")
download_all_dependencies(pkgs, package_name, repo_base, proxies)
# Changing version of the package
if Version(version) > Version(control.get_software_version()):
print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
package_updated = True
else:
print(f"Software version up-to-date ({Version(version)})")
control.set_software_version(version)
control.save_control_to_wapt()
return package_updated
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
8e318ec2d0e01b021223314bfa62d3482effc030108115c063dd67d492e36572 : WAPT/control
0ac229cb58fe612c76230e09124cef96cff2272017a956f69f5f432c7ab63c99 : WAPT/icon.png
d962908dd8e5a703dd5aa1271eba72c0ecca298aaa86526cbd22944dd7c11781 : brave-browser-1.84.132-1.x86_64.rpm
f416dcf7f3c0c6c26c2c3c915e733ba2a93ae0cf21686b1bfc18fcae8907256b : brave-keyring-1.19-1.noarch.rpm
adcdcbe6b8788343ff5c4d44c6c76ac431836c31560c0345a27f80a54deb72ae : luti.json
cb7de3fafc80fb6da1488c716943ce9b267949fbe070eae0cf2f347209148f70 : setup.py
3f72c2944be3f5b1ebe48402f8b7757ae5f51bbb607a26f29566560c24a1f103 : update_package.py