TCP/UDP/http, client & server all-in-one, with GUI or flow script. README in other language(-s): 简体中文
- Go to Sourceforge for releases of prebuilt binaries.
- Go to GitLab for releases of source code.
- 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.
- LAN shows all local interfaces with HTTP port we are listening on.
- 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.
- 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.
- HTTP shows the server created as in LAN.
- interactive mixes TCP/UDP client and server and sends/receives text.
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.
- files sends/receives files between TCP/UDP client and server.
- Downloads shows files in app's directory for files.
- log shows logging for assistance.
- config contains anti-attack, language/font settings and flow switch.
Source code under guiFyne directory uses Fyne for graphical UI to support cross-platforms.
- 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)
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.
For requirement on version of Go, refer to go.mod under root directory, and guiFyne, if GUI is needed.
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
.
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.
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.
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.
Tracked by Issues on GitLab
Tested and auto-built on GitLab
Refer to COPYRIGHT for Explicit Distribution Declaration in addition to Apache V2.0.
Most translations by Bing
Built-in fonts are from following sites.
- ja: Japanese. osaka.ttf cooltext.com
- zhCN: Chinese Simplified. YRDZST Medium.ttf chinesefonts.org
- zhTW: Chinese Traditional. YanKai.ttf cooltext.com
- LocalSend for msg/file exchanging, developed with flutter