mirror of
https://github.com/cedricbonhomme/Stegano.git
synced 2025-05-17 02:48:31 +02:00
Compare commits
13 commits
Author | SHA1 | Date | |
---|---|---|---|
|
bd3238acfa | ||
|
eb28c60d27 | ||
|
7ba387ecdc | ||
|
ac66655ad8 | ||
|
2e8b0fdec9 | ||
|
7849955cdb | ||
|
d6015157bf | ||
|
43f02702f9 | ||
|
9c69075d34 | ||
|
10256ba28b | ||
|
70572bf047 | ||
|
8ebd760f7e | ||
|
0d0d328230 |
27 changed files with 602 additions and 497 deletions
|
@ -1,43 +0,0 @@
|
|||
image: debian/bookworm
|
||||
sources:
|
||||
- https://git.sr.ht/~cedric/stegano
|
||||
packages:
|
||||
- python3
|
||||
- python3-dev
|
||||
- python3-pip
|
||||
- python3-setuptools
|
||||
- python3-venv
|
||||
- pipx
|
||||
- rustc
|
||||
- cargo
|
||||
- libffi-dev
|
||||
- libssl-dev
|
||||
- libjpeg-dev
|
||||
- libpng-dev
|
||||
- libfreetype6-dev
|
||||
- ffmpeg
|
||||
- libsm6
|
||||
- libxext6
|
||||
environment:
|
||||
project: stegano
|
||||
tasks:
|
||||
- dependencies: |
|
||||
pipx install poetry
|
||||
export PATH="$PATH:/home/build/.local/bin"
|
||||
cd ${project}
|
||||
poetry install
|
||||
- lint: |
|
||||
export PATH="$PATH:/home/build/.local/bin"
|
||||
cd ${project}
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
poetry run flake8 stegano --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings.
|
||||
poetry run flake8 stegano --count --max-complexity=10 --max-line-length=127 --statistics
|
||||
- test: |
|
||||
export PATH="$PATH:/home/build/.local/bin"
|
||||
cd ${project}
|
||||
poetry run nose2 -v --pretty-assert
|
||||
- typecheck: |
|
||||
export PATH="$PATH:/home/build/.local/bin"
|
||||
cd ${project}
|
||||
poetry run mypy .
|
2
.github/workflows/pythonapp.yaml
vendored
2
.github/workflows/pythonapp.yaml
vendored
|
@ -22,7 +22,7 @@ jobs:
|
|||
- name: Install dependencies
|
||||
run: |
|
||||
pip install poetry
|
||||
poetry install
|
||||
poetry install --with dev
|
||||
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
|
|
27
.github/workflows/release.yml
vendored
Normal file
27
.github/workflows/release.yml
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
on:
|
||||
release:
|
||||
types:
|
||||
- published
|
||||
|
||||
name: release
|
||||
|
||||
jobs:
|
||||
pypi-publish:
|
||||
name: Upload release to PyPI
|
||||
runs-on: ubuntu-latest
|
||||
environment:
|
||||
name: pypi
|
||||
url: https://pypi.org/p/Stegano
|
||||
|
||||
permissions:
|
||||
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Install Poetry
|
||||
run: python -m pip install --upgrade pip poetry
|
||||
- name: Build artifacts
|
||||
run: poetry build
|
||||
- name: Publish package distributions to PyPI
|
||||
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@ -27,6 +27,7 @@ repos:
|
|||
hooks:
|
||||
- id: fix-byte-order-marker
|
||||
- id: trailing-whitespace
|
||||
exclude: .md
|
||||
- id: end-of-file-fixer
|
||||
exclude: tests/.*
|
||||
- repo: https://github.com/pypa/pip-audit
|
||||
|
|
180
CHANGELOG.md
180
CHANGELOG.md
|
@ -1,233 +1,251 @@
|
|||
## Release History
|
||||
|
||||
### 1.0.1 (2025-05-03)
|
||||
|
||||
- Improved the packaging configuration for the command line (stegano.console).
|
||||
|
||||
|
||||
### 1.0.0 (2025-04-26)
|
||||
|
||||
- Updated dependencies.
|
||||
- Improved the packaging configuration.
|
||||
- Fixed typing errors.
|
||||
|
||||
|
||||
### 0.11.5 (2025-02-13)
|
||||
|
||||
- Updated dependencies.
|
||||
- Aligned pyproject.toml with the standard specification.
|
||||
- Publishing to PyPI using a Trusted Publisher.
|
||||
|
||||
|
||||
### 0.11.4 (2024-09-07)
|
||||
|
||||
* Added a parameter, close_file, to lsb.reveal in order to
|
||||
- Added a parameter, close_file, to lsb.reveal in order to
|
||||
specify if the file must be closed at the end of the processing.
|
||||
|
||||
|
||||
### 0.11.3 (2024-01-02)
|
||||
|
||||
* Stegano now supports Python 3.12. Support of Python 3.8 has been removed.
|
||||
- Stegano now supports Python 3.12. Support of Python 3.8 has been removed.
|
||||
|
||||
|
||||
### 0.11.2 (2023-05-23)
|
||||
|
||||
* improved typing of various functions;
|
||||
* updated dependencies.
|
||||
- improved typing of various functions;
|
||||
- updated dependencies.
|
||||
|
||||
|
||||
### 0.11.1 (2022-11-20)
|
||||
|
||||
* Fixed a bug in the command line when no sub-command is specified.
|
||||
- Fixed a bug in the command line when no sub-command is specified.
|
||||
|
||||
|
||||
### 0.11.0 (2022-11-20)
|
||||
|
||||
* Reduced memory footprint and processing speed,
|
||||
- Reduced memory footprint and processing speed,
|
||||
the modules ``lsb`` and ``lsbset`` have been merged
|
||||
([PR #34](https://github.com/cedricbonhomme/Stegano/pull/34)).
|
||||
|
||||
|
||||
### 0.10.2 (2022-01-13)
|
||||
|
||||
* Stegano now uses Pillow 9.0.0 (CVE-2022-22815).
|
||||
- Stegano now uses Pillow 9.0.0 (CVE-2022-22815).
|
||||
|
||||
|
||||
### 0.10.1 (2021-11-30)
|
||||
|
||||
* Stegano now uses OpenCV Python 4.5.4 abd Numpy 1.21.4.
|
||||
- Stegano now uses OpenCV Python 4.5.4 abd Numpy 1.21.4.
|
||||
|
||||
|
||||
### 0.10.0 (2021-11-29)
|
||||
|
||||
* new: Implemented Shi-Tomashi corner generator
|
||||
- new: Implemented Shi-Tomashi corner generator
|
||||
([PR #32](https://github.com/cedricbonhomme/Stegano/pull/32)).
|
||||
Implemented by thundersparkf (see CONTRIBUTORS.md file).
|
||||
|
||||
|
||||
### 0.9.9 (2021-07-02)
|
||||
|
||||
* Stegano now uses Pillow 8.3.0.
|
||||
- Stegano now uses Pillow 8.3.0.
|
||||
|
||||
|
||||
### 0.9.8 (2019-12-20)
|
||||
|
||||
* Stegano is now using poetry;
|
||||
* minor improvements to the command line.
|
||||
- Stegano is now using poetry;
|
||||
- minor improvements to the command line.
|
||||
|
||||
|
||||
### 0.9.7 (2019-10-27)
|
||||
|
||||
* fixed markdown of the previous release.
|
||||
- fixed markdown of the previous release.
|
||||
|
||||
|
||||
### 0.9.6 (2019-10-27)
|
||||
|
||||
* fixed markdown of the previous release;
|
||||
- fixed markdown of the previous release;
|
||||
|
||||
|
||||
### 0.9.5 (2019-10-27)
|
||||
|
||||
* updated dependencies;
|
||||
* home page of the project is now: https://github.com/cedricbonhomme/Stegano
|
||||
- updated dependencies;
|
||||
- home page of the project is now: https://github.com/cedricbonhomme/Stegano
|
||||
|
||||
|
||||
### 0.9.4 (2019-06-05)
|
||||
|
||||
* new: Implemented LFSR generator (with tests and CLI)
|
||||
- new: Implemented LFSR generator (with tests and CLI)
|
||||
([PR #27](https://github.com/cedricbonhomme/Stegano/pull/27))
|
||||
* new: Implemented Ackermann generators CLI interface
|
||||
- new: Implemented Ackermann generators CLI interface
|
||||
([PR #26](https://github.com/cedricbonhomme/Stegano/pull/26))
|
||||
* new: The Ackermann functions are not actual generators
|
||||
- new: The Ackermann functions are not actual generators
|
||||
([#24](https://github.com/cedricbonhomme/Stegano/issues/24))
|
||||
* new: add a shift parameter for the lsbmodule
|
||||
- new: add a shift parameter for the lsbmodule
|
||||
([#25](https://github.com/cedricbonhomme/Stegano/issues/25))
|
||||
* fix: lsbset.hide cause .png transparent area lost
|
||||
- fix: lsbset.hide cause .png transparent area lost
|
||||
([#23](https://github.com/cedricbonhomme/Stegano/issues/23))
|
||||
|
||||
|
||||
### 0.9.3 (2019-04-10)
|
||||
|
||||
* it is now possible to either pass the location of an image or directly pass
|
||||
- it is now possible to either pass the location of an image or directly pass
|
||||
an already opened Image.Image to the hide and reveal methods;
|
||||
* code re-formatted a bit with black.
|
||||
- code re-formatted a bit with black.
|
||||
|
||||
|
||||
### 0.9.2 (2019-04-04)
|
||||
|
||||
* updated Pillow dependency to version 6.0.0 in order to fix a bug when opening
|
||||
- updated Pillow dependency to version 6.0.0 in order to fix a bug when opening
|
||||
some PNG files (https://github.com/python-pillow/Pillow/issues/3557).
|
||||
|
||||
|
||||
### 0.9.1 (2019-03-06)
|
||||
|
||||
* updated Pillow dependency in order to fix a bug when opening some PNG files.
|
||||
- updated Pillow dependency in order to fix a bug when opening some PNG files.
|
||||
|
||||
|
||||
### 0.9.0 (2018-12-18)
|
||||
|
||||
* added the possibility to shift the encoded bits when using the lsbset module.
|
||||
- added the possibility to shift the encoded bits when using the lsbset module.
|
||||
|
||||
|
||||
### 0.8.6 (2018-11-05)
|
||||
|
||||
* fixed a potential security issue related to CVE-2018-18074.
|
||||
- fixed a potential security issue related to CVE-2018-18074.
|
||||
|
||||
|
||||
### 0.8.5 (2018-04-18)
|
||||
|
||||
* Fixed an encoding problem which occured on Windows during the installation
|
||||
- Fixed an encoding problem which occured on Windows during the installation
|
||||
of the module.
|
||||
|
||||
|
||||
### 0.8.4 (2018-02-28)
|
||||
|
||||
* Stegano is ready for use with pipenv and pipsi.
|
||||
- Stegano is ready for use with pipenv and pipsi.
|
||||
|
||||
|
||||
### 0.8.3 (2018-02-23)
|
||||
|
||||
* the recommended way to install Stegano is now to use pipenv.
|
||||
- the recommended way to install Stegano is now to use pipenv.
|
||||
|
||||
|
||||
### 0.8.2 (2017-12-20)
|
||||
|
||||
* Fixed a bug with the new 'encoding' function when using Stegano as a command
|
||||
- Fixed a bug with the new 'encoding' function when using Stegano as a command
|
||||
line tool. No default value was set. Default value is UTF-8.
|
||||
|
||||
|
||||
### 0.8.1 (2017-05-16)
|
||||
|
||||
* it is now possible to specify the encoding (UTF-8 or UTF-32LE) of the message
|
||||
- it is now possible to specify the encoding (UTF-8 or UTF-32LE) of the message
|
||||
to hide/reveal through the command line;
|
||||
* the help of the command line now displays the available choices for the
|
||||
- the help of the command line now displays the available choices for the
|
||||
arguments, if it is necessary (list of available encodings, list of available
|
||||
generators);
|
||||
* tests expected results lies now in a dedicated folder;
|
||||
* a script has been added in order to get proper exit code check for mypy.
|
||||
- tests expected results lies now in a dedicated folder;
|
||||
- a script has been added in order to get proper exit code check for mypy.
|
||||
|
||||
|
||||
### 0.8 (2017-05-06)
|
||||
|
||||
* updated command line. All commands are now prefixed with *stegano-*;
|
||||
* improved type hints;
|
||||
* it is possible to load and save images from and to file objects (BytesIO);
|
||||
* improved checks when revealing a message with the lsbset module fails.
|
||||
- updated command line. All commands are now prefixed with *stegano-*;
|
||||
- improved type hints;
|
||||
- it is possible to load and save images from and to file objects (BytesIO);
|
||||
- improved checks when revealing a message with the lsbset module fails.
|
||||
|
||||
|
||||
### 0.7.1 (2017-05-05)
|
||||
|
||||
* improved generators for the lsb-set module;
|
||||
* improved tests for the generators;
|
||||
* improved type hints.
|
||||
- improved generators for the lsb-set module;
|
||||
- improved tests for the generators;
|
||||
- improved type hints.
|
||||
|
||||
|
||||
### 0.7 (2017-05-04)
|
||||
|
||||
* unicode is now supported. By default UTF-8 encoding is used. UTF-32LE can also
|
||||
- unicode is now supported. By default UTF-8 encoding is used. UTF-32LE can also
|
||||
be used to hide non-ASCII characters. UTF-8 (8 bits) is the default choice
|
||||
since it is possible to hide longer messages with it.
|
||||
* improved checks with type hints.
|
||||
- improved checks with type hints.
|
||||
|
||||
|
||||
### 0.6.9 (2017-03-10)
|
||||
|
||||
* introduces some type hints (PEP 484);
|
||||
* more tests for the generators and for the tools module;
|
||||
* updated descriptions of generators;
|
||||
* fixed a bug with a generator that has been previously renamed.
|
||||
- introduces some type hints (PEP 484);
|
||||
- more tests for the generators and for the tools module;
|
||||
- updated descriptions of generators;
|
||||
- fixed a bug with a generator that has been previously renamed.
|
||||
|
||||
|
||||
### 0.6.8 (2017-03-08)
|
||||
|
||||
* bugfix: fixed #12: Error when revealing a hidden binary file in an image.
|
||||
- bugfix: fixed #12: Error when revealing a hidden binary file in an image.
|
||||
|
||||
|
||||
### 0.6.7 (2017-02-21)
|
||||
|
||||
* bugfix: added missing dependency in the setup.py file.
|
||||
- bugfix: added missing dependency in the setup.py file.
|
||||
|
||||
|
||||
### 0.6.6 (2017-02-20)
|
||||
|
||||
* improved docstrings for the desciption of the generators;
|
||||
* improved the command which displays the list of generators.
|
||||
- improved docstrings for the desciption of the generators;
|
||||
- improved the command which displays the list of generators.
|
||||
|
||||
|
||||
### 0.6.5 (2017-02-16)
|
||||
|
||||
* added a command to list all available generators for the lsb-set module;
|
||||
* test when the data image is coming via byte stream, for the lsb module.
|
||||
- added a command to list all available generators for the lsb-set module;
|
||||
- test when the data image is coming via byte stream, for the lsb module.
|
||||
|
||||
|
||||
### 0.6.4 (2017-02-06)
|
||||
|
||||
* a command line for the 'red' module has been added;
|
||||
* bugfix: fixed a bug in the lsb-set command line when the generator wasn't
|
||||
- a command line for the 'red' module has been added;
|
||||
- bugfix: fixed a bug in the lsb-set command line when the generator wasn't
|
||||
specified by the user.
|
||||
|
||||
|
||||
### 0.6.3 (2017-01-29)
|
||||
|
||||
* Support for transparent PNG images has been added (lsb and lsbset modules).
|
||||
- Support for transparent PNG images has been added (lsb and lsbset modules).
|
||||
|
||||
|
||||
### 0.6.2 (2017-01-19)
|
||||
|
||||
* bugfix: solved a bug when the image data is coming via byte streams (ByteIO),
|
||||
- bugfix: solved a bug when the image data is coming via byte streams (ByteIO),
|
||||
for the exifHeader hiding method.
|
||||
|
||||
|
||||
### 0.6.1 (2016-08-25)
|
||||
|
||||
* reorganization of the steganalysis sub-module.
|
||||
- reorganization of the steganalysis sub-module.
|
||||
|
||||
|
||||
### 0.6 (2016-08-04)
|
||||
|
||||
* improvements of the command line of Stéganô. The use of Stéganô through the
|
||||
- improvements of the command line of Stéganô. The use of Stéganô through the
|
||||
command line has slightly changed ('hide' and 'reveal' are now sub-parameters
|
||||
of the command line). No changes if you use Stéganô as a module in your
|
||||
software. The documentation has been updated accordingly.
|
||||
|
@ -235,66 +253,66 @@
|
|||
|
||||
### 0.5.5 (2016-08-03)
|
||||
|
||||
* bugfix: Incorrect padding size in `base642string` in tools.base642binary().
|
||||
- bugfix: Incorrect padding size in `base642string` in tools.base642binary().
|
||||
|
||||
|
||||
### 0.5.4 (2016-05-22)
|
||||
|
||||
* the generator provided to the functions lsbset.hide() and lsbset.reveal() is
|
||||
- the generator provided to the functions lsbset.hide() and lsbset.reveal() is
|
||||
now a function. This is more convenient for a user who wants to use a custom
|
||||
generator (not in the module lsbset.generators).
|
||||
* performance improvements for the lsb and lsbset modules.
|
||||
- performance improvements for the lsb and lsbset modules.
|
||||
|
||||
|
||||
### 0.5.3 (2016-05-19)
|
||||
|
||||
* reorganization of all modules. No impact for the users of Stegano.
|
||||
- reorganization of all modules. No impact for the users of Stegano.
|
||||
|
||||
|
||||
### 0.5.2 (2016-05-18)
|
||||
|
||||
* improvements and bug fixes for the exifHeader module;
|
||||
* added unit tests for the exifHeader module;
|
||||
* improvements of the documentation.
|
||||
- improvements and bug fixes for the exifHeader module;
|
||||
- added unit tests for the exifHeader module;
|
||||
- improvements of the documentation.
|
||||
|
||||
|
||||
### 0.5.1 (2016-04-16)
|
||||
|
||||
* minor improvements and bug fixes;
|
||||
* added unit tests for the slsb and slsbset modules.
|
||||
- minor improvements and bug fixes;
|
||||
- added unit tests for the slsb and slsbset modules.
|
||||
|
||||
|
||||
### 0.5 (2016-03-18)
|
||||
|
||||
* management of greyscale images.
|
||||
- management of greyscale images.
|
||||
|
||||
|
||||
### 0.4.6 (2016-03-12)
|
||||
|
||||
* bugfix when the length of the message to hide is not divisible by 3,
|
||||
- bugfix when the length of the message to hide is not divisible by 3,
|
||||
for the slsb and slsbset module.
|
||||
|
||||
|
||||
### 0.4.5 (2015-12-23)
|
||||
|
||||
* bugfix.
|
||||
- bugfix.
|
||||
|
||||
|
||||
### 0.4.4 (2015-12-23)
|
||||
|
||||
* new project home page;
|
||||
* minor updated to the documentation.
|
||||
- new project home page;
|
||||
- minor updated to the documentation.
|
||||
|
||||
|
||||
### 0.4.3 (2015-10-06)
|
||||
|
||||
* bug fixes for Python 3;
|
||||
* bug fixes in the scripts in *./bin*.
|
||||
- bug fixes for Python 3;
|
||||
- bug fixes in the scripts in *./bin*.
|
||||
|
||||
|
||||
### 0.4.2 (2015-10-05)
|
||||
|
||||
* first stable release on PypI.
|
||||
- first stable release on PypI.
|
||||
|
||||
|
||||
### 0.4 (2012-01-02)
|
||||
|
@ -308,16 +326,16 @@ Python codes as a Python module or as a program in your scripts.
|
|||
|
||||
### 0.3 (2011-04-15)
|
||||
|
||||
* you can now use Stéganô as a library in your Python program;
|
||||
- you can now use Stéganô as a library in your Python program;
|
||||
(python setup.py install) or as a 'program' thanks to the scripts provided
|
||||
in the bin directory;
|
||||
* new documentation (reStructuredText) comes with Stéganô.
|
||||
- new documentation (reStructuredText) comes with Stéganô.
|
||||
|
||||
|
||||
### 0.2 (2011-03-24)
|
||||
|
||||
* this release introduces some bugfixes and a major speed improvement of the
|
||||
- this release introduces some bugfixes and a major speed improvement of the
|
||||
*reveal* function for the LSB method. Moreover it is now possible to hide a
|
||||
binary file (ogg, executable, etc.);
|
||||
* a new technique for hiding/revealing a message in a JPEG picture by using the
|
||||
- a new technique for hiding/revealing a message in a JPEG picture by using the
|
||||
description field of the image is provided.
|
||||
|
|
|
@ -16,5 +16,6 @@
|
|||
- panni <panni@fragstore.net>
|
||||
- Peter Justin <peter@peterjustin.me>
|
||||
- thundersparkf - https://github.com/thundersparkf
|
||||
- Mickaël Schoentgen <mschoentgen@nuxeo.com>
|
||||
|
||||
And thank you to the testers!
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
# Stegano
|
||||
|
||||
[](https://builds.sr.ht/~cedric/stegano)
|
||||
[](https://github.com/cedricbonhomme/Stegano/actions?query=workflow%3A%22Python+application%22)
|
||||
|
||||
[Stegano](https://github.com/cedricbonhomme/Stegano), a pure Python Steganography
|
||||
|
@ -96,10 +95,13 @@ recommend you to install it in a Python virtual environment with poetry.
|
|||
|
||||
## Donations
|
||||
|
||||
If you wish and if you like Stegano, you can donate:
|
||||
If you wish and if you like Stegano, you can donate via GitHub Sponsors:
|
||||
|
||||
[](https://github.com/sponsors/cedricbonhomme)
|
||||
|
||||
or with Bitcoin to this address:
|
||||
bc1q56u6sj7cvlwu58v5lemljcvkh7v2gc3tv8mj0e
|
||||
|
||||
Thank you !
|
||||
|
||||
|
||||
|
@ -108,6 +110,6 @@ Thank you !
|
|||
This software is licensed under
|
||||
[GNU General Public License version 3](https://www.gnu.org/licenses/gpl-3.0.html)
|
||||
|
||||
Copyright (C) 2010-2024 [Cédric Bonhomme](https://www.cedricbonhomme.org)
|
||||
Copyright (C) 2010-2025 [Cédric Bonhomme](https://www.cedricbonhomme.org)
|
||||
|
||||
For more information, [the list of authors and contributors](CONTRIBUTORS.md) is available.
|
||||
|
|
|
@ -34,7 +34,7 @@ master_doc = "index"
|
|||
|
||||
# General information about the project.
|
||||
project = "Stegano"
|
||||
copyright = "2010-2024, Cédric Bonhomme"
|
||||
copyright = "2010-2025, Cédric Bonhomme"
|
||||
author = "Cédric Bonhomme <cedric@cedricbonhomme.org>"
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
|
|
|
@ -6,10 +6,6 @@
|
|||
Presentation
|
||||
============
|
||||
|
||||
.. image:: https://builds.sr.ht/~cedric/stegano.svg
|
||||
:target: https://builds.sr.ht/~cedric/stegano
|
||||
|
||||
|
||||
Stegano_ is a pure Python steganography_ module.
|
||||
|
||||
Steganography is the art and science of writing hidden messages in such a way
|
||||
|
|
|
@ -13,6 +13,3 @@ If you want to retrieve the source code (with the unit tests):
|
|||
.. code-block:: bash
|
||||
|
||||
$ git clone https://github.com/cedricbonhomme/Stegano
|
||||
|
||||
.. image:: https://builds.sr.ht/~cedric/stegano.svg
|
||||
:target: https://builds.sr.ht/~cedric/stegano
|
||||
|
|
733
poetry.lock
generated
733
poetry.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -1,20 +1,44 @@
|
|||
[tool.poetry]
|
||||
[build-system]
|
||||
requires = ["poetry-core>=2.0"]
|
||||
build-backend = "poetry.core.masonry.api"
|
||||
|
||||
|
||||
[project]
|
||||
name = "stegano"
|
||||
version = "0.11.4"
|
||||
version = "1.0.1"
|
||||
description = "A pure Python Steganography module."
|
||||
authors = [
|
||||
"Cédric Bonhomme <cedric@cedricbonhomme.org>"
|
||||
{name = "Cédric Bonhomme", email= "cedric@cedricbonhomme.org"}
|
||||
]
|
||||
license = "GPL-3.0-or-later"
|
||||
|
||||
readme = "README.md"
|
||||
keywords = ["Steganography", "Security", "Stegano"]
|
||||
|
||||
homepage = "https://github.com/cedricbonhomme/Stegano"
|
||||
repository = "https://github.com/cedricbonhomme/Stegano"
|
||||
documentation = "https://stegano.readthedocs.io"
|
||||
dynamic = ["classifiers"]
|
||||
|
||||
keywords = ["steganography", "security", "stegano"]
|
||||
requires-python = ">=3.10,<4.0"
|
||||
dependencies = [
|
||||
"pillow (>=9.5,<11.0)",
|
||||
"piexif (>=1.1.3)",
|
||||
"crayons (>=0.4.0)",
|
||||
"opencv-python (>=4.8.1.78)"
|
||||
]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://github.com/cedricbonhomme/Stegano"
|
||||
Changelog = "https://github.com/cedricbonhomme/Stegano/blob/master/CHANGELOG.md"
|
||||
Repository = "https://github.com/cedricbonhomme/Stegano"
|
||||
Documentation = "https://stegano.readthedocs.io"
|
||||
|
||||
[project.scripts]
|
||||
stegano-lsb = "stegano.console.lsb:main"
|
||||
stegano-red = "stegano.console.red:main"
|
||||
stegano-steganalysis-parity = "stegano.console.parity:main"
|
||||
stegano-steganalysis-statistics = "stegano.console.statistics:main"
|
||||
|
||||
|
||||
[tool.poetry]
|
||||
requires-poetry = ">=2.0"
|
||||
classifiers = [
|
||||
"Development Status :: 5 - Production/Stable",
|
||||
"Environment :: Console",
|
||||
|
@ -25,29 +49,16 @@ classifiers = [
|
|||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"Programming Language :: Python :: 3.13",
|
||||
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)"
|
||||
]
|
||||
|
||||
include = [
|
||||
"README.md",
|
||||
"COPYING",
|
||||
"CHANGELOG.md",
|
||||
"docs/**/*",
|
||||
"bin/*"
|
||||
]
|
||||
|
||||
[tool.poetry.scripts]
|
||||
stegano-lsb = "bin.lsb:main"
|
||||
stegano-red = "bin.red:main"
|
||||
stegano-steganalysis-parity = "bin.parity:main"
|
||||
stegano-steganalysis-statistics = "bin.statistics:main"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = ">=3.10,<3.13"
|
||||
pillow = ">=9.5,<11.0"
|
||||
piexif = "^1.1.3"
|
||||
crayons = "^0.4.0"
|
||||
opencv-python = "^4.8.1.78"
|
||||
|
||||
[tool.poetry.group.dev.dependencies]
|
||||
mypy = "^1.8.0"
|
||||
|
@ -56,9 +67,10 @@ nose2 = "^0.14.0"
|
|||
Sphinx = "^6.2.1"
|
||||
pre-commit = "^3.6.0"
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry>=1.3.2"]
|
||||
build-backend = "poetry.masonry.api"
|
||||
|
||||
[tool.poetry.group.dev]
|
||||
optional = true
|
||||
|
||||
|
||||
[tool.mypy]
|
||||
python_version = "3.12"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# Stegano - Stegano is a pure Python steganography module.
|
||||
# Copyright (C) 2010-2024 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
# Copyright (C) 2010-2025 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
#
|
||||
# For more information : https://github.com/cedricbonhomme/Stegano
|
||||
#
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# Stegano - Stegano is a pure Python steganography module.
|
||||
# Copyright (C) 2010-2024 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
# Copyright (C) 2010-2025 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
#
|
||||
# For more information : https://github.com/cedricbonhomme/Stegano
|
||||
#
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# Stegano - Stegano is a pure Python steganography module.
|
||||
# Copyright (C) 2010-2024 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
# Copyright (C) 2010-2025 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
#
|
||||
# For more information : https://github.com/cedricbonhomme/Stegano
|
||||
#
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# Stegano - Stegano is a pure Python steganography module.
|
||||
# Copyright (C) 2010-2024 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
# Copyright (C) 2010-2025 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
#
|
||||
# For more information : https://github.com/cedricbonhomme/Stegano
|
||||
#
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# Stegano - Stegano is a pure Python steganography module.
|
||||
# Copyright (C) 2010-2024 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
# Copyright (C) 2010-2025 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
#
|
||||
# For more information : https://github.com/cedricbonhomme/Stegano
|
||||
#
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# Stegano - Stegano is a pure Python steganography module.
|
||||
# Copyright (C) 2010-2024 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
# Copyright (C) 2010-2025 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
#
|
||||
# For more information : https://github.com/cedricbonhomme/Stegano
|
||||
#
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# Stegano - Stegano is a pure Python steganography module.
|
||||
# Copyright (C) 2010-2024 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
# Copyright (C) 2010-2025 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
#
|
||||
# For more information : https://github.com/cedricbonhomme/Stegano
|
||||
#
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# Stegano - Stegano is a pure Python steganography module.
|
||||
# Copyright (C) 2010-2024 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
# Copyright (C) 2010-2025 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
#
|
||||
# For more information : https://github.com/cedricbonhomme/Stegano
|
||||
#
|
||||
|
@ -34,7 +34,10 @@ def steganalyse(img: Image.Image) -> Image.Image:
|
|||
width, height = img.size
|
||||
for row in range(height):
|
||||
for col in range(width):
|
||||
r, g, b = img.getpixel((col, row))[0:3]
|
||||
if pixel := img.getpixel((col, row)):
|
||||
r, g, b = pixel[0:3]
|
||||
else:
|
||||
raise Exception("Error during steganlysis.")
|
||||
if r % 2 == 0:
|
||||
r = 0
|
||||
else:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# Stegano - Stegano is a pure Python steganography module.
|
||||
# Copyright (C) 2010-2024 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
# Copyright (C) 2010-2025 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
#
|
||||
# For more information : https://github.com/cedricbonhomme/Stegano
|
||||
#
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# Stegano - Stegano is a pure Python steganography module.
|
||||
# Copyright (C) 2010-2024 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
# Copyright (C) 2010-2025 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
#
|
||||
# For more information : https://github.com/cedricbonhomme/Stegano
|
||||
#
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# Stegano - Stegano is a pure Python steganography module.
|
||||
# Copyright (C) 2010-2024 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
# Copyright (C) 2010-2025 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
#
|
||||
# For more information : https://github.com/cedricbonhomme/Stegano
|
||||
#
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# Stegano - Stegano is a pure Python steganography module.
|
||||
# Copyright (C) 2010-2024 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
# Copyright (C) 2010-2025 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
#
|
||||
# For more information : https://github.com/cedricbonhomme/Stegano
|
||||
#
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# Stegano - Stegano is a pure Python steganography module.
|
||||
# Copyright (C) 2010-2024 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
# Copyright (C) 2010-2025 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
#
|
||||
# For more information : https://github.com/cedricbonhomme/Stegano
|
||||
#
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# Stegano - Stegano is a pure Python steganography module.
|
||||
# Copyright (C) 2010-2024 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
# Copyright (C) 2010-2025 Cédric Bonhomme - https://www.cedricbonhomme.org
|
||||
#
|
||||
# For more information : https://github.com/cedricbonhomme/Stegano
|
||||
#
|
||||
|
|
Loading…
Add table
Reference in a new issue