Giter Club home page Giter Club logo

tguard's Introduction

TGuard

TGuard is a web-based sending and decrypting service for irmaseal-encrypted messages that is currently in development at Tweede Golf. TGuard utilizes IRMA to allow an user to encrypt messages client-side. These messages can be decrypted client-side once the receiver proofs to be the owner of attributes the message was encrypted for, like an e-mail address, name or an identifying number.

Screenshot of TGuard

Running TGuard

Tguard supports local running through a docker setup. For this you need to have both docker and docker-compose installed. The application uses a database, which can be initialized with the ./setup.sh script included. After this, a local copy of the application can be started docker-compose up, and the tguard website will be localy available at http://tguard.localhost

Dependencies

The easyest way to start developing with this software is using docker-compose. The docker files contain all software neccecary to run the application (eg. Postgres, Nginx, Rust).

Currently we use the following software versions for this project:

  • Golang version 1.17
  • Rust version 1.57 (see rust:bullseye)
  • NGINX version 1.21
  • Postgres version 12
  • Mailhog version 1.0

In addition to Rust the wasm target and the cargo packages trunk and wasm-bindgen-cli must be installed:

rustup target add wasm32-unknown-unknown
cargo install trunk wasm-bindgen-cli

Technical overview

TGuard is written in Rust, both the back-end and the front-end. The front-end is compiled and bundled using trunk and uses the front-end framework yew.

The other Rust libraries used can be found in Cargo.toml in both the frontend and backend directories.

For a technical overview of IRMA you can consult this resource. IRMA Seal has a technical overview that can be found here.

Funding

This project was funded through the NGI0 PET Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme.

tguard's People

Contributors

davidv1992 avatar marlonbaeten avatar

Stargazers

Shabbir Hasan avatar astrolemonade avatar GAURAV avatar  avatar  avatar Bernard van Gastel avatar Henk Oordt avatar Arjen avatar

Watchers

abudaan avatar Wouter Geraedts avatar James Cloos avatar  avatar Erik Jonkers avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.