https://github.com/yunis-du/flash-cat
Securely send the file folder from one computer to another computer
https://github.com/yunis-du/flash-cat
file-transfer linux macos rust windows
Last synced: 4 months ago
JSON representation
Securely send the file folder from one computer to another computer
- Host: GitHub
- URL: https://github.com/yunis-du/flash-cat
- Owner: yunis-du
- License: mit
- Created: 2024-04-12T06:45:41.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2026-02-27T07:47:48.000Z (4 months ago)
- Last Synced: 2026-02-27T14:36:24.248Z (4 months ago)
- Topics: file-transfer, linux, macos, rust, windows
- Language: Rust
- Homepage:
- Size: 49.6 MB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Flash-Cat
English | [简体中文](./README_CN.md)
Securely send the file folder from one computer to another computer.
- **symmetric encryption** (using aes-gcm)
- support **multiple file** transfers
- support **resume transfer from breakpoint**
- easy **cross-platform** transfers (Windows, Linux, Mac)

## Install
### Automatic installation script
#### Linux/macOS
```bash
curl -fsSL https://raw.githubusercontent.com/yunis-du/flash-cat/master/install.sh | sudo bash
```
##### China mainland
```bash
curl -fsSL https://download.yunisdu.com/flash-cat/install_cn.sh | sudo bash
```
#### Windows(Run Powershell as Administrator)
```powershell
irm https://raw.githubusercontent.com/yunis-du/flash-cat/master/install.ps1 | iex
```
##### China mainland
```powershell
irm https://download.yunisdu.com/flash-cat/install_cn.ps1 | iex
```
### Use yum install
Systems for yum package managers, such as Fedora, RockyLinux, etc. Currently, only amd64 and arm64 architectures are supported.
```bash
sudo curl -o /etc/yum.repos.d/flash-cat.repo https://repo.yunisdu.com/rpm/flash-cat/flash-cat.repo && sudo yum install flash-cat -y
```
### Use apt-get install
Systems for apt package manager-based (such as Debian, Ubuntu, and their derivatives).
```bash
sudo curl -fsSL https://repo.yunisdu.com/apt/flash-cat-archive-keyring.gpg -o /usr/share/keyrings/flash-cat-archive-keyring.gpg &&
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/flash-cat-archive-keyring.gpg] https://repo.yunisdu.com/apt/ flash-cat main" | sudo tee /etc/apt/sources.list.d/flash-cat.list && sudo apt-get update && sudo apt-get install flash-cat
```
### On macOS you can install the latest release with Homebrew
For macOS, use Homebrew package Manager to install the latest version of flash-cat.
```bash
brew tap yunis-du/brew
brew install flash-cat
```
### Or, you can install Cargo and build from source (requires Cargo 1.85+)
```bash
cargo install --git https://github.com/yunis-du/flash-cat flash_cat_cli
```
## Usage
### simple send and receive
send:
```bash
flash-cat send files or folder
...
Share code is: xx-xxxx-xxxx
...
```
receive:
```bash
flash-cat recv xx-xxxx-xxxx
```
## Deploy your own relay server
You can deploy your own relay server to handle file transfers within your local network or over the internet.
### Start relay server
```bash
flash-cat relay
```
## Specify relay
### command-line parameters
send:
```bash
flash-cat send files or folder --relay 127.0.0.1:6880
...
Share code is: xx-xxxx-xxxx
...
```
receive:
```bash
flash-cat recv xx-xxxx-xxxx --relay 127.0.0.1:6880
```
### environmental variable
send:
```bash
export FLASH_CAT_RELAY=127.0.0.1:6880
flash-cat send files or folder
...
Share code is: xx-xxxx-xxxx
...
```
receive:
```bash
export FLASH_CAT_RELAY=127.0.0.1:6880
flash-cat recv xx-xxxx-xxxx
```