# nettrans

## 1.介绍

利用某个IP作为中转传输文件，中转处本身不存储文件，即仅转发数据（先放到服务器再下载对于频繁传输来说也有点麻烦），此IP可以是局域网IP，也可以是公网IP。

对于不想下载网盘、微信、企鹅等需要登录的软件传输文件，且你有一个可用的公网服务器，可以使用此工具。

 **多用于临时公网传文件和调试不同机器之间程序时频繁传输文件。** 

 **优势：** 

- 开源免费无广告。
- 体积大小固定、压缩包体积大致在20MB左右，不会像三方软件一直膨胀大小。
- 无需登录，干净整洁，没有三方软件安装后的七七八八的东西。
- 配置简单，仅需配置一个服务器IP。
- 跨平台。
- 文件传输存放位置可直接拖动移动，使用方便。

 **缺点：**  

- 局域网公网均可用，但想公网传输需要有自己的公网IP，该项目仅是一个工具。
- 中转的IP需要跑一个服务程序，一般如果有自己的服务器可以做成服务常驻运行。

## 2.与LocalSend的区别

||nettrans|localsend|
|-|-|-|
|传输|可局域可公网|只能局域网|
|服务程序|需要|不需要|
|客户端|仅三大平台(Linux、MacOS、Windows)|全平台|
|文件存放|双界面调整存放位置方便|只能提前设置好存到哪里|
|配置|仅配置服务端IP地址|无需配置|

主要点还是在公网访问。

## 3.与使用远程工具的区别

||nettrans|远程工具|
|-|-|-|
|传输|可局域可公网|只能公网|
|文件存放|双界面调整存放位置方便|能直接粘贴但是有时候跨系统或者设置问题无法使用复制粘贴|
|速度|无界面仅传输文件|还需要传输画面|
|易用性|无界面仅传输文件|如果仅使用传输文件模式，其更改存放位置麻烦（对于频繁传输来说）|

## 4.与WebRTC区别

||nettrans|WebRTC技术|
|-|-|-|
|部署|仅一个二进制目录和配置一个IP|暂不清楚WebRTC技术部署是否简单方便|
|易用性|双界面调整存放位置方便|存放文件较为麻烦|

## 3.应用场景

可能是我的需求都是工业工控机，这种机器一般没有外接口，或者外接口被占满，或者外接口不好够到（集成到各种设备中了）。

 **1.调试程序时** 

调试的程序开发机与运行机器不是同一个机器，现场也没有网线接口供直接链接机器，但是开发调试又需要不停的更新程序到客户机，单纯使用U盘就很麻烦，如果此时客户机有外网访问，可以利用服务器中转直接对客户机文件进行替换修改。

 **2.临时传输文件** 

遇到一个场景，需要临时传输文件到一个PC机上，该PC机是工业工控机没有接口使用，联网也是使用的SIM卡，所有也没有局域网，想传输文件就需要下载企鹅、微信什么的，如果不想下载这种需要登录的软件且保证PC机干净（很多软件安装后卸载卸载不彻底），可以使用`nettrans`，绿色免安装且仅有一个配置文件在用户目录下，不想用了界面提供删除配置文件功能。

 **3.局域网使用** 

有时候会有这样一种场景，客户机没有公网，且是Linux系统，如果使用远程桌面什么的需要安装工具（都需要网络或者使用`deb`但是万一碰到依赖问题也很麻烦），但是没有公网没法安装工具，而`nettrans`可以直接打包二进制文件，U盘丢到客户机就可以用局域网传输了（仅需配置IP地址)，主要在与方便，
