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協議仍是很不錯的。