A Python port of the Invisible Internet Project (I2P)
at main 81 lines 2.8 kB view raw
1FROM python:3.11-slim 2 3RUN apt-get update && apt-get install -y --no-install-recommends gcc libffi-dev && rm -rf /var/lib/apt/lists/* 4RUN pip install --no-cache-dir pytest pytest-asyncio 5 6# Copy all packages 7COPY i2p-py-util /src/i2p-py-util 8COPY i2p-py-stat /src/i2p-py-stat 9COPY i2p-py-time /src/i2p-py-time 10COPY i2p-py-kademlia /src/i2p-py-kademlia 11 12COPY i2p-py-crypto-aes /src/i2p-py-crypto-aes 13COPY i2p-py-crypto-chacha /src/i2p-py-crypto-chacha 14COPY i2p-py-crypto-dsa /src/i2p-py-crypto-dsa 15COPY i2p-py-crypto-eddsa /src/i2p-py-crypto-eddsa 16COPY i2p-py-crypto-elgamal /src/i2p-py-crypto-elgamal 17COPY i2p-py-crypto-garlic /src/i2p-py-crypto-garlic 18COPY i2p-py-crypto-hash /src/i2p-py-crypto-hash 19COPY i2p-py-crypto-hkdf /src/i2p-py-crypto-hkdf 20COPY i2p-py-crypto-hmac /src/i2p-py-crypto-hmac 21COPY i2p-py-crypto-mlkem /src/i2p-py-crypto-mlkem 22COPY i2p-py-crypto-noise /src/i2p-py-crypto-noise 23COPY i2p-py-crypto-session-keys /src/i2p-py-crypto-session-keys 24COPY i2p-py-crypto-siphash /src/i2p-py-crypto-siphash 25COPY i2p-py-crypto-x25519 /src/i2p-py-crypto-x25519 26 27COPY i2p-py-data-core /src/i2p-py-data-core 28COPY i2p-py-data-i2np /src/i2p-py-data-i2np 29COPY i2p-py-data-remaining /src/i2p-py-data-remaining 30COPY i2p-py-data-router /src/i2p-py-data-router 31 32COPY i2p-py-transport-base /src/i2p-py-transport-base 33COPY i2p-py-transport-ntcp2 /src/i2p-py-transport-ntcp2 34COPY i2p-py-transport-ssu2 /src/i2p-py-transport-ssu2 35 36COPY i2p-py-netdb /src/i2p-py-netdb 37COPY i2p-py-peer /src/i2p-py-peer 38COPY i2p-py-streaming /src/i2p-py-streaming 39COPY i2p-py-tunnel /src/i2p-py-tunnel 40COPY i2p-py-router /src/i2p-py-router 41COPY i2p-py-sam /src/i2p-py-sam 42COPY i2p-py-client /src/i2p-py-client 43COPY i2p-py-apps /src/i2p-py-apps 44 45# Install all packages in dependency order (leaves first) 46RUN pip install --no-cache-dir \ 47 /src/i2p-py-util \ 48 /src/i2p-py-stat \ 49 /src/i2p-py-time \ 50 /src/i2p-py-kademlia \ 51 /src/i2p-py-crypto-aes \ 52 /src/i2p-py-crypto-chacha \ 53 /src/i2p-py-crypto-dsa \ 54 /src/i2p-py-crypto-eddsa \ 55 /src/i2p-py-crypto-elgamal \ 56 /src/i2p-py-crypto-hash \ 57 /src/i2p-py-crypto-hkdf \ 58 /src/i2p-py-crypto-hmac \ 59 /src/i2p-py-crypto-mlkem \ 60 /src/i2p-py-crypto-siphash \ 61 /src/i2p-py-crypto-x25519 \ 62 /src/i2p-py-crypto-session-keys \ 63 /src/i2p-py-crypto-garlic \ 64 /src/i2p-py-crypto-noise \ 65 /src/i2p-py-data-core \ 66 /src/i2p-py-data-i2np \ 67 /src/i2p-py-data-remaining \ 68 /src/i2p-py-data-router \ 69 /src/i2p-py-transport-base \ 70 /src/i2p-py-transport-ntcp2 \ 71 /src/i2p-py-transport-ssu2 \ 72 /src/i2p-py-netdb \ 73 /src/i2p-py-peer \ 74 /src/i2p-py-streaming \ 75 /src/i2p-py-tunnel \ 76 /src/i2p-py-router \ 77 /src/i2p-py-sam \ 78 /src/i2p-py-client \ 79 /src/i2p-py-apps 80 81WORKDIR /src