├── .github
├── dependabot.yml
└── workflows
│ └── build.yml
├── .gitignore
├── .idea
├── .gitignore
├── LiquidLauncher.iml
├── discord.xml
├── inspectionProfiles
│ └── Project_Default.xml
├── modules.xml
└── vcs.xml
├── .vscode
└── extensions.json
├── LICENSE
├── README.md
├── gh_assets
├── screenshot-1.png
├── screenshot-2.png
├── screenshot-3.png
├── screenshot-4.png
└── screenshot-5.png
├── icon.png
├── index.html
├── jsconfig.json
├── package.json
├── public
└── img
│ ├── banner.png
│ ├── icon
│ ├── icon-button-close.svg
│ ├── icon-cog.svg
│ ├── icon-copy-to-clipboard.svg
│ ├── icon-directory-choose.svg
│ ├── icon-directory-open.svg
│ ├── icon-eye.svg
│ ├── icon-file-choose.svg
│ ├── icon-lock.svg
│ ├── icon-news-scroll.svg
│ ├── icon-next.svg
│ ├── icon-person.svg
│ ├── icon-plus.svg
│ ├── icon-prev.svg
│ ├── icon-version-lb.png
│ ├── icon-version-mc.png
│ └── social
│ │ ├── icon-discord.svg
│ │ ├── icon-github.svg
│ │ ├── icon-nodebb.svg
│ │ ├── icon-twitter.svg
│ │ ├── icon-url.svg
│ │ └── icon-youtube.svg
│ ├── logo.svg
│ └── steve.png
├── src-tauri
├── .gitignore
├── Cargo.lock
├── Cargo.toml
├── build.rs
├── capabilities
│ ├── download_view.json
│ └── main.json
├── icons
│ ├── 128x128.png
│ ├── 128x128@2x.png
│ ├── 32x32.png
│ ├── Square107x107Logo.png
│ ├── Square142x142Logo.png
│ ├── Square150x150Logo.png
│ ├── Square284x284Logo.png
│ ├── Square30x30Logo.png
│ ├── Square310x310Logo.png
│ ├── Square44x44Logo.png
│ ├── Square71x71Logo.png
│ ├── Square89x89Logo.png
│ ├── StoreLogo.png
│ ├── icon.icns
│ ├── icon.ico
│ └── icon.png
├── src
│ ├── app
│ │ ├── client_api.rs
│ │ ├── gui
│ │ │ ├── commands
│ │ │ │ ├── auth.rs
│ │ │ │ ├── client.rs
│ │ │ │ ├── data.rs
│ │ │ │ ├── mod.rs
│ │ │ │ └── system.rs
│ │ │ └── mod.rs
│ │ ├── mod.rs
│ │ ├── options.rs
│ │ └── webview.rs
│ ├── auth
│ │ └── mod.rs
│ ├── error.rs
│ ├── main.rs
│ ├── minecraft
│ │ ├── auth.rs
│ │ ├── java
│ │ │ ├── distribution.rs
│ │ │ ├── jre_downloader.rs
│ │ │ ├── mod.rs
│ │ │ └── runtime.rs
│ │ ├── launcher
│ │ │ ├── assets.rs
│ │ │ ├── client_jar.rs
│ │ │ ├── jre.rs
│ │ │ ├── libraries.rs
│ │ │ └── mod.rs
│ │ ├── mod.rs
│ │ ├── prelauncher.rs
│ │ ├── progress.rs
│ │ ├── rule_interpreter.rs
│ │ └── version.rs
│ └── utils
│ │ ├── checksum.rs
│ │ ├── download.rs
│ │ ├── extract.rs
│ │ ├── hosts.rs
│ │ ├── macros.rs
│ │ ├── maven.rs
│ │ ├── mod.rs
│ │ └── sys.rs
├── static
│ └── success.html
└── tauri.conf.json
├── src
├── App.svelte
├── app.css
├── font
│ ├── Inter-Bold.ttf
│ ├── Inter-Medium.ttf
│ ├── Inter-Regular.ttf
│ └── OFL.txt
├── lib
│ ├── Window.svelte
│ ├── common
│ │ ├── ButtonClose.svelte
│ │ ├── ButtonCopyClipboard.svelte
│ │ ├── Logo.svelte
│ │ ├── TitleBar.svelte
│ │ ├── ToolTip.svelte
│ │ ├── VerticalFlexWrapper.svelte
│ │ └── social
│ │ │ ├── ButtonIcon.svelte
│ │ │ ├── ButtonIconText.svelte
│ │ │ └── SocialBar.svelte
│ ├── login
│ │ ├── Facts.svelte
│ │ ├── LoginScreen.svelte
│ │ └── loginmodal
│ │ │ ├── LoginModal.svelte
│ │ │ ├── ModalButton.svelte
│ │ │ └── ModalInput.svelte
│ ├── main
│ │ ├── Account.svelte
│ │ ├── ButtonLaunchArea.svelte
│ │ ├── ButtonVersion.svelte
│ │ ├── ContentWrapper.svelte
│ │ ├── ErrorScreen.svelte
│ │ ├── FirstRunWarning.svelte
│ │ ├── LaunchArea.svelte
│ │ ├── LoadingScreen.svelte
│ │ ├── MainHeader.svelte
│ │ ├── MainScreen.svelte
│ │ ├── NonSecureConnectionScreen.svelte
│ │ ├── VersionSelect.svelte
│ │ ├── VersionWarning.svelte
│ │ ├── log
│ │ │ ├── ClientLog.svelte
│ │ │ ├── LogMessage.svelte
│ │ │ └── VirtualList.svelte
│ │ ├── news
│ │ │ ├── News.svelte
│ │ │ └── NewsArea.svelte
│ │ ├── settings
│ │ │ ├── GeneralSettings.svelte
│ │ │ ├── PremiumSettings.svelte
│ │ │ └── Settings.svelte
│ │ └── statusbar
│ │ │ ├── ProgressStatus.svelte
│ │ │ ├── StatusBar.svelte
│ │ │ └── TextStatus.svelte
│ └── settings
│ │ ├── ButtonSetting.svelte
│ │ ├── CustomModSetting.svelte
│ │ ├── Description.svelte
│ │ ├── DirectorySelectorSetting.svelte
│ │ ├── FileSelectorSetting.svelte
│ │ ├── IconButtonSetting.svelte
│ │ ├── LauncherVersion.svelte
│ │ ├── LiquidBounceAccount.svelte
│ │ ├── RangeSetting.svelte
│ │ ├── RangeSettingStyles.css
│ │ ├── SelectSetting.svelte
│ │ ├── SettingWrapper.svelte
│ │ ├── SettingsContainer.svelte
│ │ ├── TextSetting.svelte
│ │ ├── ToggleSetting.svelte
│ │ └── tab
│ │ ├── Tab.svelte
│ │ └── Tabs.svelte
├── main.js
└── vite-env.d.ts
├── vite.config.js
└── yarn.lock
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: cargo
4 | directory: "src-tauri/"
5 | schedule:
6 | interval: daily
7 | open-pull-requests-limit: 10
8 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: Build
2 | on:
3 | push:
4 | branches:
5 | - tauri/v2
6 |
7 | jobs:
8 | build-tauri:
9 | permissions:
10 | contents: write
11 | strategy:
12 | fail-fast: false
13 | matrix:
14 | include:
15 | - platform: macos-latest
16 | args: >-
17 | --target aarch64-apple-darwin
18 | - platform: macos-latest
19 | args: >-
20 | --target x86_64-apple-darwin
21 | - platform: ubuntu-22.04
22 | args: >-
23 |
24 | - platform: windows-latest
25 | args: >-
26 |
27 |
28 | runs-on: ${{ matrix.platform }}
29 | steps:
30 | - name: Checkout repository and submodules
31 | uses: actions/checkout@v4
32 | with:
33 | submodules: recursive
34 |
35 | - name: setup node
36 | uses: actions/setup-node@v4
37 | with:
38 | node-version: 21
39 |
40 | - name: install Rust nightly
41 | uses: dtolnay/rust-toolchain@nightly
42 | with:
43 | targets: >-
44 | ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
45 |
46 | - name: install dependencies (ubuntu only)
47 | if: matrix.platform == 'ubuntu-22.04'
48 | run: |
49 | sudo apt-get update
50 | sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libx11-dev xorg-dev libglu1-mesa-dev libglib2.0-0
51 |
52 | - name: Setup Cargo dependency cache
53 | uses: Swatinem/rust-cache@v2
54 | with:
55 | shared-key: shared
56 |
57 | - name: install app dependencies and build it
58 | run: |
59 | yarn && yarn build
60 |
61 | - name: Build and release
62 | uses: tauri-apps/tauri-action@v0
63 | env:
64 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
65 | TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
66 | TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
67 | with:
68 | args: >-
69 | ${{ matrix.args }}
70 | tagName: >-
71 | ${{ startsWith(github.event.head_commit.message, 'release: ') && 'v__VERSION__' || format('v__VERSION__-{0}', github.sha) }}
72 | releaseName: >-
73 | ${{ startsWith(github.event.head_commit.message, 'release: ') && 'Release v__VERSION__' || format('Development build - {0}', github.sha) }}
74 | releaseBody: >-
75 | ${{ startsWith(github.event.head_commit.message, 'release: ') && 'See the assets to download and install this version.' || format('Development build from commit {0}
76 |
77 | This is an automated build from the latest commit. It may be unstable.
78 |
79 | Commit message: {1}', github.sha, github.event.head_commit.message) }}
80 | releaseDraft: >-
81 | ${{ startsWith(github.event.head_commit.message, 'release: ') }}
82 | prerelease: >-
83 | ${{ !startsWith(github.event.head_commit.message, 'release: ') }}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules/
2 | /public/build/
3 | /dist
4 | /tauri
5 |
6 | .DS_Store
7 | .env
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Editor-based HTTP Client requests
5 | /httpRequests/
6 | # Datasource local storage ignored files
7 | /dataSources/
8 | /dataSources.local.xml
9 |
--------------------------------------------------------------------------------
/.idea/LiquidLauncher.iml:
--------------------------------------------------------------------------------
1 |
2 |
38 |
40 |
14 | ![]() |
16 |
17 | ![]() |
19 |
22 | ![]() |
24 |
25 | ![]() |
27 |
30 | ![]() |
32 |
You have successfully authenticated. You can close this tab now.
31 |{error.error}35 |
32 | {@html parseChangelog(versionInfo.description)} 33 |34 | 35 |
44 | This issue is often caused by network restrictions or SSL certificate problems. 45 | We recommend using a VPN such as Cloudflare WARP to establish a secure connection. 46 |
47 |