diff --git a/Dockerfile b/Dockerfile
index bbd0404..595e837 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,7 +3,7 @@
###############################################################################
FROM node:22-slim AS builder
-WORKDIR /usr/src/microsoft-rewards-script
+WORKDIR /app
ENV PLAYWRIGHT_BROWSERS_PATH=0
@@ -31,7 +31,7 @@ RUN npx playwright install --with-deps --only-shell chromium \
###############################################################################
FROM node:22-slim AS runtime
-WORKDIR /usr/src/microsoft-rewards-script
+WORKDIR /app
# Set production environment variables
ENV NODE_ENV=production \
@@ -72,9 +72,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*
# Copy compiled application and dependencies from builder stage
-COPY --from=builder /usr/src/microsoft-rewards-script/dist ./dist
-COPY --from=builder /usr/src/microsoft-rewards-script/package*.json ./
-COPY --from=builder /usr/src/microsoft-rewards-script/node_modules ./node_modules
+COPY --from=builder /app/dist ./dist
+COPY --from=builder /app/package*.json ./
+COPY --from=builder /app/node_modules ./node_modules
# Copy entrypoint script
COPY docker-entrypoint.sh /usr/local/bin/
@@ -84,4 +84,4 @@ RUN chmod +x /usr/local/bin/docker-entrypoint.sh
ENTRYPOINT ["docker-entrypoint.sh"]
# Default: use built-in scheduler
-CMD ["npm", "run", "start:schedule"]
\ No newline at end of file
+CMD ["npm", "run", "start:schedule"]
diff --git a/LICENSE b/LICENSE
index 75cea4d..ba172d7 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,108 +1,24 @@
-Creative Commons Attribution-NonCommercial-ShareAlike 4.0 InternationalNON-COMMERCIAL PERSONAL USE LICENSE
+Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
+Copyright (c) 2025 Obsidian-wtf
+This work is licensed under Creative Commons BY-NC-SA 4.0
+https://creativecommons.org/licenses/by-nc-sa/4.0/
-Copyright (c) 2025 Light60-1Copyright (c) 2024-2025 TheNetsky and Contributors
+YOU ARE FREE TO:
+ Share - Copy and redistribute in any medium or format
+ Adapt - Remix, transform, and build upon the material
-Originally forked from Light60-1/Microsoft-Rewards-Rewi
+UNDER THESE TERMS:
+ Attribution - Give appropriate credit, indicate changes made
+ NonCommercial - NO commercial use allowed
+ ShareAlike - Distribute under same license
-This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0
+DISCLAIMER:
+THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND.
-International License. To view a copy of this license, visit:All rights reserved.
+MICROSOFT REWARDS WARNING:
+This software may violate Microsoft's Terms of Service.
+Use at your own risk.
-http://creativecommons.org/licenses/by-nc-sa/4.0/
-
-TERMS AND CONDITIONS:
-
-================================================================================
-
-1. PERMITTED USE:
-
-YOU ARE FREE TO: - You may download and use this software for personal, non-commercial purposes.
-
- - You may modify the source code for your own personal use.
-
- • Share — copy and redistribute the material in any medium or format - You may submit pull requests (PRs) to the official repository to propose improvements.
-
- • Adapt — remix, transform, and build upon the material
-
-2. PROHIBITED ACTIONS:
-
-The licensor cannot revoke these freedoms as long as you follow the license terms. - You may NOT redistribute this software, modified or unmodified, in any form.
-
- - You may NOT share, publish, or distribute your modifications publicly.
-
-================================================================================ - You may NOT use this software for commercial purposes.
-
- - You may NOT sublicense, sell, rent, or lease this software.
-
-UNDER THE FOLLOWING TERMS: - You may NOT create derivative works for public distribution.
-
- - You may NOT remove or modify this license or copyright notices.
-
- • Attribution — You must give appropriate credit, provide a link to the license,
-
- and indicate if changes were made. You may do so in any reasonable manner, but3. CONTRIBUTIONS:
-
- not in any way that suggests the licensor endorses you or your use. - By submitting a pull request, you grant the copyright holder the right to use,
-
- modify, and distribute your contributions under this license.
-
- • NonCommercial — You may NOT use the material for commercial purposes. - You retain no rights to your contributions once merged into the official repository.
-
- This includes selling, renting, licensing for profit, or using in any
-
- revenue-generating context without explicit written permission.4. DISCLAIMER:
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-
- • ShareAlike — If you remix, transform, or build upon the material, you must INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
-
- distribute your contributions under the same license as the original. PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-
- • No additional restrictions — You may not apply legal terms or technological OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-
- measures that legally restrict others from doing anything the license permits. SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-
-================================================================================5. TERMINATION:
-
- This license is effective until terminated. Your rights under this license will
-
-DISCLAIMER: terminate automatically without notice if you fail to comply with any term herein.
-
-
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR6. GOVERNING LAW:
-
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, This license shall be governed by and construed in accordance with applicable laws,
-
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE without regard to its conflict of law provisions.
-
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,For permissions beyond the scope of this license, please contact the copyright holder.
-
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-================================================================================
-
-MICROSOFT REWARDS TERMS:
-
-This software automates interactions with Microsoft Rewards, which may violate
-Microsoft's Terms of Service. Use at your own risk. The authors:
-
- • Are NOT responsible for account suspensions or bans
- • Do NOT encourage violating terms of service
- • Provide this for educational purposes ONLY
-
-By using this software, you acknowledge and accept all risks.
-
-================================================================================
-
-For commercial licensing inquiries or permissions beyond this license:
-https://github.com/Light60-1/Microsoft-Rewards-Bot/issues
+Questions: https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot/issues
\ No newline at end of file
diff --git a/NOTICE b/NOTICE
index dc30fe7..f90604a 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,5 @@
Microsoft Rewards Bot
-Copyright (c) 2025 Light60-1
+Copyright (c) 2025 Obsidian-wtf
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0
International License. See LICENSE file for details.
@@ -46,4 +46,4 @@ securing your configuration files.
================================================================================
For issues, questions, or contributions:
-https://github.com/Light60-1/Microsoft-Rewards-Bot
+https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot
diff --git a/README.md b/README.md
index 7b3dfea..a672b76 100644
--- a/README.md
+++ b/README.md
@@ -7,8 +7,8 @@
**Automate your Microsoft Rewards points collection effortlessly**
[](https://discord.gg/h6Z69ZPPCz)
-[](https://github.com/Light60-1/Microsoft-Rewards-Bot)
-[](https://github.com/Light60-1/Microsoft-Rewards-Bot/releases)
+[](https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot)
+[](https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot/releases)
[](LICENSE)
@@ -48,7 +48,7 @@ This TypeScript-based automation bot helps you maximize your **Microsoft Rewards
1. **Clone the repository:**
```bash
- git clone https://github.com/Light60-1/Microsoft-Rewards-Bot.git
+ git clone https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot.git
cd Microsoft-Rewards-Bot
```
@@ -107,7 +107,7 @@ For containerized deployment with automatic scheduling:
docker compose up -d
# View logs
-docker logs -f microsoft-rewards-script
+docker logs -f microsoft-rewards-bot
```
**📖 [Full Docker Guide](docs/docker.md)**
@@ -178,7 +178,7 @@ All while maintaining **natural behavior patterns** to minimize detection risk.
- 💬 **[Join our Discord](https://discord.gg/h6Z69ZPPCz)** — Community support and updates
- 📖 **[Documentation Hub](docs/index.md)** — Complete guides and references
-- 🐛 **[Report Issues](https://github.com/Light60-1/Microsoft-Rewards-Bot/issues)** — Bug reports and feature requests
+- 🐛 **[Report Issues](https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot/issues)** — Bug reports and feature requests
- 📧 **[Diagnostics Guide](docs/diagnostics.md)** — Troubleshooting steps
---
@@ -222,7 +222,7 @@ See [LICENSE](LICENSE) for complete terms.
## 🙏 Acknowledgments
- Built with [Playwright](https://playwright.dev/) and [ReBrowser](https://github.com/rebrowser/rebrowser-playwright)
-- Thanks to all [contributors](https://github.com/Light60-1/Microsoft-Rewards-Bot/graphs/contributors)
+- Thanks to all [contributors](https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot/graphs/contributors)
- Community support via [Discord](https://discord.gg/h6Z69ZPPCz)
---
@@ -242,6 +242,6 @@ If you find this project helpful:
**Made with ❤️ by the community**
-[Documentation](docs/index.md) • [Discord](https://discord.gg/h6Z69ZPPCz) • [Issues](https://github.com/Light60-1/Microsoft-Rewards-Bot/issues)
+[Documentation](docs/index.md) • [Discord](https://discord.gg/h6Z69ZPPCz) • [Issues](https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot/issues)
diff --git a/SECURITY.md b/SECURITY.md
index 416e25e..df87a4b 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -353,7 +353,7 @@ Security contributors will be credited in the changelog (with permission).— St
- **Security issues:** Open a GitHub issue with "Security" label
- **General support:** [Discord community](https://discord.gg/h6Z69ZPPCz)
-- **Bug reports:** [GitHub Issues](https://github.com/Light60-1/Microsoft-Rewards-Bot/issues)
+- **Bug reports:** [GitHub Issues](https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot/issues)
---
diff --git a/assets/logo.png b/assets/logo.png
index 188f4b0..6a75762 100644
Binary files a/assets/logo.png and b/assets/logo.png differ
diff --git a/compose.yaml b/compose.yaml
index 04108e1..6837b46 100644
--- a/compose.yaml
+++ b/compose.yaml
@@ -1,14 +1,14 @@
services:
- microsoft-rewards-script:
+ microsoft-rewards-bot:
build: .
- container_name: microsoft-rewards-script
+ container_name: microsoft-rewards-bot
restart: unless-stopped
# Volume mounts: Specify a location where you want to save the files on your local machine.
volumes:
- - ./src/accounts.jsonc:/usr/src/microsoft-rewards-script/src/accounts.jsonc:ro
- - ./src/config.jsonc:/usr/src/microsoft-rewards-script/src/config.jsonc:ro
- - ./sessions:/usr/src/microsoft-rewards-script/sessions # Optional, saves your login session
+ - ./src/accounts.jsonc:/app/src/accounts.jsonc:ro
+ - ./src/config.jsonc:/app/src/config.jsonc:ro
+ - ./sessions:/app/sessions
environment:
TZ: "America/Toronto" # Set your timezone for proper scheduling (used by image and scheduler)
diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
index 423e743..da972d0 100644
--- a/docker-entrypoint.sh
+++ b/docker-entrypoint.sh
@@ -23,7 +23,7 @@ if [ "$USE_CRON" = "true" ] || [ "$USE_CRON" = "1" ]; then
ENV_VARS=$(printenv | grep -E '^(TZ|NODE_ENV|FORCE_HEADLESS|PLAYWRIGHT_BROWSERS_PATH|ACCOUNTS_JSON|ACCOUNTS_FILE)=' | sed 's/^/export /' | tr '\n' ';')
# Create cron job that runs the script
- CRON_JOB="$CRON_SCHEDULE cd /usr/src/microsoft-rewards-script && $ENV_VARS node --enable-source-maps ./dist/index.js >> /var/log/cron.log 2>&1"
+ CRON_JOB="$CRON_SCHEDULE cd /app && $ENV_VARS node --enable-source-maps ./dist/index.js >> /var/log/cron.log 2>&1"
echo "$CRON_JOB" > /etc/cron.d/microsoft-rewards
chmod 0644 /etc/cron.d/microsoft-rewards
@@ -43,7 +43,7 @@ if [ "$USE_CRON" = "true" ] || [ "$USE_CRON" = "1" ]; then
# Run once immediately if requested
if [ "$RUN_ON_START" = "true" ] || [ "$RUN_ON_START" = "1" ]; then
echo "==> Running initial execution (RUN_ON_START=true)..."
- cd /usr/src/microsoft-rewards-script
+ cd /app
node --enable-source-maps ./dist/index.js 2>&1 | tee -a /var/log/cron.log
echo "==> Initial execution completed"
echo ""
diff --git a/docs/FAQ.md b/docs/FAQ.md
index f5268ae..3babfd9 100644
--- a/docs/FAQ.md
+++ b/docs/FAQ.md
@@ -174,7 +174,7 @@ See [Accounts Troubleshooting](accounts.md#troubleshooting).
### Docker container exits immediately
-1. **Check logs:** `docker logs microsoft-rewards-script`
+1. **Check logs:** `docker logs microsoft-rewards-bot`
2. **Verify mounts:** Ensure `accounts.jsonc` exists and is mounted
3. **Check config:** `headless` must be `true` for Docker
4. **Review environment variables:** Timezone, cron settings
@@ -311,14 +311,14 @@ See [Configuration Guide](config.md#risk-management--security).
- 💬 **[Join our Discord](https://discord.gg/h6Z69ZPPCz)** — Ask the community
- 📖 **[Documentation Hub](index.md)** — Browse all guides
-- 🐛 **[GitHub Issues](https://github.com/Light60-1/Microsoft-Rewards-Bot/issues)** — Report problems
+- 🐛 **[GitHub Issues](https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot/issues)** — Report problems
- 📧 **[Diagnostics Guide](diagnostics.md)** — Debug issues
---
-**Didn't find your answer?** [Ask on Discord](https://discord.gg/h6Z69ZPPCz) or [open an issue](https://github.com/Light60-1/Microsoft-Rewards-Bot/issues)!
+**Didn't find your answer?** [Ask on Discord](https://discord.gg/h6Z69ZPPCz) or [open an issue](https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot/issues)!
[← Back to Documentation](index.md)
diff --git a/docs/README.md b/docs/README.md
deleted file mode 100644
index 0d88cb4..0000000
--- a/docs/README.md
+++ /dev/null
@@ -1,103 +0,0 @@
-# 📚 Documentation Directory
-
-This folder contains comprehensive documentation for the Microsoft Rewards Script project.
-
-## 📋 Documentation Structure
-
-### 🚀 Getting Started
-- **[index.md](index.md)** — Documentation hub and navigation
-- **[getting-started.md](getting-started.md)** — Complete setup guide for beginners
-- **[FAQ.md](FAQ.md)** — Frequently asked questions
-
-### ⚙️ Configuration
-- **[config.md](config.md)** — Complete configuration reference
-- **[accounts.md](accounts.md)** — Account setup and 2FA/TOTP configuration
-- **[schedule.md](schedule.md)** — Automated scheduling setup
-
-### 🔧 Features
-- **[humanization.md](humanization.md)** — Anti-detection and natural behavior
-- **[jobstate.md](jobstate.md)** — Job state management
-- **[buy-mode.md](buy-mode.md)** — Manual purchase monitoring
-
-### 🔔 Integrations
-- **[conclusionwebhook.md](conclusionwebhook.md)** — Discord webhook setup
-- **[ntfy.md](ntfy.md)** — NTFY push notification setup
-- **[proxy.md](proxy.md)** — Proxy configuration
-
-### 🐳 Deployment
-- **[docker.md](docker.md)** — Docker deployment guide
-- **[update.md](update.md)** — Update and upgrade guide
-
-### 🛠️ Maintenance
-- **[diagnostics.md](diagnostics.md)** — Troubleshooting and debugging
-- **[security.md](security.md)** — Security and privacy guidelines
-- **[git-conflict-resolution.md](git-conflict-resolution.md)** — Resolving Git conflicts
-
-## 🎯 Quick Navigation by Use Case
-
-### "I just installed the script"
-1. [Getting Started](getting-started.md)
-2. [Accounts Setup](accounts.md)
-3. [Basic Configuration](config.md#quick-start)
-
-### "I want automated daily runs"
-1. [Scheduling](schedule.md)
-2. [Docker Deployment](docker.md) (optional)
-3. [Humanization](humanization.md)
-
-### "I need notifications"
-- [Discord Webhooks](conclusionwebhook.md)
-- [NTFY Push Alerts](ntfy.md)
-
-### "Something's not working"
-1. [FAQ](FAQ.md)
-2. [Diagnostics](diagnostics.md)
-3. [Security Guide](security.md) (if banned)
-
-## 📝 Documentation Standards
-
-All documentation in this project follows these principles:
-
-- **Clear and concise** — No unnecessary jargon
-- **Example-driven** — Code samples for every feature
-- **Up-to-date** — Reflects current functionality
-- **Well-structured** — Easy navigation with TOC
-- **Beginner-friendly** — Assumes minimal technical knowledge
-
-## 🤝 Contributing to Documentation
-
-Documentation improvements are always welcome! See [CONTRIBUTING.md](../CONTRIBUTING.md) for guidelines.
-
-### How to Help
-
-- Fix typos or unclear instructions
-- Add missing examples
-- Improve explanations
-- Translate to other languages
-- Update outdated information
-
-## 📖 Documentation Format
-
-All docs use **Markdown** format with:
-- Clear hierarchical headings
-- Code blocks with syntax highlighting
-- Tables for configuration options
-- Emojis for visual navigation
-- Internal links for cross-references
-
-## 🔗 External Resources
-
-- **[Main README](../README.md)** — Project overview
-- **[Contributing Guide](../CONTRIBUTING.md)** — How to contribute
-- **[Security Policy](../SECURITY.md)** — Security and privacy
-- **[Changelog](../CHANGELOG.md)** — Version history
-
----
-
-
-
-**[Start Reading →](index.md)**
-
-Need help? [Join our Discord](https://discord.gg/h6Z69ZPPCz)
-
-
diff --git a/docs/docker.md b/docs/docker.md
index 75ecb78..b520106 100644
--- a/docs/docker.md
+++ b/docs/docker.md
@@ -21,7 +21,7 @@ docker compose up -d
### 3. View Logs
```bash
-docker logs -f microsoft-rewards-script
+docker logs -f microsoft-rewards-bot
```
**That's it!** Script runs automatically.
@@ -80,7 +80,7 @@ docker run -e ACCOUNTS_FILE=/custom/path/accounts.json ...
docker compose up -d
# View logs
-docker logs -f microsoft-rewards-script
+docker logs -f microsoft-rewards-bot
# Stop container
docker compose down
@@ -108,16 +108,16 @@ docker compose restart
```bash
# Enter container shell
-docker exec -it microsoft-rewards-script /bin/bash
+docker exec -it microsoft-rewards-bot /bin/bash
# Check Node.js version
-docker exec -it microsoft-rewards-script node --version
+docker exec -it microsoft-rewards-bot node --version
# View config (mounted in /src/)
-docker exec -it microsoft-rewards-script cat src/config.jsonc
+docker exec -it microsoft-rewards-bot cat src/config.jsonc
# Check if cron is enabled
-docker exec -it microsoft-rewards-script printenv | grep USE_CRON
+docker exec -it microsoft-rewards-bot printenv | grep USE_CRON
```
---
@@ -197,12 +197,12 @@ docker compose up -d
4. **Verify cron is running:**
```bash
# Check container logs
-docker logs -f microsoft-rewards-script
+docker logs -f microsoft-rewards-bot
# Should see: "==> Cron mode enabled"
# View cron logs inside container
-docker exec microsoft-rewards-script tail -f /var/log/cron.log
+docker exec microsoft-rewards-bot tail -f /var/log/cron.log
```
### Option 3: Single Run (Manual)
@@ -244,7 +244,7 @@ services:
```bash
# Enter container
-docker exec -it microsoft-rewards-script /bin/bash
+docker exec -it microsoft-rewards-bot /bin/bash
# Check cron is running
ps aux | grep cron
diff --git a/docs/getting-started.md b/docs/getting-started.md
index 96cbcfc..128dbff 100644
--- a/docs/getting-started.md
+++ b/docs/getting-started.md
@@ -99,7 +99,7 @@ If you prefer containers:
docker compose up -d
# Follow logs
-docker logs -f microsoft-rewards-script
+docker logs -f microsoft-rewards-bot
```
**[Full Docker Guide →](./docker.md)**
@@ -125,7 +125,7 @@ Once running, explore these guides:
**Login issues?** → [Accounts & 2FA Setup](./accounts.md)
**Want Docker?** → [Container Guide](./docker.md)
-**Found a bug?** [Report it here](https://github.com/Light60-1/Microsoft-Rewards-Bot/issues)
+**Found a bug?** [Report it here](https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot/issues)
**Need support?** [Join our Discord](https://discord.gg/KRBFxxsU)
---
diff --git a/docs/git-conflict-resolution.md b/docs/git-conflict-resolution.md
index 5261578..b182f8d 100644
--- a/docs/git-conflict-resolution.md
+++ b/docs/git-conflict-resolution.md
@@ -168,7 +168,7 @@ cp src/accounts.json ~/backup-accounts.json
# Nuclear option: fresh clone
cd ..
rm -rf Microsoft-Rewards-Bot
-git clone https://github.com/Light60-1/Microsoft-Rewards-Bot.git
+git clone https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot.git
cd Microsoft-Rewards-Bot
# Restore your files
diff --git a/docs/index.md b/docs/index.md
index 0466aa2..3e64c22 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,90 +1,52 @@
-

+# 📚 Documentation
-# 📚 Documentation Hub
+**Complete guide for Microsoft Rewards Bot**
-**Complete guide to automate Microsoft Rewards**
-
-[← Back to README](../README.md)
+[← Back to Main](../README.md)
---
-## 🚀 Start Here (In Order)
+## 🚀 Quick Start (3 Steps)
-### For Complete Beginners
+1. **[Setup Accounts](accounts.md)** — Add credentials + 2FA
+2. **[Configure Bot](config.md)** — Essential settings
+3. **[Enable Scheduler](schedule.md)** — Daily automation
-1. **[Accounts & 2FA](./accounts.md)** — Add your Microsoft accounts
-2. **[Basic Config](./config.md#quick-start)** — 5 essential options
-3. **[Scheduler](./schedule.md#quick-start)** — Automate daily runs
-
-**You're all set! 🎉**
+**Done!** The bot will run automatically.
---
-## 🔥 Popular Features
+## � Feature Guides
-### Notifications & Monitoring
-- **[Discord Webhooks](./conclusionwebhook.md)** — Get run summaries
-- **[NTFY Push](./ntfy.md)** — Mobile alerts
-
-### Anti-Ban & Privacy
-- **[Humanization](./humanization.md)** — Natural behavior simulation
-- **[Proxy Setup](./proxy.md)** — Change your IP (optional)
-
-### Deployment
-- **[Docker](./docker.md)** — Container deployment
-- **[Diagnostics](./diagnostics.md)** — Troubleshooting
+| Feature | Description |
+|---------|-------------|
+| **[Configuration](config.md)** | All settings explained |
+| **[Scheduler](schedule.md)** | Automated daily runs |
+| **[Humanization](humanization.md)** | Anti-detection system |
+| **[Webhooks](conclusionwebhook.md)** | Discord notifications |
+| **[NTFY Alerts](ntfy.md)** | Mobile push notifications |
+| **[Proxy Setup](proxy.md)** | IP rotation (optional) |
+| **[Docker](docker.md)** | Container deployment |
+| **[Buy Mode](buy-mode.md)** | Manual purchase monitoring |
---
-## 📖 All Documentation
+## 🆘 Troubleshooting
-### Quick References
-- [❓ FAQ (Frequently Asked Questions)](./FAQ.md) — Quick answers to common questions
+| Issue | Solution |
+|-------|----------|
+| **Bot not working?** | [Diagnostics Guide](diagnostics.md) |
+| **Login failed?** | [Accounts & 2FA](accounts.md#troubleshooting) |
+| **Account banned?** | [Security Guide](security.md) |
+| **Git conflicts?** | [Conflict Resolution](git-conflict-resolution.md) |
+| **General questions?** | [FAQ](FAQ.md) |
-### Configuration & Setup
-- [Complete Configuration Reference](./config.md) — All options explained
-- [Scheduler Setup](./schedule.md) — Automated timing
-- [Job State](./jobstate.md) — Progress tracking
-- [Auto-Update](./update.md) — Keep script current
-
-### Advanced Features
-- [Buy Mode](./buy-mode.md) — Manual purchase monitoring
-- [Security Guide](./security.md) — Privacy & incident response
+**Need help?** → [Discord Community](https://discord.gg/h6Z69ZPPCz)
---
-## 🆘 Need Help?
-
-**Technical issue?** → [Diagnostics Guide](./diagnostics.md)
-**Login problem?** → [Accounts & 2FA](./accounts.md#troubleshooting)
-**Banned?** → [Security Guide](./security.md)
-**Want to contribute?** → [Contributing Guide](../CONTRIBUTING.md)
-
-**Join Discord** → [Support Server](https://discord.gg/h6Z69ZPPCz)
-
----
-
-## 🎯 Quick Links by Use Case
-
-### "I just installed the script"
-→ [Getting Started](./getting-started.md) → [Accounts](./accounts.md) → [Scheduler](./schedule.md)
-
-### "I want daily automation"
-→ [Scheduler Guide](./schedule.md) → [Humanization](./humanization.md)
-
-### "I need notifications"
-→ [Discord Webhooks](./conclusionwebhook.md) or [NTFY](./ntfy.md)
-
-### "I want to use Docker"
-→ [Docker Guide](./docker.md)
-
-### "Something's broken"
-→ [Diagnostics](./diagnostics.md) → [Security](./security.md)
-
----
-
-**[← Back to README](../README.md)**
+[← Back to Main](../README.md)
diff --git a/package-lock.json b/package-lock.json
index 2f1dc05..5e4ca7c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,13 +1,13 @@
{
- "name": "microsoft-rewards-script",
+ "name": "microsoft-rewards-bot",
"version": "2.51.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
- "name": "microsoft-rewards-script",
+ "name": "microsoft-rewards-bot",
"version": "2.51.0",
- "license": "SEE LICENSE IN LICENSE",
+ "license": "CC-BY-NC-SA-4.0",
"dependencies": {
"axios": "^1.8.4",
"chalk": "^4.1.2",
@@ -38,7 +38,7 @@
},
"funding": {
"type": "github",
- "url": "https://github.com/sponsors/TheNetsky"
+ "url": "https://github.com/sponsors/Obsidian-wtf"
}
},
"node_modules/@cspotcode/source-map-support": {
@@ -730,9 +730,9 @@
"license": "MIT"
},
"node_modules/baseline-browser-mapping": {
- "version": "2.8.21",
- "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.21.tgz",
- "integrity": "sha512-JU0h5APyQNsHOlAM7HnQnPToSDQoEBZqzu/YBlqDnEeymPnZDREeXJA3KBMQee+dKteAxZ2AtvQEvVYdZf241Q==",
+ "version": "2.8.23",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.23.tgz",
+ "integrity": "sha512-616V5YX4bepJFzNyOfce5Fa8fDJMfoxzOIzDCZwaGL8MKVpFrXqfNUoIpRn9YMI5pXf/VKgzjB4htFMsFKKdiQ==",
"license": "Apache-2.0",
"bin": {
"baseline-browser-mapping": "dist/cli.js"
@@ -823,9 +823,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001751",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz",
- "integrity": "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==",
+ "version": "1.0.30001753",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001753.tgz",
+ "integrity": "sha512-Bj5H35MD/ebaOV4iDLqPEtiliTN29qkGtEHCwawWn4cYm+bPJM2NsaP30vtZcnERClMzp52J4+aw2UNbK4o+zw==",
"funding": [
{
"type": "opencollective",
@@ -1158,9 +1158,9 @@
"license": "MIT"
},
"node_modules/electron-to-chromium": {
- "version": "1.5.243",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.243.tgz",
- "integrity": "sha512-ZCphxFW3Q1TVhcgS9blfut1PX8lusVi2SvXQgmEEnK4TCmE1JhH2JkjJN+DNt0pJJwfBri5AROBnz2b/C+YU9g==",
+ "version": "1.5.244",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.244.tgz",
+ "integrity": "sha512-OszpBN7xZX4vWMPJwB9illkN/znA8M36GQqQxi6MNy9axWxhOfJyZZJtSLQCpEFLHP2xK33BiWx9aIuIEXVCcw==",
"license": "ISC"
},
"node_modules/emoji-regex": {
@@ -1555,13 +1555,13 @@
}
},
"node_modules/fingerprint-generator": {
- "version": "2.1.75",
- "resolved": "https://registry.npmjs.org/fingerprint-generator/-/fingerprint-generator-2.1.75.tgz",
- "integrity": "sha512-3dJr2d0GktMAupjRigYs6sXDeZ56zATPcsYfBcp9n4bvhxl3NnWAgdocEdiezi4vKXacoeeh3jNs+i5ReTjgvw==",
+ "version": "2.1.76",
+ "resolved": "https://registry.npmjs.org/fingerprint-generator/-/fingerprint-generator-2.1.76.tgz",
+ "integrity": "sha512-nynXZnqCBtBbEgqqdHS5mGm+R9JRRJxNun+lpZlCxGVt0BzgQJGibOvYCe5I54hIIVsaTldZ+jOb4btRPfPD6g==",
"license": "Apache-2.0",
"dependencies": {
- "generative-bayesian-network": "^2.1.75",
- "header-generator": "^2.1.75",
+ "generative-bayesian-network": "^2.1.76",
+ "header-generator": "^2.1.76",
"tslib": "^2.4.0"
},
"engines": {
@@ -1569,12 +1569,12 @@
}
},
"node_modules/fingerprint-injector": {
- "version": "2.1.75",
- "resolved": "https://registry.npmjs.org/fingerprint-injector/-/fingerprint-injector-2.1.75.tgz",
- "integrity": "sha512-TDylxXZV805MtZzKBFWWzqFCzNq4rmAVaHZf8TztgSix6Arc3l8hfyg9fcOMx8rpF4odjVuFIRzEH7rscLPQew==",
+ "version": "2.1.76",
+ "resolved": "https://registry.npmjs.org/fingerprint-injector/-/fingerprint-injector-2.1.76.tgz",
+ "integrity": "sha512-ySlMhYmj7D5ND92BHd/46b6g+izGkj1Vm8qTjSORC3o7HbdFr6eQz8JuL8pVmiJIsC2tsd2ohVvu584HRKurNQ==",
"license": "Apache-2.0",
"dependencies": {
- "fingerprint-generator": "^2.1.75",
+ "fingerprint-generator": "^2.1.76",
"tslib": "^2.4.0"
},
"engines": {
@@ -1738,6 +1738,20 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
@@ -1748,9 +1762,9 @@
}
},
"node_modules/generative-bayesian-network": {
- "version": "2.1.75",
- "resolved": "https://registry.npmjs.org/generative-bayesian-network/-/generative-bayesian-network-2.1.75.tgz",
- "integrity": "sha512-B8B6l7B1tFYvbPNq65vMibLhAfUqyBCGPx3+9VHf2V0hc95LuZIXSlhMOy/zHkfFualU5HJSTi0Nv6EZ2Lq6fA==",
+ "version": "2.1.76",
+ "resolved": "https://registry.npmjs.org/generative-bayesian-network/-/generative-bayesian-network-2.1.76.tgz",
+ "integrity": "sha512-e9BByo5UEXPsrOii4RM94a02y1JXhP5XZKbzC5GWDz62Bbh2jWbrkY0ta2cF1rxrv8pqLu4c98yQC2F50Eqa7A==",
"license": "Apache-2.0",
"dependencies": {
"adm-zip": "^0.5.9",
@@ -1952,13 +1966,13 @@
}
},
"node_modules/header-generator": {
- "version": "2.1.75",
- "resolved": "https://registry.npmjs.org/header-generator/-/header-generator-2.1.75.tgz",
- "integrity": "sha512-IUyoYkL1eMt788nahD3tiw+A4AZ1mhVIWorHiXnS4rBMIeJ4C4HwoOvSKRkElKIvpKqwpkNO6BGvkPuVsKYRYw==",
+ "version": "2.1.76",
+ "resolved": "https://registry.npmjs.org/header-generator/-/header-generator-2.1.76.tgz",
+ "integrity": "sha512-Lqk4zU/MIHkm29Sfle6E3Jo2gUoscoG9x12jDt1RbH3kRq/RN+NRSoRRYggmkI0GQSS0wiOIfWwjgIRrA9nHqA==",
"license": "Apache-2.0",
"dependencies": {
"browserslist": "^4.21.1",
- "generative-bayesian-network": "^2.1.75",
+ "generative-bayesian-network": "^2.1.76",
"ow": "^0.28.1",
"tslib": "^2.4.0"
},
@@ -2760,14 +2774,14 @@
}
},
"node_modules/rimraf": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz",
- "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.0.tgz",
+ "integrity": "sha512-DxdlA1bdNzkZK7JiNWH+BAx1x4tEJWoTofIopFo6qWUU94jYrFZ0ubY05TqH3nWPJ1nKa1JWVFDINZ3fnrle/A==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "glob": "^11.0.0",
- "package-json-from-dist": "^1.0.0"
+ "glob": "^11.0.3",
+ "package-json-from-dist": "^1.0.1"
},
"bin": {
"rimraf": "dist/esm/bin.mjs"
diff --git a/package.json b/package.json
index d799c3a..b6344fc 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
- "name": "microsoft-rewards-script",
+ "name": "microsoft-rewards-bot",
"version": "2.51.0",
- "description": "Automatically do tasks for Microsoft Rewards but in TS!",
+ "description": "Automate Microsoft Rewards points collection",
"private": true,
"main": "index.js",
"engines": {
@@ -9,12 +9,12 @@
},
"repository": {
"type": "git",
- "url": "https://github.com/Light60-1/Microsoft-Rewards-Bot.git"
+ "url": "https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot.git"
},
"bugs": {
- "url": "https://github.com/Light60-1/Microsoft-Rewards-Bot/issues"
+ "url": "https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot/issues"
},
- "homepage": "https://github.com/Light60-1/Microsoft-Rewards-Bot#readme",
+ "homepage": "https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot#readme",
"scripts": {
"clean": "rimraf dist",
"pre-build": "npm i && npm run clean && node -e \"process.exit(process.env.SKIP_PLAYWRIGHT_INSTALL?0:1)\" || npx playwright install chromium",
@@ -29,7 +29,7 @@
"prepare": "npm run build",
"setup": "node ./setup/update/setup.mjs",
"kill-chrome-win": "powershell -Command \"Get-Process | Where-Object { $_.MainModule.FileVersionInfo.FileDescription -eq 'Google Chrome for Testing' } | ForEach-Object { Stop-Process -Id $_.Id -Force }\"",
- "create-docker": "docker build -t microsoft-rewards-script-docker ."
+ "create-docker": "docker build -t microsoft-rewards-bot ."
},
"keywords": [
"Bing Rewards",
@@ -40,14 +40,14 @@
"Playwright",
"Cheerio"
],
- "author": "Light60-1",
+ "author": "Obsidian-wtf",
"contributors": [
- "Microsoft Rewards Bot Community (https://github.com/Light60-1/Microsoft-Rewards-Bot/graphs/contributors)"
+ "Microsoft Rewards Bot Community (https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot/graphs/contributors)"
],
"license": "CC-BY-NC-SA-4.0",
"funding": {
"type": "github",
- "url": "https://github.com/sponsors/Light60-1"
+ "url": "https://github.com/sponsors/Obsidian-wtf"
},
"devDependencies": {
"@types/ms": "^0.7.34",
diff --git a/src/functions/Login.ts b/src/functions/Login.ts
index d530a23..b862919 100644
--- a/src/functions/Login.ts
+++ b/src/functions/Login.ts
@@ -1248,7 +1248,7 @@ export class Login {
await ConclusionWebhook(
this.bot.config,
`🔐 ${incident.kind}`,
- '_Security check by @Light_',
+ Array.isArray(incident.details) ? incident.details.join('\n') : (incident.details || 'Security check detected unusual activity'),
fields,
severity === 'critical' ? 0xFF0000 : 0xFFAA00
)
@@ -1256,7 +1256,7 @@ export class Login {
}
private getDocsUrl(anchor?: string) {
- const base = process.env.DOCS_BASE?.trim() || 'https://github.com/Light60-1/Microsoft-Rewards-Bot/blob/main/docs/security.md'
+ const base = process.env.DOCS_BASE?.trim() || 'https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot/blob/main/docs/security.md'
const map: Record
= {
'recovery-email-mismatch':'#recovery-email-mismatch',
'we-cant-sign-you-in':'#we-cant-sign-you-in-blocked'
@@ -1267,7 +1267,7 @@ export class Login {
private startCompromisedInterval() {
if (this.compromisedInterval) clearInterval(this.compromisedInterval)
this.compromisedInterval = setInterval(()=>{
- try { this.bot.log(this.bot.isMobile,'SECURITY','Account in security standby. Review before proceeding. Security check by @Light','warn') } catch {/* ignore */}
+ try { this.bot.log(this.bot.isMobile,'SECURITY','Security standby active. Manual review required before proceeding.','warn') } catch {/* ignore */}
}, 5*60*1000)
}
diff --git a/src/functions/activities/SearchOnBing.ts b/src/functions/activities/SearchOnBing.ts
index 1661704..603ed27 100644
--- a/src/functions/activities/SearchOnBing.ts
+++ b/src/functions/activities/SearchOnBing.ts
@@ -62,7 +62,7 @@ export class SearchOnBing extends Workers {
// Fetch from the repo directly so the user doesn't need to redownload the script for the new activities
const response = await this.bot.axios.request({
method: 'GET',
- url: 'https://raw.githubusercontent.com/Light60-1/Microsoft-Rewards-Bot/refs/heads/main/src/functions/queries.json'
+ url: 'https://raw.githubusercontent.com/Obsidian-wtf/Microsoft-Rewards-Bot/refs/heads/main/src/functions/queries.json'
})
queries = response.data
}