中文请点击这里.
rsock n'est ni un accélérateur, ni un VPN. Il transforme simplement une connexion UDP en plusieurs fausses connexions TCP, ou en plusieurs connexions UDP normales, ou les deux. C'est très similaire à udp car il n'est pas fiable et n'a pas de contrôle de flux, d'algorithmes de retransmission de délai d'attente, etc. C'est multiplateforme . Il est censé être utilisé avec kcptun ou un autre client UDP avec ARQ. Le but de rsock est d'empêcher les qos d'être transmis à l'UDP par le FAI, le cas échéant. Il prend en charge Windows, Mac et Linux . Pour voir l'introduction et l'utilisation de kcptun, cliquez ici. Et shadowsocks, cliquez ici.
RÉPÉTITION : Le transfert de données de rsock n'est PAS fiable. Un transfert de données fiable doit être assuré au niveau de l'application (kcptun).
L'image suivante montre brièvement les principes
Il existe des binaires précompilés pour Linux 64 bits, Mac 64 bits et Windows x86/x64. Ils peuvent être téléchargés ici.
Pour les utilisateurs Windows , vous devez d'abord installer winpcap. winpcap
Pour les autres plateformes, vous pouvez télécharger le code source et le compiler vous-même. Le guide de compilation est ici
N'oubliez pas d'ajouter une règle de pare-feu si le pare-feu est activé.
Prenons Linux comme exemple :
# port=10000
# while [ $port -le 10010 ]
do
sudo ufw allow $port
port=$[ $port + 1]
done
Cela signifie autoriser le client à se connecter au serveur du port 10000 à 10010. ( rsock utilise la plage de ports 10001-10010 par défaut. Si vous souhaitez modifier la valeur par défaut, veuillez consulter la section Explication des paramètres. )
sudo ./server_rsock_Linux -t 127.0.0.1:9999
Explication des paramètres :
127.0.0.1:9999, adresse cible, c'est-à-dire adresse du serveur kcptun sur lequel il travaille.
Prenons Mac comme exemple :
sudo ./client_rsock_Darwin --taddr=xxxx -l 127.0.0.1:30000
Explication des paramètres :
-t xxxx , Adresse du serveur rsock。Attention. Ceci est différent du serveur. Il ne contient que l'adresse IP.
-l , adresse udp écoutée locale, alias adresse cible du client kcptun (l'adresse spécifiée par -t).
Si rsock ne fonctionne pas, vous devez vérifier si votre carte réseau prend en charge winpcap. Et les routeurs peuvent également filtrer les paquets, notamment lorsque vous utilisez Windows.
Pour les utilisateurs Windows, la vitesse est bien plus lente que celle de rsock sur mac/Linux. (500-800 Ko/s pendant mon test), par exemple sur Mac/Linux, rsock peut prendre en charge le visionnage fluide de vidéos YouTube 1080P. Pour les utilisateurs de Windows, rsock ne peut prendre en charge que la vidéo YouTube 720P.
ps axu|grep rsock
sudo kill -SIGUSR1 pid # pid is id of rsock. It's 72294 in image above.
-t, --taddr=[addr] target address. e.g. 8.8.8.8:88,7.7.7.7. Required.
-l, --ludp=[addr] local listened udp address. Only valid for client. Required by client.
-d, --dev=[device] name of network interface card of Internet.e.g,eth0, en0. rsock can auto detect right device to work on. Use this when the default can't work.
-h, --help Display help menu. Not available now.
-f json config file
--lcapIp=[ip] Internet IP. Can omit the -d if this parameter sepcified. rsock can auto detect right device to work on. Use this when the default can't work.
--unPath Local unix domain socket. Not available now.
-p, --ports=[...] tcp/udp port list for rsock server. e.g.10001,10010(2 ports); 10001-10010(11 ports); 80,443,10001-10010(12 ports). **NO** white spaces allowed. Default value: 10001-10010
--duration=[timeSec] Time for app connection to persist if no data is transfered in the app connection. unit: seconds. defalt 30s
--hash=[hashKey] Not for encryption. Only for judgement if data belong to rsock. REPEAT: rsock don't encrypt data. Encryption is done by kcptun.
--type=[tcp|udp|all] type of communication. One of tcp, udp or all. Default is tcp.
--daemon=[1|0] Run as daemon. 1 yes. 0 no. default 1.
-v verbose mode. (Better not change default value. There is an unsolved bug that will cause slow speed right now)
--log=[path/to/log] Directory of log. Will create if not exist. Default: /var/log/rsock
--cap_timeout timeout of libpcap. Don't change this value if know what it really means.
En mode TCP, puisque nous n'envoyons/recevons pas de données depuis le socket, il enverra un accusé de réception d'une longueur de 0, indiquant à l'homologue la prochaine séquence qu'il attend. Cela est dû à la norme. Et cela gaspillera de la bande passante.
Comparaison d'objets:rsock, kcptun
VPS de Digitalocean NY. 1 Go de RAM
rsock (tcp uniquement, 11 ports). 1,25M
rsock (udp uniquement, 11 ports). 1,5M
rsock(doc/tcp et udp, 11 ports chacun. 1,1 M
kcptun. Le plus rapide, environ 1,5 Mo.
rsock (tcp uniquement, 11 ports). 1,4 M
rsock (udp uniquement, 11 ports. 1,7 M
rsock (udp et tcp, 11 ports chacun) 900K. J'ai testé deux fois. La vitesse est plus lente.
kcptun. extrêmement rapide. Environ 2 Mo.
Remarque : Rien ne prouve que plus rsock utilise de ports, plus il est rapide. Cela dépend principalement de votre bande passante.
rsock n'a qu'une vitesse de 70 à 90 % de kcptun.
Si vous ne trouvez aucune connexion réseau, veuillez vérifier si rsock et kcptun sont toujours en cours d'exécution.
Vous pouvez exécuter des commandes fluides pour vérifier :
ps axu|egrep 'kcptun|rsock'
Il est fortement recommandé que le serveur kcptun et le serveur rsock s'exécutent en arrière-plan. Pour le serveur kcptun, exécutez
nohup sudo -u nobody ./server_linux_amd64 -r ":port1" -l ":port2" -mode fast2 -key aKey >/dev/null 2>&1 &
Pour le serveur RSock, il suffit de spécifier le paramètre --daemon=1
Si les serveurs fonctionnent normalement, essayez de redémarrer le client kcptun (activez/désactivez shadowsocks, cela redémarrera kcptun).
rsock NE crypte PAS les données . Le cryptage se produit au niveau de l'application (kcptun).
tunnel udp2raw
kcptun-raw
tunnel icmptunnel
Code de refactorisation.
Ajoutez une écoute aléatoire des ports.
Ajoutez le mode veille. Ne vous connectez pas à plusieurs reprises au serveur s'il n'y a pas de données pendant une période.
Ajoutez d'autres fausses connexions. par exemple ICMP, DNS.