Coder Social home page Coder Social logo

palw3ey / ye3tftp Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 31 KB

A docker TFTP server based on tftp-hpa and Alpine. Light, below 10 Mb. GNS3 ready.

Home Page: https://hub.docker.com/r/palw3ey/ye3tftp

License: MIT License

Dockerfile 27.67% Shell 72.33%
alpine cisco docker gns3 tftp-server tftpd-hpa 32bit 64bit arm raspberry

ye3tftp's Introduction

ye3tftp

A docker TFTP server based on tftp-hpa and Alpine. Light, below 10 Mb. GNS3 ready.

The /data folder is persistent.

Simple usage

docker run -dt --name mytftp -e Y_CREATE=yes -e Y_CHMOD=777 palw3ey/ye3tftp

Test

  • From the host
# create a test file :
docker exec -it mytftp sh --login -c "echo it_works > /data/test.txt"

# get container IP :
docker inspect --format='{{.NetworkSettings.IPAddress}}' mytftp

# install a tftp client
apt install tftp-hpa

# get the test file through the tftp client
tftp 192.168.9.150 69
  get test.txt
  quit

# show the content of the test file
cat test.txt

HOWTOs

  • Mount to your host folder /home/tux/Downloads
docker run -dt --name mytftp -v /home/tux/Downloads:/data -e Y_CREATE=yes -e Y_CHMOD=777 palw3ey/ye3tftp
  • Map to your host port 1069
docker run -dt --name mytftp -p 1069:69/udp -e Y_CREATE=yes -e Y_CHMOD=777 palw3ey/ye3tftp

GNS3

To run through GNS3, download and import the appliance : ye3tftp.gns3a

How to connect the docker container in the GNS3 topology ?

Drag and drop the device in the topology. Right click on the device and select "Edit config".
If you want a static configuration, uncomment the lines just below # Static config for eth0 or otherwise # DHCP config for eth0 for a dhcp configuration. Click "Save".
Add a link to connect the device to a switch or router. Finally, right click on the device, select "Start".
To see the output, right click "Console".
To type commands, right click "Auxiliary console".

Environment Variables

These are the env variables and their default values.

variables format default description
Y_LANGUAGE text fr_FR Language. The list is in the folder /i18n/
Y_DEBUG yes/no no yes, Run tftpd with verbose (--verbosity 4) option
Y_IP IP address 0.0.0.0 IP address to listen to
Y_PORT port number 69 Port to listen to
Y_CREATE yes/no no yes, Allow new files to be created
Y_CHMOD integer permission chmod to apply to /data/ folder. Has no default value by default, this mean : dont modify permission. Useful number 444 or 777.
Y_CHMOD_RECURSIVE yes/no no apply chmod recursively, this mean : to all files and folder in /data/

Compatibility

The docker image was compiled to work on these CPU architectures :

  • linux/386
  • linux/amd64
  • linux/arm/v6
  • linux/arm/v7
  • linux/arm64
  • linux/ppc64le
  • linux/s390x

Work on most computers including Raspberry Pi

Build

To customize and create your own images.

git clone https://github.com/palw3ey/ye3tftp.git
cd ye3tftp
# Make all your modifications, then :
docker build --no-cache --network=host -t ye3tftp .
docker run -dt --name my_customized_tftp ye3tftp

Documentation

tftpd man page

Version

name version
ye3tftp 1.0.0
tftp-hpa 5.2
alpine 3.18.4

Changelog

[1.0.0] - 2023-12-02

Added

  • first release

ToDo

  • need to document env variables (2023-12-18)
  • add more translation files in i18n folder. Contribute ! Send me your translations by mail ;)

Don't hesitate to send me your contributions, issues, improvements on github or by mail.

License

MIT
author: palw3ey
maintainer: palw3ey
email: [email protected]
website: https://github.com/palw3ey/ye3tftp
docker hub: https://hub.docker.com/r/palw3ey/ye3tftp

ye3tftp's People

Contributors

palw3ey avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.