Observed since 20 Oct, 21:35 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
9alma — Activation & License Management Assistant. A web dashboard for M******ft product activation: convert I**********n *Ds (IID) into C*******tion *Ds (CID) with multi-account support, automatic OCR, a REST API, and self-update. For educational and tes
Activation & License Management Assistant
A web dashboard for M****ft product activation. Convert I****n Ds (IID) into C**tion *Ds (CID) with multi-account support, automatic OCR, a REST API, and self-update.
⚠️ Disclaimer
This project is provided strictly for educational, research, testing, and personal development purposes.
- The author is NOT responsible for any misuse of this software.
- The author is NOT affiliated with, sponsored by, endorsed by, or working in cooperation with any company, organization, or third party referenced in this project.
- This software is NOT intended to harm, defraud, or cause loss to any person, company, or entity.
- Any user of this software is fully responsible for ensuring their use complies with all applicable laws, regulations, and the terms of service of any third-party platform.
- Use at your own risk. The software is provided "AS IS" without warranty of any kind.
By installing or using this software you acknowledge and accept the terms above.
npm install -g 9alma-app
9alma
The browser will open automatically at http://localhost:8556.
superadminsuperadminYou will be asked to change your password after the first login.
When a new version is available, the sidebar will display:
↑ New version: v3.x.x
[Update Now]
npm i -g 9alma-app@latest --prefer-online
Click Update Now, or copy the command to install manually.
npm install -g 9alma-app@latest --prefer-online
The database and configuration are stored in:
C:\Users\<username>\.9alma\accounts.db~/.9alma/accounts.dbThis data is not removed during updates.
After generating an API token from the API Keys page:
curl -X POST http://localhost:8556/validate \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"iid": "YOUR_63_OR_54_DIGIT_IID"}'
curl -X POST http://localhost:8556/api/ocr-validate \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"image": "data:image/jpeg;base64,..."}'
curl http://localhost:8556/health
git clone https://github.com/oliverawi/9alma.git
cd 9alma
npm install
npm start # production-like
npm run dev # nodemon hot-reload
9alma/
├── bin/9alma.js # CLI entry point (supervisor)
├── src/ # Source code
│ ├── app.js # Express app and routes
│ ├── config.js # Default values and config metadata
│ ├── db.js # SQLite schema and helpers
│ ├── auth.js # Session and role middleware
│ ├── oauth.js # OAuth, DPoP and OCR
│ ├── crypto-utils.js # DPoP JWT, IID parser
│ ├── seed-endpoints.js # Default API endpoints
│ ├── updater.js # npm-based self-updater
│ └── banner.js # Terminal banner with IP info
├── views/ # EJS templates
├── public/ # Static CSS / JS / images
├── build/obfuscate.js # Source obfuscation build script
├── VERSION.txt
├── package.json
├── .gitignore
└── .npmignore
# 1. Bump the version
npm version patch # 3.x.x → 3.x.y
node -e "require('fs').writeFileSync('VERSION.txt', require('./package.json').version + '\n')"
# 2. Push to GitHub
git add .
git commit -m "Release v3.x.y"
git push origin main --tags
# 3. Publish to npm (prepublishOnly auto-runs source obfuscation)
npm publish
Existing users will be notified about the new version on the dashboard sidebar within 30 minutes (polling interval). The supervisor in bin/9alma.js will auto-restart the app in place after a successful update.
~/.9alma/, untouched by updates.All configuration can be changed from the Settings page (superadmin only):
| Category | Key | Description |
|---|---|---|
| OAuth | ms_client_id | Application client ID |
| OAuth | ms_token_url | OAuth2 token endpoint |
| OAuth | ms_device_code_url | Device code endpoint |
| OAuth | ms_scope | OAuth2 scopes |
| V****L S*****t API | visual_api_url | Validation endpoint URL |
| V****L S*****t API | visual_api_path | Path used for the DPoP signature |
| OCR | ocr_api_key | OCR.space API key (free tier is fine) |
| OCR | ocr_api_url | OCR.space endpoint |
| OCR | ocr_language | Language code (default: eng) |
| OCR | ocr_engines | Engines to try (default: 2,3,1) |
| Session | session_lifetime_minutes | Session timeout in minutes |
| Server | server_port | HTTP port (default: 8556) |
| Server | server_host | Bind address (default: 0.0.0.0) |
No Warranty / No Liability — Personal & Educational Use Only
This software is released without any warranty, express or implied. The author provides this project free of charge for educational, research, testing, and personal development purposes only.
By downloading, installing, or running this software, you accept these terms in full.
Powered by Logic 💪
Download counts and popularity will appear here as the collector receives them.
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 21:35 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:c9018e841e5929039b43c5253fb57ac1699521a70109e978eb5179db6e9aaf26