davay42 / steganography-js

Online steganographic tool written in Javascript, using Least Significant Bit (LSB) substitution.

Home Page:http://thavixt.github.io/steganography-js/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gh-pages

Steganography.js

Introduction

The goal of this project was to create an online steganographic tool with Javascript without using existing solutions and frameworks.

I started the project in late 2017 after being inspired by Computerphile's video about steganography:

Development

This is a fairly standard project built with create-react-app. No custom scripts, just refer to the ˙package.json` file.

Internationalization is done with i18next. A custom script was written to build the required JSON translation file(s), which you can customize based on your backend/translation service.

To enable web workers through Webpack, I used the worker-loader package (imports prefixed by !worker-loader).

Implementation details

The project currently uses a custom implementation of LSB steganography.

TODO: further implementation info & links

TODOs / idea list

  • refactor React components, update dependencies
  • internationalization with i18next
  • use Sass
  • refactor worker files - in progress
  • migrate to Typescript
    • find a way to compline workers without 'ejecting' the project
      • independent tsc workflow for the workers folder?
  • new formats
    • research audio steganography
  • separate Electron/Webview app ?

Further reading - links & notes

About steganography:

Regarding the development setup:

Using Web Workers:

Utilizing the HTML5 Canvas API:

Other:

About

Online steganographic tool written in Javascript, using Least Significant Bit (LSB) substitution.

http://thavixt.github.io/steganography-js/

License:MIT License


Languages

Language:TypeScript 60.8%Language:JavaScript 31.0%Language:CSS 5.9%Language:HTML 2.2%