├── .gitignore ├── .github ├── CODEOWNERS ├── dependabot.yml └── workflows │ ├── pull_request.yml │ ├── schedule.yml │ ├── issue_comment.yml │ ├── issue.yml │ └── ci.yml ├── .vscode └── settings.json ├── test └── Scoop-Bucket.Tests.ps1 ├── bin ├── checkver.ps1 ├── checkurls.ps1 ├── formatjson.ps1 ├── checkhashes.ps1 ├── missing-checkver.ps1 ├── auto-pr.ps1 └── test.ps1 ├── .gitattributes ├── .editorconfig ├── bucket ├── kindle.json ├── scihubeva.json ├── doxygen-gui.json ├── mendeley-desktop.json ├── flying-carpet.json ├── alist-helper.json ├── configure-defender.json ├── fancywm.json ├── rectanglewin.json ├── alexandria.json ├── file-converter.json ├── ytdownloader.json ├── vibe.json ├── cytoscape.json ├── musicat.json ├── navicat-premium-lite.json ├── ecopaste.json ├── bananas.json ├── notegen.json ├── winfsp-np.json ├── dbgate.json ├── defender-remover.json ├── pdf4qt.json ├── wisecare365.json ├── jigdo.json ├── lrcget.json ├── wox-beta.json ├── jupyterlab-desktop.json ├── landrop-latest.json ├── stirlingpdf.json ├── bitcomet.json ├── veracrypt.json ├── chatbox.json ├── normcap.json ├── comfyui.json ├── tropy.json ├── mogan.json ├── autodarkmode.json ├── buzz.json ├── voov-meeting.json ├── netlogo.json ├── filecentipede.json ├── texlive.json ├── linkandroid.json ├── vmware-workstation-pro.json ├── dorion.json ├── xshell.json └── itunes.json ├── LICENSE ├── scripts └── AppsUtils.psm1 └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @ivaquero 2 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cmake.configureOnOpen": false 3 | } 4 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: github-actions 4 | directory: '/.github/workflows' 5 | schedule: 6 | interval: monthly 7 | -------------------------------------------------------------------------------- /test/Scoop-Bucket.Tests.ps1: -------------------------------------------------------------------------------- 1 | if (!$env:SCOOP_HOME) { 2 | $env:SCOOP_HOME = Resolve-Path (Split-Path (Split-Path (scoop which scoop))) 3 | } 4 | . "$env:SCOOP_HOME\test\Import-Bucket-Tests.ps1" 5 | -------------------------------------------------------------------------------- /bin/checkver.ps1: -------------------------------------------------------------------------------- 1 | if (!$env:SCOOP_HOME) { $env:SCOOP_HOME = Convert-Path (scoop prefix scoop) } 2 | $checkver = "$env:SCOOP_HOME/bin/checkver.ps1" 3 | $dir = "$PSScriptRoot/../bucket" 4 | & $checkver -Dir $dir @Args 5 | -------------------------------------------------------------------------------- /bin/checkurls.ps1: -------------------------------------------------------------------------------- 1 | if (!$env:SCOOP_HOME) { $env:SCOOP_HOME = Convert-Path (scoop prefix scoop) } 2 | $checkurls = "$env:SCOOP_HOME/bin/checkurls.ps1" 3 | $dir = "$PSScriptRoot/../bucket" 4 | & $checkurls -Dir $dir @Args 5 | -------------------------------------------------------------------------------- /bin/formatjson.ps1: -------------------------------------------------------------------------------- 1 | if (!$env:SCOOP_HOME) { $env:SCOOP_HOME = Convert-Path (scoop prefix scoop) } 2 | $formatjson = "$env:SCOOP_HOME/bin/formatjson.ps1" 3 | $path = "$PSScriptRoot/../bucket" 4 | & $formatjson -Dir $path @Args 5 | -------------------------------------------------------------------------------- /bin/checkhashes.ps1: -------------------------------------------------------------------------------- 1 | if (!$env:SCOOP_HOME) { $env:SCOOP_HOME = Convert-Path (scoop prefix scoop) } 2 | $checkhashes = "$env:SCOOP_HOME/bin/checkhashes.ps1" 3 | $dir = "$PSScriptRoot/../bucket" 4 | & $checkhashes -Dir $dir @Args 5 | -------------------------------------------------------------------------------- /bin/missing-checkver.ps1: -------------------------------------------------------------------------------- 1 | if (!$env:SCOOP_HOME) { $env:SCOOP_HOME = Convert-Path (scoop prefix scoop) } 2 | $missing_checkver = "$env:SCOOP_HOME/bin/missing-checkver.ps1" 3 | $dir = "$PSScriptRoot/../bucket" 4 | & $missing_checkver -Dir $dir @Args 5 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Since Scoop is a Windows-only tool, we can safely use CRLF line endings for all text files. 2 | # If Git decides that the content is text, its line endings will be normalized to CRLF in the working tree on checkout. 3 | # In the Git index/repository the files will always be stored with LF line endings. This is fine. 4 | * text=auto eol=crlf 5 | -------------------------------------------------------------------------------- /bin/auto-pr.ps1: -------------------------------------------------------------------------------- 1 | #Requires -Version 5.1 2 | param( 3 | # overwrite upstream param 4 | [String]$upstream = 'scoopforge/main-plus:main' 5 | ) 6 | 7 | if (!$env:SCOOP_HOME) { $env:SCOOP_HOME = Convert-Path (scoop prefix scoop) } 8 | $autopr = "$env:SCOOP_HOME/bin/auto-pr.ps1" 9 | $dir = "$PSScriptRoot/../bucket" 10 | & $autopr -Dir $dir -Upstream $Upstream @Args 11 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig (is awesome): http://EditorConfig.org 2 | 3 | # * top-most EditorConfig file 4 | root = true 5 | 6 | # default style settings 7 | [*] 8 | charset = utf-8 9 | end_of_line = crlf 10 | indent_size = 4 11 | indent_style = space 12 | insert_final_newline = true 13 | trim_trailing_whitespace = true 14 | 15 | [*.{yml,yaml}] 16 | indent_size = 2 17 | -------------------------------------------------------------------------------- /.github/workflows/pull_request.yml: -------------------------------------------------------------------------------- 1 | on: 2 | pull_request_target: 3 | types: [opened] 4 | name: Pull Requests 5 | jobs: 6 | pullRequestHandler: 7 | name: PullRequestHandler 8 | runs-on: windows-latest 9 | steps: 10 | - uses: actions/checkout@main 11 | - name: PullRequestHandler 12 | uses: ScoopInstaller/GithubActions@main 13 | env: 14 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 15 | -------------------------------------------------------------------------------- /.github/workflows/schedule.yml: -------------------------------------------------------------------------------- 1 | on: 2 | workflow_dispatch: 3 | schedule: 4 | # run every 12 hours 5 | - cron: "20 */12 * * *" 6 | name: Excavator 7 | jobs: 8 | excavate: 9 | name: Excavate 10 | runs-on: windows-latest 11 | steps: 12 | - uses: actions/checkout@main 13 | - name: Excavate 14 | uses: ScoopInstaller/GithubActions@main 15 | env: 16 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 17 | SKIP_UPDATED: "1" 18 | -------------------------------------------------------------------------------- /.github/workflows/issue_comment.yml: -------------------------------------------------------------------------------- 1 | on: 2 | issue_comment: 3 | types: [created] 4 | name: Commented Pull Request 5 | jobs: 6 | pullRequestHandler: 7 | name: PullRequestHandler 8 | runs-on: windows-latest 9 | steps: 10 | - uses: actions/checkout@main 11 | - name: PullRequestHandler 12 | uses: ScoopInstaller/GithubActions@main 13 | if: startsWith(github.event.comment.body, '/verify') 14 | env: 15 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 16 | -------------------------------------------------------------------------------- /bin/test.ps1: -------------------------------------------------------------------------------- 1 | #Requires -Version 5.1 2 | #Requires -Modules @{ ModuleName = 'BuildHelpers'; ModuleVersion = '2.0.1' } 3 | #Requires -Modules @{ ModuleName = 'Pester'; ModuleVersion = '5.2.0' } 4 | 5 | $pesterConfig = New-PesterConfiguration -Hashtable @{ 6 | Run = @{ 7 | Path = "$PSScriptRoot/.." 8 | PassThru = $true 9 | } 10 | Output = @{ 11 | Verbosity = 'Detailed' 12 | } 13 | } 14 | $result = Invoke-Pester -Configuration $pesterConfig 15 | exit $result.FailedCount 16 | -------------------------------------------------------------------------------- /.github/workflows/issue.yml: -------------------------------------------------------------------------------- 1 | on: 2 | issues: 3 | types: [opened, labeled] 4 | name: Issues 5 | jobs: 6 | issueHandler: 7 | name: IssueHandler 8 | runs-on: windows-latest 9 | steps: 10 | - uses: actions/checkout@main 11 | - name: IssueHandler 12 | uses: ScoopInstaller/GithubActions@main 13 | if: github.event.action == 'opened' || (github.event.action == 'labeled' && contains(github.event.issue.labels.*.name, 'verify')) 14 | env: 15 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 16 | -------------------------------------------------------------------------------- /bucket/kindle.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.6.70964", 3 | "description": "Kindle for PC", 4 | "homepage": "https://amazon.com/kindleapps", 5 | "license": "Proprietary", 6 | "url": "https://amazon.com/kindlepcdownload#/dl.7z", 7 | "hash": "2ed64ee0fb5ad94032d6d9824d4efbeeea435255c963e9393d949259b87ebfa4", 8 | "shortcuts": [ 9 | [ 10 | "Kindle.exe", 11 | "Kindle" 12 | ] 13 | ], 14 | "checkver": { 15 | "url": "https://amazon.com/kindlepcdownload", 16 | "regex": "KindleForPC-installer-([\\d.]+)\\.exe" 17 | }, 18 | "autoupdate": { 19 | "url": "https://amazon.com/kindlepcdownload" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /bucket/scihubeva.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "6.4.0", 3 | "description": "Cross-platform Sci-Hub GUI application", 4 | "homepage": "https://github.com/leovan/SciHubEVA", 5 | "license": "MIT", 6 | "url": "https://github.com/leovan/SciHubEVA/releases/download/v6.4.0/SciHubEVA-x86_64-v6.4.0.exe", 7 | "hash": "ae80d15ffc356b36a6d0a9eb5e5593b828544cbccfc21cb894cdf7df6bb17f76", 8 | "shortcuts": [ 9 | [ 10 | "SciHubEVA.exe", 11 | "Sci-Hub EVA" 12 | ] 13 | ], 14 | "innosetup": true, 15 | "checkver": "github", 16 | "autoupdate": { 17 | "url": "https://github.com/leovan/SciHubEVA/releases/download/v$version/SciHubEVA-x86_64-v$version.exe" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /bucket/doxygen-gui.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.15.0", 3 | "homepage": "https://doxygen.nl/", 4 | "description": "The GUI frontend of Doxygen.", 5 | "license": "GPL-2.0-only", 6 | "url": "https://doxygen.nl/files/doxygen-1.15.0-setup.exe", 7 | "hash": "9cffa650bbc7f728271972fb5a18a38fa79a5def225a8c0e4156d0b0d3b1d7b5", 8 | "innosetup": true, 9 | "shortcuts": [ 10 | [ 11 | "bin\\doxywizard.exe", 12 | "Doxy Wizard" 13 | ] 14 | ], 15 | "checkver": { 16 | "url": "https://doxygen.nl/download.html", 17 | "regex": "doxygen-([\\d.]+).windows" 18 | }, 19 | "autoupdate": { 20 | "url": "https://doxygen.nl/files/doxygen-$version-setup.exe" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /bucket/mendeley-desktop.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.19.8", 3 | "homepage": "https://mendeley.com/", 4 | "license": "Freeware", 5 | "url": "https://desktop-download.mendeley.com/download/Mendeley-Desktop-1.19.8-win32.exe#/dl.7z", 6 | "hash": "99b308cda0047bdaae8727ebd92b7ce6c8342fe794732b61313db5444cf69f4f", 7 | "shortcuts": [ 8 | [ 9 | "MendeleyDesktop.exe", 10 | "Mendeley Desktop" 11 | ] 12 | ], 13 | "checkver": { 14 | "url": "https://chocolatey.org/packages/mendeley", 15 | "regex": "Downloads of v\\s+([\\d.]+)" 16 | }, 17 | "autoupdate": { 18 | "url": "https://desktop-download.mendeley.com/download/Mendeley-Desktop-$version-win32.exe#/dl.7z" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /bucket/flying-carpet.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "9.0.0", 3 | "description": "File transfer between Android, iOS, Linux, macOS, and Windows over ad hoc WiFi", 4 | "homepage": "https://github.com/spieglt/FlyingCarpet", 5 | "license": "GPL-3.0", 6 | "url": "https://github.com/spieglt/FlyingCarpet/releases/download/v9.0.0/FlyingCarpet.exe", 7 | "hash": "65dcf38abe35fcc72bb4b1cf12ffd0fb6ec92f101abdadc26dac75446c89fdfc", 8 | "shortcuts": [ 9 | [ 10 | "FlyingCarpet.exe", 11 | "Flying Carpet" 12 | ] 13 | ], 14 | "checkver": "github", 15 | "autoupdate": { 16 | "architecture": { 17 | "64bit": { 18 | "url": "https://github.com/spieglt/FlyingCarpet/releases/download/v$version/FlyingCarpet.exe" 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /bucket/alist-helper.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "description": "Application to simplify the use of the desktop version of alist/openlist", 4 | "homepage": "https://github.com/Xmarmalade/alisthelper", 5 | "license": "GPL-3.0 license", 6 | "url": "https://github.com/Xmarmalade/alisthelper/releases/download/v0.2.0/AlistHelper_v0.2.0_windows-x86_64.zip", 7 | "hash": "84270d6dc82a61d45ec701f8a53354d8a23644797cea1da51a1a8def824d6440", 8 | "suggest": { 9 | "alist": "main/alist" 10 | }, 11 | "shortcuts": [ 12 | [ 13 | "alisthelper.exe", 14 | "Alist Helper" 15 | ] 16 | ], 17 | "checkver": "github", 18 | "autoupdate": { 19 | "url": "https://github.com/Xmarmalade/alisthelper/releases/download/v$version/AlistHelper_v$version_windows-x86_64.zip" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /bucket/configure-defender.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "4.1.0.0", 3 | "description": "Utility for configuring Windows 10 built-in Defender antivirus settings.", 4 | "homepage": "https://github.com/AndyFul/ConfigureDefender", 5 | "license": "Freeware", 6 | "url": "https://github.com/AndyFul/ConfigureDefender/raw/master/ConfigureDefender.exe", 7 | "hash": "bd7630b6ad94f8ed2024e5e98a24b6fedbb5f2b8a058b70c8ffeefe98a7dcca2", 8 | "shortcuts": [ 9 | [ 10 | "ConfigureDefender.exe", 11 | "ConfigureDefender" 12 | ] 13 | ], 14 | "checkver": { 15 | "url": "https://github.com/AndyFul/ConfigureDefender/blob/master/README.md", 16 | "regex": "ConfigureDefender stable version ([\\d\\.]+)" 17 | }, 18 | "autoupdate": { 19 | "url": "https://github.com/AndyFul/ConfigureDefender/raw/master/ConfigureDefender.exe" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /bucket/fancywm.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.15.0", 3 | "description": "FancyWM - A tiling window manager for Windows.", 4 | "homepage": "https://github.com/FancyWM/fancywm", 5 | "license": "MIT", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/FancyWM/fancywm/releases/download/v2.15.0/FancyWM.Release.x64.zip" 9 | } 10 | }, 11 | "hash": "f3d400ae0303e028215d091cb4b4840b72325ad9ed062d800073223ad09563c9", 12 | "shortcuts": [ 13 | [ 14 | "FancyWM.exe", 15 | "FancyWM" 16 | ] 17 | ], 18 | "persist": "config", 19 | "checkver": { 20 | "url": "https://github.com/FancyWM/fancywm/releases", 21 | "regex": "tag/v([\\d.]+)" 22 | }, 23 | "autoupdate": { 24 | "url": "https://github.com/FancyWM/fancywm/releases/download/v$version/FancyWM.Release.x64.zip" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /bucket/rectanglewin.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.1", 3 | "description": "A minimalistic Windows rewrite of macOS Rectangle.app/Spectacle.app.", 4 | "homepage": "https://github.com/ahmetb/RectangleWin", 5 | "license": "Apache 2.0", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/ahmetb/RectangleWin/releases/download/v0.2.1/RectangleWin-x64-v0.2.1.exe#/RectangleWin.exe", 9 | "hash": "1168a7ca0fcbc399114fcdbf6beddaa1e71513e9746d08cf10324f90f3f9f480" 10 | } 11 | }, 12 | "shortcuts": [ 13 | [ 14 | "RectangleWin.exe", 15 | "RectangleWin" 16 | ] 17 | ], 18 | "checkver": "github", 19 | "autoupdate": { 20 | "architecture": { 21 | "64bit": { 22 | "url": "https://github.com/ahmetb/RectangleWin/releases/download/v$version/RectangleWin-x64-v$version.exe" 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /bucket/alexandria.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.13.1", 3 | "description": "A minimalistic cross-platform eBook reader built with Tauri, Epub.js, and Typescript", 4 | "homepage": "https://github.com/btpf/Alexandria", 5 | "license": "GPL-3.0-only", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/btpf/Alexandria/releases/download/v0.13.1/Alexandria_0.13.1_x64-portable.exe", 9 | "hash": "afb92486cb1856e6162470e41735604db1740080ad81557e064bd7ccc1fd56c7" 10 | } 11 | }, 12 | "shortcuts": [ 13 | [ 14 | "Alexandria.exe", 15 | "Alexandria" 16 | ] 17 | ], 18 | "persist": "Alexandria_Data", 19 | "checkver": "github", 20 | "autoupdate": { 21 | "architecture": { 22 | "64bit": { 23 | "url": "https://github.com/btpf/Alexandria/releases/download/v$version/Alexandria_$version_x64-portable.exe" 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /bucket/file-converter.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.1", 3 | "description": "Various file converter and compressor", 4 | "homepage": "https://file-converter.org/", 5 | "license": "GPL-3.0-only", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/Tichau/FileConverter/releases/download/v2.1/FileConverter-2.1-x64-setup.msi", 9 | "hash": "9570174bf58e9044265578b8a63ed007caec1003c4ad89f8d52f815c00a6a0b7" 10 | } 11 | }, 12 | "shortcuts": [ 13 | [ 14 | "PFiles64/File Converter/FileConverter.exe", 15 | "File Converter" 16 | ] 17 | ], 18 | "checkver": { 19 | "github": "https://github.com/Tichau/FileConverter" 20 | }, 21 | "autoupdate": { 22 | "architecture": { 23 | "64bit": { 24 | "url": "https://github.com/Tichau/FileConverter/releases/download/v$version/FileConverter-$version-x64-setup.msi" 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /bucket/ytdownloader.json: -------------------------------------------------------------------------------- 1 | { 2 | "homepage": "https://ytdn.netlify.app", 3 | "version": "3.20.2", 4 | "description": "A modern GUI App for downloading Videos and Audios from hundreds of sites", 5 | "license": "GPL-3", 6 | "url": "https://github.com/aandrew-me/ytDownloader/releases/download/v3.20.2/YTDownloader_Win.zip", 7 | "hash": "b2bc9f25f13781cc34a5b2bb69c69271996909578b46009025c3d465d198a183", 8 | "bin": [ 9 | [ 10 | "YTDownloader.exe", 11 | "ytdownloader" 12 | ] 13 | ], 14 | "shortcuts": [ 15 | [ 16 | "YTDownloader.exe", 17 | "YTDownloader" 18 | ] 19 | ], 20 | "checkver": { 21 | "github": "https://github.com/aandrew-me/ytDownloader" 22 | }, 23 | "autoupdate": { 24 | "url": "https://github.com/aandrew-me/ytDownloader/releases/download/v$version/YTDownloader_Win.zip", 25 | "hash": { 26 | "url": "$url.sha256" 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /bucket/vibe.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "3.0.5", 3 | "description": "transcribe almost every language offline", 4 | "homepage": "https://github.com/thewh1teagle/vibe", 5 | "license": "MIT", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/thewh1teagle/vibe/releases/download/v3.0.5/vibe_3.0.5_x64-setup.exe#/dl.7z", 9 | "hash": "1ec2c5fc08f4fc2a6a0194cd815ba3907c03ddde4b88b81f4c4c5ceb16ac4cc1" 10 | } 11 | }, 12 | "installer": { 13 | "script": "Remove-Item \"$dir\\`$PLUGINSDIR\", \"$dir\\Unins*\" -Force -Recurse" 14 | }, 15 | "shortcuts": [ 16 | [ 17 | "vibe.exe", 18 | "vibe" 19 | ] 20 | ], 21 | "checkver": "github", 22 | "autoupdate": { 23 | "architecture": { 24 | "64bit": { 25 | "url": "https://github.com/thewh1teagle/vibe/releases/download/v$version/vibe_$version_x64-setup.exe#/dl.7z" 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /bucket/cytoscape.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "3.10.4", 3 | "description": "An open source platform for network analysis and visualization", 4 | "homepage": "https://cytoscape.org", 5 | "license": { 6 | "identifier": "GPL-2.0-or-later", 7 | "url": "https://cytoscape.org/download.html" 8 | }, 9 | "url": "https://github.com/cytoscape/cytoscape/releases/download/3.10.4/cytoscape-windows-3.10.4.zip", 10 | "hash": "f0e8ad9ec68a19e19d212a6cc8c5da0060742b6a04db080598b98832b0478924", 11 | "suggest": { 12 | "java": "java/openjdk11" 13 | }, 14 | "extract_dir": "cytoscape-windows-3.10.4", 15 | "shortcuts": [ 16 | [ 17 | "cytoscape.bat", 18 | "Cytoscape" 19 | ] 20 | ], 21 | "checkver": { 22 | "github": "https://github.com/cytoscape/cytoscape" 23 | }, 24 | "autoupdate": { 25 | "url": "https://github.com/cytoscape/cytoscape/releases/download/$version/cytoscape-windows-$version.zip", 26 | "extract_dir": "cytoscape-windows-$version" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /bucket/musicat.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.15.2", 3 | "description": "Sleek desktop music player and tagger for offline music", 4 | "homepage": "https://github.com/basharovV/musicat", 5 | "license": "GPL-3.0-only", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/basharovV/musicat/releases/download/v0.15.2/Musicat_0.15.2_x64-setup.exe#/download.7z", 9 | "hash": "a153403c064017a7e2dafe6255384ddd5f211bf82e27c56a41a0fd96e6ee04b2" 10 | } 11 | }, 12 | "post_install": [ 13 | "Remove-Item -Recurse -Force $dir\\`$PLUGINSDIR\\", 14 | "Remove-Item -Force $dir\\uninstall.exe" 15 | ], 16 | "shortcuts": [ 17 | [ 18 | "Musicat.exe", 19 | "Musicat" 20 | ] 21 | ], 22 | "checkver": "github", 23 | "autoupdate": { 24 | "architecture": { 25 | "64bit": { 26 | "url": "https://github.com/basharovV/musicat/releases/download/v$version/Musicat_$version_x64-setup.exe#/download.7z" 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /bucket/navicat-premium-lite.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "17.3.7", 3 | "description": "Database administration and development tool", 4 | "homepage": "https://navicat.com/en/products/navicat-premium-lite", 5 | "license": "Freeware", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://dn.navicat.com/download/navicat17_premium_lite_en_x64.exe", 9 | "hash": "a87329a61160307dcb20ee24d306aba5810d3b87b0202f54ae598502e51d9c0e" 10 | } 11 | }, 12 | "innosetup": true, 13 | "shortcuts": [ 14 | [ 15 | "navicat.exe", 16 | "Navicat Premium Lite" 17 | ] 18 | ], 19 | "checkver": { 20 | "url": "https://navicat.com/en/products/navicat-premium-release-note", 21 | "regex": "Navicat\\s+Premium\\s+\\(Windows\\)\\s+version\\s+([\\d.]+)" 22 | }, 23 | "autoupdate": { 24 | "architecture": { 25 | "64bit": { 26 | "url": "https://dn.navicat.com/download/navicat$majorVersion_premium_lite_en_x64.exe" 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /bucket/ecopaste.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.5.0", 3 | "description": "Cross-platform clipboard management tool", 4 | "homepage": "https://github.com/ayangweb/EcoPaste/", 5 | "license": "Apache-2.0", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/EcoPasteHub/EcoPaste/releases/download/v0.5.0/EcoPaste_0.5.0_x64-setup.exe#/dl.7z", 9 | "hash": "ef296e133fb1e675afe893d40e20cc528adaa383cc0831c8c0deb8db83e1d233" 10 | } 11 | }, 12 | "shortcuts": [ 13 | [ 14 | "EcoPaste.exe", 15 | "EcoPaste" 16 | ] 17 | ], 18 | "post_install": "Remove-Item \"$dir\\`$PLUGINSDIR\", \"$dir\\uninst*\" -Force -Recurse", 19 | "checkver": "github", 20 | "autoupdate": { 21 | "architecture": { 22 | "64bit": { 23 | "url": "https://github.com/EcoPasteHub/EcoPaste/releases/download/v$version/EcoPaste_$version_x64-setup.exe#/dl.7z" 24 | } 25 | } 26 | }, 27 | "notes": "You may need to install Edge WebView2 Runtime to use EcoPaste." 28 | } 29 | -------------------------------------------------------------------------------- /bucket/bananas.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.0.22", 3 | "description": "Cross-Platform screen sharing made simple", 4 | "homepage": "https://getbananas.net/", 5 | "license": "MIT", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/mistweaverco/bananas/releases/download/v0.0.22/bananas-setup_x64.exe#/download.7z", 9 | "hash": "282ec4f04eff2136d405be0fd4b2b9d71ca6307849890f5d611b41a830bb0d08", 10 | "installer": { 11 | "script": "Expand-7zipArchive \"$dir\\`$PLUGINSDIR\\app-64.7z\" \"$dir\"" 12 | } 13 | } 14 | }, 15 | "shortcuts": [ 16 | [ 17 | "bananas.exe", 18 | "bananas" 19 | ] 20 | ], 21 | "checkver": { 22 | "github": "https://github.com/mistweaverco/bananas" 23 | }, 24 | "autoupdate": { 25 | "architecture": { 26 | "64bit": { 27 | "url": "https://github.com/mistweaverco/bananas/releases/download/v$version/bananas-setup_x64.exe#/download.7z" 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /bucket/notegen.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.19.6", 3 | "description": "A Cross-Platform Application Bridging the Gap Between Recording and Writing with LLM.", 4 | "homepage": "https://notegen.top/", 5 | "license": "MIT", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/codexu/note-gen/releases/download/note-gen-v0.19.6/NoteGen_0.19.6_x64-setup.exe#/dl.7z", 9 | "hash": "3b250616c7558065a55665eb711b9933287fe929b86b097bc87225924e7c5e2b" 10 | } 11 | }, 12 | "post_install": "Remove-Item \"$dir\\`$PLUGINSDIR\", \"$dir\\uninst*\" -Force -Recurse", 13 | "shortcuts": [ 14 | [ 15 | "note-gen.exe", 16 | "NoteGen" 17 | ] 18 | ], 19 | "checkver": { 20 | "github": "https://github.com/codexu/note-gen" 21 | }, 22 | "autoupdate": { 23 | "architecture": { 24 | "64bit": { 25 | "url": "https://github.com/codexu/note-gen/releases/download/note-gen-v$version/NoteGen_$version_x64-setup.exe#/dl.7z" 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /bucket/winfsp-np.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.1.25156", 3 | "description": "Set of software components that allows the creation of user mode file systems.", 4 | "homepage": "http://www.secfs.net/winfsp/", 5 | "license": "GPL-3.0-only", 6 | "url": "https://github.com/billziss-gh/winfsp/releases/download/v2.1/winfsp-2.1.25156.msi#/setup.msi_", 7 | "hash": "073a70e00f77423e34bed98b86e600def93393ba5822204fac57a29324db9f7a", 8 | "installer": { 9 | "script": "Invoke-ExternalCommand msiexec -ArgumentList @('/i', \"$dir\\setup.msi_\", 'ADDLOCAL=F.Developer', '/qn') -RunAs | Out-Null" 10 | }, 11 | "uninstaller": { 12 | "script": "Invoke-ExternalCommand msiexec -ArgumentList @('/x', \"$dir\\setup.msi_\", '/qn') -RunAs | Out-Null" 13 | }, 14 | "checkver": { 15 | "url": "https://github.com/billziss-gh/winfsp/releases/latest", 16 | "regex": "v(?[\\d.]+)/winfsp-(?[\\d.]+).*\\.msi" 17 | }, 18 | "autoupdate": { 19 | "url": "https://github.com/billziss-gh/winfsp/releases/download/v$matchShort/winfsp-$matchVersion.msi#/setup.msi_" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /bucket/dbgate.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "6.8.1", 3 | "description": "A database manager for MySQL, PostgreSQL, SQL Server, MongoDB, SQLite and others.", 4 | "homepage": "https://dbgate.org/", 5 | "license": "GPL-3.0", 6 | "architecture": { 7 | "64bit": { 8 | "hash": "a9eaaf4dd664a6aa99caf195760381728d31c51dfbae62b324b7033387fdb037", 9 | "url": "https://github.com/dbgate/dbgate/releases/download/v6.8.1/dbgate-6.8.1-win_x64.zip" 10 | } 11 | }, 12 | "pre_install": "Remove-Item \"$dir\\resources\\app-update.yml\" -Force -Recurse", 13 | "shortcuts": [ 14 | [ 15 | "dbgate.exe", 16 | "DbGate", 17 | "--user-data-dir=\"$dir\\User Data\"" 18 | ] 19 | ], 20 | "persist": "User Data", 21 | "checkver": { 22 | "github": "https://github.com/dbgate/dbgate" 23 | }, 24 | "autoupdate": { 25 | "architecture": { 26 | "64bit": { 27 | "url": "https://github.com/dbgate/dbgate/releases/download/v$version/dbgate-$version-win_x64.zip" 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /bucket/defender-remover.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "release_def_12_8_4", 3 | "description": "A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 and Windows 11.", 4 | "homepage": "https://github.com/ionuttbara/windows-defender-remover", 5 | "license": "Freeware", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/ionuttbara/windows-defender-remover/releases/download/release_def_12_8_4/DefenderRemover.exe", 9 | "hash": "c8dfedfdb3ee6c5761ac119655d522850abd84649e13d0bf55efa8f0ad4f7fd7" 10 | } 11 | }, 12 | "shortcuts": [ 13 | [ 14 | "DefenderRemover.exe", 15 | "DefenderRemover" 16 | ] 17 | ], 18 | "checkver": { 19 | "url": "https://github.com/ionuttbara/windows-defender-remover/releases", 20 | "regex": "releases/tag/(.*)\" data-view" 21 | }, 22 | "autoupdate": { 23 | "url": "https://github.com/ionuttbara/windows-defender-remover/releases/download/$version/DefenderRemover.exe", 24 | "hash": { 25 | "mode": "download" 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /bucket/pdf4qt.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.5.2.0", 3 | "description": "Open source PDF editor", 4 | "homepage": "https://jakubmelka.github.io/", 5 | "license": "MIT", 6 | "url": "https://github.com/JakubMelka/PDF4QT/releases/download/v1.5.2.0/PDF4QT-Windows-1.5.2.0.zip", 7 | "hash": "b2c28157134fb7583ea42a429c7720be1d7f38b1951fd7ef4db72c6e95d89588", 8 | "shortcuts": [ 9 | [ 10 | "Pdf4QtDiff.exe", 11 | "Pdf4QtDiff" 12 | ], 13 | [ 14 | "Pdf4QtEditor.exe", 15 | "Pdf4QtEditor" 16 | ], 17 | [ 18 | "Pdf4QtLaunchPad.exe", 19 | "Pdf4QtLaunchPad" 20 | ], 21 | [ 22 | "Pdf4QtPageMaster.exe", 23 | "Pdf4QtPageMaster" 24 | ], 25 | [ 26 | "Pdf4QtViewer.exe", 27 | "Pdf4QtViewer" 28 | ] 29 | ], 30 | "checkver": { 31 | "github": "https://github.com/JakubMelka/PDF4QT" 32 | }, 33 | "autoupdate": { 34 | "url": "https://github.com/JakubMelka/PDF4QT/releases/download/v$version/PDF4QT-Windows-$version.zip" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /bucket/wisecare365.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "7.3.2.716", 3 | "description": "Free Windows PC Cleaner and Speed up Tool", 4 | "homepage": "https://wisecleaner.com/wise-care-365.html", 5 | "license": "Freeware", 6 | "url": "https://downloads.wisecleaner.com/soft/WiseCare365_7.3.2.716.exe", 7 | "hash": "498cabe16b69bc83845acfabb7889bae93d7b6614019c84c82f9c68dc50d8f3b", 8 | "innosetup": true, 9 | "installer": { 10 | "script": [ 11 | "$file = 'config.ini'", 12 | "if (-not (Test-Path \"$persist_dir\\$file\")) { Set-Content \"$dir\\$file\" '[General]', 'checkNewVer=3' -Encoding Ascii }" 13 | ] 14 | }, 15 | "shortcuts": [ 16 | [ 17 | "WiseCare365.exe", 18 | "Wise Care 365" 19 | ] 20 | ], 21 | "persist": [ 22 | "config.ini", 23 | "DefragOptions.ini" 24 | ], 25 | "checkver": { 26 | "url": "https://wisecleaner.com/download.html", 27 | "regex": "WiseCare365_(?[\\d\\.]+)\\.zip" 28 | }, 29 | "autoupdate": { 30 | "url": "https://downloads.wisecleaner.com/soft/WiseCare365_$version.exe" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /bucket/jigdo.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.8.1", 3 | "description": "A bandwidth-friendly way of distributing Debian CD/DVD images.", 4 | "homepage": "https://einval.com/~steve/software/jigdo/", 5 | "license": "Freeware", 6 | "url": "https://einval.com/~steve/software/jigdo/download/jigdo-win-0.8.1.zip", 7 | "hash": "80cb04ea70bd34dacf492729b28f1fb619cbe2c6883b8eb436f76e7e98c11369", 8 | "extract_dir": "jigdo-win-0.8.1/jigdo-bin", 9 | "pre_install": [ 10 | "if (!(Test-Path -Path \"$persist_dir\\jigdo-lite-settings.txt\")) { New-Item \"$dir\\jigdo-lite-settings.txt\" | Out-Null }" 11 | ], 12 | "bin": [ 13 | "jigdo-lite", 14 | "jigdo-file.exe", 15 | "jigdo-mirror", 16 | "basename.exe", 17 | "dirname.exe", 18 | "grep.exe", 19 | "gzip.exe", 20 | "mkdir.exe", 21 | "rm.exe", 22 | "sed.exe", 23 | "sh.exe", 24 | "wc.exe", 25 | "wget.exe" 26 | ], 27 | "persist": [ 28 | "jigdo-lite-settings.txt" 29 | ], 30 | "checkver": { 31 | "url": "https://einval.com/~steve/software/jigdo/", 32 | "regex": "jigdo-win-([\\d.]+).zip" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /bucket/lrcget.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.2", 3 | "description": "Utility for mass-downloading LRC synced lyrics for your offline music library", 4 | "homepage": "https://github.com/tranxuanthang/lrcget", 5 | "license": "MIT", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/tranxuanthang/lrcget/releases/download/1.0.2/LRCGET_1.0.2_x64-setup.exe#/download.7z", 9 | "hash": "34efaa5e6d12e80817177c0814da72e3678a806791ce53503a9724c40a1904c6" 10 | } 11 | }, 12 | "post_install": [ 13 | "Remove-Item -Recurse -Force $dir\\`$PLUGINSDIR\\", 14 | "Remove-Item -Force $dir\\uninstall.exe" 15 | ], 16 | "shortcuts": [ 17 | [ 18 | "LRCGET.exe", 19 | "LRCGET" 20 | ] 21 | ], 22 | "checkver": "github", 23 | "autoupdate": { 24 | "architecture": { 25 | "64bit": { 26 | "url": "https://github.com/tranxuanthang/lrcget/releases/download/$version/LRCGET_$version_x64-setup.exe#/download.7z" 27 | } 28 | } 29 | }, 30 | "notes": "WebView related files are located in AppData\\Roaming\\net.lrclib.lrcget and AppData\\Local\\net.lrclib.lrcget" 31 | } 32 | -------------------------------------------------------------------------------- /bucket/wox-beta.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0-beta.7", 3 | "description": "A full-featured launcher, access programs and web contents as you type.", 4 | "homepage": "http://www.wox.one", 5 | "license": "MIT", 6 | "suggest": { 7 | "Python3": "python", 8 | "Everything": "extras/everything" 9 | }, 10 | "architecture": { 11 | "64bit": { 12 | "url": "https://github.com/Wox-launcher/Wox/releases/download/v2.0.0-beta.7/wox-windows-amd64.exe", 13 | "hash": "858fe47d64a707c89d4f089da4475b5c1a62ed71e6c7841abad3de486f35fa1f" 14 | } 15 | }, 16 | "installer": { 17 | "script": "Rename-Item \"$dir\\wox-windows-amd64.exe\" 'Wox.exe'" 18 | }, 19 | "shortcuts": [ 20 | [ 21 | "Wox.exe", 22 | "Wox" 23 | ] 24 | ], 25 | "checkver": { 26 | "url": "https://github.com/Wox-launcher/Wox/releases", 27 | "regex": "tree/v([\\d.]+-beta\\.\\d+)" 28 | }, 29 | "autoupdate": { 30 | "architecture": { 31 | "64bit": { 32 | "url": "https://github.com/Wox-launcher/Wox/releases/download/v$version/wox-windows-amd64.exe" 33 | } 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /bucket/jupyterlab-desktop.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "4.2.5-1", 3 | "description": "JupyterLab desktop application, based on Electron", 4 | "homepage": "https://github.com/jupyterlab/jupyterlab-desktop", 5 | "license": "BSD-3-Clause", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/jupyterlab/jupyterlab-desktop/releases/download/v4.2.5-1/JupyterLab-Setup-Windows-x64.exe#/dl.7z", 9 | "hash": "sha512:37d56715b3af84274ec2839233faa2bb617993756b13996b2d55b3f77e2be45c22341557e9bed8401124d98d63ea326c987ec881ef599f25d81457fab9b8fb69" 10 | } 11 | }, 12 | "pre_install": [ 13 | "Expand-7zipArchive \"$dir\\`$PLUGINSDIR\\app-64.7z\" \"$dir\"", 14 | "Remove-Item \"$dir\\`$*\", \"$dir\\Uninstall*\" -Recurse" 15 | ], 16 | "bin": "jlab.cmd", 17 | "shortcuts": [ 18 | [ 19 | "JupyterLab.exe", 20 | "JupyterLab Desktop" 21 | ] 22 | ], 23 | "checkver": "github", 24 | "autoupdate": { 25 | "architecture": { 26 | "64bit": { 27 | "url": "https://github.com/jupyterlab/jupyterlab-desktop/releases/download/v$version/JupyterLab-Setup-Windows-x64.exe#/dl.7z" 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /bucket/landrop-latest.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.7.2", 3 | "description": "Drop any files to any devices on your LAN.", 4 | "homepage": "https://landrop.app", 5 | "license": "Public Domain", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://releases.landrop.app/landrop-v2-electron/LANDrop-2.7.2-win-x64-setup.exe#/dl.7z", 9 | "hash": "dbf7ea811d80c59a9b6a127fe7707b6a0990aad52796c5535c60e21250cf73fc", 10 | "extract_dir": "$PLUGINSDIR" 11 | } 12 | }, 13 | "installer": { 14 | "script": [ 15 | "Remove-Item \"$dir\\*\" -Exclude 'app-64.7z' -Force -Recurse", 16 | "Expand-7zipArchive \"$dir\\app-64.7z\" \"$dir\" -Removal" 17 | ] 18 | }, 19 | "shortcuts": [ 20 | [ 21 | "LANDrop.exe", 22 | "LANDrop" 23 | ] 24 | ], 25 | "checkver": { 26 | "url": "https://releases.landrop.app/versions.json", 27 | "regex": "\"desktop\": \"([\\d.]+)\"" 28 | }, 29 | "autoupdate": { 30 | "architecture": { 31 | "64bit": { 32 | "url": "https://releases.landrop.app/landrop-v2-electron/LANDrop-$version-win-x64-setup.exe#/dl.7z" 33 | } 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /bucket/stirlingpdf.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.1.5", 3 | "description": "#1 Locally hosted web application that allows you to perform various operations on PDF files", 4 | "homepage": "https://stirlingpdf.com", 5 | "license": "MIT", 6 | "suggest": { 7 | "Python": "python", 8 | "QPDF": "qpdf", 9 | "Tesseract OCR": "tesseract", 10 | "Weasyprint": "weasyprint" 11 | }, 12 | "architecture": { 13 | "64bit": { 14 | "url": "https://github.com/Stirling-Tools/Stirling-PDF/releases/download/v2.1.5/Stirling-PDF-windows-x86_64.msi", 15 | "hash": "1085bbe6b47622d8df396e5f8bc02948eddcdd137c1468329d897b3b61924870" 16 | } 17 | }, 18 | "shortcuts": [ 19 | [ 20 | "PFiles\\Stirling-PDF\\stirling-pdf.exe", 21 | "Stirling-PDF" 22 | ] 23 | ], 24 | "persist": [ 25 | "configs", 26 | "customFiles", 27 | "logs" 28 | ], 29 | "checkver": { 30 | "github": "https://github.com/Stirling-Tools/Stirling-PDF" 31 | }, 32 | "autoupdate": { 33 | "architecture": { 34 | "64bit": { 35 | "url": "https://github.com/Stirling-Tools/Stirling-PDF/releases/download/v$version/Stirling-PDF-windows-x86_64.msi" 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 2-Clause License 2 | 3 | Copyright (c) 2025, ivaquero 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | 2. Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 19 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 21 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 22 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 23 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 24 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /bucket/bitcomet.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.18", 3 | "homepage": "https://www.bitcomet.com/", 4 | "description": "BitComet is a powerful, super-fast and easy-to-use, free BitTorrent download client.", 5 | "license": { 6 | "identifier": "BitComet Software License Agreement", 7 | "url": "https://www.bitcomet.com/en/license" 8 | }, 9 | "url": "https://download.bitcomet.com/achive/BitComet_2.18.zip", 10 | "hash": "8e447189172d7eb7a4b2649186c7a9d46ed5fcb262cec5c86b8ac784e21882a9", 11 | "architecture": { 12 | "32bit": { 13 | "shortcuts": [ 14 | [ 15 | "BitComet.exe", 16 | "BitComet" 17 | ] 18 | ] 19 | }, 20 | "64bit": { 21 | "shortcuts": [ 22 | [ 23 | "BitComet_x64.exe", 24 | "BitComet" 25 | ] 26 | ] 27 | } 28 | }, 29 | "checkver": { 30 | "url": "https://www.bitcomet.com/en/archive", 31 | "regex": "BitComet_([\\d.]+)\\.zip" 32 | }, 33 | "autoupdate": { 34 | "url": "https://download.bitcomet.com/achive/BitComet_$version.zip", 35 | "hash": { 36 | "regex": "zip.*?SHA256.*?($sha256)", 37 | "url": "https://www.bitcomet.com/en/archive" 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /bucket/veracrypt.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.26.24", 3 | "description": "A free open source disk encryption software for Windows, Mac OSX and Linux based on TrueCrypt.", 4 | "homepage": "https://veracrypt.fr", 5 | "license": "Apache-2.0", 6 | "url": "https://launchpad.net/veracrypt/trunk/1.26.24/+download/VeraCrypt%20Portable%201.26.24.exe#/setup.exe", 7 | "hash": "99c166a3dbab07ee8e42af4e42d1fd6123ca5c0825c0300f93085e81c154049a", 8 | "pre_install": "If (!(Test-Path \"$persist_dir\\Configuration.xml\")) { New-Item \"$dir\\Configuration.xml\" -ItemType File | Out-Null }", 9 | "installer": { 10 | "script": [ 11 | "Start-Process -Wait \"$dir\\setup.exe\"", 12 | "Remove-Item -Recurse \"$dir\\setup.exe\"", 13 | "Move-Item \"$dir\\VeraCrypt\\*\" -Destination \"$dir\"", 14 | "Remove-Item -Recurse \"$dir\\VeraCrypt\"" 15 | ] 16 | }, 17 | "persist": "Configuration.xml", 18 | "checkver": { 19 | "url": "https://veracrypt.fr/en/Downloads.html", 20 | "regex": "Latest Stable Release - ([\\d.]+)" 21 | }, 22 | "autoupdate": { 23 | "url": "https://launchpad.net/veracrypt/trunk/$version/+download/VeraCrypt%20Portable%20$version.exe#/setup.exe", 24 | "hash": { 25 | "url": "https://launchpad.net/veracrypt/trunk/$version/+download/veracrypt-$version-sha256sum.txt", 26 | "regex": "$sha256\\s+$basename" 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /bucket/chatbox.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.10.4", 3 | "homepage": "https://chatboxai.app/", 4 | "description": "User-friendly Desktop Client App for AI Models/LLMs", 5 | "license": "GPL-3.0-only", 6 | "url": "https://github.com/Bin-Huang/chatbox/releases/download/v0.10.4/Chatbox.CE-0.10.4-Setup.exe#/dl.7z", 7 | "hash": "sha512:0981eca6f7ec46ef16219edd3f3cbcb513d92de05d1705481ac2c53f3358331e9547b33c41fe582bde902d16d992cf09ba5c9b2253ea87c56922d93fa4639b5c", 8 | "architecture": { 9 | "64bit": { 10 | "installer": { 11 | "script": "Expand-7zipArchive \"$dir\\`$PLUGINSDIR\\app-64.7z\" \"$dir\"" 12 | } 13 | }, 14 | "arm64": { 15 | "installer": { 16 | "script": "Expand-7zipArchive \"$dir\\`$PLUGINSDIR\\app-arm64.7z\" \"$dir\"" 17 | } 18 | } 19 | }, 20 | "post_install": "Remove-Item \"$dir\\`$R0\",\"$dir\\`$PLUGINSDIR\",\"$dir\\Uninst*\" -Force -Recurse", 21 | "checkver": { 22 | "github": "https://github.com/Bin-Huang/chatbox" 23 | }, 24 | "shortcuts": [ 25 | [ 26 | "Chatbox CE.exe", 27 | "Chatbox CE" 28 | ] 29 | ], 30 | "autoupdate": { 31 | "url": "https://github.com/Bin-Huang/chatbox/releases/download/v$version/Chatbox.CE-$version-Setup.exe#/dl.7z", 32 | "hash": { 33 | "url": "https://github.com/Bin-Huang/chatbox/releases/download/v$version/latest.yml", 34 | "regex": "sha512:\\s+$base64" 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /bucket/normcap.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.6.0", 3 | "description": "OCR powered screen-capture tool to capture information instead of images", 4 | "homepage": "https://github.com/dynobo/normcap", 5 | "license": "GPL-3.0-or-later", 6 | "url": [ 7 | "https://github.com/dynobo/normcap/releases/download/v0.6.0/normcap-0.6.0-x86_64-Windows.msi", 8 | "https://github.com/tesseract-ocr/tessdata_best/raw/main/chi_sim_vert.traineddata", 9 | "https://github.com/tesseract-ocr/tessdata_best/raw/main/chi_tra.traineddata", 10 | "https://github.com/tesseract-ocr/tessdata_best/raw/main/chi_tra_vert.traineddata" 11 | ], 12 | "hash": [ 13 | "3dc7eed6ab1834259dba2af1ba986e10064197a51da4fa0d84c21efa09ecc34e", 14 | "ea672a78157199c333aa12ec4e74550077689b545df5fc770903716850c8b2e5", 15 | "1aa60488574cafa69486d919284f079ca9b68fcc7f6ad8dc1ff1b318dfd97028", 16 | "bbe518f94b9e3852109113507357bfe7e257834d88d2d1ead44178046bcd2181" 17 | ], 18 | "extract_dir": "NormCap", 19 | "post_install": "Move-Item \"$dir\\*.traineddata\" \"$dir\\app\\normcap\\resources\\tessdata\"", 20 | "shortcuts": [ 21 | [ 22 | "pythonw.exe", 23 | "NormCap EN&DE", 24 | "\"$dir\\app\\normcap\\__main__.py\"" 25 | ], 26 | [ 27 | "pythonw.exe", 28 | "NormCap CN", 29 | "\"$dir\\app\\normcap\\__main__.py\" -l chi_sim" 30 | ] 31 | ], 32 | "checkver": "github", 33 | "autoupdate": { 34 | "url": "https://github.com/dynobo/normcap/releases/download/v$version/normcap-$version-x86_64-Windows.msi" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /bucket/comfyui.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.5.1", 3 | "description": "The most powerful and modular stable diffusion GUI, api and backend", 4 | "homepage": "https://github.com/comfyanonymous/ComfyUI", 5 | "license": "GPL-3.0", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/comfyanonymous/ComfyUI/releases/latest/download/ComfyUI_windows_portable_nvidia.7z", 9 | "hash": "0ac42e8dd1cf528e2d726a3a5403ecc1791f555c7e137a03698ecf01842cfe32" 10 | } 11 | }, 12 | "extract_dir": "ComfyUI_windows_portable", 13 | "bin": [ 14 | [ 15 | "python_embeded\\python.exe", 16 | "ComfyUI_Nvidia", 17 | "-s $dir\\ComfyUI\\main.py --windows-standalone-build" 18 | ], 19 | [ 20 | "python_embeded\\python.exe", 21 | "ComfyUI_CPU", 22 | "-s $dir\\ComfyUI\\main.py --cpu --windows-standalone-build" 23 | ] 24 | ], 25 | "shortcuts": [ 26 | [ 27 | "run_cpu.bat", 28 | "ComfyUI CPU" 29 | ], 30 | [ 31 | "run_nvidia_gpu.bat", 32 | "ComfyUI Nvidia" 33 | ] 34 | ], 35 | "checkver": "github", 36 | "persist": [ 37 | "ComfyUI/models", 38 | "ComfyUI/user", 39 | "ComfyUI/custom_nodes", 40 | "ComfyUI/input", 41 | "ComfyUI/output" 42 | ], 43 | "autoupdate": { 44 | "architecture": { 45 | "64bit": { 46 | "url": "https://github.com/comfyanonymous/ComfyUI/releases/latest/download/ComfyUI_windows_portable_nvidia.7z" 47 | } 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: Tests 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: 7 | - "main" 8 | workflow_dispatch: 9 | 10 | jobs: 11 | test_powershell: 12 | name: WindowsPowerShell 13 | runs-on: windows-latest 14 | steps: 15 | - name: Checkout Bucket 16 | uses: actions/checkout@v5 17 | with: 18 | fetch-depth: 2 19 | path: "my_bucket" 20 | - name: Checkout Scoop 21 | uses: actions/checkout@v5 22 | with: 23 | repository: ScoopInstaller/Scoop 24 | ref: develop 25 | path: "scoop_core" 26 | - name: Init Test Suite 27 | uses: potatoqualitee/psmodulecache@v6.2.1 28 | with: 29 | modules-to-cache: PSScriptAnalyzer, BuildHelpers, Pester:5.7.1 30 | shell: powershell 31 | - name: Test 32 | shell: powershell 33 | run: | 34 | $env:SCOOP_HOME="$(Resolve-Path '.\scoop_core')" 35 | .\my_bucket\bin\test.ps1 36 | test_pwsh: 37 | name: PowerShell 38 | runs-on: windows-latest 39 | steps: 40 | - name: Checkout Bucket 41 | uses: actions/checkout@v5 42 | with: 43 | fetch-depth: 2 44 | path: "my_bucket" 45 | - name: Checkout Scoop 46 | uses: actions/checkout@v5 47 | with: 48 | repository: ScoopInstaller/Scoop 49 | ref: develop 50 | path: "scoop_core" 51 | - name: Init Test Suite 52 | uses: potatoqualitee/psmodulecache@v6.2.1 53 | with: 54 | modules-to-cache: PSScriptAnalyzer, BuildHelpers, Pester:5.7.1 55 | shell: pwsh 56 | - name: Test 57 | shell: pwsh 58 | run: | 59 | $env:SCOOP_HOME="$(Resolve-Path '.\scoop_core')" 60 | .\my_bucket\bin\test.ps1 61 | -------------------------------------------------------------------------------- /bucket/tropy.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.17.2", 3 | "description": "Research photo management", 4 | "homepage": "https://tropy.org/", 5 | "license": { 6 | "identifier": "GNU AFFERO GENERAL PUBLIC LICENSE", 7 | "url": "https://github.com/tropy/tropy/blob/master/LICENSE" 8 | }, 9 | "architecture": { 10 | "64bit": { 11 | "url": "https://github.com/tropy/tropy/releases/download/v1.17.2/setup-tropy-1.17.2-x64.exe", 12 | "hash": "36236d4f158855e6c47fa099dce5a7ddb7a55a759495c504250ceda72a19d3dd" 13 | }, 14 | "32bit": { 15 | "url": "https://github.com/tropy/tropy/releases/download/v1.17.2/setup-tropy-1.17.2-ia32.exe", 16 | "hash": "d55d17266385ec78b7ab6e317494c401d3e081c9fb9785c571b8845f876099a6" 17 | }, 18 | "arm64": { 19 | "url": "https://github.com/tropy/tropy/releases/download/v1.17.2/setup-tropy-1.17.2-arm64.exe", 20 | "hash": "1924daf039ee7cc2d01295367494ae8737eeca54e8e4c195d1b0cd9ffb04210f" 21 | } 22 | }, 23 | "shortcuts": [ 24 | [ 25 | "tropy.exe", 26 | "tropy" 27 | ] 28 | ], 29 | "checkver": { 30 | "github": "https://github.com/tropy/tropy" 31 | }, 32 | "autoupdate": { 33 | "architecture": { 34 | "64bit": { 35 | "url": "https://github.com/tropy/tropy/releases/download/v$version/setup-tropy-$version-x64.exe" 36 | }, 37 | "32bit": { 38 | "url": "https://github.com/tropy/tropy/releases/download/v$version/setup-tropy-$version-ia32.exe" 39 | }, 40 | "arm64": { 41 | "url": "https://github.com/tropy/tropy/releases/download/v$version/setup-tropy-$version-arm64.exe" 42 | } 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /bucket/mogan.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2025.2.2", 3 | "description": "Structured STEM suite", 4 | "homepage": "https://mogan.app", 5 | "license": "GPL-3.0-or-later", 6 | "url": "https://github.com/XmacsLabs/mogan/releases/download/v2025.2.2/MoganSTEM-v2025.2.2-64bit-installer.exe#/dl.7z", 7 | "hash": "41dca37592ba48aa183f5893c87b2684e33c29133d7f86605633c19d9e166944", 8 | "shortcuts": [ 9 | [ 10 | "bin\\MoganSTEM.exe", 11 | "Mogan" 12 | ] 13 | ], 14 | "post_install": [ 15 | "Write-Host 'Registering the TM(U) FileType...'", 16 | "New-Item 'HKCU:\\SOFTWARE\\Classes\\.tm' -Value \"tmfile\" -Force | Out-Null", 17 | "New-Item 'HKCU:\\SOFTWARE\\Classes\\.tmu' -Value \"tmfile\" -Force | Out-Null", 18 | "New-Item 'HKCU:\\SOFTWARE\\Classes\\tmfile' -Value \"text/tm\" -Force | Out-Null", 19 | "New-Item 'HKCU:\\SOFTWARE\\Classes\\tmfile\\DefaultIcon' -Value \"$dir\\bin\\MoganSTEM.exe\" -Force | Out-Null", 20 | "New-Item 'HKCU:\\SOFTWARE\\Classes\\tmfile\\shell\\open\\command' -Value \"\"\"$dir\\bin\\MoganSTEM.exe\"\" \"\"%1\"\"\" -Force | Out-Null", 21 | "Write-Host 'Done!'" 22 | ], 23 | "pre_uninstall": [ 24 | "Write-Host 'Unregistering the TM(U) FileType...'", 25 | "Remove-Item 'HKCU:\\SOFTWARE\\Classes\\.tm' -Force -Recurse", 26 | "Remove-Item 'HKCU:\\SOFTWARE\\Classes\\.tmu' -Force -Recurse", 27 | "Remove-Item 'HKCU:\\SOFTWARE\\Classes\\tmfile' -Force -Recurse", 28 | "Write-Host 'Done!'" 29 | ], 30 | "env_set": { 31 | "TEXMACS_HOME_PATH": "$persist_dir\\data" 32 | }, 33 | "persist": "data", 34 | "checkver": { 35 | "github": "https://github.com/XmacsLabs/mogan" 36 | }, 37 | "autoupdate": { 38 | "url": "https://github.com/XmacsLabs/mogan/releases/download/v$version/MoganSTEM-v$version-64bit-installer.exe#/dl.7z" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /bucket/autodarkmode.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "10.4.2.29", 3 | "description": "Automatically switches between the dark and light theme of Windows 10 and Windows 11", 4 | "homepage": "https://github.com/AutoDarkMode/Windows-Auto-Night-Mode", 5 | "license": "GPL-3.0-only", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/AutoDarkMode/Windows-Auto-Night-Mode/releases/download/10.4.2.29/AutoDarkModeX_10.4.2.29_x86.zip", 9 | "hash": "5d71f8e44782d73fee270fa08ff97d8531d5b5a0ed63686f89a8027d7e77ba34" 10 | }, 11 | "arm64": { 12 | "url": "https://github.com/AutoDarkMode/Windows-Auto-Night-Mode/releases/download/10.4.2.29/AutoDarkModeX_10.4.2.29_ARM64.zip", 13 | "hash": "13612aeb5e60d0f334b0de0ff13a0bb6559fb9a44057e924073b528867d7611e" 14 | } 15 | }, 16 | "extract_dir": "adm-app", 17 | "shortcuts": [ 18 | [ 19 | "AutoDarkModeApp.exe", 20 | "Auto Dark Mode" 21 | ] 22 | ], 23 | "checkver": "github", 24 | "autoupdate": { 25 | "architecture": { 26 | "64bit": { 27 | "url": "https://github.com/AutoDarkMode/Windows-Auto-Night-Mode/releases/download/$version/AutoDarkModeX_$version_x86.zip", 28 | "hash": { 29 | "url": "https://github.com/AutoDarkMode/Windows-Auto-Night-Mode/releases/download/$version/AutoDarkModeX_$version_x86.sha256", 30 | "mode": "extract" 31 | } 32 | }, 33 | "arm64": { 34 | "url": "https://github.com/AutoDarkMode/Windows-Auto-Night-Mode/releases/download/$version/AutoDarkModeX_$version_ARM64.zip", 35 | "hash": { 36 | "url": "https://github.com/AutoDarkMode/Windows-Auto-Night-Mode/releases/download/$version/AutoDarkModeX_$version_ARM64.sha256", 37 | "mode": "extract" 38 | } 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /bucket/buzz.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.3.2", 3 | "description": "Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAI's Whisper.", 4 | "homepage": "https://buzzcaptions.com/", 5 | "license": "MIT license", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/chidiwilliams/buzz/releases/download/v1.3.2/Buzz-1.3.2-windows.exe", 9 | "hash": "8ef33d48f3355f6a97a2dadec713674d331bbb6c6d19521f40900dafe4117757" 10 | } 11 | }, 12 | "innosetup": true, 13 | "installer": { 14 | "script": [ 15 | "# handle runtime cache", 16 | "Import-Module $(Join-Path $(Find-BucketDirectory -Root -Name extras-cn) scripts/AppsUtils.psm1)", 17 | "Mount-ExternalRuntimeData -Source \"$persist_dir\\appdata\" -Target \"$env:LOCALAPPDATA\\Buzz\"", 18 | "Mount-ExternalRuntimeData -Source \"$persist_dir\\model\\huggingface\" -Target \"$env:USERPROFILE\\.cache\\huggingface\"", 19 | "Mount-ExternalRuntimeData -Source \"$persist_dir\\model\\whisper\" -Target \"$env:USERPROFILE\\.cache\\whisper\"", 20 | "Remove-Module -Name AppsUtils" 21 | ] 22 | }, 23 | "uninstaller": { 24 | "script": [ 25 | "Import-Module $(Join-Path $(Find-BucketDirectory -Root -Name extras-cn) scripts/AppsUtils.psm1)", 26 | "Dismount-ExternalRuntimeData -Target \"$env:LOCALAPPDATA\\Buzz\"", 27 | "Dismount-ExternalRuntimeData -Target \"$env:USERPROFILE\\.cache\\huggingface\"", 28 | "Dismount-ExternalRuntimeData -Target \"$env:USERPROFILE\\.cache\\whisper\"", 29 | "Remove-Module -Name AppsUtils" 30 | ] 31 | }, 32 | "shortcuts": [ 33 | [ 34 | "Buzz.exe", 35 | "Buzz" 36 | ] 37 | ], 38 | "checkver": { 39 | "github": "https://github.com/chidiwilliams/buzz" 40 | }, 41 | "autoupdate": { 42 | "architecture": { 43 | "64bit": { 44 | "url": "https://github.com/chidiwilliams/buzz/releases/download/v$version/Buzz-$version-windows.exe" 45 | } 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /bucket/voov-meeting.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "3.32.21.510", 3 | "description": "Cloud meeting solutions covering 100+ countries and regions.", 4 | "homepage": "https://voovmeeting.com/", 5 | "license": { 6 | "identifier": "Proprietary", 7 | "url": "https://voovmeeting.com/df/en/service-agreement.html" 8 | }, 9 | "url": "https://updatecdnv6.meeting.qq.com/cos/8edb0981714a76897edaf542f89a8a60/VooVMeeting_1410000197_3.32.21.510.publish.exe#/dl.7z", 10 | "hash": "md5:8edb0981714a76897edaf542f89a8a60", 11 | "pre_install": "Rename-Item -Path \"$dir\\`$_*\" -NewName \"$version\" -Force", 12 | "installer": { 13 | "script": [ 14 | "ensure \"$persist_dir\" | Out-Null", 15 | "New-Item \"$env:APPDATA\\Tencent\\VooVMeeting\" -ItemType Junction -Target \"$persist_dir\" | Out-Null" 16 | ] 17 | }, 18 | "post_install": [ 19 | "Remove-Item \"$dir\\`$*\" -Recurse -Force -ErrorAction SilentlyContinue", 20 | "Remove-Item \"$dir\\voovmeetingapp_new.exe\" -Force -ErrorAction SilentlyContinue" 21 | ], 22 | "uninstaller": { 23 | "script": "Remove-Item \"$env:APPDATA\\Tencent\\VooVMeeting\" -ErrorAction 'SilentlyContinue' -Force -Recurse" 24 | }, 25 | "shortcuts": [ 26 | [ 27 | "voovmeetingapp.exe", 28 | "VooV Meeting" 29 | ] 30 | ], 31 | "checkver": { 32 | "url": "https://voovmeeting.com/web-service/query-download-info?q=%5B%7B%22package-type%22:%22app%22,%22channel%22:%221410000197%22,%22platform%22:%22windows%22,%22decorators%22:%5B%22intl%22%5D%7D%5D&nonce=AAAAAAAAAAAAAAAA", 33 | "regex": "\"md5\":\"(?[a-f0-9]+)\".+\"version\":\"([\\d\\.]+)\"" 34 | }, 35 | "autoupdate": { 36 | "url": "https://updatecdnv6.meeting.qq.com/cos/$matchHash/VooVMeeting_1410000197_$version.publish.exe#/dl.7z", 37 | "hash": { 38 | "url": "https://voovmeeting.com/web-service/query-download-info?q=%5B%7B%22package-type%22:%22app%22,%22channel%22:%221410000197%22,%22platform%22:%22windows%22,%22decorators%22:%5B%22intl%22%5D%7D%5D&nonce=AAAAAAAAAAAAAAAA", 39 | "mode": "json", 40 | "jsonpath": "$.info-list[0].md5" 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /bucket/netlogo.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "6.4.0", 3 | "homepage": "https://ccl.northwestern.edu/netlogo/", 4 | "description": "turtles, patches, and links for kids, teachers, and scientists", 5 | "license": "GPL-2.0", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://ccl.northwestern.edu/netlogo/6.4.0/NetLogo-6.4.0-64.msi", 9 | "hash": "b96d88424a80b93ab545bc8bf76a5c01fcc6e438061b06a98b5ce55e344c402c" 10 | }, 11 | "32bit": { 12 | "url": "https://ccl.northwestern.edu/netlogo/6.4.0/NetLogo-6.4.0-32.msi", 13 | "hash": "63b10d0b9ef40a17097fa2f567d6625446fbe5c4e2138137a432fbcd7c705ec6" 14 | } 15 | }, 16 | "shortcuts": [ 17 | [ 18 | "PFiles\\NetLogo 6.4.0\\NetLogo.exe", 19 | "NetLogo" 20 | ], 21 | [ 22 | "PFiles\\NetLogo 6.4.0\\NetLogo 3D.exe", 23 | "NetLogo 3D" 24 | ], 25 | [ 26 | "PFiles\\NetLogo 6.4.0\\HubNet Client.exe", 27 | "HubNet Client" 28 | ], 29 | [ 30 | "PFiles\\NetLogo 6.4.0\\Behaviorsearch.exe", 31 | "Behaviorsearch" 32 | ] 33 | ], 34 | "checkver": { 35 | "url": "https://ccl.northwestern.edu/netlogo/6.4.0/", 36 | "regex": "NetLogo ([\\d.]+) Downloads" 37 | }, 38 | "autoupdate": { 39 | "architecture": { 40 | "64bit": { 41 | "url": "https://ccl.northwestern.edu/netlogo/$version/NetLogo-$version-64.msi" 42 | }, 43 | "32bit": { 44 | "url": "https://ccl.northwestern.edu/netlogo/$version/NetLogo-$version-32.msi" 45 | } 46 | }, 47 | "shortcuts": [ 48 | [ 49 | "PFiles\\NetLogo $version\\NetLogo.exe", 50 | "NetLogo" 51 | ], 52 | [ 53 | "PFiles\\NetLogo $version\\NetLogo 3D.exe", 54 | "NetLogo 3D" 55 | ], 56 | [ 57 | "PFiles\\NetLogo $version\\HubNet Client.exe", 58 | "HubNet Client" 59 | ], 60 | [ 61 | "PFiles\\NetLogo $version\\Behaviorsearch.exe", 62 | "Behaviorsearch" 63 | ] 64 | ] 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /bucket/filecentipede.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.82", 3 | "description": "An internet file download manager", 4 | "homepage": "https://github.com/filecxx/FileCentipede", 5 | "license": "Unlicense", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://github.com/filecxx/FileCentipede/releases/download/v2.82.0/filecxx_2.82_win_x64.zip", 9 | "hash": "f0bdef157f45ae1652ede116ebe98d889d163e5c094e88a076e917989742fe1e" 10 | } 11 | }, 12 | "shortcuts": [ 13 | [ 14 | "fileu.exe", 15 | "FileCentipede" 16 | ] 17 | ], 18 | "pre_install": [ 19 | "if (!(Test-Path \"$persist_dir\\lib\\libicu.dat\")) {", 20 | " New-Item -Path \"$dir\\lib\\libicu.dat\" | Out-Null", 21 | "}", 22 | "if (!(Test-Path \"$persist_dir\\lib\\data_windows.db\")) {", 23 | " New-Item -Path \"$dir\\lib\\data_windows.db\" | Out-Null", 24 | "}", 25 | "if (!(Test-Path \"$persist_dir\\lib\\data_windows.db-shm\")) {", 26 | " New-Item -Path \"$dir\\lib\\data_windows.db-shm\" | Out-Null", 27 | "}", 28 | "if (!(Test-Path \"$persist_dir\\lib\\data_windows.db-wal\")) {", 29 | " New-Item -Path \"$dir\\lib\\data_windows.db-wal\" | Out-Null", 30 | "}", 31 | "if (!(Test-Path \"$persist_dir\\lib\\fileu_win32.conf\")) {", 32 | " New-Item -Path \"$dir\\lib\\fileu_win32.conf\" | Out-Null", 33 | "}" 34 | ], 35 | "persist": [ 36 | "lib\\libicu.dat", 37 | "lib\\data_windows.db", 38 | "lib\\data_windows.db-shm", 39 | "lib\\data_windows.db-wal", 40 | "lib\\ip.mmdb", 41 | "lib\\fileu_win32.conf" 42 | ], 43 | "checkver": { 44 | "url": "https://api.github.com/repositories/467157951/releases/latest", 45 | "jsonpath": "$..browser_download_url", 46 | "regex": "v(?[\\d\\w.]+)/filecxx_([\\d.]+)_win_x64.zip" 47 | }, 48 | "autoupdate": { 49 | "architecture": { 50 | "64bit": { 51 | "url": "https://github.com/filecxx/FileCentipede/releases/download/v$matchTag/filecxx_$version_win_x64.zip" 52 | } 53 | } 54 | }, 55 | "notes": [ 56 | "Use built-in upgradation instead of the scoop one,", 57 | "scoop cannot update the service of filecentipede, which causes no response" 58 | ] 59 | } 60 | -------------------------------------------------------------------------------- /bucket/texlive.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2025", 3 | "description": "TeX Live is a cross-platform, free software distribution for the TeX typesetting system", 4 | "homepage": "https://tug.org/texlive/", 5 | "license": "LPPL,GPL2", 6 | "url": "http://mirror.ctan.org/systems/texlive/tlnet/install-tl.zip", 7 | "installer": { 8 | "script": [ 9 | "Write-Host 'Invoking TeX Live installer...' -ForegroundColor DarkCyan", 10 | "Write-Host 'This can take a few minutes to to a long time...' -ForegroundColor DarkYellow", 11 | "Get-ChildItem \"$dir\\install-tl-*\" | Rename-Item -NewName \"$dir\\installer\"", 12 | "$env:TEXLIVE_INSTALL_PAPER='a4'", 13 | "$env:TEXLIVE_INSTALL_PREFIX=\"$dir\"", 14 | "$env:TEXLIVE_INSTALL_NO_CONTEXT_CACHE=1", 15 | "$env:TEXLIVE_INSTALL_NO_RESUME=1", 16 | "$env:TEXLIVE_INSTALL_ENV_NOCHECK=1", 17 | "$installProfile = \"$dir\\installer\\default.profile\"", 18 | "Write-Output \"selected_scheme scheme-small\" | Out-File $installProfile -Encoding ASCII", 19 | "$installArgs = \"-no-gui -portable -non-admin -profile=$installProfile\"", 20 | "Write-Output 'Downloading and installing TeX Live packages...'", 21 | "Invoke-ExternalCommand -Path \"$dir\\installer\\install-tl-windows.bat\" -ArgumentList $installArgs", 22 | "Remove-Item \"$dir\\installer\" -Recurse -Force | Out-Null", 23 | "if (!(Test-Path \"$dir\\bin\\win64\")) {", 24 | " New-Item -Type Directory -Path \"$dir\\bin\\win64\" | Out-Null", 25 | "}", 26 | "# Unset install envs", 27 | "$env:TEXLIVE_INSTALL_PAPER=''", 28 | "$env:TEXLIVE_INSTALL_PREFIX=''", 29 | "$env:TEXLIVE_INSTALL_NO_CONTEXT_CACHE=''", 30 | "$env:TEXLIVE_INSTALL_NO_RESUME=''", 31 | "$env:TEXLIVE_INSTALL_ENV_NOCHECK=''" 32 | ] 33 | }, 34 | "env_add_path": [ 35 | "bin\\win64", 36 | "bin\\win32" 37 | ], 38 | "shortcuts": [ 39 | [ 40 | "tl-tray-menu.exe", 41 | "Tex Live Manager" 42 | ] 43 | ], 44 | "persist": "texmf-config", 45 | "checkver": { 46 | "url": "http://mirror.ctan.org/systems/texlive/tlnet/", 47 | "regex": "TEXLIVE (\\d+)" 48 | }, 49 | "autoupdate": { 50 | "url": "http://mirror.ctan.org/systems/texlive/tlnet/install-tl.zip", 51 | "hash": { 52 | "url": "$url.sha512" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /bucket/linkandroid.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.1", 3 | "description": "Easily Link Android and PC", 4 | "homepage": "https://linkandroid.com/", 5 | "license": { 6 | "identifier": "GPL-3.0 license", 7 | "url": "https://github.com/modstart-lib/linkandroid#GPL-3.0-1-ov-file" 8 | }, 9 | "architecture": { 10 | "64bit": { 11 | "url": "https://github.com/modstart-lib/linkandroid/releases/download/v1.0.1/LinkAndroid-1.0.1-win-setup-x64.exe#/dl.7z", 12 | "hash": "dd0fa9e6d08815de44c5ba40cec3ff2755995bd804df51bd85bfee8327d75127", 13 | "pre_install": [ 14 | "Expand-7zipArchive \"$dir\\`$PLUGINSDIR\\app-64.7z\" \"$dir\"", 15 | "Remove-Item \"$dir\\`$*\" -Force -Recurse" 16 | ] 17 | }, 18 | "arm64": { 19 | "url": "https://github.com/modstart-lib/linkandroid/releases/download/v1.0.1/LinkAndroid-1.0.1-win-setup-arm64.exe#/dl.7z", 20 | "hash": "06827c15504ac51ca48b6e0d232420d3273fcbbab5339232f118056b9f28aae0", 21 | "pre_install": [ 22 | "Expand-7zipArchive \"$dir\\`$PLUGINSDIR\\app-arm64.7z\" \"$dir\"", 23 | "Remove-Item \"$dir\\`$*\" -Force -Recurse" 24 | ] 25 | } 26 | }, 27 | "installer": { 28 | "script": [ 29 | "# handle runtime cache", 30 | "Import-Module $(Join-Path $(Find-BucketDirectory -Root -Name extras-cn) scripts/AppsUtils.psm1)", 31 | "Mount-ExternalRuntimeData -Source \"$persist_dir\\appdata\" -Target \"$env:APPDATA\\linkandroid\"", 32 | "Remove-Module -Name AppsUtils" 33 | ] 34 | }, 35 | "uninstaller": { 36 | "script": [ 37 | "Import-Module $(Join-Path $(Find-BucketDirectory -Root -Name extras-cn) scripts/AppsUtils.psm1)", 38 | "Dismount-ExternalRuntimeData -Target \"$env:APPDATA\\linkandroid\"", 39 | "Remove-Module -Name AppsUtils" 40 | ] 41 | }, 42 | "shortcuts": [ 43 | [ 44 | "LinkAndroid.exe", 45 | "LinkAndroid" 46 | ] 47 | ], 48 | "checkver": { 49 | "url": "https://api.github.com/repos/modstart-lib/linkandroid/releases/latest", 50 | "regex": "/releases/tag/v([\\d.]+)" 51 | }, 52 | "autoupdate": { 53 | "architecture": { 54 | "64bit": { 55 | "url": "https://github.com/modstart-lib/linkandroid/releases/download/v$version/LinkAndroid-$version-win-setup-x64.exe#/dl.7z" 56 | }, 57 | "arm64": { 58 | "url": "https://github.com/modstart-lib/linkandroid/releases/download/v$version/LinkAndroid-$version-win-setup-arm64.exe#/dl.7z" 59 | } 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /bucket/vmware-workstation-pro.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "17.6.3-24583834", 3 | "description": "Application for creating and running virtual machines on your computer.", 4 | "homepage": "https://vmware.com/products/desktop-hypervisor.html", 5 | "license": { 6 | "identifier": "Proprietary", 7 | "url": "https://broadcom.com/company/legal/terms-of-use" 8 | }, 9 | "url": "https://softwareupdate.vmware.com/cds/vmw-desktop/ws/17.6.3/24583834/windows/core/VMware-workstation-17.6.3-24583834.exe.tar", 10 | "hash": "2e87994dd2580bc006a0b96ef089f500a718d05c3302d78bd9c85df4439cf67c", 11 | "suggest": { 12 | "vcredist": "extras/vcredist" 13 | }, 14 | "pre_install": [ 15 | "if (!(is_admin)) { error \"$app requires admin rights to $cmd\"; break }", 16 | "Start-Process -Wait ($exe = \"$dir/VMware-workstation-$version.exe\") /x", 17 | "$temp = $env:TEMP+'/'+(Select-Xml /component/installerList/installer/productCode \"$dir/descriptor.xml\").Node.'#text'+'~setup'", 18 | "Move-Item \"$temp/VMwareWorkstation.msi\" \"$dir\"", 19 | "Remove-Item -Recurse $temp,$exe", 20 | "Start-Process -Wait \"$dir/VMwareWorkstation.msi\" \"/qn /norestart ADDLOCAL=ALL ADDVKDTOPATH=0 AUTOSOFTWAREUPDATE=0 DATACOLLECTION=0 DESKTOP_SHORTCUT=0 EULAS_AGREED=1 INSTALLDIR=\"\"$dir\"\" STARTMENU_SHORTCUT=0\"" 21 | ], 22 | "pre_uninstall": [ 23 | "if (!(is_admin)) { error \"$app requires admin rights to $cmd\"; break }", 24 | "Set-Service VMAuthdService -StartupType Disabled", 25 | "Stop-Service VMAuthdService", 26 | "Get-Process vmware-tray -ErrorAction Ignore | Stop-Process", 27 | "Start-Process -Wait \"$dir/VMwareWorkstation.msi\" '/qn /norestart /uninstall'" 28 | ], 29 | "bin": [ 30 | "vmware.exe", 31 | "bin/vctl.exe", 32 | "bin/docker-machine-driver-vmware.exe", 33 | "x64/vmware-vmx.exe", 34 | "x64/vmware-vmx-debug.exe", 35 | "x64/vmware-vmx-stats.exe", 36 | "x64/mksSandbox.exe", 37 | "x64/mksSandbox-debug.exe", 38 | "x64/mksSandbox-stats.exe", 39 | "x64/tpm2emu.exe" 40 | ], 41 | "shortcuts": [ 42 | [ 43 | "vmware.exe", 44 | "VMware Workstation Pro" 45 | ] 46 | ], 47 | "checkver": { 48 | "url": "https://scoop.sh", 49 | "script": [ 50 | "try {", 51 | " ([string]$version = ([Version[]](($_ = (Invoke-RestMethod https://softwareupdate.vmware.com/cds/vmw-desktop/ws/).html.body.ul.li.a.'#text')[1..$_.Length]) | Sort-Object)[-1]),", 52 | " ([UInt32[]](($_ = (Invoke-RestMethod https://softwareupdate.vmware.com/cds/vmw-desktop/ws/$version).html.body.ul.li.a.'#text')[1..$_.Length]) | Sort-Object)[-1] -join ' '", 53 | "}", 54 | "catch { '' }" 55 | ], 56 | "regex": "\\A([\\d.]+) (\\d+)\\Z", 57 | "replace": "${1}-${2}" 58 | }, 59 | "autoupdate": { 60 | "url": "https://softwareupdate.vmware.com/cds/vmw-desktop/ws/$match1/$match2/windows/core/VMware-workstation-$version.exe.tar" 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /bucket/dorion.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "6.11.0", 3 | "description": "Tiny alternative Discord client with a smaller footprint, themes and plugins, multi-profile, and more!", 4 | "homepage": "https://github.com/SpikeHD/Dorion", 5 | "license": { 6 | "identifier": "GPL-3.0", 7 | "url": "https://github.com/SpikeHD/Dorion/blob/main/LICENSE" 8 | }, 9 | "architecture": { 10 | "64bit": { 11 | "url": "https://github.com/SpikeHD/Dorion/releases/download/v6.11.0/Dorion_6.11.0_win64_portable.zip", 12 | "hash": "ea61d14c5697269752e2125f78729875f9fc9be466cb003450918135e033e8b5" 13 | }, 14 | "arm64": { 15 | "url": "https://github.com/SpikeHD/Dorion/releases/download/v6.11.0/Dorion_6.11.0_win_arm64_portable.zip", 16 | "hash": "f02ae8c67580f021ab53f89bb4b01d0b3e10cf2c15a87d90bab90758686bff79" 17 | } 18 | }, 19 | "pre_install": [ 20 | "if (Test-Path -Path $persist_dir) {", 21 | " if (-not (Test-Path -Path (Join-Path $persist_dir 'config.json'))) {", 22 | " New-Item -Path (Join-Path $persist_dir 'config.json')", 23 | " }", 24 | "} else {", 25 | " New-Item -Path $persist_dir -ItemType Directory", 26 | " New-Item -Path (Join-Path $persist_dir 'config.json')", 27 | "}" 28 | ], 29 | "post_install": [ 30 | "$sourceFolders, $foldersToMove = @(\"~\\dorion\", \"$env:APPDATA\\dorion\"), @(\"plugins\", \"themes\", \"profiles\")", 31 | "$canMoveFolders = $false", 32 | "foreach ($sourceFolder in $sourceFolders) {", 33 | " foreach ($folderToMove in $foldersToMove) {", 34 | " If (Test-Path -Path \"$sourceFolder\\$folderToMove\") {$canMoveFolders = $true; break}", 35 | " }", 36 | "}", 37 | "If ($canMoveFolders) {", 38 | " $confirm = Read-Host -Prompt \"Do you want to move the data folders to '$dir'? (Y/N)\"", 39 | " If ($confirm -eq \"Y\") {", 40 | " foreach ($sourceFolder in $sourceFolders) {", 41 | " If (Test-Path -Path \"$sourceFolder\") {", 42 | " foreach ($folderToMove in $foldersToMove) {", 43 | " If (Test-Path -Path \"$sourceFolder\\$folderToMove\") {Move-Item -Path \"$sourceFolder\\$folderToMove\\*\" -Destination \"$dir\\$folderToMove\" -Force}", 44 | " }", 45 | " Get-ChildItem $sourceFolder -Recurse -Force -Directory | ", 46 | " Sort-Object -Property FullName -Descending |", 47 | " Where-Object { $($_ | Get-ChildItem -Force | Select-Object -First 1).Count -eq 0 } |", 48 | " Remove-Item -Force", 49 | " If ((Get-ChildItem -Path \"$sourceFolder\" -Force | Measure-Object).Count -eq 0) {Remove-Item \"$sourceFolder\" -Force}", 50 | " }", 51 | " }", 52 | " }", 53 | "}", 54 | "Remove-Item \"$dir\\*.original\" -Force -Recurse" 55 | ], 56 | "shortcuts": [ 57 | [ 58 | "Dorion.exe", 59 | "Dorion" 60 | ] 61 | ], 62 | "persist": [ 63 | "config.json", 64 | "plugins", 65 | "themes", 66 | "profiles" 67 | ], 68 | "checkver": "github", 69 | "autoupdate": { 70 | "extract_dir": "Dorion_$version_win64_portable", 71 | "architecture": { 72 | "64bit": { 73 | "url": "https://github.com/SpikeHD/Dorion/releases/download/v$version/Dorion_$version_win64_portable.zip" 74 | }, 75 | "arm64": { 76 | "url": "https://github.com/SpikeHD/Dorion/releases/download/v$version/Dorion_$version_win_arm64_portable.zip" 77 | } 78 | } 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /bucket/xshell.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "8.0.0069", 3 | "license": { 4 | "identifier": "Freeware", 5 | "url": "https://xshell.com/docs/ver8_free_eula.pdf" 6 | }, 7 | "description": "The Industry's Most Powerful SSH Client", 8 | "homepage": "https://xshell.com/free-for-home-school/", 9 | "depends": "isx", 10 | "url": "https://cdn.netsarang.net/3e435107/Xshell-8.0.0069p.exe#/installer.exe", 11 | "hash": "b9bf7568360d641cc9620604ad851e6f3ecc3763dc4abb285a608ec08f485bf1", 12 | "persist": "data", 13 | "installer": { 14 | "script": [ 15 | "# Require Administrator rights", 16 | "if (!(is_admin)) { error \"$app requires admin rights to $cmd\"; break }", 17 | "New-Item -Type Directory -Path \"$dir\\TEMP\" -Force | Out-Null", 18 | "Move-Item \"$dir\\installer.exe\" \"$dir\\TEMP\\installer.exe\" -Force", 19 | "Invoke-ExternalCommand ((Get-Command 'isx' -CommandType Application).Source) -ArgumentList \"$dir\\TEMP\\installer.exe\" -LogPath \"$dir\\TEMP\\isx.log\" | Out-Null", 20 | "Expand-MsiArchive \"$dir\\TEMP\\installer_u\\Xshell 8.msi\" \"$dir\\TEMP\\extracted\"", 21 | "Move-Item \"$dir\\TEMP\\extracted\\program files\\NetSarang\\Xshell 8\\*\" \"$dir\" -Force", 22 | "Remove-Item -Path \"$dir\\TEMP\" -Recurse -Force", 23 | "Remove-Item \"$dir\\LiveUpdate.dat\" -Force", 24 | "Remove-Item \"$dir\\LiveUpdate.exe\" -Force", 25 | "Remove-Item \"$dir\\nsregister.exe\" -Force", 26 | "reg.exe add \"HKLM\\SOFTWARE\\WOW6432Node\\NetSarang\\Xshell\\8\" /v \"Version\" /t REG_SZ /d \"8.0.0066\" /f", 27 | "reg.exe add \"HKLM\\SOFTWARE\\WOW6432Node\\NetSarang\\Xshell\\8\" /v \"Path\" /t REG_SZ /d \"$dir\" /f", 28 | "reg.exe add \"HKCU\\SOFTWARE\\NetSarang\\Xshell\\8\\License\" /v \"SubmitTime\" /t REG_DWORD /d \"2145888000\" /f", 29 | "reg.exe add \"HKCU\\SOFTWARE\\NetSarang\\Xshell\\8\\Personal\" /v \"Notified\" /t REG_DWORD /d \"1\" /f", 30 | "reg.exe add \"HKCU\\SOFTWARE\\NetSarang\\Xshell\\8\\LiveUpdate\" /v \"EnableLiveUpdate\" /t REG_DWORD /d \"0\" /f", 31 | "reg.exe add \"HKLM\\SOFTWARE\\NetSarang\\Xshell\\8\" /v \"MagicCode\" /t REG_BINARY /d \"0b58da690bc91ef18518f1d686c1f47ce80709000b00\" /f /reg:32" 32 | ] 33 | }, 34 | "post_install": [ 35 | "$configdir = \"$env:USERPROFILE\\Documents\\NetSarang Computer\\8\\Xshell\"", 36 | "if (Test-Path $configdir) {", 37 | " if ((Get-Item $configdir).Attributes -band [System.IO.FileAttributes]::ReparsePoint) {", 38 | " # just delete symlink", 39 | " Remove-Item -Path $configdir", 40 | " } else {", 41 | " # backup to data folder", 42 | " Copy-Item -Recurse -Path $configdir/* $dir/data/ ", 43 | " # delete original dir", 44 | " Remove-Item -Path $configdir -Recurse -Force", 45 | " } }", 46 | "New-Item -Force -ItemType SymbolicLink -Path $configdir -Value $dir/data" 47 | ], 48 | "shortcuts": [ 49 | [ 50 | "Xshell.exe", 51 | "Xshell 8", 52 | "", 53 | "XshellIcon.ico" 54 | ] 55 | ], 56 | "uninstaller": { 57 | "script": [ 58 | "# Require Administrator rights", 59 | "if (!(is_admin)) { error \"$app requires admin rights to $cmd\"; break }", 60 | "reg.exe delete \"HKCU\\SOFTWARE\\NetSarang\\Xshell\\8\" /f", 61 | "reg.exe delete \"HKLM\\SOFTWARE\\NetSarang\\Xshell\\8\" /f *>$null", 62 | "reg.exe delete \"HKLM\\SOFTWARE\\WOW6432Node\\NetSarang\\Xshell\\8\" /f *>$null" 63 | ] 64 | }, 65 | "checkver": { 66 | "regex": "https://cdn.netsarang.net/(?[^/]+)/Xshell-([\\d.]+)p.exe" 67 | }, 68 | "autoupdate": { 69 | "url": "https://cdn.netsarang.net/$matchHash/Xshell-$versionp.exe#/installer.exe" 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /bucket/itunes.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "12.13.7.1", 3 | "description": "Media player, mobile device management utility, iTunes Store client", 4 | "license": "Proprietary", 5 | "homepage": "https://www.apple.com/itunes/", 6 | "architecture": { 7 | "64bit": { 8 | "url": "https://www.apple.com/itunes/download/win64#/dl.7z", 9 | "hash": "2f5a7f4a85e24810297cb3ef63fd6d743df1c62edfc5e4ca3677c7b083bc2ff0" 10 | }, 11 | "32bit": { 12 | "url": "https://www.apple.com/itunes/download/win32#/dl.7z", 13 | "hash": "12d8edf49fed3252e86ca94304ef44556c1fb8adc5f1832e36bb9b932bd2f99d" 14 | } 15 | }, 16 | "pre_install": [ 17 | "if (-not $global) {", 18 | " throw 'This package must be installed globally.'", 19 | "}", 20 | "Remove-Item \"$dir\\SetupAdmin.exe\", \"$dir\\AppleSoftwareUpdate.msi\"", 21 | "Stop-Service 'Apple Mobile Device Service' -ErrorAction SilentlyContinue", 22 | "Stop-Service 'Bonjour Service' -ErrorAction SilentlyContinue" 23 | ], 24 | "installer": { 25 | "script": [ 26 | "$binary_suffix = ''", 27 | "if ($architecture -eq \"64bit\") {", 28 | " $binary_suffix = '64'", 29 | "}", 30 | "Invoke-ExternalCommand msiexec -ArgumentList @('/i', \"$dir\\iTunes$binary_suffix.msi\", '/qn', '/norestart', \"TARGETDIR=$dir\", \"INSTALLDIR=$dir\") -RunAs | Out-Null", 31 | "Invoke-ExternalCommand msiexec -ArgumentList @('/i', \"$dir\\AppleMobileDeviceSupport$binary_suffix.msi\", '/qn', '/norestart', \"TARGETDIR=$dir\\AppleMobileDeviceSupport\", \"INSTALLDIR=$dir\\AppleMobileDeviceSupport\") -RunAs | Out-Null", 32 | "Invoke-ExternalCommand msiexec -ArgumentList @('/i', \"$dir\\Bonjour$binary_suffix.msi\", '/qn', '/norestart', \"TARGETDIR=$dir\\Bonjour\", \"INSTALLDIR=$dir\\Bonjour\") -RunAs | Out-Null", 33 | "if (Test-Path \"$dir\\AppleApplicationSupport64.msi\") {", 34 | " Invoke-ExternalCommand msiexec -ArgumentList @('/i', \"$dir\\AppleApplicationSupport64.msi\", '/qn', '/norestart', \"TARGETDIR=$dir\\AppleApplicationSupport\", \"INSTALLDIR=$dir\\AppleApplicationSupport\") -RunAs | Out-Null", 35 | "}", 36 | "if (Test-Path \"$dir\\AppleApplicationSupport.msi\") {", 37 | " Invoke-ExternalCommand msiexec -ArgumentList @('/i', \"$dir\\AppleApplicationSupport.msi\", '/qn', '/norestart', \"TARGETDIR=$dir\\AppleApplicationSupport\", \"INSTALLDIR=$dir\\AppleApplicationSupport\") -RunAs | Out-Null", 38 | "}", 39 | "if (Test-Path \"$dir\\QuickTime.msi\") {", 40 | " Invoke-ExternalCommand msiexec -ArgumentList @('/i', \"$dir\\QuickTime.msi\", '/qn', '/norestart', \"TARGETDIR=$dir\\QuickTime\", \"INSTALLDIR=$dir\\QuickTime\") -RunAs | Out-Null", 41 | "}" 42 | ] 43 | }, 44 | "post_install": [ 45 | "Remove-Item -Recurse \"$([Environment]::GetFolderPath('CommonStartMenu'))\\Programs\\iTunes\"", 46 | "Remove-Item -Recurse \"$([Environment]::GetFolderPath('CommonDesktopDirectory'))\\iTunes.lnk\"" 47 | ], 48 | "pre_uninstall": [ 49 | "Stop-Service 'Apple Mobile Device Service'", 50 | "Stop-Service 'Bonjour Service'" 51 | ], 52 | "uninstaller": { 53 | "script": [ 54 | "$binary_suffix = ''", 55 | "if ($architecture -eq \"64bit\") {", 56 | " $binary_suffix = '64'", 57 | "}", 58 | "Invoke-ExternalCommand msiexec -ArgumentList @('/x', \"$dir\\iTunes$binary_suffix.msi\", '/qn', '/norestart') -RunAs | Out-Null", 59 | "Invoke-ExternalCommand msiexec -ArgumentList @('/x', \"$dir\\AppleMobileDeviceSupport$binary_suffix.msi\", '/qn', '/norestart') -RunAs | Out-Null", 60 | "Invoke-ExternalCommand msiexec -ArgumentList @('/x', \"$dir\\Bonjour$binary_suffix.msi\", '/qn', '/norestart') -RunAs | Out-Null", 61 | "if (Test-Path \"$dir\\AppleApplicationSupport64.msi\") {", 62 | " Invoke-ExternalCommand msiexec -ArgumentList @('/x', \"$dir\\AppleApplicationSupport64.msi\", '/qn', '/norestart') -RunAs | Out-Null", 63 | "}", 64 | "if (Test-Path \"$dir\\AppleApplicationSupport.msi\") {", 65 | " Invoke-ExternalCommand msiexec -ArgumentList @('/x', \"$dir\\AppleApplicationSupport.msi\", '/qn', '/norestart') -RunAs | Out-Null", 66 | "}", 67 | "if (Test-Path \"$dir\\QuickTime.msi\") {", 68 | " Invoke-ExternalCommand msiexec -ArgumentList @('/x', \"$dir\\QuickTime.msi\", '/qn', '/norestart', \"TARGETDIR=$dir\\QuickTime\") -RunAs | Out-Null", 69 | "}" 70 | ] 71 | }, 72 | "shortcuts": [ 73 | [ 74 | "iTunes.exe", 75 | "iTunes" 76 | ] 77 | ], 78 | "checkver": { 79 | "url": "https://en.wikipedia.org/wiki/History_of_iTunes", 80 | "regex": "background:#3d4;\">([\\d\\.]+)" 81 | }, 82 | "autoupdate": { 83 | "architecture": { 84 | "64bit": { 85 | "url": "https://www.apple.com/itunes/download/win64#/dl.7z" 86 | }, 87 | "32bit": { 88 | "url": "https://www.apple.com/itunes/download/win32#/dl.7z" 89 | } 90 | } 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /scripts/AppsUtils.psm1: -------------------------------------------------------------------------------- 1 | #Requires -Version 5.1 2 | Set-StrictMode -Version 3.0 3 | 4 | # A temp fix for https://github.com/ScoopInstaller/Scoop/pull/5066#issuecomment-1372087032 5 | function Invoke-ExternalCommand2 { 6 | [CmdletBinding(DefaultParameterSetName = 'Default')] 7 | [OutputType([Boolean])] 8 | param ( 9 | [Parameter(Mandatory = $true, 10 | Position = 0)] 11 | [Alias('Path')] 12 | [ValidateNotNullOrEmpty()] 13 | [String] 14 | $FilePath, 15 | [Parameter(Position = 1)] 16 | [Alias('Args')] 17 | [String[]] 18 | $ArgumentList, 19 | [Parameter(ParameterSetName = 'UseShellExecute')] 20 | [Switch] 21 | $RunAs, 22 | [Parameter(ParameterSetName = 'UseShellExecute')] 23 | [Switch] 24 | $Quiet, 25 | [Alias('Msg')] 26 | [String] 27 | $Activity, 28 | [Alias('cec')] 29 | [Hashtable] 30 | $ContinueExitCodes, 31 | [Parameter(ParameterSetName = 'Default')] 32 | [Alias('Log')] 33 | [String] 34 | $LogPath 35 | ) 36 | if ($Activity) { 37 | Write-Host "$Activity " -NoNewline 38 | } 39 | $Process = New-Object System.Diagnostics.Process 40 | $Process.StartInfo.FileName = $FilePath 41 | $Process.StartInfo.UseShellExecute = $false 42 | $redirectToLogFile = $false 43 | if ($LogPath) { 44 | if ($FilePath -match '^msiexec(.exe)?$') { 45 | $ArgumentList += "/lwe `"$LogPath`"" 46 | } else { 47 | $redirectToLogFile = $true 48 | $Process.StartInfo.RedirectStandardOutput = $true 49 | $Process.StartInfo.RedirectStandardError = $true 50 | } 51 | } 52 | if ($RunAs) { 53 | $Process.StartInfo.UseShellExecute = $true 54 | $Process.StartInfo.Verb = 'RunAs' 55 | } 56 | if ($Quiet) { 57 | $Process.StartInfo.UseShellExecute = $true 58 | $Process.StartInfo.WindowStyle = [System.Diagnostics.ProcessWindowStyle]::Hidden 59 | } 60 | if ($ArgumentList.Length -gt 0) { 61 | if ($FilePath -match '^((cmd|cscript|wscript|msiexec)(\.exe)?|.*\.(bat|cmd|js|vbs|wsf))$') { 62 | $Process.StartInfo.Arguments = $ArgumentList -join ' ' 63 | } elseif ($Process.StartInfo.PSObject.Properties.Name -contains 'ArgumentList') { 64 | # ArgumentList is supported in PowerShell 6.1 and later (built on .NET Core 2.1+) 65 | # ref-1: https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.processstartinfo.argumentlist?view=net-6.0 66 | # ref-2: https://docs.microsoft.com/en-us/powershell/scripting/whats-new/differences-from-windows-powershell?view=powershell-7.2#net-framework-vs-net-core 67 | $ArgumentList | ForEach-Object { $Process.StartInfo.ArgumentList.Add($_) } 68 | } else { 69 | # escape arguments manually in lower versions, refer to https://docs.microsoft.com/en-us/previous-versions/17w5ykft(v=vs.85) 70 | $escapedArgs = $ArgumentList | ForEach-Object { 71 | # escape N consecutive backslash(es), which are followed by a double quote, to 2N consecutive ones 72 | $s = $_ -replace '(\\+)"', '$1$1"' 73 | # escape N consecutive backslash(es), which are at the end of the string, to 2N consecutive ones 74 | $s = $s -replace '(\\+)$', '$1$1' 75 | # escape double quotes 76 | $s = $s -replace '"', '\"' 77 | # https://github.com/ScoopInstaller/Scoop/issues/5231#issuecomment-1295840608 78 | $s 79 | } 80 | $Process.StartInfo.Arguments = $escapedArgs -join ' ' 81 | Write-Host $Process.StartInfo.Arguments 82 | } 83 | } 84 | try { 85 | [void]$Process.Start() 86 | } catch { 87 | if ($Activity) { 88 | Write-Host 'error.' -ForegroundColor DarkRed 89 | } 90 | Write-Host $_.Exception.Message -ForegroundColor DarkRed 91 | return $false 92 | } 93 | if ($redirectToLogFile) { 94 | # we do this to remove a deadlock potential 95 | # ref: https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.process.standardoutput?view=netframework-4.5#remarks 96 | $stdoutTask = $Process.StandardOutput.ReadToEndAsync() 97 | $stderrTask = $Process.StandardError.ReadToEndAsync() 98 | } 99 | $Process.WaitForExit() 100 | if ($redirectToLogFile) { 101 | Out-UTF8File -FilePath $LogPath -Append -InputObject $stdoutTask.Result 102 | Out-UTF8File -FilePath $LogPath -Append -InputObject $stderrTask.Result 103 | } 104 | if ($Process.ExitCode -ne 0) { 105 | if ($ContinueExitCodes -and ($ContinueExitCodes.ContainsKey($Process.ExitCode))) { 106 | if ($Activity) { 107 | Write-Host 'done.' -ForegroundColor DarkYellow 108 | } 109 | Write-Host $ContinueExitCodes[$Process.ExitCode] -ForegroundColor DarkYellow 110 | return $true 111 | } else { 112 | if ($Activity) { 113 | Write-Host 'error.' -ForegroundColor DarkRed 114 | } 115 | Write-Host "Exit code was $($Process.ExitCode)!" -ForegroundColor DarkRed 116 | return $false 117 | } 118 | } 119 | if ($Activity) { 120 | Write-Host 'done.' -ForegroundColor Green 121 | } 122 | return $true 123 | } 124 | 125 | function Out-UTF8File { 126 | param( 127 | [Parameter(Mandatory = $True, Position = 0)] 128 | [Alias('Path')] 129 | [String] $FilePath, 130 | [Switch] $Append, 131 | [Switch] $NoNewLine, 132 | [Parameter(ValueFromPipeline = $True)] 133 | [PSObject] $InputObject 134 | ) 135 | process { 136 | if ($Append) { 137 | [System.IO.File]::AppendAllText($FilePath, $InputObject) 138 | } else { 139 | if (!$NoNewLine) { 140 | # Ref: https://stackoverflow.com/questions/5596982 141 | # Performance Note: `WriteAllLines` throttles memory usage while 142 | # `WriteAllText` needs to keep the complete string in memory. 143 | [System.IO.File]::WriteAllLines($FilePath, $InputObject) 144 | } else { 145 | # However `WriteAllText` does not add ending newline. 146 | [System.IO.File]::WriteAllText($FilePath, $InputObject) 147 | } 148 | } 149 | } 150 | } 151 | 152 | function Mount-ExternalRuntimeData { 153 | <# 154 | .SYNOPSIS 155 | Mount external runtime data 156 | 157 | .PARAMETER Source 158 | The source path, which is the persist_dir 159 | 160 | .PARAMETER Target 161 | The target path, which is the actual path app uses to access the runtime data 162 | #> 163 | [CmdletBinding()] 164 | param ( 165 | [Parameter(Mandatory = $true, Position = 0)] 166 | [string] $Source, 167 | [Parameter(Mandatory = $true, Position = 1)] 168 | [string] $Target 169 | ) 170 | 171 | if (Test-Path $Source) { 172 | Remove-Item $Target -Force -Recurse -ErrorAction SilentlyContinue 173 | } else { 174 | New-Item -ItemType Directory $Source -Force | Out-Null 175 | if (Test-Path $Target) { 176 | Get-ChildItem $Target | Move-Item -Destination $Source -Force 177 | Remove-Item $Target 178 | } 179 | } 180 | 181 | New-Item -ItemType Junction -Path $Target -Target $Source -Force | Out-Null 182 | } 183 | 184 | function Dismount-ExternalRuntimeData { 185 | <# 186 | .SYNOPSIS 187 | Unmount external runtime data 188 | 189 | .PARAMETER Target 190 | The target path, which is the actual path app uses to access the runtime data 191 | #> 192 | [CmdletBinding()] 193 | param ( 194 | [Parameter(Mandatory = $true, Position = 0)] 195 | [string] $Target 196 | ) 197 | 198 | if (Test-Path $Target) { 199 | Remove-Item $Target -Force -Recurse 200 | } 201 | } 202 | 203 | Export-ModuleMember ` 204 | -Function ` 205 | Mount-ExternalRuntimeData, Dismount-ExternalRuntimeData, ` 206 | Invoke-ExternalCommand2 207 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 🍨 Extras-Plus 🍨 2 | 3 | [![Excavator](https://github.com/Scoopforge/Extras-Plus/actions/workflows/ci.yml/badge.svg)](https://github.com/Scoopforge/Extras-Plus/actions/workflows/ci.yml) 4 | [![license](https://img.shields.io/github/license/Scoopforge/Extras-Plus)](https://github.com/Scoopforge/Extras-Plus/blob/master/LICENSE) 5 | [![code size](https://img.shields.io/github/languages/code-size/Scoopforge/Extras-Plus.svg)](https://img.shields.io/github/languages/code-size/Scoopforge/Extras-Plus.svg) 6 | [![repo size](https://img.shields.io/github/repo-size/Scoopforge/Extras-Plus.svg)](https://img.shields.io/github/repo-size/Scoopforge/Extras-Plus.svg) 7 | 8 | A Bucket for the Best Windows Package Manager [Scoop](https://github.com/ScoopInstaller/Scoop): An Enhancement for the Official CLI Bucket. 9 | 10 | > If you would like to be a co-maintainer, feel free to tell me in the Discussion. 11 | 12 | For ones familiar with Scoop: 13 | 14 | ## 🏃 To Start 15 | 16 | ```powershell 17 | scoop bucket add extras-plus https://github.com/Scoopforge/Extras-Plus 18 | ``` 19 | 20 | ## 🚲 Install Scoop 21 | 22 | ### 💻 Step 1: Enable remote policy in PowerShell 23 | 24 | ```powershell 25 | Set-ExecutionPolicy RemoteSigned -scope CurrentUser 26 | ``` 27 | 28 | ### ⚙️ Step 2: Download and install Scoop 29 | 30 | ```powershell 31 | irm get.scoop.sh -outfile 'install.ps1' 32 | .\install.ps1 -ScoopDir ['Scoop_Path'] -ScoopGlobalDir ['GlobalScoopApps_Path'] -NoProxy 33 | # for example 34 | .\install.ps1 -ScoopDir 'C:\Scoop' -ScoopGlobalDir 'C:\Program Files' -NoProxy 35 | ``` 36 | 37 | > If you skip this step, all user installed Apps and Scoop itself will live in `c:/users/user_name/scoop`. 38 | 39 | ### 📖 Step 3: Glance at quick-start by `scoop help` 40 | 41 | For more information, please visit 👉 [Scoop official site](https://scoop.sh/) 👈 42 | 43 | ## 🚗 Install Apps from this bucket 44 | 45 | ### 🚋 Step 1: Install Aria2 to accelerate downloading 46 | 47 | ```powershell 48 | scoop install aria2 49 | ``` 50 | 51 | ### 🎫 Step 2: Install Git to add new repositories 52 | 53 | ```powershell 54 | scoop install git 55 | ``` 56 | 57 | ### ✈️ Step 3: Add this wonderful bucket and update, mua~ 💋 58 | 59 | ```powershell 60 | scoop bucket add extras-plus https://github.com/Scoopforge/Extras-Plus 61 | scoop update 62 | ``` 63 | 64 | ### 🚀 Step 4: Install App 65 | 66 | ```powershell 67 | scoop install 68 | ``` 69 | 70 | ## 📝 Trivial 71 | 72 | ### Tweaking Parameters of Aria2 73 | 74 | ```powershell 75 | scoop config aria2-enabled true 76 | scoop config aria2-retry-wait 4 77 | scoop config aria2-split 16 78 | scoop config aria2-max-connection-per-server 16 79 | scoop config aria2-min-split-size 4M 80 | ``` 81 | 82 | ## ⭐️ Summary 83 | 84 | ### Cross-Platform 85 | 86 | #### General Use 87 | 88 | | App | Auto-Update ? | Note | 89 | |:----------------------------------------------------------:|:-------------:|:------------:| 90 | | [alexandria](https://github.com/btpf/Alexandria) | ✓ | | 91 | | [alist-helper](https://github.com/Xmarmalade/alisthelper) | ✓ | | 92 | | [bananas](https://getbananas.net/) | ✓ | | 93 | | [bitcomet](https://www.bitcomet.com/) | ✓ | | 94 | | [ecopast](https://github.com/EcoPasteHub/EcoPaste) | ✓ | | 95 | | [filecentipede](https://github.com/filecxx/FileCentipede) | ✓ | by @CronusLM | 96 | | [flying-carpet](https://github.com/spieglt/FlyingCarpet/) | ✓ | | 97 | | [kindle](https://amazon.com/kindleapps) | ✓ | | 98 | | [landrop-latest](https://landrop.app) | ✓ | | 99 | | [linkandroid](https://github.com/modstart-lib/linkandroid) | ✓ | | 100 | | [lrcget](https://github.com/tranxuanthang/lrcget) | ✓ | | 101 | | [musicat](https://github.com/basharovV/musicat) | ✓ | | 102 | | [normcap](https://github.com/dynobo/normcap) | ✓ | | 103 | | [notegen](https://github.com/codexu/note-gen) | ✓ | | 104 | | [pdf4qt](https://jakubmelka.github.io) | ✓ | | 105 | | [stirlingpdf](https://stirlingpdf.com) | ✓ | | 106 | | [veracrypt](https://veracrypt.fr) | ✓ | | 107 | | [voov-meeting](https://voovmeeting.com) | ✓ | | 108 | | [ytdownloader](https://ytdn.netlify.app) | ✓ | | 109 | | [ytdownloader](https://ytdn.netlify.app) | ✓ | | 110 | 111 | #### Academic Tools 112 | 113 | | App | Auto-Update ? | Note | 114 | |:----------------------------------------------------------------------:|:-------------:|:----------:| 115 | | [cytoscape](https://cytoscape.org) | ✓ | | 116 | | [jupyterlab-desktop](https://github.com/jupyterlab/jupyterlab-desktop) | ✓ | | 117 | | [mendeley-desktop](http://mendeley.com/) | ✓ | | 118 | | [mogan](https://mogan.app) | ✓ | | 119 | | [netlogo](https://ccl.northwestern.edu/netlogo) | ✓ | | 120 | | [scihubeva](https://github.com/leovan/SciHubEVA) | ✓ | by @leovan | 121 | | [texlive](https://tug.org/texlive) | ✓ | | 122 | | [tropy](https://tropy.org) | ✓ | | 123 | 124 | #### AI Tools 125 | 126 | | App | Auto-Update ? | Note | 127 | |:--------------------------------------------:|:-------------:|:----:| 128 | | [buzz](https://buzzcaptions.com) | ✓ | | 129 | | [chatbox](https://chatboxai.app) | ✓ | | 130 | | [vibe](https://github.com/thewh1teagle/vibe) | ✓ | | 131 | 132 | #### Development Tools 133 | 134 | | App | Auto-Update ? | Note | 135 | |:----------------------------------------------------------------------------:|:-------------:|:----:| 136 | | [dbgate](https://dbgate.org) | ✓ | | 137 | | [doxygen-gui](http://doxygen.nl) | ✓ | | 138 | | [navicat-premium-lite](https://navicat.com/en/products/navicat-premium-lite) | ✓ | | 139 | 140 | ### Win-Only 141 | 142 | | App | Auto-Update ? | Note | 143 | |:-----------------------------------------------------------------------------:|:-------------:|:------------:| 144 | | [autodarkmode](https://github.com/Armin2208/Windows-Auto-Night-Mode) | ✓ | | 145 | | [configure-defender](https://github.com/AndyFul/ConfigureDefender) | ✓ | | 146 | | [defender-remover](https://github.com/ionuttbara/windows-defender-remover) | ✓ | | 147 | | [fancywm](https://github.com/FancyWM/fancywm) | ✓ | | 148 | | [file-converter](https://file-converter.org) | ✓ | | 149 | | [jigdo](https://einval.com/~steve/software/jigdo) | ✓ | | 150 | | [rectanglewin](https://github.com/ahmetb/RectangleWin) | ✓ | | 151 | | [wisecare365](https://wisecleaner.com/wise-care-365.html) | ✓ | | 152 | | [vmware-workstation-pro](https://vmware.com/products/desktop-hypervisor.html) | ✓ | non-portable | 153 | | [xshell](https://xshell.com/free-for-home-school) | ✓ | | 154 | --------------------------------------------------------------------------------