diff --git a/README.md b/README.md index b8d0bcdf..028119aa 100644 --- a/README.md +++ b/README.md @@ -1,145 +1,98 @@ -# MobaXterm Keygen & Customizer πŸš€ +
+ MobaXterm Keygen Logo +

MobaXterm Keygen & Customizer πŸš€

+

Fast, and secure license generator and customizer.

+ +

+ License + Version + Compatibility +

+ +

⭐ Please star this repository if you find it helpful! ⭐

+
-![License](https://img.shields.io/badge/License-MIT-blue.svg) -![Version](https://img.shields.io/badge/Version-v2.7-green.svg) -![Compatibility](https://img.shields.io/badge/Compatible-v20.X%20|%20v25.4%20|%20v26.0-orange) +--- -> ⭐ **Please star this repository if you find it helpful!** ⭐ +## πŸ”₯ Overview -## Overview +A modern, user-friendly, and beautifully designed web tool for generating activation keys and customizing **MobaXterm**β€”the ultimate terminal emulator for Windows with an integrated X11 server, SSH client, and comprehensive network toolset. -A modern, user-friendly web tool for generating activation keys and customizing MobaXterm, the ultimate terminal emulator for Windows with an integrated X11 server, SSH client, and comprehensive network toolset. +All processes run **100% locally** in your browser, ensuring maximum privacy and security. -## Features +## ✨ Key Features -- **✨ Clean, Modern UI** - Responsive design optimized for both desktop and mobile -- **πŸŒ“ Dark/Light Mode** - Toggle between themes with a click -- **πŸ”’ Multiple Editions Support** - Generate keys for different MobaXterm editions -- **πŸ‘₯ Custom User Count** - Specify the number of concurrent users -- **πŸ’Ύ One-Click Downloads** - Instantly download your custom activation file -- **πŸ”§ Complete Customizer** - Create personalized settings without the official customizer tool -- **πŸ–ΌοΈ Custom Logo Support** - Replace the default MobaXterm logo with your own -- **πŸ“‘ Bookmarks Manager** - Pre-define SSH, FTP, and other connection profiles -- **πŸ”Œ Plugin Integration** - Include plugins in your custom configuration +- **πŸ’Ž Premium Glassmorphism UI** - Enjoy a sleek, modern, and completely responsive experience. +- **πŸŒ“ Adaptive Theme** - Seamless dark and light mode toggle. +- **πŸ”’ Multi-Edition Support** - Generate licenses for various MobaXterm editions effortlessly. +- **πŸ‘₯ Flexible User Allocation** - Define your own custom concurrent user limit. +- **πŸ’Ύ One-Click Downloads** - Get your `.mxtpro` files instantly in a neat package. +- **πŸ”§ Built-in Customizer Integration** - No need for the official cli tool; apply advanced setups visually. +- **πŸ–ΌοΈ Brand Personalization** - Easily switch the default MobaXterm logo with your company's own. +- **πŸ”Œ Plugins & Bookmarks** - Embed `.mxt3` plugins and predefined SSH/FTP profiles instantly. -## Compatibility +## πŸš€ Compatibility -- Works with **MobaXterm versions 20.X, 25.4, and 26.0** -- Supports both portable and installer editions +- Official support tested extensively with MobaXterm versions **20.X, 26.2, and 26.3**. +- Compatible with both **Portable** and **Installer (Desktop)** editions. -## How to Use +## πŸ“– How to Use -### Key Generator +### 1️⃣ The Key Generator -1. **Visit the Generator**: Go to the [MobaXterm Key Generator](https://moba-xterm-keygen.vercel.app/) -2. **Fill in the Form**: - - Select the desired MobaXterm edition - - Enter a username (letters only) - - Choose your MobaXterm version (20.X or 26.X) - - Specify the number of users -3. **Download**: Click "Download Key" to get your Custom.mxtpro file -4. **Activate**: Place the generated file in your MobaXterm installation directory: - ``` +1. **Access the Generator**: Open the [MobaXterm Key Generator](https://moba-xterm-keygen.vercel.app/) web application. +2. **Setup your License**: + - Choose your preferred MobaXterm Edition from the dropdown. + - Enter your username (alphabetical characters only). + - Input your current target version (e.g., `26.3`). + - Define your desired number of users. +3. **Generate**: Click the big **"Generate License"** button to start downloading your `Custom.mxtpro` key. +4. **Deploy**: Drop this file inside your MobaXterm installation folder: + ```text C:\Program Files (x86)\Mobatek\MobaXterm ``` -### Customizer +### 2️⃣ Advanced: Settings Merger -1. **Go to the Customizer Tab** in the web interface -2. **Configure Your Settings**: - - **Banner**: Create a personalized welcome message - - **Profile**: Configure a custom bash profile (similar to /etc/profile in Linux) - - **Settings**: Toggle MobaXterm features on/off - - **Logo**: Upload your custom logo image - - **Bookmarks**: Create predefined connections for your users - - **Plugins**: Add optional MobaXterm plugins (.mxt3 files) -3. **Generate Settings**: Click "Generate Configuration File" to download your settings -4. **Apply Settings**: Use either method below to apply your customization +If you have personalized MobaXterm preferences (Customizer tweaks, logos, bash profiles): -### Settings Merger +1. Switch to the **Settings Merger** tab inside our web app. +2. **Export your settings**: Run `.\MobaXterm.exe -customizer` and select the option to export to `MobaXterm customization.custom`. +3. **Upload both files**: + - The license key file (`Custom.mxtpro`). + - The exported configuration file (`MobaXterm customization.custom`). +4. Click **Merge Files** to inject everything into a single, unified `Custom.mxtpro` file to deploy normally. -1. **Go to the Custom Settings Merger Tab** -2. **Upload Files**: - - Your license key file (Custom.mxtpro) - - Your customization file (MobaXterm customization.custom) -3. **Merge**: Create a single file with both your license and custom settings -4. **Deploy**: Copy the merged Custom.mxtpro to your MobaXterm installation directory +## πŸ›  Troubleshooting -## Installation Guide +
+Activation isn't being recognized? +Ensure you are running a supported version range (v20.X, 26.2, or 26.3). Also, make sure the file is strictly named `Custom.mxtpro` without any duplicates like `Custom (1).mxtpro`. +
-### Step 1: Download MobaXterm -Download the latest version from the [official MobaXterm website](https://mobaxterm.mobatek.net/download-home-edition.html). +
+File generation fails? +Double check that your provided username only encompasses letters. Spaces and unique symbols are currently not supported by the underlying cryptography validation checks. +
-### Step 2: Generate Your Key & Customization -Use our tool to: -1. Create your activation key -2. Customize your settings (optional) -3. Merge your license with your customization (optional) +## πŸ” Technical & Security Details -### Step 3: Activate MobaXterm -1. Locate your MobaXterm installation folder: - - **Default Path**: `C:\Program Files (x86)\Mobatek\MobaXterm` - - Or right-click the MobaXterm shortcut and select "Open file location" -2. Copy the `Custom.mxtpro` file to this directory -3. Start MobaXterm - your license and customizations should now be applied! +This tool operates completely **Client-Side** leveraging `Vue.js` and pure DOM manipulations. **Not a single byte of your data or generated licenses travels to any backend server.** -### Alternative Customization Method +> **Disclaimer:** This project is provided exclusively for educational concepts and reverse-engineering study cases. For commercial environments, please consider supporting the official developers by purchasing an enterprise license. -MobaXterm.exe has a customizer mode that you can access by adding the parameter "-customizer": +## πŸ“ˆ Version History -``` -.\MobaXterm.exe -customizer -``` - -This official tool also allows you to export your settings to a file named "MobaXterm customization.custom". Our web-based customizer provides similar functionality but is accessible directly in your browser. - -## Troubleshooting - -1. **Activation Not Working?** - - Verify you're using a compatible version (20.X, 25.4, or 26.0) - - Make sure the file is in the correct location - - Check that the file is named exactly `Custom.mxtpro` - -2. **Error During Key Generation?** - - Ensure all form fields are filled correctly - - Username must contain only letters (no spaces, numbers, or special characters) - - Try refreshing the page and generating again - -3. **Customization Not Applying?** - - Verify that you've merged the customization with your license file - - Make sure the merged file is named exactly `Custom.mxtpro` - - Try restarting MobaXterm after placing the file in the installation directory - -## Technical Details - -This tool uses client-side processing to generate valid license keys and customization files based on your inputs. Everything is generated directly in your browser - no data is sent to any server, ensuring your privacy and security. - -## Disclaimer - -This tool is provided for educational purposes only. Please support the developers by purchasing a license for commercial use. - -## Development - -### Built With -- Vue.js -- Tailwind CSS -- Modern JavaScript - -### Version History -- **v2.7** - Added support for version 26,0 +- **v3.0** - Refined UI using a completely reconstructed Glassmorphism aesthetic and modern UX updates. Updated support for up to `26.3`. +- **v2.7** - Added support for version 26.0 - **v2.6** - Added support for version 25.4 - **v2.5** - Added support for version 25.3 -- **v2.4** - Added full MobaXterm customizer functionality -- **v2.3** - Added custom settings merger -- **v2.2** - Dark mode and mobile optimization -- **v2.1** - Added support for version 25.2 +- **v2.4** - Brought full MobaXterm customizer functionality - **v2.0** - Major UI redesign -- **v1.0** - Initial release --- -Created with ❀️ by Zarfala - ---- - -⭐ [Star this repository on GitHub!](https://github.com/zarfadev/MobaXterm-Keygen) ⭐ +
+ Crafted with ❀️ by Zarfala
+ ⭐ Star us on GitHub +
diff --git a/css/fire.css b/css/fire.css index 407a2aa6..52f6dc99 100644 --- a/css/fire.css +++ b/css/fire.css @@ -1,19 +1,7 @@ -/* -NOTE: This is just an experiment and - could use some changes to improve performance: +/* VIP Aurora Stripes Background */ +@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap'); -https://x.com/actualTimWilson/status/1730753841795158313 - -See a production optimized version here: https://charmui.com -*/ - -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap'); - -body { - font-family: Inter, sans-serif; -} - -@keyframes jumbo { +@keyframes aurora { from { background-position: 50% 50%, 50% 50%; } @@ -22,55 +10,52 @@ body { } } -/* New Styles for Form Isolation */ .box-main { position: relative; - z-index: 1; + z-index: 10; } .jumbo { position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; + inset: 0; + width: 100vw; + height: 100vh; z-index: 0; -} + pointer-events: none; + --stripes: repeating-linear-gradient( + 100deg, + #fff 0%, + #fff 7%, + transparent 10%, + transparent 12%, + #fff 16% + ); + --stripesDark: repeating-linear-gradient( + 100deg, + #000 0%, + #000 7%, + transparent 10%, + transparent 12%, + #000 16% + ); + --rainbow: repeating-linear-gradient( + 100deg, + #60a5fa 10%, + #e879f9 15%, + #60a5fa 20%, + #5eead4 25%, + #60a5fa 30% + ); -.jumbo { - --stripes: repeating-linear-gradient( - 100deg, - #fff 0%, - #fff 7%, - transparent 10%, - transparent 12%, - #fff 16% - ); - --stripesDark: repeating-linear-gradient( - 100deg, - #000 0%, - #000 7%, - transparent 10%, - transparent 12%, - #000 16% - ); - --rainbow: repeating-linear-gradient( - 100deg, - #60a5fa 10%, - #e879f9 15%, - #60a5fa 20%, - #5eead4 25%, - #60a5fa 30% - ); - background-image: var(--stripes), var(--rainbow); - background-size: 300%, 200%; - background-position: 50% 50%, 50% 50%; - - filter: blur(10px) invert(100%); - - mask-image: radial-gradient(ellipse at 100% 0%, black 40%, transparent 70%); - - pointer-events: none; + mask-image: radial-gradient(ellipse at center, black 40%, transparent 80%); + -webkit-mask-image: radial-gradient(ellipse at center, black 40%, transparent 80%); + + background-image: var(--stripes), var(--rainbow); + background-size: 300%, 200%; + background-position: 50% 50%, 50% 50%; + + filter: blur(15px) invert(100%); + opacity: 0.9; } .jumbo::after { @@ -79,20 +64,15 @@ body { inset: 0; background-image: var(--stripes), var(--rainbow); background-size: 200%, 100%; - animation: jumbo 60s linear infinite; - background-attachment: fixed; + animation: aurora 40s linear infinite; mix-blend-mode: difference; } .dark .jumbo { background-image: var(--stripesDark), var(--rainbow); - filter: blur(10px) opacity(50%) saturate(200%); + filter: blur(15px) opacity(60%) saturate(200%); } + .dark .jumbo::after { background-image: var(--stripesDark), var(--rainbow); } - -.bg-white { - --tw-bg-opacity: 1; - background-color: rgb(255 255 255); -} diff --git a/index.html b/index.html index c59a0e4b..8411e7a9 100644 --- a/index.html +++ b/index.html @@ -1,506 +1,870 @@ - - - - - - MobaXterm Keygen - - - - - - - + - - - - - - - - - - - - - - - -
-
-
- -
-
- -
-
+ } + + select option { + background-color: white; + color: black; + } + + .dark select option { + background-color: #1e293b; + color: white; + } + + .animate-gradient-text { + background-size: 300%; + animation: gradientText 6s ease-in-out infinite; + } + + @keyframes gradientText { + 0% { background-position: 0% 50%; } + 50% { background-position: 100% 50%; } + 100% { background-position: 0% 50%; } + } + + + + + + + + + + + + + + +
+
+
+ +
+
+ + +
+ +
+ + +
-
-
- -
-

- MobaXterm - - Keygen - -

- -
Compatible with versions 20.X, 25.4 and 26.0
- -
- -
- -
- -
-
- - -
-
-
-
- -
- -
- - - -
-
-

{{ errors.licenseType }}

-
-
- -
- -

{{ errors.userName }}

-
-
-
- -
- -

{{ errors.versionName }}

-
-
-
- -
- -

{{ errors.userNum }}

-
-
- -
- -
-
-
+
+
+
+
+
+ +
+
+ + +
+
+ + +
+ + +
+ + + + + v20.X, 26.2 & 26.3 Compatible
- - -
-
-

How to Use Custom Settings Merger

-
    -
  1. Generate a license key file using the Key Generator tab
  2. -
  3. Run MobaXterm with the -customizer parameter:
    - .\MobaXterm.exe -customizer -
  4. -
  5. Export your custom settings to a file named MobaXterm customization.custom
  6. -
  7. Upload both your license key file and custom settings file below
  8. -
  9. Click "Merge Files" to create a combined activation file
  10. -
-
- -
- -
- -

{{ errors.licenseFile }}

+ + +

+ MobaXterm + + Keygen + +

+

+ Fast, and secure license generator. +

+ + +
+ +
+
+ + +
+ +
+ + +
+
+
+ + +
+ +
+
+ + + + +
+ +
+ + + +
+
+

{{ + errors.licenseType }}

+ + +
+ +
+
+ + + +
+ +
+

{{ errors.userName }} +

+
+ + +
+ +
+
+ + + +
+ +
+

{{ + errors.versionName }}

+
+ + +
+ +
+
+ + + + +
+ +
+

{{ errors.userNum }}

+
+ + +
+ +
+ +
+
+
+ + +
+ + +
+
+
+ + + +
+
+

How it works

+
    +
  • Generate a license using the Key Generator.
  • +
  • Run .\MobaXterm.exe -customizer +
  • +
  • Export settings to MobaXterm customization.custom +
  • +
  • Upload both files below to merge.
  • +
+
+
+
+ +
+ +
+ + +

{{ errors.licenseFile + }}

+
- - -

{{ errors.customSettingsFile }}

-
- -
- + + +

{{ + errors.customSettingsFile }}

- - -
-
-
- Created with - ❀ - by - Zarfala -
-

UI/UX Design optimized for - Computer - & Mobile - -

-
v2.6 Β© 2025 All rights reserved
-
-
+ +
+ +
+ + +
+
+
+ Handcrafted with + ❀ + by + + Zarfala +
+
+ v3.0 Β© 2026 All rights reserved +
+
+
- - - - - - - - - + + + + + + + - - - + }, + generateLicenseFile(licenseStr) { + let zip = new JSZip(); + zip.file("Pro.key", licenseStr); + zip.generateAsync({ type: "blob" }).then((content) => { + saveAs(content, "Custom.mxtpro"); + }).catch((error) => { + console.error('Error creating zip file:', error); + showToast('Error creating license file. Please try again.', 'error'); + }); + }, + handleLicenseFileUpload(event) { + const file = event.target.files[0]; + if (file) { + if (file.name.toLowerCase().endsWith('.mxtpro')) { + this.licenseFile = file; + this.errors.licenseFile = ''; + } else { + this.licenseFile = null; + this.errors.licenseFile = 'Please select a valid .mxtpro file'; + } + } + }, + handleCustomSettingsFileUpload(event) { + const file = event.target.files[0]; + if (file) { + if (file.name.toLowerCase().endsWith('.custom')) { + this.customSettingsFile = file; + this.errors.customSettingsFile = ''; + } else { + this.customSettingsFile = null; + this.errors.customSettingsFile = 'Please select a valid .custom file'; + } + } + }, + mergeFiles() { + if (!this.licenseFile || !this.customSettingsFile) { + showToast('Please upload both required files', 'error'); + return; + } + mergeZipFiles(this.licenseFile, this.customSettingsFile) + .then((mergedContent) => { + saveAs(mergedContent, "Custom.mxtpro"); + showToast('Files merged successfully!', 'success'); + }) + .catch((error) => { + console.error('Error merging files:', error); + showToast('Error merging files. Please try again.', 'error'); + }); + } + } + }); + + + + \ No newline at end of file diff --git a/js/alert.js b/js/alert.js index 5cd97356..6ec6206f 100644 --- a/js/alert.js +++ b/js/alert.js @@ -1,40 +1,70 @@ -var estiloConsola = ` -font-size: 16px; -font-family: "Courier New", monospace; -color: red; -white-space: pre; +const asciiArt = ` + @@@@@@@@ @@@@@@ @@@@@@@ @@@@@@@@ @@@@@@ @@@ @@@@@@ + @@@@@@@@ @@@@@@@@ @@@@@@@@ @@@@@@@@ @@@@@@@@ @@@ @@@@@@@@ + @@! @@! @@@ @@! @@@ @@! @@! @@@ @@! @@! @@@ + !@! !@! @!@ !@! @!@ !@! !@! @!@ !@! !@! @!@ + @!! @!@!@!@! @!@!!@! @!!!:! @!@!@!@! @!! @!@!@!@! + !!! !!!@!!!! !!@!@! !!!!!: !!!@!!!! !!! !!!@!!!! + !!: !!: !!! !!: :!! !!: !!: !!! !!: !!: !!! + :!: :!: !:! :!: !:! :!: :!: !:! :!: :!: !:! + :: :::: :: ::: :: ::: :: :: ::: :: :::: :: ::: + : :: : : : : : : : : : : : : : :: : : : : : `; -var estiloZarfala = ` -color: red; -white-space: pre; +const asciiAuraStyle = ` + font-family: "Courier New", monospace; + font-weight: 900; + background: linear-gradient(90deg, #60a5fa, #ec4899, #8b5cf6); + -webkit-background-clip: text; + color: transparent; + display: block; + white-space: pre; `; -var mensajeZarfala = ` -@@@@@@@@ @@@@@@ @@@@@@@ @@@@@@@@ @@@@@@ @@@ @@@@@@ -@@@@@@@@ @@@@@@@@ @@@@@@@@ @@@@@@@@ @@@@@@@@ @@@ @@@@@@@@ - @@! @@! @@@ @@! @@@ @@! @@! @@@ @@! @@! @@@ - !@! !@! @!@ !@! @!@ !@! !@! @!@ !@! !@! @!@ - @!! @!@!@!@! @!@!!@! @!!!:! @!@!@!@! @!! @!@!@!@! - !!! !!!@!!!! !!@!@! !!!!!: !!!@!!!! !!! !!!@!!!! - !!: !!: !!! !!: :!! !!: !!: !!! !!: !!: !!! -:!: :!: !:! :!: !:! :!: :!: !:! :!: :!: !:! - :: :::: :: ::: :: ::: :: :: ::: :: :::: :: ::: -: :: : : : : : : : : : : : : : :: : : : : : +const warningHeadingStyle = ` + color: #ff0055; + font-size: 44px; + font-weight: 900; + font-family: 'Outfit', sans-serif, system-ui; + text-shadow: 0px 4px 15px rgba(255, 0, 85, 0.4); + padding: 10px 0; `; -function mostrarMensaje() { +const warningBodyStyle = ` + font-size: 16px; + color: #d1d5db; + font-weight: 500; + line-height: 1.6; + font-family: system-ui, -apple-system, sans-serif; + padding: 10px 0 20px 0; +`; + +const signatureStyle = ` + font-size: 14px; + font-weight: bold; + background: linear-gradient(90deg, #10b981, #3b82f6); + -webkit-background-clip: text; + color: transparent; + font-family: 'Outfit', sans-serif; +`; + +function renderSecureAura() { + // Clear any existing logs to present a clean canvas console.clear(); - console.log('%c' + mensajeZarfala, estiloZarfala); - console.log("%cSTOP!", "color:red;font-size:xx-large;font-weight:bold;"), - console.log(`%cThis is a browser feature intended for developers. Do not enter or paste code which you don't understand. It may allow attackers to steal your information or impersonate you. See https://en.wikipedia.org/wiki/Self-XSS for more details`, "font-size:large;"), - localStorage.do_NOT_share_jwt || localStorage.setItem("do_NOT_share_jwt", "do NOT share the JWT value. someone could steal your account"); + + // Print Aura-style ASCII Art + console.log('%c' + asciiArt, asciiAuraStyle); + + // Print Warning Message + console.log("%cSTOP! SECURE ZONE", warningHeadingStyle); + + console.log( + "%cThis is a browser feature intended strictly for developers.\nDo not enter or paste any code you do not fully understand.\nDoing so could grant attackers access to hijack your session, steal your licenses, or impersonate you.\n\nProtect your data and stay safe! πŸ”’", + warningBodyStyle + ); + + console.log("%c✨ MobaXterm Keygen System - Shield Active", signatureStyle); } -var intermitente = true; -setInterval(function () { - mostrarMensaje(); - intermitente = !intermitente; -}, 1000); - -mostrarMensaje(); +// Render the protective aura once +renderSecureAura();