go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/resources/python/testdata/linux.toml (about) 1 [files."/usr/lib"] 2 content = """python3.11""" 3 stat.isdir = true 4 5 [files."/usr/lib/python3.11"] 6 content = """site-packages""" 7 stat.isdir = true 8 9 [files."/usr/lib/python3.11/site-packages"] 10 content = """python_ftp_server-1.3.17.dist-info 11 pyftpdlib-1.5.7-py3.11.egg-info""" 12 stat.isdir = true 13 14 [files."/usr/lib/python3.11/site-packages/pyftpdlib-1.5.7-py3.11.egg-info"] 15 stat.isdir = true 16 content = """PKG-INFO""" 17 18 [files."/usr/lib/python3.11/site-packages/pyftpdlib-1.5.7-py3.11.egg-info/PKG-INFO"] 19 content = """Metadata-Version: 2.1 20 Name: pyftpdlib 21 Version: 1.5.7 22 Summary: Very fast asynchronous FTP server library 23 Home-page: https://github.com/giampaolo/pyftpdlib/ 24 Author: Giampaolo Rodola' 25 Author-email: g.rodola@gmail.com 26 License: MIT 27 Keywords: ftp,ftps,server,ftpd,daemon,python,ssl,sendfile,asynchronous,nonblocking,eventdriven,rfc959,rfc1123,rfc2228,rfc2428,rfc2640,rfc3659 28 Platform: Platform Independent 29 Classifier: Development Status :: 5 - Production/Stable 30 Classifier: Environment :: Console 31 Classifier: Intended Audience :: Developers 32 Classifier: Intended Audience :: System Administrators 33 Classifier: License :: OSI Approved :: MIT License 34 Classifier: Operating System :: OS Independent 35 Classifier: Programming Language :: Python 36 Classifier: Topic :: Internet :: File Transfer Protocol (FTP) 37 Classifier: Topic :: Software Development :: Libraries :: Python Modules 38 Classifier: Topic :: System :: Filesystems 39 Classifier: Programming Language :: Python 40 Classifier: Programming Language :: Python :: 2 41 Classifier: Programming Language :: Python :: 3 42 Provides-Extra: ssl 43 License-File: LICENSE 44 45 | |downloads| |stars| |forks| |contributors| |coverage| 46 | |version| |packages| |license| 47 | |github-actions| |appveyor| |doc| |twitter| 48 49 .. |downloads| image:: https://img.shields.io/pypi/dm/pyftpdlib.svg 50 :target: https://pepy.tech/project/pyftpdlib 51 :alt: Downloads 52 53 .. |stars| image:: https://img.shields.io/github/stars/giampaolo/pyftpdlib.svg 54 :target: https://github.com/giampaolo/pyftpdlib/stargazers 55 :alt: Github stars 56 57 .. |forks| image:: https://img.shields.io/github/forks/giampaolo/pyftpdlib.svg 58 :target: https://github.com/giampaolo/pyftpdlib/network/members 59 :alt: Github forks 60 61 .. |contributors| image:: https://img.shields.io/github/contributors/giampaolo/pyftpdlib.svg 62 :target: https://github.com/giampaolo/pyftpdlib/graphs/contributors 63 :alt: Contributors 64 65 .. |github-actions| image:: https://github.com/giampaolo/pyftpdlib/actions/workflows/tests.yml/badge.svg 66 :target: https://github.com/giampaolo/pyftpdlib/actions/workflows/tests.yml 67 :alt: Linux, macOS, Windows tests 68 69 .. |appveyor| image:: https://img.shields.io/appveyor/build/giampaolo/pyftpdlib/master.svg?label=windows%20tests 70 :target: https://ci.appveyor.com/project/giampaolo/pyftpdlib 71 :alt: Windows tests (Appveyor) 72 73 .. |coverage| image:: https://coveralls.io/repos/github/giampaolo/pyftpdlib/badge.svg?branch=master 74 :target: https://coveralls.io/github/giampaolo/pyftpdlib?branch=master 75 :alt: Test coverage (coverall.io) 76 77 .. |doc| image:: https://readthedocs.org/projects/pyftpdlib/badge/?version=latest 78 :target: https://pyftpdlib.readthedocs.io/en/latest/ 79 :alt: Documentation Status 80 81 .. |version| image:: https://img.shields.io/pypi/v/pyftpdlib.svg?label=pypi 82 :target: https://pypi.org/project/pyftpdlib 83 :alt: Latest version 84 85 .. |packages| image:: https://repology.org/badge/tiny-repos/python:pyftpdlib.svg 86 :target: https://repology.org/metapackage/python:pyftpdlib/versions 87 :alt: Binary packages 88 89 .. |license| image:: https://img.shields.io/pypi/l/pyftpdlib.svg 90 :target: https://github.com/giampaolo/pyftpdlib/blob/master/LICENSE 91 :alt: License 92 93 .. |twitter| image:: https://img.shields.io/twitter/follow/grodola.svg?label=follow&style=flat&logo=twitter&logoColor=4FADFF 94 :target: https://twitter.com/grodola 95 :alt: Twitter Follow 96 97 Quick links 98 =========== 99 100 - `Home <https://github.com/giampaolo/pyftpdlib>`__ 101 - `Documentation <http://pyftpdlib.readthedocs.io>`__ 102 - `Download <https://pypi.python.org/pypi/pyftpdlib/>`__ 103 - `Blog <http://grodola.blogspot.com/search/label/pyftpdlib>`__ 104 - `Mailing list <http://groups.google.com/group/pyftpdlib/topics>`__ 105 - `What's new <https://github.com/giampaolo/pyftpdlib/blob/master/HISTORY.rst>`__ 106 107 About 108 ===== 109 110 Python FTP server library provides a high-level portable interface to easily 111 write very efficient, scalable and asynchronous FTP servers with Python. It is 112 the most complete `RFC-959 <http://www.faqs.org/rfcs/rfc959.html>`__ FTP server 113 implementation available for `Python <http://www.python.org/>`__ programming 114 language. 115 116 Features 117 ======== 118 119 - Extremely **lightweight**, **fast** and **scalable** (see 120 `why <https://github.com/giampaolo/pyftpdlib/issues/203>`__ and 121 `benchmarks <http://pyftpdlib.readthedocs.io/en/latest/benchmarks.html>`__). 122 - Uses **sendfile(2)** (see `pysendfile <https://github.com/giampaolo/pysendfile>`__) 123 system call for uploads. 124 - Uses epoll() / kqueue() / select() to handle concurrency asynchronously. 125 - ...But can optionally skip to a 126 `multiple thread / process <http://pyftpdlib.readthedocs.io/en/latest/tutorial.html#changing-the-concurrency-model>`__ 127 model (as in: you'll be free to block or use slow filesystems). 128 - Portable: entirely written in pure Python; works with Python from **2.6** to 129 **3.5** by using a single code base. 130 - Supports **FTPS** (`RFC-4217 <http://tools.ietf.org/html/rfc4217>`__), 131 **IPv6** (`RFC-2428 <ftp://ftp.rfc-editor.org/in-notes/rfc2428.txt>`__), 132 **Unicode** file names (`RFC-2640 <http://tools.ietf.org/html/rfc2640>`__), 133 **MLSD/MLST** commands (`RFC-3659 <ftp://ftp.rfc-editor.org/in-notes/rfc3659.txt>`__). 134 - Support for virtual users and virtual filesystem. 135 - Extremely flexible system of "authorizers" able to manage both "virtual" and 136 "real" users on on both 137 `UNIX <http://pyftpdlib.readthedocs.io/en/latest/tutorial.html#unix-ftp-server>`__ 138 and 139 `Windows <http://pyftpdlib.readthedocs.io/en/latest/tutorial.html#windows-ftp-server>`__. 140 - `Test coverage <https://github.com/giampaolo/pyftpdlib/blob/master/pyftpdlib/test/>`__ 141 close to 100%. 142 143 Performances 144 ============ 145 146 Despite being written in an interpreted language, pyftpdlib has transfer rates 147 comparable or superior to common UNIX FTP servers written in C. It usually tends 148 to scale better (see `benchmarks <https://pyftpdlib.readthedocs.io/en/latest/benchmarks.html>`__) 149 because whereas vsftpd and proftpd use multiple processes to 150 achieve concurrency, pyftpdlib only uses one (see `the C10K problem <http://www.kegel.com/c10k.html>`__). 151 152 pyftpdlib vs. proftpd 1.3.4 153 --------------------------- 154 155 +-----------------------------------------+----------------+----------------+-------------+ 156 | **benchmark type** | **pyftpdlib** | **proftpd** | **speedup** | 157 +-----------------------------------------+----------------+----------------+-------------+ 158 | STOR (client -> server) | 585.90 MB/sec | 600.49 MB/sec | -0.02x | 159 +-----------------------------------------+----------------+----------------+-------------+ 160 | RETR (server -> client) | 1652.72 MB/sec | 1524.05 MB/sec | **+0.08** | 161 +-----------------------------------------+----------------+----------------+-------------+ 162 | 300 concurrent clients (connect, login) | 0.19 secs | 9.98 secs | **+51x** | 163 +-----------------------------------------+----------------+----------------+-------------+ 164 | STOR (1 file with 300 idle clients) | 585.59 MB/sec | 518.55 MB/sec | **+0.1x** | 165 +-----------------------------------------+----------------+----------------+-------------+ 166 | RETR (1 file with 300 idle clients) | 1497.58 MB/sec | 1478.19 MB/sec | 0x | 167 +-----------------------------------------+----------------+----------------+-------------+ 168 | 300 concurrent clients (RETR 10M file) | 3.41 secs | 3.60 secs | **+0.05x** | 169 +-----------------------------------------+----------------+----------------+-------------+ 170 | 300 concurrent clients (STOR 10M file) | 8.60 secs | 11.56 secs | **+0.3x** | 171 +-----------------------------------------+----------------+----------------+-------------+ 172 | 300 concurrent clients (QUIT) | 0.03 secs | 0.39 secs | **+12x** | 173 +-----------------------------------------+----------------+----------------+-------------+ 174 175 pyftpdlib vs. vsftpd 2.3.5 176 -------------------------- 177 178 +-----------------------------------------+----------------+----------------+-------------+ 179 | **benchmark type** | **pyftpdlib** | **vsftpd** | **speedup** | 180 +-----------------------------------------+----------------+----------------+-------------+ 181 | STOR (client -> server) | 585.90 MB/sec | 611.73 MB/sec | -0.04x | 182 +-----------------------------------------+----------------+----------------+-------------+ 183 | RETR (server -> client) | 1652.72 MB/sec | 1512.92 MB/sec | **+0.09** | 184 +-----------------------------------------+----------------+----------------+-------------+ 185 | 300 concurrent clients (connect, login) | 0.19 secs | 20.39 secs | **+106x** | 186 +-----------------------------------------+----------------+----------------+-------------+ 187 | STOR (1 file with 300 idle clients) | 585.59 MB/sec | 610.23 MB/sec | -0.04x | 188 +-----------------------------------------+----------------+----------------+-------------+ 189 | RETR (1 file with 300 idle clients) | 1497.58 MB/sec | 1493.01 MB/sec | 0x | 190 +-----------------------------------------+----------------+----------------+-------------+ 191 | 300 concurrent clients (RETR 10M file) | 3.41 secs | 3.67 secs | **+0.07x** | 192 +-----------------------------------------+----------------+----------------+-------------+ 193 | 300 concurrent clients (STOR 10M file) | 8.60 secs | 9.82 secs | **+0.07x** | 194 +-----------------------------------------+----------------+----------------+-------------+ 195 | 300 concurrent clients (QUIT) | 0.03 secs | 0.01 secs | +0.14x | 196 +-----------------------------------------+----------------+----------------+-------------+ 197 198 For more benchmarks see `here <http://pyftpdlib.readthedocs.io/en/latest/benchmarks.html>`__. 199 200 Quick start 201 =========== 202 203 .. code-block:: python 204 205 >>> from pyftpdlib.authorizers import DummyAuthorizer 206 >>> from pyftpdlib.handlers import FTPHandler 207 >>> from pyftpdlib.servers import FTPServer 208 >>> 209 >>> authorizer = DummyAuthorizer() 210 >>> authorizer.add_user("user", "12345", "/home/giampaolo", perm="elradfmwMT") 211 >>> authorizer.add_anonymous("/home/nobody") 212 >>> 213 >>> handler = FTPHandler 214 >>> handler.authorizer = authorizer 215 >>> 216 >>> server = FTPServer(("127.0.0.1", 21), handler) 217 >>> server.serve_forever() 218 [I 13-02-19 10:55:42] >>> starting FTP server on 127.0.0.1:21 <<< 219 [I 13-02-19 10:55:42] poller: <class 'pyftpdlib.ioloop.Epoll'> 220 [I 13-02-19 10:55:42] masquerade (NAT) address: None 221 [I 13-02-19 10:55:42] passive ports: None 222 [I 13-02-19 10:55:42] use sendfile(2): True 223 [I 13-02-19 10:55:45] 127.0.0.1:34178-[] FTP session opened (connect) 224 [I 13-02-19 10:55:48] 127.0.0.1:34178-[user] USER 'user' logged in. 225 [I 13-02-19 10:56:27] 127.0.0.1:34179-[user] RETR /home/giampaolo/.vimrc completed=1 bytes=1700 seconds=0.001 226 [I 13-02-19 10:56:39] 127.0.0.1:34179-[user] FTP session closed (disconnect). 227 228 `other code samples <http://pyftpdlib.readthedocs.io/en/latest/tutorial.html>`__ 229 230 Donate 231 ====== 232 233 A lot of time and effort went into making pyftpdlib as it is right now. 234 If you feel pyftpdlib is useful to you or your business and want to support its 235 future development please consider `donating <https://gmpy.dev/donate>`__ me some money.""" 236 237 [files."/usr/lib/python3.11/site-packages/python_ftp_server-1.3.17.dist-info"] 238 content = """INSTALLER 239 METADATA 240 RECORD 241 REQUESTED 242 top_level.txt 243 WHEEL""" 244 stat.isdir = true 245 246 [files."/usr/lib/python3.11/site-packages/python_ftp_server-1.3.17.dist-info/INSTALLER"] 247 content = """pip""" 248 249 [files."/usr/lib/python3.11/site-packages/python_ftp_server-1.3.17.dist-info/METADATA"] 250 content = """Metadata-Version: 2.1 251 Name: python-ftp-server 252 Version: 1.3.17 253 Summary: Command line FTP server tool designed for performance and ease of use. 254 Home-page: https://github.com/Red-Eyed/python_ftp_server 255 Author: Vadym Stupakov 256 Author-email: vadym.stupakov@gmail.com 257 Maintainer-email: vadym.stupakov@gmail.com 258 License: MIT 259 Keywords: ftp,cli,cmd,server 260 Platform: UNKNOWN 261 Classifier: Topic :: Communications :: File Sharing 262 Classifier: Topic :: Internet :: File Transfer Protocol (FTP) 263 Requires-Python: >=3.6 264 Description-Content-Type: text/markdown 265 Requires-Dist: requests (>=2.26) 266 Requires-Dist: pyftpdlib (>=1.5.6) 267 Requires-Dist: pyopenssl (>=21.0.0) 268 Requires-Dist: pysendfile (>=2.0.1) ; sys_platform != "win32" 269 270 # FTP server to transfer files between machines with zero configuration 271 ## Usage 272 1. `python3 -m pip install python-ftp-server` 273 2. `python3 -m python_ftp_server -d "dirctory/to/share"` 274 will print: 275 ```bash 276 Local address: ftp://<IP>:60000 277 User: <USER> 278 Password: <PASSWORD> 279 ``` 280 3. Copy and paste your `IP`, `USER`, `PASSWORD`, `PORT` into [FileZilla](https://filezilla-project.org/) (or any other FTP client): 281  282 283 """ 284 285 [files."/usr/lib/python3.11/site-packages/python_ftp_server-1.3.17.dist-info/RECORD"] 286 content = """python_ftp_server-1.3.17.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 287 python_ftp_server-1.3.17.dist-info/METADATA,sha256=sqkMq4qxE_hOUvrKs-kjNb2RTklFS_U2mjC21RNrNJE,1186 288 python_ftp_server-1.3.17.dist-info/RECORD,, 289 python_ftp_server-1.3.17.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 290 python_ftp_server-1.3.17.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92 291 python_ftp_server-1.3.17.dist-info/top_level.txt,sha256=5IouKF_sn6V_QyCaa14dz9vwj5JA7CM9Wc8-w-G5Xds,18 292 python_ftp_server/__init__.py,sha256=rcywT693wT7YfEP6VaY5Y1GlPoDZUeDgFsw-4yPk8EE,117 293 python_ftp_server/__main__.py,sha256=1dv94LQ2yLxHgLmN5_0Ype4QIo9A3Wofwx63j0kXE5g,203 294 python_ftp_server/__pycache__/__init__.cpython-311.pyc,, 295 python_ftp_server/__pycache__/__main__.cpython-311.pyc,, 296 python_ftp_server/__pycache__/ftp_server.cpython-311.pyc,, 297 python_ftp_server/ftp_server.py,sha256=O8f6rpKi4B9owazGtQisAJaiX5h3YOepNcfwNHw-W-I,4602""" 298 299 [files."/usr/lib/python3.11/site-packages/python_ftp_server-1.3.17.dist-info/REQUESTED"] 300 content = """""" 301 302 [files."/usr/lib/python3.11/site-packages/python_ftp_server-1.3.17.dist-info/top_level.txt"] 303 content = """python_ftp_server""" 304 305 [files."/usr/lib/python3.11/site-packages/python_ftp_erver-1.3.17.dist-info/WHEEL"] 306 content = """Wheel-Version: 1.0 307 Generator: bdist_wheel (0.37.0) 308 Root-Is-Purelib: true 309 Tag: py3-none-any 310 """