cowrie 2.7.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. cowrie-2.7.0/.dockerignore +5 -0
  2. cowrie-2.7.0/.gitattributes +1 -0
  3. cowrie-2.7.0/.github/FUNDING.yml +2 -0
  4. cowrie-2.7.0/.github/ISSUE_TEMPLATE/bug_report.md +27 -0
  5. cowrie-2.7.0/.github/ISSUE_TEMPLATE/config.yml +6 -0
  6. cowrie-2.7.0/.github/ISSUE_TEMPLATE/feature_request.md +17 -0
  7. cowrie-2.7.0/.github/ISSUE_TEMPLATE/setup_help.md +29 -0
  8. cowrie-2.7.0/.github/SUPPORT.md +4 -0
  9. cowrie-2.7.0/.github/dependabot.yml +24 -0
  10. cowrie-2.7.0/.github/workflows/docker.yml +118 -0
  11. cowrie-2.7.0/.github/workflows/test-pypi.yml +61 -0
  12. cowrie-2.7.0/.github/workflows/tox.yml +46 -0
  13. cowrie-2.7.0/.gitignore +29 -0
  14. cowrie-2.7.0/.pre-commit-config.yaml +49 -0
  15. cowrie-2.7.0/.pyre_configuration +17 -0
  16. cowrie-2.7.0/.readthedocs.yml +28 -0
  17. cowrie-2.7.0/.yamllint.yml +10 -0
  18. cowrie-2.7.0/CHANGELOG.rst +302 -0
  19. cowrie-2.7.0/CONTRIBUTING.rst +53 -0
  20. cowrie-2.7.0/INSTALL.rst +275 -0
  21. cowrie-2.7.0/LICENSE.rst +31 -0
  22. cowrie-2.7.0/MANIFEST.in +7 -0
  23. cowrie-2.7.0/Makefile +153 -0
  24. cowrie-2.7.0/PKG-INFO +190 -0
  25. cowrie-2.7.0/README.rst +106 -0
  26. cowrie-2.7.0/bin/cowrie +240 -0
  27. cowrie-2.7.0/bin/createdynamicprocess +12 -0
  28. cowrie-2.7.0/bin/regen-dropin.cache +4 -0
  29. cowrie-2.7.0/docker/Dockerfile +121 -0
  30. cowrie-2.7.0/docker/docker-compose.yml +17 -0
  31. cowrie-2.7.0/docs/BACKEND_POOL.rst +267 -0
  32. cowrie-2.7.0/docs/CHANGELOG.rst +1 -0
  33. cowrie-2.7.0/docs/CONTRIBUTING.rst +1 -0
  34. cowrie-2.7.0/docs/FAQ.rst +57 -0
  35. cowrie-2.7.0/docs/HONEYFS.rst +38 -0
  36. cowrie-2.7.0/docs/INSTALL.rst +1 -0
  37. cowrie-2.7.0/docs/LICENSE.rst +1 -0
  38. cowrie-2.7.0/docs/Makefile +23 -0
  39. cowrie-2.7.0/docs/OUTPUT.rst +181 -0
  40. cowrie-2.7.0/docs/PROXY.rst +80 -0
  41. cowrie-2.7.0/docs/README.rst +1 -0
  42. cowrie-2.7.0/docs/SNAPSHOTS.rst +110 -0
  43. cowrie-2.7.0/docs/_static/.gitignore +0 -0
  44. cowrie-2.7.0/docs/conf.py +200 -0
  45. cowrie-2.7.0/docs/datadog/README.rst +22 -0
  46. cowrie-2.7.0/docs/docker/README.rst +61 -0
  47. cowrie-2.7.0/docs/elk/README.rst +176 -0
  48. cowrie-2.7.0/docs/elk/filebeat-cowrie.conf +223 -0
  49. cowrie-2.7.0/docs/elk/logstash-cowrie.conf +75 -0
  50. cowrie-2.7.0/docs/elk/nginx-default +20 -0
  51. cowrie-2.7.0/docs/graylog/README.rst +153 -0
  52. cowrie-2.7.0/docs/index.rst +42 -0
  53. cowrie-2.7.0/docs/kippo-graph/README.rst +108 -0
  54. cowrie-2.7.0/docs/prometheus/README.rst +148 -0
  55. cowrie-2.7.0/docs/prometheus/prometheus.yaml +21 -0
  56. cowrie-2.7.0/docs/requirements.txt +6 -0
  57. cowrie-2.7.0/docs/sentinel/README.rst +38 -0
  58. cowrie-2.7.0/docs/sentinel/cowrie-parser.txt +100 -0
  59. cowrie-2.7.0/docs/sentinel/cowrie_workbook.json +345 -0
  60. cowrie-2.7.0/docs/splunk/README.rst +22 -0
  61. cowrie-2.7.0/docs/sql/README.rst +198 -0
  62. cowrie-2.7.0/docs/sql/mysql.sql +101 -0
  63. cowrie-2.7.0/docs/sql/postgres.sql +113 -0
  64. cowrie-2.7.0/docs/sql/sqlite3.sql +89 -0
  65. cowrie-2.7.0/docs/sql/update10.sql +7 -0
  66. cowrie-2.7.0/docs/sql/update11.sql +1 -0
  67. cowrie-2.7.0/docs/sql/update12.sql +1 -0
  68. cowrie-2.7.0/docs/sql/update13.sql +7 -0
  69. cowrie-2.7.0/docs/sql/update14.sql +21 -0
  70. cowrie-2.7.0/docs/sql/update15.sql +3 -0
  71. cowrie-2.7.0/docs/sql/update16.sql +3 -0
  72. cowrie-2.7.0/docs/sql/update2.sql +30 -0
  73. cowrie-2.7.0/docs/sql/update3.sql +2 -0
  74. cowrie-2.7.0/docs/sql/update4.sql +6 -0
  75. cowrie-2.7.0/docs/sql/update5.sql +7 -0
  76. cowrie-2.7.0/docs/sql/update6.sql +2 -0
  77. cowrie-2.7.0/docs/sql/update7.sql +9 -0
  78. cowrie-2.7.0/docs/sql/update8.sql +1 -0
  79. cowrie-2.7.0/docs/sql/update9.sql +2 -0
  80. cowrie-2.7.0/docs/squid/README.rst +37 -0
  81. cowrie-2.7.0/docs/squid/squid.conf +19 -0
  82. cowrie-2.7.0/docs/supervisor/README.rst +4 -0
  83. cowrie-2.7.0/docs/supervisor/cowrie.conf +6 -0
  84. cowrie-2.7.0/docs/systemd/README.rst +24 -0
  85. cowrie-2.7.0/docs/systemd/etc/logrotate.d/cowrie +22 -0
  86. cowrie-2.7.0/docs/systemd/etc/rsyslog.d/cowrie.conf +1 -0
  87. cowrie-2.7.0/docs/systemd/etc/systemd/system/cowrie.service +24 -0
  88. cowrie-2.7.0/docs/systemd/etc/systemd/system/cowrie.socket +10 -0
  89. cowrie-2.7.0/etc/.gitignore +1 -0
  90. cowrie-2.7.0/etc/cowrie.cfg.dist +1170 -0
  91. cowrie-2.7.0/etc/userdb.example +22 -0
  92. cowrie-2.7.0/honeyfs/etc/group +44 -0
  93. cowrie-2.7.0/honeyfs/etc/host.conf +1 -0
  94. cowrie-2.7.0/honeyfs/etc/hostname +1 -0
  95. cowrie-2.7.0/honeyfs/etc/hosts +7 -0
  96. cowrie-2.7.0/honeyfs/etc/inittab +69 -0
  97. cowrie-2.7.0/honeyfs/etc/issue +2 -0
  98. cowrie-2.7.0/honeyfs/etc/motd +7 -0
  99. cowrie-2.7.0/honeyfs/etc/passwd +21 -0
  100. cowrie-2.7.0/honeyfs/etc/resolv.conf +2 -0
  101. cowrie-2.7.0/honeyfs/etc/shadow +21 -0
  102. cowrie-2.7.0/honeyfs/proc/cpuinfo +50 -0
  103. cowrie-2.7.0/honeyfs/proc/meminfo +42 -0
  104. cowrie-2.7.0/honeyfs/proc/modules +92 -0
  105. cowrie-2.7.0/honeyfs/proc/mounts +14 -0
  106. cowrie-2.7.0/honeyfs/proc/net/arp +3 -0
  107. cowrie-2.7.0/honeyfs/proc/version +1 -0
  108. cowrie-2.7.0/pyproject.toml +194 -0
  109. cowrie-2.7.0/requirements-dev.txt +30 -0
  110. cowrie-2.7.0/requirements-output.txt +58 -0
  111. cowrie-2.7.0/requirements-pool.txt +1 -0
  112. cowrie-2.7.0/requirements.txt +13 -0
  113. cowrie-2.7.0/setup.cfg +8 -0
  114. cowrie-2.7.0/setup.py +16 -0
  115. cowrie-2.7.0/src/backend_pool/README.md +43 -0
  116. cowrie-2.7.0/src/backend_pool/__init__.py +0 -0
  117. cowrie-2.7.0/src/backend_pool/libvirt/__init__.py +0 -0
  118. cowrie-2.7.0/src/backend_pool/libvirt/backend_service.py +216 -0
  119. cowrie-2.7.0/src/backend_pool/libvirt/guest_handler.py +112 -0
  120. cowrie-2.7.0/src/backend_pool/libvirt/network_handler.py +100 -0
  121. cowrie-2.7.0/src/backend_pool/libvirt/snapshot_handler.py +33 -0
  122. cowrie-2.7.0/src/backend_pool/nat.py +127 -0
  123. cowrie-2.7.0/src/backend_pool/pool_server.py +225 -0
  124. cowrie-2.7.0/src/backend_pool/pool_service.py +481 -0
  125. cowrie-2.7.0/src/backend_pool/ssh_exec.py +109 -0
  126. cowrie-2.7.0/src/backend_pool/telnet_exec.py +156 -0
  127. cowrie-2.7.0/src/backend_pool/util.py +81 -0
  128. cowrie-2.7.0/src/cowrie/__init__.py +12 -0
  129. cowrie-2.7.0/src/cowrie/_version.py +34 -0
  130. cowrie-2.7.0/src/cowrie/commands/__init__.py +61 -0
  131. cowrie-2.7.0/src/cowrie/commands/adduser.py +104 -0
  132. cowrie-2.7.0/src/cowrie/commands/apt.py +219 -0
  133. cowrie-2.7.0/src/cowrie/commands/awk.py +233 -0
  134. cowrie-2.7.0/src/cowrie/commands/base.py +1117 -0
  135. cowrie-2.7.0/src/cowrie/commands/base64.py +150 -0
  136. cowrie-2.7.0/src/cowrie/commands/bash.py +83 -0
  137. cowrie-2.7.0/src/cowrie/commands/busybox.py +107 -0
  138. cowrie-2.7.0/src/cowrie/commands/cat.py +139 -0
  139. cowrie-2.7.0/src/cowrie/commands/chmod.py +145 -0
  140. cowrie-2.7.0/src/cowrie/commands/chpasswd.py +102 -0
  141. cowrie-2.7.0/src/cowrie/commands/crontab.py +78 -0
  142. cowrie-2.7.0/src/cowrie/commands/curl.py +470 -0
  143. cowrie-2.7.0/src/cowrie/commands/dd.py +146 -0
  144. cowrie-2.7.0/src/cowrie/commands/dig.py +202 -0
  145. cowrie-2.7.0/src/cowrie/commands/du.py +131 -0
  146. cowrie-2.7.0/src/cowrie/commands/env.py +36 -0
  147. cowrie-2.7.0/src/cowrie/commands/ethtool.py +82 -0
  148. cowrie-2.7.0/src/cowrie/commands/find.py +114 -0
  149. cowrie-2.7.0/src/cowrie/commands/finger.py +129 -0
  150. cowrie-2.7.0/src/cowrie/commands/free.py +114 -0
  151. cowrie-2.7.0/src/cowrie/commands/fs.py +661 -0
  152. cowrie-2.7.0/src/cowrie/commands/ftpget.py +247 -0
  153. cowrie-2.7.0/src/cowrie/commands/gcc.py +309 -0
  154. cowrie-2.7.0/src/cowrie/commands/git.py +172 -0
  155. cowrie-2.7.0/src/cowrie/commands/groups.py +92 -0
  156. cowrie-2.7.0/src/cowrie/commands/ifconfig.py +82 -0
  157. cowrie-2.7.0/src/cowrie/commands/iptables.py +482 -0
  158. cowrie-2.7.0/src/cowrie/commands/last.py +49 -0
  159. cowrie-2.7.0/src/cowrie/commands/locate.py +99 -0
  160. cowrie-2.7.0/src/cowrie/commands/ls.py +231 -0
  161. cowrie-2.7.0/src/cowrie/commands/lspci.py +44 -0
  162. cowrie-2.7.0/src/cowrie/commands/nc.py +135 -0
  163. cowrie-2.7.0/src/cowrie/commands/netstat.py +205 -0
  164. cowrie-2.7.0/src/cowrie/commands/nohup.py +26 -0
  165. cowrie-2.7.0/src/cowrie/commands/perl.py +125 -0
  166. cowrie-2.7.0/src/cowrie/commands/ping.py +126 -0
  167. cowrie-2.7.0/src/cowrie/commands/python.py +135 -0
  168. cowrie-2.7.0/src/cowrie/commands/scp.py +226 -0
  169. cowrie-2.7.0/src/cowrie/commands/service.py +121 -0
  170. cowrie-2.7.0/src/cowrie/commands/sleep.py +45 -0
  171. cowrie-2.7.0/src/cowrie/commands/ssh.py +152 -0
  172. cowrie-2.7.0/src/cowrie/commands/sudo.py +137 -0
  173. cowrie-2.7.0/src/cowrie/commands/tar.py +101 -0
  174. cowrie-2.7.0/src/cowrie/commands/tee.py +157 -0
  175. cowrie-2.7.0/src/cowrie/commands/tftp.py +138 -0
  176. cowrie-2.7.0/src/cowrie/commands/ulimit.py +47 -0
  177. cowrie-2.7.0/src/cowrie/commands/uname.py +183 -0
  178. cowrie-2.7.0/src/cowrie/commands/uniq.py +87 -0
  179. cowrie-2.7.0/src/cowrie/commands/unzip.py +132 -0
  180. cowrie-2.7.0/src/cowrie/commands/uptime.py +24 -0
  181. cowrie-2.7.0/src/cowrie/commands/wc.py +136 -0
  182. cowrie-2.7.0/src/cowrie/commands/wget.py +368 -0
  183. cowrie-2.7.0/src/cowrie/commands/which.py +32 -0
  184. cowrie-2.7.0/src/cowrie/commands/yum.py +330 -0
  185. cowrie-2.7.0/src/cowrie/core/__init__.py +0 -0
  186. cowrie-2.7.0/src/cowrie/core/artifact.py +97 -0
  187. cowrie-2.7.0/src/cowrie/core/auth.py +264 -0
  188. cowrie-2.7.0/src/cowrie/core/cef.py +117 -0
  189. cowrie-2.7.0/src/cowrie/core/checkers.py +147 -0
  190. cowrie-2.7.0/src/cowrie/core/config.py +74 -0
  191. cowrie-2.7.0/src/cowrie/core/credentials.py +101 -0
  192. cowrie-2.7.0/src/cowrie/core/network.py +113 -0
  193. cowrie-2.7.0/src/cowrie/core/output.py +245 -0
  194. cowrie-2.7.0/src/cowrie/core/realm.py +57 -0
  195. cowrie-2.7.0/src/cowrie/core/ttylog.py +92 -0
  196. cowrie-2.7.0/src/cowrie/core/utils.py +135 -0
  197. cowrie-2.7.0/src/cowrie/data/arch/bsd-aarch64-lsb +0 -0
  198. cowrie-2.7.0/src/cowrie/data/arch/bsd-aarch64-msb +0 -0
  199. cowrie-2.7.0/src/cowrie/data/arch/bsd-bfin-msb +0 -0
  200. cowrie-2.7.0/src/cowrie/data/arch/bsd-mips-lsb +0 -0
  201. cowrie-2.7.0/src/cowrie/data/arch/bsd-mips-msb +0 -0
  202. cowrie-2.7.0/src/cowrie/data/arch/bsd-mips64-lsb +0 -0
  203. cowrie-2.7.0/src/cowrie/data/arch/bsd-mips64-msb +0 -0
  204. cowrie-2.7.0/src/cowrie/data/arch/bsd-powepc-msb +0 -0
  205. cowrie-2.7.0/src/cowrie/data/arch/bsd-powepc64-lsb +0 -0
  206. cowrie-2.7.0/src/cowrie/data/arch/bsd-riscv64-lsb +0 -0
  207. cowrie-2.7.0/src/cowrie/data/arch/bsd-sparc-msb +0 -0
  208. cowrie-2.7.0/src/cowrie/data/arch/bsd-sparc64-msb +0 -0
  209. cowrie-2.7.0/src/cowrie/data/arch/bsd-x32-lsb +0 -0
  210. cowrie-2.7.0/src/cowrie/data/arch/bsd-x64-lsb +0 -0
  211. cowrie-2.7.0/src/cowrie/data/arch/linux-aarch64-lsb +0 -0
  212. cowrie-2.7.0/src/cowrie/data/arch/linux-aarch64-msb +0 -0
  213. cowrie-2.7.0/src/cowrie/data/arch/linux-alpha-lsb +0 -0
  214. cowrie-2.7.0/src/cowrie/data/arch/linux-am33-lsb +0 -0
  215. cowrie-2.7.0/src/cowrie/data/arch/linux-arc-lsb +0 -0
  216. cowrie-2.7.0/src/cowrie/data/arch/linux-arc-msb +0 -0
  217. cowrie-2.7.0/src/cowrie/data/arch/linux-arm-lsb +0 -0
  218. cowrie-2.7.0/src/cowrie/data/arch/linux-arm-msb +0 -0
  219. cowrie-2.7.0/src/cowrie/data/arch/linux-avr32-lsb +0 -0
  220. cowrie-2.7.0/src/cowrie/data/arch/linux-bfin-lsb +0 -0
  221. cowrie-2.7.0/src/cowrie/data/arch/linux-c6x-lsb +0 -0
  222. cowrie-2.7.0/src/cowrie/data/arch/linux-c6x-msb +0 -0
  223. cowrie-2.7.0/src/cowrie/data/arch/linux-cris-lsb +0 -0
  224. cowrie-2.7.0/src/cowrie/data/arch/linux-frv-msb +0 -0
  225. cowrie-2.7.0/src/cowrie/data/arch/linux-h8300-msb +0 -0
  226. cowrie-2.7.0/src/cowrie/data/arch/linux-hppa-msb +0 -0
  227. cowrie-2.7.0/src/cowrie/data/arch/linux-hppa64-msb +0 -0
  228. cowrie-2.7.0/src/cowrie/data/arch/linux-ia64-lsb +0 -0
  229. cowrie-2.7.0/src/cowrie/data/arch/linux-m32r-msb +0 -0
  230. cowrie-2.7.0/src/cowrie/data/arch/linux-m68k-msb +0 -0
  231. cowrie-2.7.0/src/cowrie/data/arch/linux-microblaze-msb +0 -0
  232. cowrie-2.7.0/src/cowrie/data/arch/linux-mips-lsb +0 -0
  233. cowrie-2.7.0/src/cowrie/data/arch/linux-mips-msb +0 -0
  234. cowrie-2.7.0/src/cowrie/data/arch/linux-mips64-lsb +0 -0
  235. cowrie-2.7.0/src/cowrie/data/arch/linux-mips64-msb +0 -0
  236. cowrie-2.7.0/src/cowrie/data/arch/linux-mn10300-lsb +0 -0
  237. cowrie-2.7.0/src/cowrie/data/arch/linux-nios-lsb +0 -0
  238. cowrie-2.7.0/src/cowrie/data/arch/linux-nios-msb +0 -0
  239. cowrie-2.7.0/src/cowrie/data/arch/linux-powerpc-lsb +0 -0
  240. cowrie-2.7.0/src/cowrie/data/arch/linux-powerpc-msb +0 -0
  241. cowrie-2.7.0/src/cowrie/data/arch/linux-powerpc64-lsb +0 -0
  242. cowrie-2.7.0/src/cowrie/data/arch/linux-powerpc64-msb +0 -0
  243. cowrie-2.7.0/src/cowrie/data/arch/linux-riscv64-lsb +0 -0
  244. cowrie-2.7.0/src/cowrie/data/arch/linux-s390x-msb +0 -0
  245. cowrie-2.7.0/src/cowrie/data/arch/linux-sh-lsb +0 -0
  246. cowrie-2.7.0/src/cowrie/data/arch/linux-sh-msb +0 -0
  247. cowrie-2.7.0/src/cowrie/data/arch/linux-sparc-msb +0 -0
  248. cowrie-2.7.0/src/cowrie/data/arch/linux-sparc64-msb +0 -0
  249. cowrie-2.7.0/src/cowrie/data/arch/linux-tilegx-lsb +0 -0
  250. cowrie-2.7.0/src/cowrie/data/arch/linux-tilegx-msb +0 -0
  251. cowrie-2.7.0/src/cowrie/data/arch/linux-tilegx64-lsb +0 -0
  252. cowrie-2.7.0/src/cowrie/data/arch/linux-tilegx64-msb +0 -0
  253. cowrie-2.7.0/src/cowrie/data/arch/linux-x64-lsb +0 -0
  254. cowrie-2.7.0/src/cowrie/data/arch/linux-x86-lsb +0 -0
  255. cowrie-2.7.0/src/cowrie/data/arch/linux-xtensa-msb +0 -0
  256. cowrie-2.7.0/src/cowrie/data/arch/osx-x32-lsb +0 -0
  257. cowrie-2.7.0/src/cowrie/data/arch/osx-x64-lsb +0 -0
  258. cowrie-2.7.0/src/cowrie/data/arch/src/README +10 -0
  259. cowrie-2.7.0/src/cowrie/data/arch/src/nop-arc.asm +4 -0
  260. cowrie-2.7.0/src/cowrie/data/arch/src/nop-bfin.asm +4 -0
  261. cowrie-2.7.0/src/cowrie/data/arch/src/nop-hppa64.asm +4 -0
  262. cowrie-2.7.0/src/cowrie/data/arch/src/nop-ia64.asm +4 -0
  263. cowrie-2.7.0/src/cowrie/data/arch/src/nop-mips.asm +4 -0
  264. cowrie-2.7.0/src/cowrie/data/arch/src/nop-mips64.asm +4 -0
  265. cowrie-2.7.0/src/cowrie/data/arch/src/nop-osx.asm +4 -0
  266. cowrie-2.7.0/src/cowrie/data/arch/src/nop.asm +4 -0
  267. cowrie-2.7.0/src/cowrie/data/cmdoutput.json +955 -0
  268. cowrie-2.7.0/src/cowrie/data/fs.pickle +0 -0
  269. cowrie-2.7.0/src/cowrie/data/honeyfs/etc/group +44 -0
  270. cowrie-2.7.0/src/cowrie/data/honeyfs/etc/host.conf +1 -0
  271. cowrie-2.7.0/src/cowrie/data/honeyfs/etc/hostname +1 -0
  272. cowrie-2.7.0/src/cowrie/data/honeyfs/etc/hosts +7 -0
  273. cowrie-2.7.0/src/cowrie/data/honeyfs/etc/inittab +69 -0
  274. cowrie-2.7.0/src/cowrie/data/honeyfs/etc/issue +2 -0
  275. cowrie-2.7.0/src/cowrie/data/honeyfs/etc/issue.net +2 -0
  276. cowrie-2.7.0/src/cowrie/data/honeyfs/etc/motd +7 -0
  277. cowrie-2.7.0/src/cowrie/data/honeyfs/etc/passwd +21 -0
  278. cowrie-2.7.0/src/cowrie/data/honeyfs/etc/resolv.conf +2 -0
  279. cowrie-2.7.0/src/cowrie/data/honeyfs/etc/shadow +21 -0
  280. cowrie-2.7.0/src/cowrie/data/honeyfs/proc/cpuinfo +50 -0
  281. cowrie-2.7.0/src/cowrie/data/honeyfs/proc/meminfo +42 -0
  282. cowrie-2.7.0/src/cowrie/data/honeyfs/proc/modules +92 -0
  283. cowrie-2.7.0/src/cowrie/data/honeyfs/proc/mounts +14 -0
  284. cowrie-2.7.0/src/cowrie/data/honeyfs/proc/net/arp +3 -0
  285. cowrie-2.7.0/src/cowrie/data/honeyfs/proc/version +1 -0
  286. cowrie-2.7.0/src/cowrie/data/pool_configs/aarch64_guest.xml +64 -0
  287. cowrie-2.7.0/src/cowrie/data/pool_configs/default_filter.xml +33 -0
  288. cowrie-2.7.0/src/cowrie/data/pool_configs/default_guest.xml +66 -0
  289. cowrie-2.7.0/src/cowrie/data/pool_configs/default_network.xml +12 -0
  290. cowrie-2.7.0/src/cowrie/data/pool_configs/wrt_arm_guest.xml +44 -0
  291. cowrie-2.7.0/src/cowrie/data/pool_configs/wrt_x86_guest.xml +81 -0
  292. cowrie-2.7.0/src/cowrie/data/txtcmds/bin/df +7 -0
  293. cowrie-2.7.0/src/cowrie/data/txtcmds/bin/dmesg +572 -0
  294. cowrie-2.7.0/src/cowrie/data/txtcmds/bin/enable +58 -0
  295. cowrie-2.7.0/src/cowrie/data/txtcmds/bin/izconfig +1 -0
  296. cowrie-2.7.0/src/cowrie/data/txtcmds/bin/mount +7 -0
  297. cowrie-2.7.0/src/cowrie/data/txtcmds/bin/stty +0 -0
  298. cowrie-2.7.0/src/cowrie/data/txtcmds/bin/sync +0 -0
  299. cowrie-2.7.0/src/cowrie/data/txtcmds/bin/ulimit +16 -0
  300. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/bin/clear +1 -0
  301. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/bin/emacs +1 -0
  302. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/bin/getconf +1 -0
  303. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/bin/killall +1 -0
  304. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/bin/locate +1 -0
  305. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/bin/lscpu +21 -0
  306. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/bin/make +1 -0
  307. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/bin/nano +1 -0
  308. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/bin/nproc +1 -0
  309. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/bin/pico +1 -0
  310. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/bin/pkill +0 -0
  311. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/bin/top +1 -0
  312. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/bin/vi +1 -0
  313. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/bin/vim +1 -0
  314. cowrie-2.7.0/src/cowrie/data/txtcmds/usr/sbin/vipw +2 -0
  315. cowrie-2.7.0/src/cowrie/insults/__init__.py +0 -0
  316. cowrie-2.7.0/src/cowrie/insults/insults.py +246 -0
  317. cowrie-2.7.0/src/cowrie/llm/README.md +60 -0
  318. cowrie-2.7.0/src/cowrie/llm/llm.py +222 -0
  319. cowrie-2.7.0/src/cowrie/output/README.md +16 -0
  320. cowrie-2.7.0/src/cowrie/output/abuseipdb.py +496 -0
  321. cowrie-2.7.0/src/cowrie/output/axiom.py +58 -0
  322. cowrie-2.7.0/src/cowrie/output/crashreporter.py +79 -0
  323. cowrie-2.7.0/src/cowrie/output/csirtg.py +99 -0
  324. cowrie-2.7.0/src/cowrie/output/cuckoo.py +173 -0
  325. cowrie-2.7.0/src/cowrie/output/datadog.py +67 -0
  326. cowrie-2.7.0/src/cowrie/output/discord.py +46 -0
  327. cowrie-2.7.0/src/cowrie/output/dshield.py +174 -0
  328. cowrie-2.7.0/src/cowrie/output/elasticsearch.py +125 -0
  329. cowrie-2.7.0/src/cowrie/output/graylog.py +61 -0
  330. cowrie-2.7.0/src/cowrie/output/greynoise.py +95 -0
  331. cowrie-2.7.0/src/cowrie/output/hpfeeds3.py +118 -0
  332. cowrie-2.7.0/src/cowrie/output/influx.py +217 -0
  333. cowrie-2.7.0/src/cowrie/output/jsonlog.py +81 -0
  334. cowrie-2.7.0/src/cowrie/output/localsyslog.py +74 -0
  335. cowrie-2.7.0/src/cowrie/output/malshare.py +104 -0
  336. cowrie-2.7.0/src/cowrie/output/misp.py +590 -0
  337. cowrie-2.7.0/src/cowrie/output/mongodb.py +132 -0
  338. cowrie-2.7.0/src/cowrie/output/mysql.py +291 -0
  339. cowrie-2.7.0/src/cowrie/output/oraclecloud.py +118 -0
  340. cowrie-2.7.0/src/cowrie/output/postgresql.py +268 -0
  341. cowrie-2.7.0/src/cowrie/output/prometheus.py +197 -0
  342. cowrie-2.7.0/src/cowrie/output/redis.py +62 -0
  343. cowrie-2.7.0/src/cowrie/output/remotesyslog.py +45 -0
  344. cowrie-2.7.0/src/cowrie/output/rethinkdblog.py +47 -0
  345. cowrie-2.7.0/src/cowrie/output/reversedns.py +114 -0
  346. cowrie-2.7.0/src/cowrie/output/rmq.py +134 -0
  347. cowrie-2.7.0/src/cowrie/output/s3.py +98 -0
  348. cowrie-2.7.0/src/cowrie/output/slack.py +209 -0
  349. cowrie-2.7.0/src/cowrie/output/socketlog.py +42 -0
  350. cowrie-2.7.0/src/cowrie/output/splunk.py +120 -0
  351. cowrie-2.7.0/src/cowrie/output/sqlite.py +209 -0
  352. cowrie-2.7.0/src/cowrie/output/telegram.py +64 -0
  353. cowrie-2.7.0/src/cowrie/output/textlog.py +59 -0
  354. cowrie-2.7.0/src/cowrie/output/virustotal.py +500 -0
  355. cowrie-2.7.0/src/cowrie/output/xmpp.py +97 -0
  356. cowrie-2.7.0/src/cowrie/pool_interface/__init__.py +0 -0
  357. cowrie-2.7.0/src/cowrie/pool_interface/client.py +126 -0
  358. cowrie-2.7.0/src/cowrie/pool_interface/handler.py +73 -0
  359. cowrie-2.7.0/src/cowrie/python/__init__.py +0 -0
  360. cowrie-2.7.0/src/cowrie/python/logfile.py +54 -0
  361. cowrie-2.7.0/src/cowrie/scripts/__init__.py +0 -0
  362. cowrie-2.7.0/src/cowrie/scripts/asciinema.py +136 -0
  363. cowrie-2.7.0/src/cowrie/scripts/createdynamicprocess.py +62 -0
  364. cowrie-2.7.0/src/cowrie/scripts/createfs.py +197 -0
  365. cowrie-2.7.0/src/cowrie/scripts/fsctl.py +781 -0
  366. cowrie-2.7.0/src/cowrie/scripts/playlog.py +143 -0
  367. cowrie-2.7.0/src/cowrie/shell/__init__.py +0 -0
  368. cowrie-2.7.0/src/cowrie/shell/avatar.py +79 -0
  369. cowrie-2.7.0/src/cowrie/shell/command.py +210 -0
  370. cowrie-2.7.0/src/cowrie/shell/customparser.py +62 -0
  371. cowrie-2.7.0/src/cowrie/shell/filetransfer.py +235 -0
  372. cowrie-2.7.0/src/cowrie/shell/fs.py +626 -0
  373. cowrie-2.7.0/src/cowrie/shell/honeypot.py +699 -0
  374. cowrie-2.7.0/src/cowrie/shell/protocol.py +392 -0
  375. cowrie-2.7.0/src/cowrie/shell/pwd.py +223 -0
  376. cowrie-2.7.0/src/cowrie/shell/server.py +92 -0
  377. cowrie-2.7.0/src/cowrie/shell/session.py +93 -0
  378. cowrie-2.7.0/src/cowrie/shell/stdio.py +90 -0
  379. cowrie-2.7.0/src/cowrie/ssh/__init__.py +0 -0
  380. cowrie-2.7.0/src/cowrie/ssh/channel.py +113 -0
  381. cowrie-2.7.0/src/cowrie/ssh/connection.py +68 -0
  382. cowrie-2.7.0/src/cowrie/ssh/factory.py +186 -0
  383. cowrie-2.7.0/src/cowrie/ssh/forwarding.py +188 -0
  384. cowrie-2.7.0/src/cowrie/ssh/keys.py +129 -0
  385. cowrie-2.7.0/src/cowrie/ssh/session.py +81 -0
  386. cowrie-2.7.0/src/cowrie/ssh/transport.py +288 -0
  387. cowrie-2.7.0/src/cowrie/ssh/userauth.py +185 -0
  388. cowrie-2.7.0/src/cowrie/ssh_proxy/README.md +44 -0
  389. cowrie-2.7.0/src/cowrie/ssh_proxy/__init__.py +0 -0
  390. cowrie-2.7.0/src/cowrie/ssh_proxy/client_transport.py +184 -0
  391. cowrie-2.7.0/src/cowrie/ssh_proxy/protocols/__init__.py +0 -0
  392. cowrie-2.7.0/src/cowrie/ssh_proxy/protocols/base_protocol.py +89 -0
  393. cowrie-2.7.0/src/cowrie/ssh_proxy/protocols/exec_term.py +104 -0
  394. cowrie-2.7.0/src/cowrie/ssh_proxy/protocols/port_forward.py +42 -0
  395. cowrie-2.7.0/src/cowrie/ssh_proxy/protocols/sftp.py +374 -0
  396. cowrie-2.7.0/src/cowrie/ssh_proxy/protocols/ssh.py +437 -0
  397. cowrie-2.7.0/src/cowrie/ssh_proxy/protocols/term.py +226 -0
  398. cowrie-2.7.0/src/cowrie/ssh_proxy/server_transport.py +434 -0
  399. cowrie-2.7.0/src/cowrie/ssh_proxy/userauth.py +37 -0
  400. cowrie-2.7.0/src/cowrie/ssh_proxy/util.py +17 -0
  401. cowrie-2.7.0/src/cowrie/telnet/__init__.py +0 -0
  402. cowrie-2.7.0/src/cowrie/telnet/factory.py +78 -0
  403. cowrie-2.7.0/src/cowrie/telnet/session.py +165 -0
  404. cowrie-2.7.0/src/cowrie/telnet/transport.py +114 -0
  405. cowrie-2.7.0/src/cowrie/telnet/userauth.py +152 -0
  406. cowrie-2.7.0/src/cowrie/telnet_proxy/README.md +14 -0
  407. cowrie-2.7.0/src/cowrie/telnet_proxy/__init__.py +0 -0
  408. cowrie-2.7.0/src/cowrie/telnet_proxy/client_transport.py +70 -0
  409. cowrie-2.7.0/src/cowrie/telnet_proxy/handler.py +341 -0
  410. cowrie-2.7.0/src/cowrie/telnet_proxy/server_transport.py +204 -0
  411. cowrie-2.7.0/src/cowrie/test/__init__.py +0 -0
  412. cowrie-2.7.0/src/cowrie/test/fake_server.py +56 -0
  413. cowrie-2.7.0/src/cowrie/test/fake_transport.py +182 -0
  414. cowrie-2.7.0/src/cowrie/test/proxy_compare.py +101 -0
  415. cowrie-2.7.0/src/cowrie/test/test_awk.py +54 -0
  416. cowrie-2.7.0/src/cowrie/test/test_base64.py +43 -0
  417. cowrie-2.7.0/src/cowrie/test/test_base_commands.py +334 -0
  418. cowrie-2.7.0/src/cowrie/test/test_cat.py +51 -0
  419. cowrie-2.7.0/src/cowrie/test/test_chmod.py +118 -0
  420. cowrie-2.7.0/src/cowrie/test/test_echo.py +224 -0
  421. cowrie-2.7.0/src/cowrie/test/test_ftpget.py +52 -0
  422. cowrie-2.7.0/src/cowrie/test/test_ls.py +57 -0
  423. cowrie-2.7.0/src/cowrie/test/test_network.py +84 -0
  424. cowrie-2.7.0/src/cowrie/test/test_proxy.py +105 -0
  425. cowrie-2.7.0/src/cowrie/test/test_tee.py +63 -0
  426. cowrie-2.7.0/src/cowrie/test/test_tftp.py +37 -0
  427. cowrie-2.7.0/src/cowrie/test/test_uniq.py +50 -0
  428. cowrie-2.7.0/src/cowrie/test/test_utils.py +90 -0
  429. cowrie-2.7.0/src/cowrie.egg-info/PKG-INFO +190 -0
  430. cowrie-2.7.0/src/cowrie.egg-info/SOURCES.txt +442 -0
  431. cowrie-2.7.0/src/cowrie.egg-info/dependency_links.txt +1 -0
  432. cowrie-2.7.0/src/cowrie.egg-info/entry_points.txt +5 -0
  433. cowrie-2.7.0/src/cowrie.egg-info/requires.txt +72 -0
  434. cowrie-2.7.0/src/cowrie.egg-info/top_level.txt +3 -0
  435. cowrie-2.7.0/src/twisted/plugins/cowrie_plugin.py +255 -0
  436. cowrie-2.7.0/tox.ini +100 -0
  437. cowrie-2.7.0/var/.gitignore +0 -0
  438. cowrie-2.7.0/var/lib/cowrie/.gitignore +2 -0
  439. cowrie-2.7.0/var/lib/cowrie/downloads/.gitignore +1 -0
  440. cowrie-2.7.0/var/lib/cowrie/snapshots/.gitignore +1 -0
  441. cowrie-2.7.0/var/lib/cowrie/tty/.gitignore +1 -0
  442. cowrie-2.7.0/var/log/cowrie/.gitignore +0 -0
  443. cowrie-2.7.0/var/run/.gitignore +1 -0
@@ -0,0 +1,5 @@
1
+ .direnv
2
+ .tox
3
+ .git
4
+ .github
5
+ .eggs
@@ -0,0 +1 @@
1
+ data/fs.pickle -diff binary
@@ -0,0 +1,2 @@
1
+ ---
2
+ patreon: micheloosterhof
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+
5
+ ---
6
+
7
+ **Describe the bug**
8
+ A clear and concise description of what the bug is.
9
+
10
+ **To Reproduce**
11
+ Steps to reproduce the behavior:
12
+ 1. Go to '...'
13
+ 2. Click on '....'
14
+ 3. Scroll down to '....'
15
+ 4. See error
16
+
17
+ **Expected behavior**
18
+ A clear and concise description of what you expected to happen.
19
+
20
+ **Server (please complete the following information):**
21
+ - OS: [e.g. RedHat Linux 7.1, output of uname -a]
22
+ - Python: [e.g. Python 3.6.6, output of python -V]
23
+ - Twisted: [e.g. Twisted 24.10, output of twistd --version]
24
+
25
+ **Additional context**
26
+ Add any other context about the problem here.
27
+ - Cowrie Mode: [e.g. Shell (default) or Proxy]
@@ -0,0 +1,6 @@
1
+ ---
2
+ blank_issues_enabled: false
3
+ contact_links:
4
+ - name: Ask a Question
5
+ url: https://www.cowrie.org/slack
6
+ about: If you have a question, or are looking for advice, please join our Slack
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+
5
+ ---
6
+
7
+ **Is your feature request related to a problem? Please describe.**
8
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9
+
10
+ **Describe the solution you'd like**
11
+ A clear and concise description of what you want to happen.
12
+
13
+ **Describe alternatives you've considered**
14
+ A clear and concise description of any alternative solutions or features you've considered.
15
+
16
+ **Additional context**
17
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: Setup Assistance
3
+ about: Issues with setting up Cowrie
4
+
5
+ ---
6
+
7
+ Please do not attach graphical screenshots, instead copy and paste text output. This makes it searchable.
8
+
9
+ **Describe the bug**
10
+ A clear and concise description of what the bug is.
11
+
12
+ **To Reproduce**
13
+ Steps to reproduce the behavior:
14
+ 1. Go to '...'
15
+ 2. Click on '....'
16
+ 3. Scroll down to '....'
17
+ 4. See error
18
+
19
+ **Expected behavior**
20
+ A clear and concise description of what you expected to happen.
21
+
22
+ **Server (please complete the following information):**
23
+ - OS: [e.g. RedHat Linux 7.1, output of uname -a]
24
+ - Python: [e.g. Python 3.6.6, output of python -V]
25
+ - Twisted: [e.g. Twisted 24.10, output of twistd --version]
26
+
27
+
28
+ **Additional context**
29
+ Add any other context about the problem here.
@@ -0,0 +1,4 @@
1
+ ### Asking Support Questions
2
+
3
+ We have an active [discussion forum](https://bit.ly/cowrieslack) where users and developers can ask questions.
4
+ Please don't use the GitHub issue tracker to ask questions.
@@ -0,0 +1,24 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ ---
7
+ version: 2
8
+ updates:
9
+ - package-ecosystem: "pip"
10
+ directory: "/"
11
+ schedule:
12
+ interval: "weekly"
13
+ - package-ecosystem: "pip"
14
+ directory: "/docs"
15
+ schedule:
16
+ interval: "weekly"
17
+ - package-ecosystem: "github-actions"
18
+ directory: "/"
19
+ schedule:
20
+ interval: "weekly"
21
+ - package-ecosystem: "docker"
22
+ directory: "/docker"
23
+ schedule:
24
+ interval: "weekly"
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: Docker Build and Publish
3
+
4
+ on: # yamllint disable-line rule:truthy
5
+ push:
6
+ # Publish `main` as Docker `latest` image.
7
+ branches:
8
+ - main
9
+
10
+ # Publish `v1.2.3` tags as releases.
11
+ tags:
12
+ - v*
13
+
14
+ # Run tests for any PRs.
15
+ pull_request:
16
+
17
+ # Run manually
18
+ workflow_dispatch:
19
+ inputs:
20
+ logLevel:
21
+ description: 'Log level'
22
+ required: true
23
+ default: 'warning'
24
+ tags:
25
+ description: 'Build and publish Docker image'
26
+
27
+ env:
28
+ IMAGE_NAME: cowrie
29
+
30
+ jobs:
31
+ # Push image to GitHub Packages.
32
+ # See also https://docs.docker.com/docker-hub/builds/
33
+ push:
34
+ # Ensure test job passes before pushing image.
35
+ # needs: tox
36
+
37
+ runs-on: ubuntu-latest
38
+ permissions:
39
+ id-token: write # Required for cosign OIDC
40
+
41
+ steps:
42
+ - name: Checkout
43
+ uses: actions/checkout@v5
44
+ with:
45
+ fetch-depth: 0
46
+
47
+ - name: Install dependencies
48
+ run: python -m pip install -q --upgrade pip setuptools setuptools-scm wheel
49
+
50
+ - name: Generate version file
51
+ run: echo "SETUPTOOLS_SCM_PRETEND_VERSION_FOR_COWRIE=$(python -m setuptools_scm --force-write-version-files)" >> $GITHUB_ENV
52
+
53
+ - name: Set SOURCE_DATE_EPOCH
54
+ run: echo "SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)" >> $GITHUB_ENV
55
+
56
+ - name: Install Cosign
57
+ uses: sigstore/cosign-installer@v3.10.0
58
+ if: ${{ (github.event_name != 'pull_request') && (github.repository == 'cowrie/cowrie') }}
59
+
60
+ - name: Set up QEMU
61
+ uses: docker/setup-qemu-action@v3
62
+
63
+ - name: Extract Docker image metadata
64
+ id: meta
65
+ uses: docker/metadata-action@v5
66
+ with:
67
+ images: cowrie/cowrie
68
+
69
+ - name: Set up Docker Buildx
70
+ uses: docker/setup-buildx-action@v3
71
+ with:
72
+ platforms: linux/amd64,linux/arm64
73
+
74
+ - name: Login to Docker Hub
75
+ if: ${{ (github.event_name != 'pull_request') && (github.repository == 'cowrie/cowrie') }}
76
+ uses: docker/login-action@v3
77
+ with:
78
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
79
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
80
+
81
+ - name: Build Container Image
82
+ id: build
83
+ uses: docker/build-push-action@v6
84
+ with:
85
+ push: false
86
+ load: true
87
+ # use context to access src/cowrie/_version.py we created earlier
88
+ context: .
89
+ tags: cowrie:test
90
+ file: docker/Dockerfile
91
+
92
+ - name: Test
93
+ run: |
94
+ docker run -d --rm cowrie:test
95
+
96
+ - name: Push Container Image
97
+ id: push
98
+ if: ${{ (github.event_name != 'pull_request') && (github.repository == 'cowrie/cowrie') }}
99
+ uses: docker/build-push-action@v6
100
+ with:
101
+ file: docker/Dockerfile
102
+ platforms: linux/amd64,linux/arm64
103
+ # use context to access src/cowrie/_version.py we created earlier
104
+ context: .
105
+ push: true
106
+ load: false
107
+ sbom: true
108
+ provenance: true
109
+ tags: cowrie/cowrie:latest
110
+
111
+ - name: Sign the images with GitHub OIDC Token
112
+ if: ${{ (github.event_name != 'pull_request') && (github.repository == 'cowrie/cowrie') }}
113
+ env:
114
+ DIGEST: ${{ steps.push.outputs.digest }}
115
+ COSIGN_EXPERIMENTAL: 1
116
+ run: |
117
+ cosign sign -y cowrie/cowrie@${DIGEST}
118
+ cosign verify cowrie/cowrie --certificate-oidc-issuer-regexp 'https://token.actions.githubusercontent.com' --certificate-identity 'https://github.com/cowrie/cowrie/.github/workflows/docker.yml@refs/heads/main'
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: test-pypi
3
+
4
+ on: # yamllint disable-line rule:truthy
5
+ push:
6
+ # Publish `main` as to test.pypi.org
7
+ branches:
8
+ - main
9
+
10
+ workflow_dispatch:
11
+ inputs:
12
+ logLevel:
13
+ description: 'Log level'
14
+ required: true
15
+ default: 'warning'
16
+ tags:
17
+ description: 'test-pypi upload'
18
+
19
+ jobs:
20
+ test-pypi-publish:
21
+ name: Upload commit to PyPI
22
+ runs-on: ubuntu-latest
23
+ environment:
24
+ name: test-pypi
25
+ url: https://test.pypi.org/p/cowrie
26
+ permissions:
27
+ id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
28
+ steps:
29
+ # retrieve your distributions here, need fetch-depth to get metadata for version
30
+ - uses: actions/checkout@v5
31
+ with:
32
+ fetch-depth: 0
33
+
34
+ - uses: actions/setup-python@v6
35
+ with:
36
+ python-version: 3.13
37
+
38
+ - name: Install dependencies
39
+ run: |
40
+ python -m pip install --upgrade pip
41
+ python -m pip install build setuptools==80.9.0 setuptools-scm==9.2.0 twine==6.2.0 wheel==0.45.1 packaging==25.0
42
+
43
+ - name: Build and check
44
+ run: |
45
+ SETUPTOOLS_SCM_OVERRIDES_FOR_COWRIE='{local_scheme="no-local-version"}' python -m build
46
+ twine check --strict dist/*
47
+
48
+ - name: Publish package distributions to PyPI
49
+ if: ${{ github.repository == 'cowrie/cowrie' }}
50
+ uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e
51
+ with:
52
+ repository-url: https://test.pypi.org/legacy/
53
+ verbose: true
54
+ print-hash: true
55
+ verify-metadata: false
56
+
57
+ - name: Download and test package
58
+ if: ${{ github.repository == 'cowrie/cowrie' }}
59
+ run: |
60
+ python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ cowrie
61
+ twistd cowrie
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: Tox
3
+
4
+ on: # yamllint disable-line rule:truthy
5
+ push:
6
+
7
+ pull_request:
8
+
9
+ workflow_dispatch:
10
+ inputs:
11
+ logLevel:
12
+ description: 'Log level'
13
+ required: true
14
+ default: 'warning'
15
+ tags:
16
+ description: 'Tox'
17
+
18
+ jobs:
19
+ build:
20
+ runs-on: ubuntu-latest
21
+ strategy:
22
+ matrix:
23
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14-dev", "pypy-3.10", "pypy-3.11"]
24
+ continue-on-error: ${{ matrix.python-version == '3.14-dev' }}
25
+ steps:
26
+ - uses: actions/checkout@v5
27
+ with:
28
+ fetch-depth: 0
29
+
30
+ - name: Set up Python ${{ matrix.python-version }}
31
+ uses: actions/setup-python@v6
32
+ with:
33
+ python-version: ${{ matrix.python-version }}
34
+
35
+ - name: Install dependencies
36
+ run: |
37
+ python -m pip -q install --upgrade pip setuptools setuptools-scm wheel
38
+ python -m pip -q install -r requirements.txt
39
+ python -m pip -q install -r requirements-dev.txt
40
+ python -m pip -q install tox-gh-actions
41
+
42
+ - name: Generate version file
43
+ run: python -m setuptools_scm --force-write-version-files
44
+
45
+ - name: Test with tox
46
+ run: tox
@@ -0,0 +1,29 @@
1
+ cowrie.cfg
2
+ cowrie.pid
3
+ etc/ssh_host_dsa_key
4
+ etc/ssh_host_dsa_key.pub
5
+ etc/ssh_host_rsa_key
6
+ etc/ssh_host_rsa_key.pub
7
+ var/log/cowrie/*
8
+ *.egg-info
9
+ dl/
10
+ dist/
11
+ docs/_build
12
+ build/
13
+ log/
14
+ .eggs/
15
+ .envrc
16
+ .direnv/
17
+ .pyre/
18
+ .pytype/
19
+ __pycache__/
20
+ *.py[cod]
21
+ *env/
22
+ src/cowrie/_version.py
23
+ src/twisted/plugins/dropin.cache
24
+ .DS_Store
25
+ _trial_temp
26
+ .project
27
+ .pydevproject
28
+ .idea/
29
+ .tox
@@ -0,0 +1,49 @@
1
+ ---
2
+ repos:
3
+ - repo: https://github.com/asottile/pyupgrade
4
+ rev: v3.3.1
5
+ hooks:
6
+ - id: pyupgrade
7
+ args: ["--py38-plus"]
8
+
9
+ - repo: https://github.com/psf/black
10
+ rev: 22.12.0
11
+ hooks:
12
+ - id: black
13
+
14
+ - repo: https://github.com/asottile/yesqa
15
+ rev: v1.4.0
16
+ hooks:
17
+ - id: yesqa
18
+
19
+ - repo: https://github.com/pre-commit/pre-commit-hooks
20
+ rev: v4.4.0
21
+ hooks:
22
+ - id: check-added-large-files
23
+ - id: check-ast
24
+ - id: check-byte-order-marker
25
+ - id: check-case-conflict
26
+ - id: check-docstring-first
27
+ - id: check-executables-have-shebangs
28
+ - id: check-json
29
+ - id: check-merge-conflict
30
+ - id: check-toml
31
+ - id: check-yaml
32
+ - id: debug-statements
33
+ - id: detect-private-key
34
+ - id: end-of-file-fixer
35
+ - id: mixed-line-ending
36
+ - id: requirements-txt-fixer
37
+ - id: trailing-whitespace
38
+
39
+ - repo: https://github.com/pycqa/isort
40
+ rev: 5.11.4
41
+ hooks:
42
+ - id: isort
43
+ name: isort (python)
44
+ - id: isort
45
+ name: isort (cython)
46
+ types: [cython]
47
+ - id: isort
48
+ name: isort (pyi)
49
+ types: [pyi]
@@ -0,0 +1,17 @@
1
+ {
2
+ "source_directories": [
3
+ "src"
4
+ ],
5
+ "search_path": [
6
+ {"site-package": "cryptography"},
7
+ {"site-package": "incremental"},
8
+ {"site-package": "tftpy"},
9
+ {"site-package": "twisted"},
10
+ {"site-package": "treq"},
11
+ {"site-package": "zope"}
12
+ ],
13
+ "exclude": [
14
+ ".*/src/cowrie/output/.*"
15
+ ],
16
+ "workers": 4
17
+ }
@@ -0,0 +1,28 @@
1
+ ---
2
+ # .readthedocs.yml
3
+ # Read the Docs configuration file
4
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
5
+
6
+ # Required
7
+ version: 2
8
+
9
+ # Build PDF & ePub
10
+ formats:
11
+ - epub
12
+ - pdf
13
+
14
+ # Build documentation in the docs/ directory with Sphinx
15
+ sphinx:
16
+ configuration: docs/conf.py
17
+
18
+ build:
19
+ os: ubuntu-22.04
20
+ tools:
21
+ python: "3.11"
22
+
23
+ # Optionally Python version and requirements required to build your docs
24
+ python:
25
+ install:
26
+ - requirements: docs/requirements.txt
27
+ - method: pip
28
+ path: .
@@ -0,0 +1,10 @@
1
+ ---
2
+ extends:
3
+ default
4
+
5
+ rules:
6
+ line-length: disable
7
+
8
+ ignore: |
9
+ .direnv
10
+ .tox