BitTorrent Sync是一个简单的文件传输工具,他使用p2p协议传输文件,以最大的安全度、网络带宽、存储能力传输文件。文件经过p2p协议传输,所以每个连接上的电脑都同时是客户端和服务端。设备在同步时是直接相连的,你能够经过udp、nat转换、upnp端口映射、中继服务器等创建连接。若是你的网络是本地网络,BitTorrent Sync在同步时不会使用外部网络。全部在设备之间的传输都是通过AES加密的。 linux
BitTorrent Sync能够在windows、mac、linux上使用,本文主要是在linux上使用,在linux平台上BitTorrent Sync是很好安装的,从官方根据平台类型下载好你须要的tar包以后,在linux服务器上解压便可看到一个btsync二进制文件,执行./btsync便可运行。BitTorrent Sync自带了一个WEB UI界面,你能够经过你本机的ip:8888/gui来访问,端口都是能够修改的,在第一次访问UI界面时是不须要认证的,不过仍是建议设置密码认证。不过我仍是喜欢CLI的管理方式。执行./btsync --help便可看到CLI的使用方式。 web
BitTorrent Sync还有一个用户借口,经过它你能够知道连接了哪些设备、那个目录在同步、传输速度、上传/下载历史、性能等等。这些数据在WEB UI都有直观的显示,可是在CLI却没有相关信息的显示,不过在默认文件里面有个sql库,估计是存在这里面的。 sql
在mac和windows都有图形化的界面,里面能够设置一些高级属性,虽然linux也有WEB UI,可是里面没有设置高级属性的地方。linux的高级属性能够写在配置文件中。可是默认的包解压后并无配置文件的例子,经过./btsync --dump-sample-config能够打印出一个自带的简单配置文件,配置文件时json格式的。如下的高级参数并无在简单配置文件中显示,不过你能够加入他们,后面跟有默认值。 shell
高级参数有以下: json
disk_low_priority:true 设置在磁盘上操做文件的优先级,若是设置为false,在同步文件时读写文件将会采用最高速度和优先级,不过这样会影响其余应用的性能。 folder_rescan_interval:600 设置扫描目录的时间间隔,单位为秒 lan_encrypt_data:true 若是设置为ture,则在本地网络传输时会采用加密传输。 lan_use_tcp:false 若是设置为ture,在本地网络同步会采用tcp传输,而不是采用udp传输。注意:在LAN中禁止加密并采用tcp传输,会增长传输速度。 rate_limit_local_peers:false 申请在本地网络的peers直接限速传输,默认没有在LAN里面限速 send_buf_size:5 在发送文件时可使用的发送缓存,能够设置1~100M recv_buf_size:5 在接收文件时可使用的接收缓存,能够设置1~100M sync_max_time_diff:600 同步的设备之间的时间差异 sync_trash_ttl:30 设置多少天以后自动删除.SyncArchive目录中的文件 max_file_size_diff_for_patching:1000 max_file_size_for_versioning:1000 版本控制的一个参数,不了解...
BitTorrent Sync还支持文件过滤,若是你有一些文件不想被同步,你可使用.SyncIgnore,.SyncIgnore是一个UTF-8编码的txt文件,里面你能够定义单个文件,路径,以及规则,他支持简单的“?”和“*”匹配。 windows
下面开始使用(10.20.112.26) 浏览器
1 首先就是去官网下载tar包,若是连官网都懒得去,能够用下面的方法 缓存
add-apt-repository ppa:tuxpoldo/btsync aptitude update aptitude install btsync
下载好btsync_glibc23_x64.tar.gz后,在linux下面直接解压,会看到一个btsync二进制文件和LICENSE.TXT文件,除此以外没什么了,很简单啊... 安全
2 启动btsync 服务器
直接执行./btsync便可
3 先看看WEB UI界面,在浏览器中输入10.20.112.26:8888/gui
界面看起来简单清爽,不过没有在win/mac下的配置项多啊,中文支持不错,点击preferences可设置
既然在linux下使用,CLI确定是首选项,因此下面主要介绍经过配置文件管理BitTorrent Sync
4 BitTorrent Sync的tar包中默认没有配置文件的,不过能够打印出内部自带的简单配置文件,./btsync --dump-sample-config
{ #定义设备名称,通常写主机名或者IP "device_name": "My Sync Device", #是使用随机端口仍是固定端口,0表示随机 "listening_port" : 0, #storage_path包含一些运行时产生的状态文件,若是没有定义,则会在二进制命令运行的目录下产生一个.sync隐藏目录 "storage_path" : "/home/user/.sync", #定义pid文件的路径 "pid_file" : "/var/run/btsync/btsync.pid", #是否检查文件更新 "check_for_updates" : true, #使用UPnP进行端口映射 "use_upnp" : true, #是否对上传/下载进行限速,0表示不限速 "download_limit" : 0, "upload_limit" : 0, "webui" : { #若是去掉listen项,则表示禁用WEB UI "listen" : "0.0.0.0:8888", #若是去掉login/password,则表示不用验证 "login" : "admin", "password" : "password" }, #若是你在配置文件中设置了shared folders,则WEB UI中的会被禁止,配置文件中的会覆盖UI中设置的。 "shared_folders" : [ { #你的secret,可使用--generate-secret参数生成 "secret" : "MY_SECRET_1", #同步的目录 "dir" : "/home/user/bittorrent/sync_test", #是否使用中继服务器 "use_relay_server" : true, #是否使用tracker服务器 "use_tracker" : true, #是否使用dht "use_dht" : false, # "search_lan" : true, #是否自动删除文件 "use_sync_trash" : true, #设置不用查找就能够直接链接的机器 "known_hosts" : [ "192.168.1.2:44444" ] } ] }5 开始试验(10.20.112.26/27)
10.20.112.26的配置文件btsync.conf以下(server):
{ "device_name": "10.20.112.26", "listening_port" : 9999, "storage_path" : "/opt/btsync_server/file", "pid_file" : "/opt/btsync_server/file/btsync.pid", "check_for_updates" : true, "use_upnp" : false, "download_limit" : 0, "upload_limit" : 0, "folder_rescan_interval" : 5, "lan_encrypt_data" : false, "lan_use_tcp" : true, "webui" : { }, "shared_folders" : [ { "secret" : "AXZ46VPZZ7PRVHPPFBHEO7JEXFFVABC4J", "dir" : "/opt/data", "use_relay_server" : true, "use_tracker" : true, "use_dht" : false, "search_lan" : true, "use_sync_trash" : true } ] }
执行./btsync --config ./btsync.conf便可启动
{ "device_name": "10.20.112.27", "listening_port" : 9999, "storage_path" : "/opt/btsync_client/file", "pid_file" : "/opt/btsync_client/file/btsync.pid", "check_for_updates" : true, "use_upnp" : false, "download_limit" : 0, "upload_limit" : 0, "folder_rescan_interval" : 5, "lan_encrypt_data" : false, "lan_use_tcp" : true, "webui" : { }, "shared_folders" : [ { "secret" : "AXZ46VPZZ7PRVHPPFBHEO7JEXFFVABC4J", "dir" : "/opt/data", "use_relay_server" : true, "use_tracker" : true, "use_dht" : false, "search_lan" : true, "use_sync_trash" : true, "known_hosts" : [ "10.20.112.26:9999" ] } ] }
执行./btsync --config ./btsync.conf便可启动
笔记本实在是开不起第三台虚拟机了,只能用这两台演示怎么使用,彻底显示不出BT的威力啊,不过本文就是讲解怎么在linux利用BT协议发送文件,若是有大量的机器要发送文件,BT协议仍是很不错的。