Add LICENSE and README

This commit is contained in:
2025-02-07 21:36:02 +00:00
parent 9b3f28c631
commit fe776dad1a
2 changed files with 151 additions and 54 deletions

9
LICENSE Normal file
View File

@@ -0,0 +1,9 @@
Copyright <YEAR> <COPYRIGHT HOLDER>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 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 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

196
README.md
View File

@@ -1,64 +1,152 @@
# Envelope # ☠️ GIA Gather, Influence, Automate ☠️
Template Django app.
## Setting up the environment GIA isnt just a tool—its 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**.
Create the virtual environment, enable it, and install the dependencies.
```shell GIA whispers in the void, embedding its tendrils into minds, shaping realities, and orchestrating **obedience with unseen hands**.
$ python3 -m venv env
$ source env/bin/activate 💀 **Manipulate. Dominate. Obliterate.** 💀
(env) $ pip install -r docker/prod/requirements.prod.txt
---
## 📌 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 ## 🔄 Persistent Data & Storage
You'll need to copy the `app/local_settings.example.py` file to `app/local_settings.py`. The project won't start otherwise. | Mount Path (Host) | Purpose |
``` |---------------------------|-------------|
$ cp app/local_settings.example.py app/local_settings.py | **./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 ## 🔧 Additional Configuration
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. ### Django Environment Variables
To run it manually, you will need to copy `stack.env.example` to `stack.env` in the project root.
## Running database migrations The following are required for proper operation:
Now we need to run the database migrations in order to get a working database. ```shell
```shell APP_PORT=5006
(env) $ python manage.py migrate REPO_DIR=.
``` APP_LOCAL_SETTINGS=./app/local_settings.py
Note that these are automatically run by a step in the compose file in production. APP_DATABASE_FILE=./db.sqlite3
You won't need to do that manually. 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 These can be set inside `stack.env`.
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.
```
## Running ## ⚠️ Legal Disclaimer
The Docker Compose file is located in `docker/docker-compose.prod.yml`.
There is a shortcut to run it: `make run`.
## Stopping **GIA is provided for research and educational purposes only.**
To stop the containers, run `make stop`. The developers and contributors are not responsible for any **misuse, illegal activities, or consequences** resulting from the use of this software.
## Setup By using GIA, you **acknowledge and agree** that:
This setup may be different from what you've seen before. - 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 GIA is a tool that must be used responsibly. **Do not deploy it where it violates privacy laws, cybersecurity regulations, or ethical guidelines.**
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.