Giter Site home page Giter Site logo

jpmikkers / tftpserver Goto Github PK

View Code? Open in Web Editor NEW
38.0 6.0 12.0 750 KB

Managed TFTP server implementation, written in C#. Features: IPv4 and IPv6, blocksize, single port mode, windowed mode, unlimited transfers, MIT licensed

License: MIT License

C# 100.00%
tftp tftp-server tftp-protocol tftpd c-sharp mit-licensed rfc783 rfc906 rfc1350 rfc1782

tftpserver's Introduction

TFTP Server

Features

Managed TFTP server implementation with the following features:

  • Open source
  • works both in IPv4 and IPv6 mode.
  • correct retry behavior
  • supports the following TFTP options: block size, transfer size, and timeout.
  • it's possible to run in single port mode: this ensures that only port 69 will be used for TFTP transfers, simplifying firewall and router configuration.
  • supports many concurrent transfers.
  • as of 1.2 beta : supports windowed mode, enabling high speed downloads.
  • Runs as windows service.
  • Supports multiple TFTP servers on different endpoints, each serving its own root directory.
  • Advanced MSI based installer.
  • Logs to the windows event log.
  • permissive MIT license so it can be used in commercial projects.

Screenshots

See Screenshots.

Tested clients

The server has been successfully tested with the following clients:

  • my multiplatform graphical desktop TFTP client: Avalonia-TFTPClient
  • my TFTP client library TFTPClient
  • windows 7 TFTP
  • Win32: TFTPD32 by Philippe Jounin
  • ubuntu/linux Advanced TFTP client, ATFTP
  • ubuntu/linux TFTP
  • ubuntu/linux TFTP-hpa
  • B&R PLC bootloader

Tested platforms (so far)

  • 64 bit Windows 11
  • 64 bit Windows 10
  • 64 bit Windows 7
  • 32 bit Windows XP
  • 64 bit Windows Vista
  • Linux! The main TFTP library compiles and runs without modifications in Mono . All I had to do was create a small console app that instantiates the TFTPServer class.

tftpserver's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tftpserver's Issues

How to set the Blocksize when create TFTP object?

The WindowSize is offered as parameter:
public int TFTPWindowSize { get; set; } = 8;
tftp_server.WindowSize = (ushort)TFTPWindowSize; // = Default: 1

But I see no possbility to set the DefaultBlockSize when create the TFTP object.

May can you help me and add something similar to the code?
public int TFTPBlockSize { get; set; } = 8192;
tftp_server.DefaultBlockSize = TFTPBlockSize ; // = Default: 512

Invalid configuration file.

A static configuration file is set in program.cs,

Could you upload a template/example for the xml formatting to refer to. I have attempted manually recreating the path "C:\programdata\JPMikkers\TFTP Server\Configuration.xml" but experience exceptions.

Many thanks.

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.