Metadata-Version: 2.4
Name: nglstrike
Version: 7.0.0
Summary: Anonymous Auto-Sender for NGL
Author: Mallik Mohammad Musaddiq
Author-email: mallikmusaddiq1@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests
Requires-Dist: better_profanity
Requires-Dist: tenacity
Requires-Dist: pyyaml
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# nglstrike

Anonymous Auto-Sender for NGL — because sometimes, kindness and curiosity deserve a little automation.

---

<p align="center">
  <img src="https://img.shields.io/pypi/v/nglstrike?color=blue&label=PyPI&logo=pypi&style=flat-square">
  <img src="https://img.shields.io/pypi/dm/nglstrike?color=orange&label=Downloads&logo=python&style=flat-square">
  <img src="https://static.pepy.tech/badge/nglstrike" alt="Total Downloads">
  <img src="https://img.shields.io/github/license/mallikmusaddiq1/nglstrike?style=flat-square&color=green">
  <img src="https://img.shields.io/github/stars/mallikmusaddiq1/nglstrike?style=flat-square&label=Stars&color=yellow">
  <img src="https://img.shields.io/github/last-commit/mallikmusaddiq1/nglstrike?style=flat-square&color=purple">
  <img src="https://img.shields.io/github/languages/top/mallikmusaddiq1/nglstrike?style=flat-square&color=blueviolet">
  <img src="https://img.shields.io/github/languages/code-size/mallikmusaddiq1/nglstrike?style=flat-square&color=teal">
  <img src="https://img.shields.io/badge/made%20with-%E2%9D%A4%EF%B8%8F%20in%20Python-blue?style=flat-square">
</p>

---

## 📌 Overview

`nglstrike` is a powerful CLI automation tool designed to send anonymous messages through [ngl.link](https://ngl.link). Ideal for testing, research, or playful use on your own profile, it supports dry-runs, shuffling, advanced validation, logging, profanity filtering, configuration via YAML, and session resumption.

---

## ✨ Key Features

* ✅ Send messages to any NGL username
* 🔀 Sequence mode to ensure no duplicate sends
* ⚠️ Strict profanity and slur filtering
* 📄 Load messages via command line or `.txt` file
* 📀 Resumable sessions after interruption
* 🔍 Dry-run to simulate behavior without sending
* 📊 Rich logging with console and file support
* ⛔ Input validation for malformed content
* 📈 Auto-summary and estimated time calculation
<!--* 💡 Customizable via YAML and environment variables-->
---

## ⚙ Installation

### 📦 Install via PyPI

```bash
pip install nglstrike
```

### 🧫 Install from GitHub

```bash
git clone https://github.com/mallikmusaddiq1/nglstrike
cd nglstrike
pip install .
```

---

## 🚀 Usage Examples

### Send one message repeatedly:

```bash
nglstrike -u your_username -m "Stay strong!"
```

### Send multiple messages from a file:

```bash
nglstrike -u your_username --message-path messages.txt --limit 10 -i 30
```

### Preview without sending (dry-run):

```bash
nglstrike -u your_username --message-path messages.txt --dry-run --limit 5
```

### Use sequence mode:

```bash
nglstrike -u your_username --message-path messages.txt --sequence 
```

---

## 📁 `messages.txt` Format

Plaintext format with one message per line:

```
You're amazing.
Keep going — you're close.
Someone out there believes in you.
The best is yet to come.
```

---

## ⚙️ CLI Options

```bash
usage: nglstrike [-h] -u USERNAME (-m [MESSAGE ...] | --message-path FILE)
                 [--interval SECONDS] [--limit N] [--dry-run] [--sequence]
                 [--no-logs] [--verbose] [--log-file FILE] [--resume] [-v]
```

### Required:

* `-u`, `--username` : NGL username (exclude full URL)
* `-m`, `--message` : One or more messages inline
* `--message-path` : Load messages from file

### Optional:

* `--interval` : Delay in seconds between messages (default: 60)
* `--limit` : Cap the total messages sent
* `--dry-run` : Simulate without sending
* `--sequence` : Randomize message order (no repeats)
* `--no-logs` : Disable logging output
* `--verbose` : Enable debug-level logs
* `--log-file` : Save logs to a file
* `--resume` : Resume previous interrupted session
* `-v`, `--version` : Show version info
* `-h`, `--help` : Display help screen

<!--
## 📁 Configurations

You can define a config file named `nglstrike_config.yaml` to override defaults:

```yaml
api_url: "https://ngl.link/api/submit"
max_file_size_bytes: 10485760
max_message_length: 500
default_interval: 60
min_interval: 1
max_retries: 3
timeout: 10
user_agent: "nglstrike/2.0.0"
```

Override with ENV:

```bash
export NGLSTRIKE_CONFIG=my_config.yaml
```
-->
---

## 🛡️ Validation & Safety Checks

* Message length limited to 500 bytes
* Invisible or blank lines are ignored
* Profanity and slur blacklist detection
* Pre-checks NGL API response before send

---

## 🕔 Offensive Filter

All messages are scanned through a strict blacklist.
If every message is flagged as offensive, the program halts automatically.

> **Use with responsibility and compassion.**

---

## 🗑️ Legal & Ethical Notice

* This tool is strictly for educational, research, and personal use only.

* Do not use for spamming, harassment, or violations of NGL's Terms of Service.

* You are solely responsible for any consequences arising from misuse.

> A tool is neutral. The *intent* gives it meaning.

---

## 📜 Ethical Automation Manifesto

### ✈️ Permitted:

* Testing on your own account
* Research with full consent
* Educational showcases and anti-abuse demos

### ❌ Forbidden:

* Spamming or flooding NGL accounts
* Anonymous harassment or stalking
* Monetized automation or abuse campaigns

### ⚖️ Accountability:

> “A tool doesn’t define the user. The *intent* does.”

Be conscious. Be kind. Automate with ethics.

---

## 🧔 Developer Info

**Author**: Mallik Mohammad Musaddiq
**GitHub**: [@mallikmusaddiq1](https://github.com/mallikmusaddiq1)
**Email**: [mallikmusaddiq1@gmail.com](mailto:mallikmusaddiq1@gmail.com)

---

## 📄 License

MIT License © 2025 — Mallik Mohammad Musaddiq

---

## ❤️ Support & Contributions

If this tool proved helpful, show support by starring the repo ⭐

Together, let’s make the internet a more thoughtful, kind, and curious space.

**Automate wisely. Strike responsibly.**
