Вы должны войти, чтобы создавать сообщения и темы.

Альтернатива Cent Browser

1◄Страница 32 из 33►

Совместно с ChatGPT создал три VBS скрипта для Supermium, любой из них должен лежать в папке Supermium

UpdateCheker
СкопированоOption Explicit
Скопировано' Получаем путь к текущей папке скрипта
СкопированоDim scriptFolder, releaseUrl, xmlhttp, latestVersion, currentVersion, shell, chromePath
СкопированоscriptFolder = CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName)

Скопировано' URL с релизами на GitHub
СкопированоreleaseUrl = "https://github.com/win32ss/supermium/releases"

Скопировано' Получаем текущую версию из имени папки
СкопированоcurrentVersion = GetVersionFromFolder(scriptFolder)

СкопированоIf currentVersion = "" Then ExitWithMessage("Не удалось найти папку с версией!")

Скопировано' Получаем последнюю версию с GitHub
СкопированоSet xmlhttp = CreateObject("MSXML2.XMLHTTP")
Скопированоxmlhttp.Open "GET", releaseUrl, False
Скопированоxmlhttp.Send
СкопированоlatestVersion = GetLatestReleaseVersion(xmlhttp.responseText)

СкопированоIf latestVersion = "" Then ExitWithMessage("Не удалось найти версию релиза на GitHub.")

Скопировано' Проверяем на наличие новой версии
СкопированоIf IsNewVersion(currentVersion, latestVersion) Then
СкопированоSet shell = CreateObject("WScript.Shell")
Скопированоshell.Popup "Доступна новая версия! Открываю ссылку...", 1.5, "Уведомление", 0

Скопировано' Путь к chrome.exe в той же папке, где скрипт
СкопированоchromePath = scriptFolder & "\chrome.exe"

Скопировано' Проверяем, существует ли chrome.exe
СкопированоIf CreateObject("Scripting.FileSystemObject").FileExists(chromePath) Then
Скопированоshell.Run """" & chromePath & """" & " " & releaseUrl
СкопированоElse
СкопированоExitWithMessage("chrome.exe не найден в папке с скриптом!")
СкопированоEnd If
СкопированоElse
Скопировано' Если версия актуальна, выводим уведомление
СкопированоSet shell = CreateObject("WScript.Shell")
Скопированоshell.Popup "У вас установлена актуальная версия.", 1.5, "Уведомление", 0
СкопированоEnd If

Скопировано' Функция для получения версии из имени папки
СкопированоFunction GetVersionFromFolder(folderPath)
СкопированоDim fso, folder
СкопированоSet fso = CreateObject("Scripting.FileSystemObject")

СкопированоFor Each folder In fso.GetFolder(folderPath).Subfolders
СкопированоIf IsNumericVersion(folder.Name) Then
СкопированоGetVersionFromFolder = folder.Name
СкопированоExit Function
СкопированоEnd If
СкопированоNext

СкопированоGetVersionFromFolder = ""
СкопированоEnd Function

Скопировано' Функция для проверки формата версии
СкопированоFunction IsNumericVersion(version)
СкопированоDim parts
Скопированоparts = Split(version, ".")
СкопированоIsNumericVersion = (UBound(parts) = 3) And IsNumeric(parts(0)) And IsNumeric(parts(1)) And IsNumeric(parts(2)) And IsNumeric(parts(3))
СкопированоEnd Function

Скопировано' Функция для извлечения последней версии релиза
СкопированоFunction GetLatestReleaseVersion(html)
СкопированоDim regEx, matches
СкопированоSet regEx = New RegExp
СкопированоregEx.IgnoreCase = True
СкопированоregEx.Pattern = "Supermium (\d+\.\d+\.\d+\.\d+)"

СкопированоSet matches = regEx.Execute(html)
СкопированоIf matches.Count > 0 Then
СкопированоGetLatestReleaseVersion = matches(0).Submatches(0)
СкопированоElse
СкопированоGetLatestReleaseVersion = ""
СкопированоEnd If
СкопированоEnd Function

Скопировано' Функция для сравнения версий
СкопированоFunction IsNewVersion(current, latest)
СкопированоDim i, currentParts, latestParts
СкопированоcurrentParts = Split(current, ".")
СкопированоlatestParts = Split(latest, ".")

СкопированоFor i = 0 To 3
СкопированоIf CInt(currentParts(i)) < CInt(latestParts(i)) Then
СкопированоIsNewVersion = True
СкопированоExit Function
СкопированоElseIf CInt(currentParts(i)) > CInt(latestParts(i)) Then
СкопированоIsNewVersion = False
СкопированоExit Function
СкопированоEnd If
СкопированоNext

СкопированоIsNewVersion = False
СкопированоEnd Function

Скопировано' Упрощенная функция выхода с сообщением
СкопированоSub ExitWithMessage(message)
СкопированоWScript.Echo message
СкопированоWScript.Quit
СкопированоEnd Sub

- чекает текущую версию браузера и при наличии новой на GitHub-е направляет на страницу Releases

Просто запуск
СкопированоSet WshShell = CreateObject("WScript.Shell")
СкопированоcurrentFolder = WshShell.CurrentDirectory
СкопированоWshShell.Run "cmd.exe /c start /high chrome.exe --user-data-dir=""" & currentFolder & "\User Data"" --compact-ui --enable-features=SupermiumCustomTabs --disable-features=DownloadBubble,TabHoverCards,PowerBookmarksSidePanel", 0, False
- Запуск браузера с создаваемой папкой User Data в папке браузера, а так в же некоторыми доп аргументами

Проверка обновлений и запуск
СкопированоOption Explicit

СкопированоDim WshShell, currentFolder, releaseUrl, currentVersion, latestVersion, browserPath, browserProcessId
СкопированоSet WshShell = CreateObject("WScript.Shell")
СкопированоcurrentFolder = WshShell.CurrentDirectory
СкопированоbrowserPath = currentFolder & "\chrome.exe"
СкопированоreleaseUrl = "https://github.com/win32ss/supermium/releases"

Скопировано' Проверка наличия интернета
СкопированоIf Not IsInternetConnected() Then
СкопированоLaunchBrowser ""
СкопированоWScript.Quit
СкопированоEnd If

Скопировано' Получаем текущую и последнюю версии
СкопированоcurrentVersion = GetVersionFromFolder(currentFolder)
СкопированоIf currentVersion = "" Then ExitWithMessage("Не удалось найти папку с версией!")

СкопированоlatestVersion = GetLatestReleaseVersion(FetchPageContent(releaseUrl))
СкопированоIf latestVersion = "" Then ExitWithMessage("Не удалось найти версию релиза на GitHub.")

Скопировано' Запускаем браузер и проверяем версию
СкопированоLaunchBrowser "--remote-debugging-port=9222"
СкопированоbrowserProcessId = GetBrowserProcessId(browserPath)

СкопированоIf IsNewVersion(currentVersion, latestVersion) Then
СкопированоLaunchBrowser "--remote-debugging-port=9222 --new-tab """ & releaseUrl & """"
СкопированоCloseBrowserProcess browserProcessId
СкопированоEnd If

Скопировано' Функции

СкопированоFunction FetchPageContent(url)
СкопированоDim xmlhttp
СкопированоSet xmlhttp = CreateObject("MSXML2.XMLHTTP")
Скопированоxmlhttp.Open "GET", url, False
Скопированоxmlhttp.Send
СкопированоFetchPageContent = xmlhttp.responseText
СкопированоEnd Function

СкопированоFunction GetVersionFromFolder(folderPath)
СкопированоDim fso, folder
СкопированоSet fso = CreateObject("Scripting.FileSystemObject")
СкопированоFor Each folder In fso.GetFolder(folderPath).Subfolders
СкопированоIf IsNumericVersion(folder.Name) Then
СкопированоGetVersionFromFolder = folder.Name
СкопированоExit Function
СкопированоEnd If
СкопированоNext
СкопированоGetVersionFromFolder = ""
СкопированоEnd Function

СкопированоFunction IsNumericVersion(version)
СкопированоDim parts
Скопированоparts = Split(version, ".")
СкопированоIsNumericVersion = (UBound(parts) = 3 And IsNumeric(parts(0)) And IsNumeric(parts(1)) And IsNumeric(parts(2)) And IsNumeric(parts(3)))
СкопированоEnd Function

СкопированоFunction GetLatestReleaseVersion(html)
СкопированоDim regEx
СкопированоSet regEx = New RegExp
СкопированоregEx.IgnoreCase = True
СкопированоregEx.Pattern = "Supermium (\d+\.\d+\.\d+\.\d+)"
СкопированоIf regEx.Test(html) Then
СкопированоGetLatestReleaseVersion = regEx.Execute(html)(0).Submatches(0)
СкопированоElse
СкопированоGetLatestReleaseVersion = ""
СкопированоEnd If
СкопированоEnd Function

СкопированоFunction IsNewVersion(current, latest)
СкопированоDim currentParts, latestParts, i
СкопированоcurrentParts = Split(current, ".")
СкопированоlatestParts = Split(latest, ".")

СкопированоFor i = 0 To 3
СкопированоIf CInt(currentParts(i)) < CInt(latestParts(i)) Then
СкопированоIsNewVersion = True
СкопированоExit Function
СкопированоElseIf CInt(currentParts(i)) > CInt(latestParts(i)) Then
СкопированоIsNewVersion = False
СкопированоExit Function
СкопированоEnd If
СкопированоNext
СкопированоIsNewVersion = False
СкопированоEnd Function

СкопированоFunction GetBrowserProcessId(browserPath)
СкопированоDim objWMIService, colProcessList, objProcess
СкопированоSet objWMIService = GetObject("winmgmts:\\.\root\cimv2")
СкопированоSet colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'chrome.exe'")
СкопированоFor Each objProcess In colProcessList
СкопированоIf InStr(objProcess.ExecutablePath, browserPath) > 0 Then
СкопированоGetBrowserProcessId = objProcess.ProcessId
СкопированоExit Function
СкопированоEnd If
СкопированоNext
СкопированоGetBrowserProcessId = -1
СкопированоEnd Function

СкопированоSub LaunchBrowser(arguments)
СкопированоWshShell.Run """" & browserPath & """ " & arguments, 0, False
СкопированоEnd Sub

СкопированоSub CloseBrowserProcess(processId)
СкопированоIf processId <> -1 Then
СкопированоWshShell.Run "taskkill /F /PID " & processId, 0, True
СкопированоEnd If
СкопированоEnd Sub

СкопированоSub ExitWithMessage(message)
СкопированоWScript.Echo message
СкопированоWScript.Quit
СкопированоEnd Sub

Скопировано' Функция проверки наличия интернета с помощью команды ping
СкопированоFunction IsInternetConnected()
СкопированоOn Error Resume Next
СкопированоIsInternetConnected = (WshShell.Run("cmd.exe /c ping -n 1 8.8.8.8", 0, True) = 0)
СкопированоOn Error GoTo 0
СкопированоEnd Function

- Тоже что и два предыдущих только в исполнении одного скрипта. Запустил скрипт, запустился браузер, если есть новая версия - направит за ней а гитхаб

Цитата: Вася от 20.12.2024, 17:46

Yevhenii, ты скинул ссылкой,по которой я и жамкнул.Перешёл по chrome://flags и теперь убрал )Ждёмс ликвидации второй кнопки (показать бокрвую панель)...

chrome://flags/#hide-sidepanel-button вторая кнопочка, поставь "enabled"

Лайкнули Yevhenii и Вася
YevheniiВася

Sergey, благодарочка!

Лайкнул Yevhenii
Yevhenii
Цитата: Yevhenii от 21.12.2024, 20:31

Проверка обновлений и запускСкопировано

Финал, довел до совершенства. Скрипт запускает браузер, а при наличии новой версии уведомляет и кидает на страницу с новой версией браузера GitHub, так же прописаны аргументы Скопированоchrome.exe --user-data-dir=Profil --compact-ui --disable-features=DownloadBubble,TabHoverCards,PowerBookmarksSidePanel, данные браузера сохраняются в папке с браузером в папке UserData

Для себя создал и exe с иконкой браузера вместо VBS, кому нужно отпишите поделюсь.

Код скрипта
' СкопированоПолучаем путь к текущей папке
СкопированоSet fso = CreateObject("Scripting.FileSystemObject")
СкопированоSet folder = fso.GetFolder(fso.GetParentFolderName(WScript.ScriptFullName))

Скопировано' Находим текущую версию Supermium
СкопированоSet versionRegex = New RegExp
СкопированоversionRegex.IgnoreCase = True
СкопированоversionRegex.Global = True
СкопированоversionRegex.Pattern = "^\d+\.\d+\.\d+\.\d+$"
СкопированоFor Each subfolder In folder.Subfolders
СкопированоIf versionRegex.Test(subfolder.Name) Then
СкопированоcurrentVersion = subfolder.Name
СкопированоExit For
СкопированоEnd If
СкопированоNext

Скопировано' Запускаем браузер сразу (асинхронно)
СкопированоSet WshShell = CreateObject("WScript.Shell")
СкопированоWshShell.Run """" & folder.Path & "\chrome.exe"" --user-data-dir=UserData --compact-ui --disable-features=DownloadBubble,TabHoverCards,PowerBookmarksSidePanel", 1, False

Скопировано' Загружаем страницу асинхронно
СкопированоSet http = CreateObject("MSXML2.XMLHTTP")
Скопированоhttp.Open "GET", "https://github.com/win32ss/supermium/releases", True
Скопированоhttp.Send

Скопировано' Ожидаем окончания запроса
СкопированоDo While http.readyState <> 4
СкопированоWScript.Sleep 10 ' минимальная задержка
СкопированоLoop

Скопировано' Извлекаем версию с сайта
СкопированоSet releaseRegex = New RegExp
СкопированоreleaseRegex.IgnoreCase = True
СкопированоreleaseRegex.Global = True
СкопированоreleaseRegex.Pattern = "Supermium (\d+\.\d+\.\d+\.\d+) R\d+"

СкопированоSet releaseMatches = releaseRegex.Execute(http.responseText)

СкопированоIf releaseMatches.Count > 0 Then
СкопированоlatestVersion = releaseMatches(0).SubMatches(0)

Скопировано' Сравниваем версии
СкопированоIf latestVersion > currentVersion Then
Скопировано' Уведомление о новой версии
СкопированоWshShell.Popup "Доступна новая версия, открываю...", 1.5, "Уведомление", 64
Скопировано' Открытие ссылки сразу после уведомления
СкопированоWshShell.Run """" & folder.Path & "\chrome.exe"" --user-data-dir=UserData --compact-ui --disable-features=DownloadBubble,TabHoverCards,PowerBookmarksSidePanel https://github.com/win32ss/supermium/releases", 1, False
СкопированоEnd If
СкопированоEnd If

Всем привет.Если кто не знал,но хочется эффект MICA...Идём по chrome://flags/ и вбиваем в поиске mica,получим результат на скрине  включаем Windows 11 Mica titlebar     в положение ENABLED браузер предложить перезапуск себя,соглашаемся и результатом будет что на скрине.Тест на

Cent Browser и Supermium

 

Лайкнул Yevhenii
Yevhenii
Цитата: Илья от 20.12.2024, 13:46

Да жесть, у меня некоторые сайты Google не работают, там тупо аккордеоны не открываются...
Походу придётся ставить официальный Chrome...

Добрый день.
Chrome есть портабельный - Google Chrome Portable
При чём в паблишерах отмечена сама Google.
Publisher: Google & PortableApps.com (John T. Haller)

Привет.Supermium увы не реально портативный как cent

Лайкнул Alas Nameless
Alas Nameless

В браузере Cent Browser, если установлен Internet Download Manager (IDM), можно выбрать способ загрузки файла: использовать стандартный загрузчик браузера или IDM. Существуют ли другие браузеры с такой же возможностью?

Привет Алексй,
В настройках самого IDM есть пункт "Использование специальных клавиш", они настраиваются отдельно, при зажиме которой не происходит перехват загрузки IDM, а используется штатный загрузчик самого браузера. Данный вариант будет поддерживаться во всех существующих браузерах.

Лайкнул Алексй
Алексй
Цитата: Glorynn от 21.12.2024, 17:42

Всем привет, недавно познакомился с Zen browser, и уже как две недели его использую как основной.
Показался быстрым и отзывчивым на уровне Cent, еще понравилось автоскрытие всех панелей браузера оно работает здесь не сдвигая самого рабочего окна, создается впечатление прям полноэкранного режима серфинга, но не убирая саму панель виндоуса, это прям новый опыт, очень понравилось.
Единственное конечно есть неудобство так как жесты мыши приходится использовать с расширением Gesturify но это панацея от части так как работает только уже на открывшихся сайтах, если окно пустое то его жестом не закрыть, только хоткеями с клавиатуры. Еще есть момент с портативностью неясный как будто ее нет хотя сайт предлагает zip версию, но она все равно по умолчанию создает профиль браузера в users и без него на другом ПК браузер будет сброшен по дефолту.
В остальном очень нравится!

а в zen browser можно сделать так чтобы чтобы новая вкладка откррывалась именно как новая вкладка , или сделать чтобы домашняя станица не замещала уже открытую вкладку а открывалась в новой вкладке ?

Цитата: Алексй от 06.03.2025, 13:30

а в zen browser можно сделать так чтобы чтобы новая вкладка откррывалась именно как новая вкладка , или сделать чтобы домашняя станица не замещала уже открытую вкладку а открывалась в новой вкладке ?

Приветствую, в мозиллоподобных это делается так about:config -> browser.tabs.loadBookmarksInTabs -> поменять значение на "true"

А случайно в браузере Catsxp (на основе Chromium) нельзя сделать наоборот, чтобы вкладка заменяла уже открытую?

В настройках Catsxp такого пункта нет, и все вкладки открываются как новые, не закрывая старые, даже если они уже выбраны.

Приветствую! Проблема с вечным прохождением капчи (с невозможностью её пройти) решилась путём обратного включения пункта "Использовать аппаратное ускорение (при наличии)" в настройках браузера, в разделе "Система". Может, кому будет полезно.

Лайкнул Psydiant
Psydiant
Цитата: Богдан от 11.03.2025, 20:35

Приветствую! Проблема с вечным прохождением капчи (с невозможностью её пройти) решилась путём обратного включения пункта "Использовать аппаратное ускорение (при наличии)" в настройках браузера, в разделе "Система". Может, кому будет полезно.

я люблю тебя ❤️️

1◄Страница 32 из 33►