A modern desktop application for browsing and managing Flatpak applications from Flathub
- Browse Flathub applications
- View app of the day and apps of the week
- Browse by categories
- Smart caching system for images and app data
- Install Flatpak applications directly
- List your flatpak apps and updates capcities
- Built with Tauri, React, and TypeScript
- Tauri 2: Desktop application framework
- React 19: UI library
- TypeScript: Type safety
- Material UI v7: Component library
- TanStack Query: Data fetching and caching
- pnpm: Package manager
- Node.js 20+
- Rust
- pnpm (
corepack enable pnpm)
# Install dependencies
pnpm install
# Run development server (IMPORTANT: use tauri dev, not just dev)
pnpm tauri dev
# Build for production
pnpm tauri buildImportant: Always use
pnpm tauri devinstead ofpnpm dev. The Tauri context is required for the app to function properly.
For detailed instructions on building Flatpak packages and troubleshooting common build issues, see:
Flatpak:
flatpak-builder --user --install --force-clean build-dir com.gatorand.klia-store.yml
flatpak run com.gatorand.klia-store
# Create distributable bundle
flatpak build-bundle ~/.local/share/flatpak/repo klia-store.flatpak com.gatorand.klia-storeDebian Package:
pnpm tauri build --bundles deb
sudo dpkg -i src-tauri/target/release/bundle/deb/klia-store_*.debTo create an automated release with both .deb and .flatpak packages:
- Update the version in
package.json - Commit with
[release]in the message:git commit -m "[release] Version 1.0 - Added new features" git push - GitHub Actions will automatically:
- Build .deb and .flatpak packages
- Create a new release with tag
v{version} - Upload both packages as
Klia-Store-beta{version}.debandKlia-Store-beta{version}.flatpak
Klia Store supports crypto donations (Bitcoin and Ethereum tokens) for app developers. Developers can add donation URLs to their Flathub apps to receive direct support from users.
Follow these steps to enable crypto donations for your Flathub application:
You'll need one or both of the following:
- Bitcoin (BTC) wallet address
- Ethereum (ETH) wallet address (supports all ERC-20 tokens)
Important: Flathub only accepts one
<url type="donation">entry per app. If you add more than one, the submission will be rejected. Choose the cryptocurrency you prefer to receive donations in.
Edit your app's .metainfo.xml file and add a single donation URL in the <url> section:
For Bitcoin:
<url type="donation">https://n3kosempai.github.io/KliaStore/bitcoin/donate?wallet=bc1qaq220dfa4dwc2eg0s76t4uzmrf28med2nr3fz0</url>For Ethereum (any ERC-20 token):
<url type="donation">https://kliastore.gatorand.com/ethereum/?wallet=YOUR_ETH_ADDRESS</url>Example (Klia Store configuration β Bitcoin only):
<component>
<id>io.github.N3kosempai.klia-store</id>
<name>Klia Store</name>
<!-- ... other metadata ... -->
<url type="homepage">https://github.com/N3koSempai/kliaStore</url>
<url type="donation">https://kliastore.gatorand.com/bitcoin/?wallet=bc1q5y8are6m9r946h3ut7c3hxtuf6nm67rgz7ume7</url>
</component>Currently supported:
- β Bitcoin (BTC) - Native Bitcoin network
- β USDT (Tether) - Ethereum network (ERC-20)
Coming soon:
- π USDC, DAI, and other ERC-20 tokens
- π Other blockchains
- Users browse your app in Klia Store
- They click the donation button (β‘ icon)
- Select cryptocurrency and enter amount
- Scan QR code or copy wallet address
- Send the exact amount from their wallet
- Click "Verify" to confirm the transaction on-chain
- Donation is recorded in local database
- On-chain verification: Transactions are verified using blockchain APIs (Blockstream/Mempool for BTC, Ethereum RPC nodes for USDT)
- QR code generation: Automatic QR codes for easy mobile wallet scanning
- BIP-21 support: Bitcoin URIs include amount for auto-fill in wallets
- Local tracking: All donations are stored in SQLite database
- Privacy-focused: No external tracking, only blockchain verification
- Replace
YOUR_BTC_ADDRESSandYOUR_ETH_ADDRESSwith your actual wallet addresses - A single Ethereum address can receive all ERC-20 tokens (USDT, USDC, DAI, etc.)
- Ensure your wallet addresses are correct before publishing
- Users must send the exact amount specified for verification to work
- Transactions typically take a few minutes to appear on-chain
- Architecture Documentation - Detailed technical documentation
- Contributing Guidelines - How to contribute to the project