User Tools

Site Tools


synergy

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
synergy [2017/06/23 16:37]
k2patel created
synergy [2020/12/22 23:37] (current)
k2patel [Synergy]
Line 1: Line 1:
 ====== Synergy ====== ====== Synergy ======
  
-Project : [[https://​github.com/​symless/​synergy|Github]]+Project : [[https://​github.com/​symless/​synergy-core.git|Github]] 
 + 
 +:!: Barrier / Opensource forked from 1.x after it became paid. 
 +Project : [[https://​github.com/​debauchee/​barrier|Barrier]] 
 + 
 +==== Installation ==== 
 +:!: Since version 2.x there is GUI for synergy available and there is no hm.sh script in source.\\ 
 +I've chose to use 2.x since it uses openssl to secure connection. \\ 
 + 
 +=== Linux === 
 +Most linux distro has package available. 
 +<code bash | fedora>​ 
 +sudo dnf install synergy 
 +</​code>​ 
 + 
 +=== Mac === 
 +<code bash> 
 +  git clone https://​github.com/​symless/​synergy-core.git 
 +  git checkout v2.0.0-stable 
 +  brew update 
 +  brew upgrade 
 +  brew info qt 
 +  export CMAKE_PREFIX_PATH="/​usr/​local/​Cellar/​qt/​5.10.1/​Frameworks/"​ 
 +  export LD_LIBRARY_PATH=$(brew --prefix openssl)/​lib 
 +  export CPATH=$(brew --prefix openssl)/​include 
 +  export PKG_CONFIG_PATH=$(brew --prefix openssl)/​lib/​pkgconfig 
 +  mkdir build 
 +  cmake -DCMAKE_OSX_SYSROOT=/​Applications/​Xcode.app/​Contents/​Developer/​Platforms/​MacOSX.platform/​Developer/​SDKs/​MacOSX10.13.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_OSX_ARCHITECTURES=x86_64 
 +  make 
 +</​code>​ 
 + 
 +Once building binary is done, Copy files to **~/bin/** so it can be used used within path.\\ 
 + 
 + 
 +====Post Build==== 
 +=== Server === 
 +<code bash> 
 +  openssl req -x509 -nodes -days 3650 -subj /CN=Synergy -newkey rsa:4096 -keyout ~/​.synergy/​SSL/​Synergy.pem -out ~/​.synergy/​SSL/​Synergy.pem 
 +  openssl x509 -fingerprint -sha1 -noout -in ~/​.synergy/​SSL/​Synergy.pem > ~/​.synergy/​SSL/​Fingerprints/​Local.txt 
 +  sed -e "​s/​.*=//"​ -i ~/​.synergy/​SSL/​Fingerprints/​Local.txt 
 +  cat ~/​.synergy/​SSL/​Fingerprints/​Local.txt # This is where you get server key hash 
 +</​code>​ 
 + 
 +=== Client === 
 +Copy server key hash to following file. 
 +<code text> 
 +~/​Library/​Synergy/​SSL/​Fingerprints/​TrustedServers.txt 
 +</​code>​ 
 + 
 +==== Starting server / client ==== 
 +In my case server is on linux and client is on mac. 
 + 
 +=== Server === 
 +== Configuration == 
 +<code bash | ~/​.synergy.conf>​ 
 +# sample synergy configuration file 
 +
 +# comments begin with the # character and continue to the end of 
 +# line.  comments may appear anywhere the syntax permits. 
 +# +-------+ ​ +--------+ +---------+ 
 +# |Laptop |  |Desktop1| |iMac     | 
 +# |       ​| ​ |        | |         | 
 +# +-------+ ​ +--------+ +---------+ 
 + 
 + 
 +section: screens 
 + # three hosts named: ​ Laptop, Desktop1, and iMac 
 + # These are the nice names of the hosts to make it easy to write the config file 
 + # The aliases section below contain the "​actual"​ names of the hosts (their hostnames) 
 + desk: 
 + mac: 
 +end 
 + 
 +section: links 
 + # iMac is to the right of Desktop1 
 + # Laptop is to the left of Desktop1 
 + desk: 
 +   right = mac 
 + 
 + # Desktop1 is to the right of Laptop 
 + mac: 
 +   left = desk 
 + 
 +end 
 + 
 +section: aliases 
 + # The "​real"​ name of iMac is John-Smiths-iMac-3.local. If we wanted we could remove this alias and instead use John-Smiths-iMac-3.local everywhere iMac is above. Hopefully it should be easy to see why using an alias is nicer 
 + desk: 
 +   desk 
 + 
 + mac: 
 +   mac 
 +end 
 +</​code>​ 
 +Now server can be using following command. 
 +<code bash | start server>​ 
 +/​usr/​bin/​synergy-core --server --name desk -c /​tmp/​Synergy.TJ6658 --address :24800 -c ~/​.synergy.conf --enable-drag-drop --enable-crypto --daemon 
 +</​code>​ 
 + 
 +=== Client === 
 +:?: One can also create the alias in bash profile 
 +<code bash | start client>​ 
 +~/​bin/​synergy-core --client --enable-crypto -n mac desk 
 +</​code>​ 
 +==== Autossh ( If do not want to use built-in crytpo library ) ==== 
 + 
 +Opensource version of synergy does not support encryption any more.\\ 
 +In order to secure data transmitted over network i use ssh tunnel, they suggest the same on their website.\\ 
 +Best bet is to use autossh, so if you are roaming between location it will auto connect when you are on same network.\\ 
 + 
 +**Installation**\\ 
 +<code bash> 
 +brew install autossh 
 +</​code>​ 
 + 
 +**Setup Tunnel**\\ 
 +<code bash> 
 +autossh -f -v -M 24800 -N -R 24800:​localhost:​22 user@hostname 
 +</​code>​ 
 + 
 +**Client**\\ 
 +Set ServerIP = '​localhost'​ 
 + 
 +That should do it.
synergy.1498235839.txt.gz · Last modified: 2020/08/10 02:29 (external edit)