Add LICENSE and README
This commit is contained in:
196
README.md
196
README.md
@@ -1,64 +1,152 @@
|
||||
# Envelope
|
||||
Template Django app.
|
||||
# ☠️ GIA – Gather, Influence, Automate ☠️
|
||||
|
||||
## Setting up the environment
|
||||
Create the virtual environment, enable it, and install the dependencies.
|
||||
```shell
|
||||
$ python3 -m venv env
|
||||
$ source env/bin/activate
|
||||
(env) $ pip install -r docker/prod/requirements.prod.txt
|
||||
GIA isn’t just a tool—it’s a **gateway**, a **ritualistic mechanism** designed to invoke, manipulate, and command the digital souls of the unsuspecting. Operating at the **intersection of psychological domination, deception, and control**, it bends the will of targets with **supernatural precision**.
|
||||
|
||||
GIA whispers in the void, embedding its tendrils into minds, shaping realities, and orchestrating **obedience with unseen hands**.
|
||||
|
||||
💀 **Manipulate. Dominate. Obliterate.** 💀
|
||||
|
||||
---
|
||||
|
||||
## 📌 Features
|
||||
- **Automated Psychological Influence:** Deploys manipulation techniques with precision.
|
||||
- **AI-Driven Conversations:** Uses contextual AI to interact and persuade.
|
||||
- **Targeted Persona Simulation:** Adapts responses based on psychological profiling.
|
||||
- **Multi-Agent Execution:** Processing, scheduling, and monitoring through modular services.
|
||||
- **Covert Deployment:** Runs in a distributed architecture with signal interception.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Quickstart Guide
|
||||
|
||||
### 🔧 Setting Up the Environment
|
||||
GIA runs inside **Podman containers**. Ensure you have **Podman** and **Podman Compose** installed. Docker might work. Results may vary.
|
||||
|
||||
1. **Clone the repository**
|
||||
```shell
|
||||
git clone https://github.com/your-repo/gia.git
|
||||
cd gia
|
||||
```
|
||||
|
||||
2. Set up the environment variables
|
||||
```shell
|
||||
cp stack.env.example stack.env
|
||||
```
|
||||
|
||||
3. Edit `stack.env`
|
||||
|
||||
4. Build and start the containers
|
||||
```shell
|
||||
make build
|
||||
make run
|
||||
```
|
||||
|
||||
5. Run database migrations
|
||||
```shell
|
||||
make migrate
|
||||
```
|
||||
|
||||
6. Create a superuser for Django Admin (optional but recommended)
|
||||
```shell
|
||||
make auth
|
||||
```
|
||||
|
||||
7. Monitor logs
|
||||
```shell
|
||||
make log
|
||||
```
|
||||
|
||||
## ⚙️ Deployment & Architecture
|
||||
### 🏗️ Services Overview
|
||||
| Service | Description |
|
||||
|----------------|-------------|
|
||||
| **app** | Main application container running **Uvicorn** for API handling. |
|
||||
| **db** | ManticoreSearch-based database backend. |
|
||||
| **redis** | Message queue for task distribution. |
|
||||
| **signal-cli** | Handles Signal communications. |
|
||||
| **processing** | Processes incoming messages and executes manipulations. |
|
||||
| **scheduling** | Handles timed tasks and influence scheduling. |
|
||||
| **migration** | Runs database migrations automatically on startup. |
|
||||
| **collectstatic** | Collects static files for Django before launch. |
|
||||
|
||||
## 🔥 Running Commands in a Container
|
||||
|
||||
You can execute management commands inside the app container using:
|
||||
```shell
|
||||
docker-compose --env-file=stack.env run --rm app sh -c ". /venv/bin/activate && python manage.py <command>"
|
||||
```
|
||||
|
||||
## 🛑 Stopping GIA
|
||||
To stop all running services:
|
||||
```shell
|
||||
make stop
|
||||
```
|
||||
|
||||
## 🕵️♂️ Operational Modes
|
||||
GIA runs in different operation modes set via OPERATION:
|
||||
| Mode | Description |
|
||||
|--------|-------------|
|
||||
| **uwsgi** | Runs behind Nginx for production. |
|
||||
| **dev** | Direct execution via Django's built-in server (development mode). |
|
||||
|
||||
|
||||
The default Podman entrypoint dynamically selects the correct process based on OPERATION.
|
||||
Be sure to uncomment nginx if using dev, as the shipped setup expects an external `nginx` instance to point to the GIA `uwsgi` sock:
|
||||
```
|
||||
location / {
|
||||
include include/xf-only.conf;
|
||||
include /etc/nginx/uwsgi_params;
|
||||
uwsgi_pass unix:///code/vrun/uwsgi-gia.sock;
|
||||
uwsgi_param Host $host;
|
||||
uwsgi_param X-Real-IP $remote_addr;
|
||||
uwsgi_param X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
uwsgi_param X-Forwarded-Proto $http_x_forwarded_proto;
|
||||
}
|
||||
location /static {
|
||||
alias /code/xf/GIA/static/;
|
||||
}
|
||||
```
|
||||
|
||||
## Local settings
|
||||
You'll need to copy the `app/local_settings.example.py` file to `app/local_settings.py`. The project won't start otherwise.
|
||||
```
|
||||
$ cp app/local_settings.example.py app/local_settings.py
|
||||
```
|
||||
## 🔄 Persistent Data & Storage
|
||||
| Mount Path (Host) | Purpose |
|
||||
|---------------------------|-------------|
|
||||
| **./docker/uwsgi.ini** | Configuration for **uWSGI** execution. |
|
||||
| **db.sqlite3** | SQLite database storage. |
|
||||
| **/code/vrun/** | Sockets shared between services. |
|
||||
| **./signal-cli-config/** | Stores **Signal CLI** configuration and keys. |
|
||||
|
||||
## stack.env
|
||||
The stack.env file referenced is a Portainer special. This is where Portainer would put a file containing all the environment variables set up in its UI.
|
||||
To run it manually, you will need to copy `stack.env.example` to `stack.env` in the project root.
|
||||
## 🔧 Additional Configuration
|
||||
### Django Environment Variables
|
||||
|
||||
## Running database migrations
|
||||
Now we need to run the database migrations in order to get a working database.
|
||||
```shell
|
||||
(env) $ python manage.py migrate
|
||||
```
|
||||
Note that these are automatically run by a step in the compose file in production.
|
||||
You won't need to do that manually.
|
||||
The following are required for proper operation:
|
||||
```shell
|
||||
APP_PORT=5006
|
||||
REPO_DIR=.
|
||||
APP_LOCAL_SETTINGS=./app/local_settings.py
|
||||
APP_DATABASE_FILE=./db.sqlite3
|
||||
DOMAIN=example.com
|
||||
URL=https://example.com
|
||||
ALLOWED_HOSTS=example.com
|
||||
NOTIFY_TOPIC=example-topic
|
||||
CSRF_TRUSTED_ORIGINS=https://example.com
|
||||
DEBUG=y
|
||||
SECRET_KEY=
|
||||
STATIC_ROOT=/code/static
|
||||
REGISTRATION_OPEN=0
|
||||
OPERATION=uwsgi
|
||||
BILLING_ENABLED=0
|
||||
```
|
||||
|
||||
## Creating a superuser
|
||||
In order to access Django admin, we need a superuser.
|
||||
```shell
|
||||
(env) $ python manage.py createsuperuser
|
||||
Username: t2
|
||||
Email address: t2@google.com
|
||||
Password:
|
||||
Password (again):
|
||||
Superuser created successfully.
|
||||
```
|
||||
These can be set inside `stack.env`.
|
||||
|
||||
## Running
|
||||
The Docker Compose file is located in `docker/docker-compose.prod.yml`.
|
||||
There is a shortcut to run it: `make run`.
|
||||
## ⚠️ Legal Disclaimer
|
||||
|
||||
## Stopping
|
||||
To stop the containers, run `make stop`.
|
||||
**GIA is provided for research and educational purposes only.**
|
||||
The developers and contributors are not responsible for any **misuse, illegal activities, or consequences** resulting from the use of this software.
|
||||
|
||||
## Setup
|
||||
This setup may be different from what you've seen before.
|
||||
By using GIA, you **acknowledge and agree** that:
|
||||
- You are solely responsible for your actions and compliance with applicable laws.
|
||||
- The software should not be used for unauthorized surveillance, coercion, or unethical influence.
|
||||
- The authors disclaim all liability for damages resulting from its use.
|
||||
|
||||
### Uvicorn
|
||||
There is a Uvicorn worker in the `app` container listening on `/var/run/socks/app.sock`. This is the bit that runs the actual code.
|
||||
|
||||
### Nginx
|
||||
Nginx runs in the `nginx` container and proxies requests to Uvicorn thanks to a mounted and shared directory. No TCP required.
|
||||
|
||||
### Pre-start steps
|
||||
There's a few commands running before start to ensure Django works correctly.
|
||||
|
||||
#### Migration
|
||||
The `migration` container step runs the migrations so you don't need to remember to do it.
|
||||
|
||||
#### Collectstatic
|
||||
The `collectstatic` container step collects all static files from plugins and puts them in the `core/static` folder. This folder is served straight from Nginx without going through Uvicorn.
|
||||
GIA is a tool that must be used responsibly. **Do not deploy it where it violates privacy laws, cybersecurity regulations, or ethical guidelines.**
|
||||
|
||||
Reference in New Issue
Block a user