Thanks to visit codestin.com
Credit goes to github.com

Skip to content

bon-ami/ezcomm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EZComm

TCP/UDP/http, client & server all-in-one, with GUI or flow script. README in other language(-s): 简体中文

Home page of EZ project

Getting started

  • Go to Sourceforge for releases of prebuilt binaries.
  • Go to GitLab for releases of source code.

GUI

  • Steps 1-4 as an http server.
  • Steps 3,5-7 as a TCP/UDP client/server.
  • Steps 8-9 are configuration and script related.
  1. LAN shows all local interfaces with HTTP port we are listening on. tab LAN
  2. Click one item to copy it and open clipboard as address in a web browser. You can read readme or other info of this app with links then, exchange texts between browser server and clients, or view app's files. tab LAN
  3. To interact between two devices within same network, use either LAN/HTTP or interactive/files/TCP/UDP mode. To ease discovery of each other, click "Look for a peer" to show its address and port on the other. Choosing the item on the other device will copy the IP to remote address in interactive and files tab.
  4. HTTP shows the server created as in LAN. tab HTTP
  5. interactive mixes TCP/UDP client and server and sends/receives text. tab interactive 5.1. choose udp or tcp. 5.2. input local/remote address & port as needed. Local IP defaults to all interfaces and port defaults a system-chosen one. 5.3. choose listen to run as a server or send as a client.
  6. files sends/receives files between TCP/UDP client and server. tab files
  7. Downloads shows files in app's directory for files. tab Downloads
  8. log shows logging for assistance. tab log
  9. config contains anti-attack, language/font settings and flow switch. tab config

Source code under guiFyne directory uses Fyne for graphical UI to support cross-platforms.

Features

  • TCP/UDP/HTTP
  • client/server. send to different clients with different text as a server.
  • flow script to automatically listen, accept, receive and send messages or files.
    • file transfer. files or pieces are encapsulated to avoid confusion with text messages.
  • peer discovery in LAN
  • incoming/outgoing message history
  • anti-flood to neglect frequent incoming traffic from same IP
  • customizable and in-built fonts
  • multilingual interface. Current languages (mainly translated by Bing Translator from English and Chinese Simplified):
    • English
    • Spanish
    • Japanese
    • Chinese simplified (CN)
    • Chinese traditional (TW)

command line

source code under cmd directory. only flow mode supported.

  • Run it with "-h" to show command line parameters.
  • Run it with "-flow" parameter with flow file name to run with no graphical UI but the script only. Refer to sample*.xml to check how to write a flow script.

Code Building

For requirement on version of Go, refer to go.mod under root directory, and guiFyne, if GUI is needed.

CMD builds

Run build.sh or build.bat under cmd directory, on Linux or Windows, respectively.
Both EZComm_cmd for Linux and EZComm_cmd.exe for Windows will be generated with build.sh.

A parameter is version number in form of X.X.X, which defaults to 0.0.0. This is optional for build.sh.
If it exists, another optional parameter is build number. It defaults to current date for build.sh.

GUI builds

Refer to Fyne for more details on this GUI solution.

Prequisites

  • GCC is required. Refer to Prerequisites of Fyne for different platforms.
  • Run go install fyne.io/fyne/v2/cmd/fyne@latest
  • Run go install github.com/fyne-io/fyne-cross@latest if cross compiling is needed.

Build script

  • Run build.sh under guiFyne directory.

batch build for GUI on Windows, Liunx and Android, and CMD on Windows and Linux

Run build.sh under root directory. If a version in form of X.X.X is provided as a parameter, it will be used and it will be retail build, otherwise, it is a debug buid by default. In case a version is provided, a build number can be provided furthermore.

WEB builds

Though it does not function, it can also run in a browser with fyne serve or fyne package -os web. Details are in Fyne declares to support web builds.

This needs bon-ami/go-findfonts to build, so I "replace" flopp/go-findfonts in module settings. These libraries are same in other aspects.

Issues, Security & Tests

Tracked by Issues on GitLab

Tested and auto-built on GitLab

Security Status (not real-time)

Requirements and milestones

Requirements Milestones

EULA, License

Refer to COPYRIGHT for Explicit Distribution Declaration in addition to Apache V2.0.

Most translations by Bing

Built-in fonts are from following sites.

similar project(s)

  • LocalSend for msg/file exchanging, developed with flutter

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published