Skip to content
/ argos Public

🎥🔒 | Django web application for secure, offline video sharing with user-specific encrypted watermarks and DeepFake defense. Developed as a final project at Escola Politécnica da USP.

License

Notifications You must be signed in to change notification settings

CezarGab/argos

Repository files navigation

A Web Platform for Secure Video Distribution with Embedded Watermarking

Python 3.9.7 MIT License

English · Português


What is Argos?

Argos is an open-source web application that enables secure video sharing with embedded digital watermarks. It’s designed for organizations needing to trace access and prevent misuse of sensitive video content. This project was developed as a Final Project (TCC) at the Escola Politécnica da Universidade de São Paulo.

The platform supports:

  • Watermarking each video with an encrypted user-specific identifier.
  • Defending against DeepFake manipulation using CMUA (adversarial noise).
  • Operating fully offline in local networks.

📚 See the full documentation:


Key Features

  • 🧬 Dual watermarking: user tracking + AI attack prevention
  • 🧩 API-first architecture using Django Ninja
  • 🖥️ Simple and responsive frontend built with Franken UI
  • 🔒 Operates entirely on local networks for enhanced security
  • 🗄️ Lightweight data management with SQLite

Installation

⚠️ Warning: The steps below are written for Windows.
Linux and macOS users can follow the same steps with minimal changes to terminal commands.

⚠️ Warning: This project requires Python 3.9.7.

Follow the steps below to run Argos locally:

  1. Clone the repository
git clone https://github.com/CezarGab/argos.git
cd argos
  1. Create and activate virtual environment
python -m virtualenv venv
cd ./venv/Scripts
activate.bat  # or source ../bin/activate on Linux/macOS
cd ../..
  1. Install dependencies
pip install -r requirements.txt
pip install -r requirements-offmark.txt
  1. Clone Offmark library
cd ..
git clone https://github.com/CezarGab/offmark-py
cd argos
  1. Run the server
python manage.py runserver

Finally, open http://localhost:8000 in your browser to see the client side application.


Example Credentials

Username Password Superuser?
admin admin
zuffo senhapsi3592
roseli senhapsi3592

API Access

All core features are exposed via REST endpoints. Interactive docs available at:

http://localhost:8000/api/docs

Django Admin

As a superuser, you can manage users and permissions at:

http://localhost:8000/admin

Database

All the data is stored in a local SQLite database. You can inspect it with Beekeeper Studio.


Acknowledgments

We thank the open-source projects that made Argos possible:


Support the Project

Ways to support or improve the project:

  • Starring: If you find the app useful, consider starring the repository.
  • Reporting Issues: If you find a bug or have a suggestion for a new feature, please report it via the Issue tab.
  • Contributing Code: If there is an open issue that you think you can help with, submit a pull request.

License

Released under the MIT License.


Versão em português

O que é Argos?

Argos é uma aplicação web de código aberto que possibilita o compartilhamento seguro de vídeos com marcas d'água forenses. Foi projetada para organizações que precisam rastrear acessos e prevenir o uso indevido de conteúdo de vídeo sensível. Este projeto foi desenvolvido como Trabalho de Conclusão de Curso (TCC) na Escola Politécnica da Universidade de São Paulo, orientado pelo Prof. Dr. Marcio Lobo.

A plataforma oferece:

  • Marca d'água em cada vídeo com um identificador criptografado específico do usuário.
  • Defesa contra manipulação por DeepFake usando CMUA (ruído adversarial).
  • Operação totalmente offline em redes locais.

📚 Documentação completa:


Funcionalidades

  • 🔐 Proteção dupla por marca d’água
  • 🌐 API em Django Ninja
  • 🖥️ Frontend simplificado com Franken UI
  • 🗃️ Banco de dados local com SQLite
  • 🧠 Defesa contra DeepFake com ruído adversarial

Instalação

⚠️ Atenção: Os passos abaixo foram escritos para Windows.
Usuários de Linux ou macOS podem seguir os mesmos passos com adaptações mínimas nos comandos do terminal.

⚠️ Warning: Este projeto requer Python 3.9.7.

Siga os passos abaixo para rodar localmente:

  1. Clone o repositório
git clone https://github.com/CezarGab/argos.git
cd argos
  1. Crie e ative o ambiente virtual
python -m virtualenv venv
cd ./venv/Scripts
activate.bat  # ou source ../bin/activate no Linux/macOS
cd ../..
  1. Instale as dependências
pip install -r requirements.txt
pip install -r requirements-offmark.txt
  1. Clone o repositório offmark
cd ..
git clone https://github.com/CezarGab/offmark-py
cd argos
  1. Execute o servidor
python manage.py runserver

Abra http://localhost:8000 no navegador.


Credenciais de exemplo

Usuário Senha Admin?
admin admin
zuffo senhapsi3592
roseli senhapsi3592

Acesso à API

Acesse a interface interativa (swagger) da API em:

http://localhost:8000/api/docs

Admin Django

Com uma conta superuser, gerencie usuários e permissões em:

http://localhost:8000/admin

Banco de Dados

Os dados são armazenados em SQLite. Recomendamos o uso do Beekeeper Studio para gerenciamento.


Licença

Distribuído sob a Licença MIT.

About

🎥🔒 | Django web application for secure, offline video sharing with user-specific encrypted watermarks and DeepFake defense. Developed as a final project at Escola Politécnica da USP.

Resources

License

Stars

Watchers

Forks