2025-04-08 12:36:16 +08:00
2025-04-07 23:43:50 +08:00
2025-04-13 13:22:35 +08:00
2025-04-15 08:48:41 +08:00
2025-04-15 08:48:41 +08:00
2025-02-17 18:29:23 +08:00
2025-02-16 14:58:03 +08:00

transm

一个简易的使用服务端(tss)作为中转中心,间接在两个(多)客户端(tsc)之间传输文件的工具。

平台支持:WindowsLinuxMacOSTermuxiPhone iSh及理论上其他任意支持c++17标准编译器的平台。

低版本编译器,可选择boost+c++11标准组合。

:使用安装包的用户,如果想变更安装位置的话,请先卸载旧版本(原位置更新最新版不用卸载)。

一、说明

注意: 当前说明文档仅针对v1.4.1及其以后的版本,此前的版本需要检出对应tagREADME.md或者下载对应发布版本的源码,然后解压其中的README.md

服务端程序支持任意个客户端相互之间同时连接同时传输文件,吞吐瓶颈在服务端主机网络上。

  • tsstsc均为命令行端程序,无GUI。

一些特点(基于最新版本)

  • 易编译。
  • 通配符传输。
  • 公网传输支持加密。
  • 广泛的平台支持。
  • 终端自动文件补全。
  • 自动检测对方掉线。
  • 极小的、单个文件。
  • 支持相对路径处理。
  • 单端可以操作下载发送。
  • 支持单客户端操作收发本地文件。
  • 多客户端可以同时互相收发文件。
  • 服务端仅转发数据,不存储数据。
  • 运行时无其他三方二进制库依赖。
  • LinuxLinux文件传输保留原权限。
  • 干净,不会在客户机环境到处遗留临时文件。
  • 临时公网传输,无需使用三方需要登陆软件。
  • 服务端自我安全防御(若部署到云端防止常规攻击)。
  • 支持拒绝同时操作同设备同路径文件,防止文件内容丢失。

二、使用说明

1.程序启动

  • 对于服务端程序tss,绑定默认绑定0.0.0.09898端口,如果需要修改端口,使用参数启动,示例:tss 9898
  • 对于客户端程序tsc,请使用tsc --help查看如何启动。

2.使用

tsc连接到服务端tss后,可以输入h查看所有指令的具体介绍。

tsc

3.介绍补充

  • 需要传入存储路径的指令,如果未填写,默认tsc当前工作目录。
  • 任务文件格式统一为UTF-8编码。
  • 支持相对路径处理。
  • UpTaskDownTask指令任务文件格式完全一致,均为左文件,右目录,尽管是下载别人文件,目的是为了支持同一个任务文件既可以发也可以收。

具体任务文件内容格式如下(左侧发送端,右侧接受端),内容支持变量:

  • ${HOME},用户目录(发送端接收端均支持)。
  • ${CURRENT},任务文件所在目录(该变量仅支持发送端,也就是|左侧,因为接收端没有任务文件所在路径)
${HOME}/截图/Ni.jpg|${HOME}/dira
${CURRENT}/xxx.zip|D:\

3.1 版本内容补充

  • v1.5.0及其以后版本:支持数据加密传输功能(会影响速度,默认开启,可关闭)。
/*
测试环境 ==>
Microsoft Windows 10 Professional (x64) Build 19045.5608 (22H2)
13th Gen Intel(R) Core(TM) i5-13500H 3200.0 MHz

Debug模式 tinyaes 加密解密测试速度:
=========================================
File size: 630239232 bytes (601.043 MB)
Effective block size: 102384 bytes
Total encryption time: 41887336 μs (14.349 MB/s)
Total decryption time: 41822620 μs (14.3712 MB/s)
Data verification: PASSED
=========================================
Release模式 tinyaes 加密解密测试速度:
=========================================
File size: 630239232 bytes (601.043 MB)
Effective block size: 102384 bytes
Total encryption time: 8367460 μs (71.831 MB/s)
Total decryption time: 8150036 μs (73.7473 MB/s)
Data verification: PASSED
=========================================
*/
  • v1.5.2及其以后的代码版本:新增了tss-http服务端,简单用于某些时候,客户机上没有tsctss程序时,通过http协议传输文件。

    关于tss-http编译:不支持mingw编译,因此win8及以下没有此程序支持。

    示例启动:tss-http 8080 D:/files(参数为端口、根目录)。

三、编译

当前项目支持cmake构建工具。

git clone --recursive https://www.sinxmiao.cn/taynpg/transm

1.常规编译

cmake:cmake -Bbuild -DCMAKE_BUILD_TYPE=Releasecmake --build build --config Release

2.XP系统编译

前提

  • 支持XPmsvc编译器不支持新C++语法标准,故使用mingw32编译器。
  • 支持xpmingw32编译器的c++17标准的filesystem模块还是实验性质且有编译BUG,故使用boost-filesystem
  • 需要一个最低3.16版本的cmake

编译

请参照:xp_build.bat

Description
一个简易的使用服务端(tss)作为中转中心,间接在两个(多)客户端(tsc)之间传输文件的工具。
Readme 6.2 MiB
v1.5.1 Latest
2025-04-09 19:41:40 +08:00
Languages
C++ 99.2%
C 0.6%
CMake 0.2%