mirror of https://github.com/cowrie/cowrie.git
185 lines
5.3 KiB
TOML
185 lines
5.3 KiB
TOML
[build-system]
|
|
requires = ["setuptools >= 65.63"]
|
|
|
|
[project]
|
|
name = "cowrie"
|
|
dynamic = ["version"]
|
|
description="Cowrie SSH/Telnet Honeypot."
|
|
license.text="BSD-3-Clause"
|
|
authors = [ {name = "Michel Oosterhof", email="michel@oosterhof.net"}, ]
|
|
maintainers = [ {name = "Michel Oosterhof", email="michel@oosterhof.net"}, ]
|
|
keywords=["ssh", "telnet", "honeypot"]
|
|
requires-python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*, !=3.8.*, <4"
|
|
readme="README.rst"
|
|
classifiers=[
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Environment :: No Input/Output (Daemon)",
|
|
"Framework :: Twisted",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: System Administrators",
|
|
"License :: OSI Approved :: BSD License",
|
|
"Operating System :: MacOS :: MacOS X",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Operating System :: POSIX",
|
|
"Programming Language :: Python",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3 :: Only",
|
|
"Topic :: Security"
|
|
]
|
|
|
|
dependencies = [
|
|
"attrs==24.3.0",
|
|
"bcrypt==4.2.1",
|
|
"cryptography==44.0.0",
|
|
"hyperlink==21.0.0",
|
|
"idna==3.10",
|
|
"packaging==24.2",
|
|
"pyasn1_modules==0.4.1",
|
|
"requests==2.32.3",
|
|
"service_identity==24.2.0",
|
|
"tftpy==0.8.2",
|
|
"treq==24.9.1",
|
|
"twisted==24.10.0",
|
|
]
|
|
|
|
[project.urls]
|
|
homepage = "https://www.cowrie.org/"
|
|
documentation = "https://docs.cowrie.org/"
|
|
repository = "https://github.com/cowrie/cowrie"
|
|
|
|
[project.scripts]
|
|
fsctl = "cowrie.scripts.fsctl:run"
|
|
asciinema = "cowrie.scripts.asciinema:run"
|
|
creatfs = "cowrie.scripts.createfs:run"
|
|
playlog = "cowrie.scripts.playlog:run"
|
|
|
|
[project.optional-dependencies]
|
|
csirtg = ["csirtgsdk==1.1.5"]
|
|
dshield = ["requests"]
|
|
elasticsearch = ["pyes"]
|
|
mysql = ["mysqlclient"]
|
|
mongodb = ["pymongo"]
|
|
rethinkdblog = ["rethinkdb"]
|
|
s3 = ["botocore"]
|
|
slack = ["slackclient"]
|
|
influxdb = ["influxdb"]
|
|
dev = [
|
|
"build==1.2.2.post1",
|
|
"coverage==7.6.9",
|
|
"mypy-extensions==1.0.0; platform_python_implementation=='CPython'",
|
|
"mypy-zope==1.0.9; platform_python_implementation=='CPython'",
|
|
"mypy==1.14.0; platform_python_implementation=='CPython'",
|
|
"pathspec==0.12.1",
|
|
"pipdeptree==2.23.4",
|
|
"pre-commit==4.0.1",
|
|
"pylint==3.3.2",
|
|
"pyre-check==0.9.23",
|
|
"pyright==1.1.391",
|
|
"pytype==2024.1.24; platform_python_implementation=='CPython' and python_version<'3.11'",
|
|
"pyupgrade==3.19.1",
|
|
"pyyaml==6.0.2",
|
|
"readthedocs-sphinx-search==0.3.2",
|
|
"ruff==0.8.2",
|
|
"setuptools==75.6.0",
|
|
"sphinx-copybutton==0.5.2",
|
|
"sphinx_rtd_theme==3.0.2",
|
|
"tox==4.23.2",
|
|
"types-python-dateutil==2.9.0.20241206",
|
|
"types-redis==4.6.0.20241004",
|
|
"types-requests==2.32.0.20241016",
|
|
"yamllint==1.35.1",
|
|
]
|
|
|
|
[tool.isort]
|
|
profile = "black"
|
|
known_zope = "zope"
|
|
known_twisted = "twisted"
|
|
known_first_party = ["cowrie","backend_pool"]
|
|
sections=["FUTURE","STDLIB","THIRDPARTY","ZOPE","TWISTED","FIRSTPARTY","LOCALFOLDER"]
|
|
|
|
|
|
[tool.mypy]
|
|
namespace_packages = true
|
|
plugins = [ "mypy_zope:plugin" ]
|
|
disable_error_code = [ "annotation-unchecked" ]
|
|
|
|
ignore_missing_imports = true
|
|
warn_unused_configs = true
|
|
no_implicit_optional = true
|
|
show_column_numbers = true
|
|
show_error_codes = true
|
|
strict_optional = true
|
|
warn_no_return = true
|
|
warn_redundant_casts = true
|
|
warn_return_any = true
|
|
warn_unreachable = true
|
|
disallow_incomplete_defs = true
|
|
disallow_any_unimported = true
|
|
strict_equality = true
|
|
disallow_untyped_decorators = true
|
|
disallow_subclassing_any = true
|
|
warn_unused_ignores = true
|
|
local_partial_types = true
|
|
no_implicit_reexport = true
|
|
|
|
# Getting these passing should be easy
|
|
# strict_concatenate = true
|
|
|
|
# These are too strict for us at the moment
|
|
|
|
check_untyped_defs = false
|
|
disallow_untyped_defs = false
|
|
disallow_any_decorated = false
|
|
disallow_any_explicit = false
|
|
disallow_any_expr = false
|
|
disallow_any_generics = false
|
|
disallow_untyped_calls = false
|
|
|
|
|
|
[tool.pylint."MESSAGES CONTROL"]
|
|
disable = ["R0801", "R0901", "R0902", "R0903", "R0904", "R0912", "R0913", "R0914", "R0915", "C0103", "C0114", "C0115", "C0116", "C0301", "W0201"]
|
|
ignored-classes = ["twisted.internet.reactor"]
|
|
|
|
|
|
[tool.pyright]
|
|
include = ["src"]
|
|
typeCheckingMode = "strict"
|
|
reportArgumentType = "none"
|
|
reportAssignmentType = "none"
|
|
reportAttributeAccessIssue = "none"
|
|
reportCallIssue = "information"
|
|
reportGeneralTypeIssues = "information"
|
|
reportIncompatibleMethodOverride = "information"
|
|
reportIncompatibleVariableOverride = "none"
|
|
reportMissingImports = "none"
|
|
reportMissingModuleSource = "none"
|
|
reportOperatorIssue = "information"
|
|
reportOptionalCall = "information"
|
|
reportOptionalMemberAccess = "none"
|
|
reportOptionalOperand = "information"
|
|
reportPossiblyUnboundVariable = "information"
|
|
reportUnsupportedDunderAll = "information"
|
|
|
|
[tool.ruff]
|
|
line-length = 88
|
|
|
|
# Enable Pyflakes `E` and `F` codes by default.
|
|
lint.select = ["A", "B", "E", "F", "UP", "YTT", "B", "T20", "Q", "RUF", "TC", "TRY", "PYI", "FAST"]
|
|
lint.ignore = ["E501", "UP007", "B019", "RUF001", "UP038"]
|
|
|
|
# Assume Python 3.10.
|
|
target-version = "py310"
|
|
|
|
|
|
# Ignore `T201` (print) in all scripts
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"src/cowrie/scripts/*" = ["T201"]
|
|
|
|
|
|
[tool.setuptools]
|
|
package-dir = {"" = "src"}
|
|
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|