https://github.com/mkashirin/filez
Filez is a very simple tool for receiving and sending files written in the Zig programming language.
https://github.com/mkashirin/filez
filebuffer networkprogramming zig
Last synced: 10 months ago
JSON representation
Filez is a very simple tool for receiving and sending files written in the Zig programming language.
- Host: GitHub
- URL: https://github.com/mkashirin/filez
- Owner: mkashirin
- License: mit
- Created: 2024-03-17T21:31:39.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-18T19:54:34.000Z (about 1 year ago)
- Last Synced: 2025-03-23T01:12:34.277Z (10 months ago)
- Topics: filebuffer, networkprogramming, zig
- Language: Zig
- Homepage:
- Size: 88.9 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Filez
Filez is a very simple file buffer files written in the Zig programming
language (version is 0.13.0). Is was built to gain better understanding of low
level languages and systems programming in general.
## Building
Clone this repository onto your local machine using the Git Command Line
Interface (CLI):
```shell
git clone https://github.com/mkashirin/filez
```
Compile a binary using the Zig compiler (the sole valid version of Zig
is 0.13.0) by running the following command:
```shell
zig build --release="safe"
```
After completing the steps above, the binary will be located in the
zig-out/bin. That concludes the process. Consider different
`zig build` modes for embedded systems.
## Usage
The information provided by the `filez help` options describes
all the arguments in detail. However, the following is an example of how to use
the tool on your local machine only (make sure to make Filez visible to your
system first).
Open a terminal and execute the following command, specifying the path to the file
that you wish to process:
```shell
filez \
--action="dispatch" \
--fdpath="/absolute/path/to/file.ext" \
--host="127.0.0.1" \
--port="8080" \
--password="abcd1234"
```
Then, open a second terminal instance and execute the following command,
specifying your own path to the directory where you want to store the received file:
```shell
filez \
--action="receive" \
--fdpath="/absolute/path/to/directory/" \
--host="127.0.0.1" \
--port="8080" \
--password="abcd1234"
```
**Remember**, the file size must not exceed the maximum of 8 kilobytes.
## Note
Devises to be communicating with files must have ability to ping each other.