Add LICENSE and README
This commit is contained in:
9
LICENSE
Normal file
9
LICENSE
Normal 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
196
README.md
@@ -1,64 +1,152 @@
|
|||||||
# Envelope
|
# ☠️ GIA – Gather, Influence, Automate ☠️
|
||||||
Template Django app.
|
|
||||||
|
|
||||||
## Setting up the environment
|
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**.
|
||||||
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.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user