.. image:: https://raw.githubusercontent.com/qeeqbox/honeypots/main/readme/honeypots.png
30 different honeypots in a single PyPI package for monitoring network traffic, bots activities, and username \ password credentials.
Why honeypots package is very powerful?
=======================================
The honeypots respond back, non-blocking, can be used as objects, or called directly with the in-built auto-configure scripts! Also, they are easy to setup and customize, it takes 1-2 seconds to spin a honeypot up. You can spin up multiple instances with the same type. The output can be logged to a Postgres database, file[s], terminal or syslog for easy integration.
This honeypots package is the only package that contains all the following: dhcp, dns, elastic, ftp, http_proxy, http, https, imap, ipp, irc, ldap, memcache, mssql, mysql, ntp, oracle, pjl, pop3, postgres, rdp, redis, sip, smb, smtp, snmp, socks5, ssh, telnet, vnc.
Honeypots now is in the awesome `telekom security T-Pot project! <https://github.com/telekom-security/tpotce>`_
Install
=======
.. code:: bash
pip3 install honeypots
honeypots -h
============
.. code:: bash
Qeeqbox/honeypots customizable honeypots for monitoring network traffic, bots activities, and username\password credentials
Arguments:
--setup target honeypot E.g. ssh or you can have multiple E.g ssh,http,https
--list list all available honeypots
--kill kill all honeypots
--verbose Print error msgs
Honeypots options:
--ip Override the IP
--port Override the Port (Do not use on multiple!)
--username Override the username
--password Override the password
--config Use a config file for honeypots settings
--options Extra options (capture_commands for capturing all threat actor data)
General options:
--termination-strategy {input,signal} Determines the strategy to terminate by
--test Test a honeypot
--auto Setup the honeypot with random port
Usage Example - Auto configuration with default ports
=====================================================
Use a honeypot, or multiple honeypots separated by comma or word all
.. code:: bash
sudo -E python3 -m honeypots --setup ssh
Usage Example - Auto configuration with random port (No need for higher privileges)
===================================================================================
Use a honeypot, or multiple honeypots separated by comma or word all
.. code:: bash
python3 -m honeypots --setup ssh --auto
Usage Example - Auto configure with specific ports
==================================================
Use as honeypot:port or multiple honeypots as honeypot:port,honeypot:port
.. code:: bash
python3 -m honeypots --setup imap:143,mysql:3306,redis:6379
Usage Example - Custom configure with logs location
===================================================
Use a honeypot, or multiple honeypots separated by comma or word all
.. code:: bash
python3 -m honeypots --setup ssh --config config.json
config.json (Output to folder and terminal)
===========================================
.. code:: json
{
"logs": "file,terminal,json",
"logs_location": "/var/log/honeypots/",
"syslog_address": "",
"syslog_facility": 0,
"postgres": "",
"sqlite_file":"",
"db_options": [],
"sniffer_filter": "",
"sniffer_interface": "",
"honeypots": {
"ftp": {
"port": 21,
"ip": "0.0.0.0",
"username": "ftp",
"password": "anonymous",
"log_file_name": "ftp.log",
"max_bytes": 10000,
"backup_count": 10
}
}
}
config.json (Output to syslog)
==============================
.. code:: json
{
"logs": "syslog",
"logs_location": "",
"syslog_address": "udp://localhost:514",
"syslog_facility": 3,
"postgres": "",
"sqlite_file":"",
"db_options": [],
"sniffer_filter": "",
"sniffer_interface": "",
"honeypots": {
"ftp": {
"port": 21,
"ip": "0.0.0.0",
"username": "test",
"password": "test"
}
}
}
config.json (Output to Postgres db)
===================================
.. code:: json
{
"logs": "db_postgres",
"logs_location": "",
"syslog_address":"",
"syslog_facility":0,
"postgres":"//username:password@172.19.0.2:9999/honeypots",
"sqlite_file":"",
"db_options":["drop"],
"sniffer_filter": "",
"sniffer_interface": "",
"honeypots": {
"ftp": {
"port": 21,
"username": "test",
"password": "test"
}
}
}
config.json (Output to Sqlite db)
=================================
.. code:: json
{
"logs": "db_postgres",
"logs_location": "",
"syslog_address":"",
"syslog_facility":0,
"postgres":"",
"sqlite_file":"/home/test.db",
"db_options":["drop"],
"sniffer_sniffer_filter": "",
"sniffer_interface": "",
"honeypots": {
"ftp": {
"port": 21,
"username": "test",
"password": "test"
}
}
}
db structure
============
.. code:: json
[
{
"id": 1,
"date": "2021-11-18 06:06:42.304338+00",
"data": {
"server": "'ftp_server'",
"action": "'process'",
"status": "'success'",
"ip": "'0.0.0.0'",
"port": "21",
"username": "'test'",
"password": "'test'"
}
}
]
Usage Example - Import as object and auto test
==============================================
.. code:: python
#ip= String E.g. 0.0.0.0
#port= Int E.g. 9999
#username= String E.g. Test
#password= String E.g. Test
#options= Boolean or String E.g OpenSSH 7.0
#logs= String E.g db, terminal or all
#always remember to add process=true to run_server() for non-blocking
from honeypots import QSSHServer
qsshserver = QSSHServer(port=9999)
qsshserver.run_server(process=True)
qsshserver.test_server(port=9999)
INFO:chameleonlogger:['servers', {'status': 'success', 'username': 'test', 'src_ip': '127.0.0.1', 'server': 'ssh_server', 'action': 'login', 'password': 'test', 'src_port': 38696}]
qsshserver.kill_server()
Usage Example - Import as object and test with external ssh command
===================================================================
.. code:: python
from honeypots import QSSHServer
qsshserver = QSSHServer(port=9999)
qsshserver.run_server(process=True)
.. code:: bash
ssh test@127.0.0.1
Honeypot answer
.. code:: python
INFO:chameleonlogger:['servers', {'status': 'success', 'username': 'test', 'src_ip': '127.0.0.1', 'server': 'ssh_server', 'action': 'login', 'password': 'test', 'src_port': 38696}]
Close the honeypot
.. code:: python
qsshserver.kill_server()
Current Servers/Emulators
=========================
- QDNSServer
- Server: DNS
- Port: 53
- Lib: Twisted
- Logs: ip, port
- QFTPServer
- Server: FTP
- Port: 21
- Lib: Twisted
- Logs: ip, port, username and password
- QHTTPProxyServer
- Server: HTTP Proxy
- Port: 8080
- Lib: Twisted
- Logs: ip, port and data
- QHTTPServer
- Server: HTTP
- Port: 80
- Lib: Twisted
- Logs: ip, port, username and password
- QHTTPSServer
- Server: HTTPS
- Port: 443
- Lib: Twisted
- Logs: ip, port, username and password
- QIMAPServer
- Server: IMAP
- Port: 143
- Lib: Twisted
- Logs: ip, port, username and password
- QMysqlServer
- Emulator: Mysql
- Port: 3306
- Lib: Twisted
- Logs: ip, port, username and password
- QPOP3Server
- Server: POP3
- Port: 110
- Lib: Twisted
- Logs: ip, port, username and password
- QPostgresServer
- Emulator: Postgres
- Port: 5432
- Lib: Twisted
- Logs: ip, port, username and password
- QRedisServer
- Emulator: Redis
- Port: 6379
- Lib: Twisted
- Logs: ip, port, username and password
- QSMBServer
- Server: Redis
- Port: 445
- Lib: impacket
- Logs: ip, port and username
- QSMTPServer
- Server: SMTP
- Port: 25
- Lib: smtpd
- Logs: ip, port, username and password
- QSOCKS5Server
- Server: SOCK5
- Port: 1080
- Lib: socketserver
- Logs: ip, port, username and password
- QSSHServer
- Server: SSH
- Port: 22
- Lib: paramiko
- Logs: ip, port, username and password
- QTelnetServer
- Server: Telnet
- Port: 23
- Lib: Twisted
- Logs: ip, port, username and password
- QVNCServer
- Emulator: VNC
- Port: 5900
- Lib: Twisted
- Logs: ip, port, username and password
- QMSSQLServer
- Emulator: MSSQL
- Port: 1433
- Lib: Twisted
- Logs: ip, port, username and password or hash
- QElasticServer
- Emulator: Elastic
- Port: 9200
- Lib: http.server
- Logs: ip, port and data
- QLDAPServer
- Emulator: LDAP
- Port: 389
- Lib: Twisted
- Logs: ip, port, username and password
- QNTPServer
- Emulator: NTP
- Port: 123
- Lib: Twisted
- Logs: ip, port and data
- QMemcacheServer
- Emulator: Memcache
- Port: 11211
- Lib: Twisted
- Logs: ip, port and data
- QOracleServer
- Emulator: Oracle
- Port: 1521
- Lib: Twisted
- Logs: ip, port and connet data
- QSNMPServer
- Emulator: SNMP
- Port: 161
- Lib: Twisted
- Logs: ip, port and data
acknowledgement
===============
- By using this framework, you are accepting the license terms of all these packages: `pipenv twisted psutil psycopg2-binary dnspython requests impacket paramiko redis mysql-connector pycryptodome vncdotool service_identity requests[socks] pygments http.server`
- Let me know if I missed a reference or resource!
Some Articles
=============
- `securityonline <https://securityonline.info/honeypots-16-honeypots-in-a-single-pypi-package/>`_
Notes
=====
- Almost all servers and emulators are stripped-down - You can adjust that as needed
Other projects
==============
.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//social-analyzer.png
:target: https://github.com/qeeqbox/social-analyzer
.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//analyzer.png
:target: https://github.com/qeeqbox/analyzer
.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//chameleon.png
:target: https://github.com/qeeqbox/chameleon
.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//osint.png
:target: https://github.com/qeeqbox/osint
.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//url-sandbox.png
:target: https://github.com/qeeqbox/url-sandbox
.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//mitre-visualizer.png
:target: https://github.com/qeeqbox/mitre-visualizer
.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//woodpecker.png
:target: https://github.com/qeeqbox/woodpecker
.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//docker-images.png
:target: https://github.com/qeeqbox/docker-images
.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//seahorse.png
:target: https://github.com/qeeqbox/seahorse
.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//rhino.png
:target: https://github.com/qeeqbox/rhino
Raw data
{
"_id": null,
"home_page": "https://github.com/qeeqbox/honeypots",
"name": "test-honeypotsBrn",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.5",
"maintainer_email": "",
"keywords": "",
"author": "BRi",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/52/64/f751facbc25a78acf6c49ddd4e8b2a1f7821aa9fc63bf7649e724ae8bb10/test-honeypotsBrn-7.15.tar.gz",
"platform": null,
"description": ".. image:: https://raw.githubusercontent.com/qeeqbox/honeypots/main/readme/honeypots.png\n\n30 different honeypots in a single PyPI package for monitoring network traffic, bots activities, and username \\ password credentials. \n\nWhy honeypots package is very powerful?\n=======================================\n\nThe honeypots respond back, non-blocking, can be used as objects, or called directly with the in-built auto-configure scripts! Also, they are easy to setup and customize, it takes 1-2 seconds to spin a honeypot up. You can spin up multiple instances with the same type. The output can be logged to a Postgres database, file[s], terminal or syslog for easy integration.\n\nThis honeypots package is the only package that contains all the following: dhcp, dns, elastic, ftp, http_proxy, http, https, imap, ipp, irc, ldap, memcache, mssql, mysql, ntp, oracle, pjl, pop3, postgres, rdp, redis, sip, smb, smtp, snmp, socks5, ssh, telnet, vnc.\n\nHoneypots now is in the awesome `telekom security T-Pot project! <https://github.com/telekom-security/tpotce>`_\n\n\nInstall\n=======\n\n.. code:: bash\n\n pip3 install honeypots\n\nhoneypots -h\n============\n\n.. code:: bash\n\n Qeeqbox/honeypots customizable honeypots for monitoring network traffic, bots activities, and username\\password credentials\n\n Arguments:\n --setup target honeypot E.g. ssh or you can have multiple E.g ssh,http,https\n --list list all available honeypots\n --kill kill all honeypots\n --verbose Print error msgs\n\n Honeypots options:\n --ip Override the IP\n --port Override the Port (Do not use on multiple!)\n --username Override the username\n --password Override the password\n --config Use a config file for honeypots settings\n --options Extra options (capture_commands for capturing all threat actor data)\n\n General options:\n --termination-strategy {input,signal} Determines the strategy to terminate by\n --test Test a honeypot\n --auto Setup the honeypot with random port\n\n\nUsage Example - Auto configuration with default ports\n=====================================================\nUse a honeypot, or multiple honeypots separated by comma or word all\n\n.. code:: bash\n\n sudo -E python3 -m honeypots --setup ssh\n\nUsage Example - Auto configuration with random port (No need for higher privileges)\n===================================================================================\nUse a honeypot, or multiple honeypots separated by comma or word all\n\n.. code:: bash\n\n python3 -m honeypots --setup ssh --auto\n\nUsage Example - Auto configure with specific ports\n==================================================\nUse as honeypot:port or multiple honeypots as honeypot:port,honeypot:port\n\n.. code:: bash\n\n python3 -m honeypots --setup imap:143,mysql:3306,redis:6379\n\nUsage Example - Custom configure with logs location\n===================================================\nUse a honeypot, or multiple honeypots separated by comma or word all\n\n.. code:: bash\n\n python3 -m honeypots --setup ssh --config config.json\n\nconfig.json (Output to folder and terminal)\n===========================================\n\n.. code:: json\n\n {\n \"logs\": \"file,terminal,json\",\n \"logs_location\": \"/var/log/honeypots/\",\n \"syslog_address\": \"\",\n \"syslog_facility\": 0,\n \"postgres\": \"\",\n \"sqlite_file\":\"\",\n \"db_options\": [],\n \"sniffer_filter\": \"\",\n \"sniffer_interface\": \"\",\n \"honeypots\": {\n \"ftp\": {\n \"port\": 21,\n \"ip\": \"0.0.0.0\",\n \"username\": \"ftp\",\n \"password\": \"anonymous\",\n \"log_file_name\": \"ftp.log\",\n \"max_bytes\": 10000,\n \"backup_count\": 10\n }\n }\n }\n\nconfig.json (Output to syslog)\n==============================\n\n.. code:: json\n\n {\n \"logs\": \"syslog\",\n \"logs_location\": \"\",\n \"syslog_address\": \"udp://localhost:514\",\n \"syslog_facility\": 3,\n \"postgres\": \"\",\n \"sqlite_file\":\"\",\n \"db_options\": [],\n \"sniffer_filter\": \"\",\n \"sniffer_interface\": \"\",\n \"honeypots\": {\n \"ftp\": {\n \"port\": 21,\n \"ip\": \"0.0.0.0\",\n \"username\": \"test\",\n \"password\": \"test\"\n }\n }\n }\n\nconfig.json (Output to Postgres db)\n===================================\n\n.. code:: json\n\n {\n \"logs\": \"db_postgres\",\n \"logs_location\": \"\",\n \"syslog_address\":\"\",\n \"syslog_facility\":0,\n \"postgres\":\"//username:password@172.19.0.2:9999/honeypots\",\n \"sqlite_file\":\"\",\n \"db_options\":[\"drop\"],\n \"sniffer_filter\": \"\",\n \"sniffer_interface\": \"\",\n \"honeypots\": {\n \"ftp\": {\n \"port\": 21,\n \"username\": \"test\",\n \"password\": \"test\"\n }\n }\n }\n\n\nconfig.json (Output to Sqlite db)\n=================================\n\n.. code:: json\n\n {\n \"logs\": \"db_postgres\",\n \"logs_location\": \"\",\n \"syslog_address\":\"\",\n \"syslog_facility\":0,\n \"postgres\":\"\",\n \"sqlite_file\":\"/home/test.db\",\n \"db_options\":[\"drop\"],\n \"sniffer_sniffer_filter\": \"\",\n \"sniffer_interface\": \"\",\n \"honeypots\": {\n \"ftp\": {\n \"port\": 21,\n \"username\": \"test\",\n \"password\": \"test\"\n }\n }\n }\n\ndb structure\n============\n\n.. code:: json\n\n [\n {\n \"id\": 1,\n \"date\": \"2021-11-18 06:06:42.304338+00\",\n \"data\": {\n \"server\": \"'ftp_server'\",\n \"action\": \"'process'\",\n \"status\": \"'success'\",\n \"ip\": \"'0.0.0.0'\",\n \"port\": \"21\",\n \"username\": \"'test'\",\n \"password\": \"'test'\"\n }\n }\n ]\n\nUsage Example - Import as object and auto test\n==============================================\n\n.. code:: python\n\n #ip= String E.g. 0.0.0.0\n #port= Int E.g. 9999\n #username= String E.g. Test\n #password= String E.g. Test\n #options= Boolean or String E.g OpenSSH 7.0\n #logs= String E.g db, terminal or all\n #always remember to add process=true to run_server() for non-blocking\n\n from honeypots import QSSHServer\n qsshserver = QSSHServer(port=9999)\n qsshserver.run_server(process=True)\n qsshserver.test_server(port=9999)\n INFO:chameleonlogger:['servers', {'status': 'success', 'username': 'test', 'src_ip': '127.0.0.1', 'server': 'ssh_server', 'action': 'login', 'password': 'test', 'src_port': 38696}]\n qsshserver.kill_server()\n\nUsage Example - Import as object and test with external ssh command\n===================================================================\n\n.. code:: python\n\n from honeypots import QSSHServer\n qsshserver = QSSHServer(port=9999)\n qsshserver.run_server(process=True)\n\n.. code:: bash\n\n ssh test@127.0.0.1\n\nHoneypot answer\n\n.. code:: python\n\n INFO:chameleonlogger:['servers', {'status': 'success', 'username': 'test', 'src_ip': '127.0.0.1', 'server': 'ssh_server', 'action': 'login', 'password': 'test', 'src_port': 38696}]\n\nClose the honeypot\n\n.. code:: python\n\n qsshserver.kill_server()\n\nCurrent Servers/Emulators\n=========================\n- QDNSServer\n - Server: DNS \n - Port: 53\n - Lib: Twisted\n - Logs: ip, port\n- QFTPServer\n - Server: FTP \n - Port: 21\n - Lib: Twisted\n - Logs: ip, port, username and password\n- QHTTPProxyServer\n - Server: HTTP Proxy\n - Port: 8080\n - Lib: Twisted\n - Logs: ip, port and data\n- QHTTPServer\n - Server: HTTP\n - Port: 80\n - Lib: Twisted\n - Logs: ip, port, username and password\n- QHTTPSServer\n - Server: HTTPS\n - Port: 443\n - Lib: Twisted\n - Logs: ip, port, username and password\n- QIMAPServer\n - Server: IMAP\n - Port: 143\n - Lib: Twisted\n - Logs: ip, port, username and password\n- QMysqlServer\n - Emulator: Mysql\n - Port: 3306\n - Lib: Twisted\n - Logs: ip, port, username and password\n- QPOP3Server\n - Server: POP3\n - Port: 110\n - Lib: Twisted\n - Logs: ip, port, username and password\n- QPostgresServer\n - Emulator: Postgres\n - Port: 5432\n - Lib: Twisted\n - Logs: ip, port, username and password\n- QRedisServer\n - Emulator: Redis\n - Port: 6379\n - Lib: Twisted\n - Logs: ip, port, username and password\n- QSMBServer\n - Server: Redis\n - Port: 445\n - Lib: impacket\n - Logs: ip, port and username\n- QSMTPServer\n - Server: SMTP\n - Port: 25\n - Lib: smtpd\n - Logs: ip, port, username and password\n- QSOCKS5Server\n - Server: SOCK5\n - Port: 1080\n - Lib: socketserver\n - Logs: ip, port, username and password\n- QSSHServer\n - Server: SSH\n - Port: 22\n - Lib: paramiko\n - Logs: ip, port, username and password\n- QTelnetServer\n - Server: Telnet\n - Port: 23\n - Lib: Twisted\n - Logs: ip, port, username and password\n- QVNCServer\n - Emulator: VNC\n - Port: 5900\n - Lib: Twisted\n - Logs: ip, port, username and password\n- QMSSQLServer\n - Emulator: MSSQL\n - Port: 1433\n - Lib: Twisted\n - Logs: ip, port, username and password or hash\n- QElasticServer\n - Emulator: Elastic\n - Port: 9200\n - Lib: http.server\n - Logs: ip, port and data\n- QLDAPServer\n - Emulator: LDAP\n - Port: 389\n - Lib: Twisted\n - Logs: ip, port, username and password\n- QNTPServer\n - Emulator: NTP\n - Port: 123\n - Lib: Twisted\n - Logs: ip, port and data\n- QMemcacheServer\n - Emulator: Memcache\n - Port: 11211\n - Lib: Twisted\n - Logs: ip, port and data\n- QOracleServer\n - Emulator: Oracle\n - Port: 1521\n - Lib: Twisted\n - Logs: ip, port and connet data\n- QSNMPServer\n - Emulator: SNMP\n - Port: 161\n - Lib: Twisted\n - Logs: ip, port and data\n\nacknowledgement\n===============\n- By using this framework, you are accepting the license terms of all these packages: `pipenv twisted psutil psycopg2-binary dnspython requests impacket paramiko redis mysql-connector pycryptodome vncdotool service_identity requests[socks] pygments http.server`\n- Let me know if I missed a reference or resource!\n\nSome Articles\n=============\n- `securityonline <https://securityonline.info/honeypots-16-honeypots-in-a-single-pypi-package/>`_\n\nNotes\n=====\n- Almost all servers and emulators are stripped-down - You can adjust that as needed\n\nOther projects\n==============\n.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//social-analyzer.png\n :target: https://github.com/qeeqbox/social-analyzer\n\n.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//analyzer.png\n :target: https://github.com/qeeqbox/analyzer\n\n.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//chameleon.png\n :target: https://github.com/qeeqbox/chameleon\n\n.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//osint.png\n :target: https://github.com/qeeqbox/osint\n\n.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//url-sandbox.png\n :target: https://github.com/qeeqbox/url-sandbox\n\n.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//mitre-visualizer.png\n :target: https://github.com/qeeqbox/mitre-visualizer\n\n.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//woodpecker.png\n :target: https://github.com/qeeqbox/woodpecker\n\n.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//docker-images.png\n :target: https://github.com/qeeqbox/docker-images\n\n.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//seahorse.png\n :target: https://github.com/qeeqbox/seahorse\n\n.. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//rhino.png\n :target: https://github.com/qeeqbox/rhino\n\n\n",
"bugtrack_url": null,
"license": "AGPL-3.0",
"summary": "",
"version": "7.15",
"project_urls": {
"Homepage": "https://github.com/qeeqbox/honeypots"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f4e1539c7326d5b06bad00d46ddd3de1dabeb683fa483b70cebfa24d2cd9b5da",
"md5": "6caab0001c4ac6751096771e44352af0",
"sha256": "297c7b466760ae93bc1e48fdf6327868c76580a1eac27104ec11eb0f60e5d898"
},
"downloads": -1,
"filename": "test_honeypotsBrn-7.15-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6caab0001c4ac6751096771e44352af0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.5",
"size": 93731,
"upload_time": "2023-12-11T02:47:51",
"upload_time_iso_8601": "2023-12-11T02:47:51.039478Z",
"url": "https://files.pythonhosted.org/packages/f4/e1/539c7326d5b06bad00d46ddd3de1dabeb683fa483b70cebfa24d2cd9b5da/test_honeypotsBrn-7.15-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5264f751facbc25a78acf6c49ddd4e8b2a1f7821aa9fc63bf7649e724ae8bb10",
"md5": "c779992aa6c33fbb2c95ab9591d7d092",
"sha256": "b18bc8c3b3c95a49918c9761732ae839c11ad3a92b9835d76d2f5d0901b501ef"
},
"downloads": -1,
"filename": "test-honeypotsBrn-7.15.tar.gz",
"has_sig": false,
"md5_digest": "c779992aa6c33fbb2c95ab9591d7d092",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 51658,
"upload_time": "2023-12-11T02:47:53",
"upload_time_iso_8601": "2023-12-11T02:47:53.675468Z",
"url": "https://files.pythonhosted.org/packages/52/64/f751facbc25a78acf6c49ddd4e8b2a1f7821aa9fc63bf7649e724ae8bb10/test-honeypotsBrn-7.15.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-11 02:47:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "qeeqbox",
"github_project": "honeypots",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "test-honeypotsbrn"
}