Guía de instalación de Shadowsocks [Actualizado en marzo de 2022]
Hoy en día, China está en una carrera para crear su propia infraestructura de red segregada. La libertad de eludir las restricciones con una VPN también se reduce día a día. Aunque el impacto no es drástico. De manera gradual pero segura, China está cortando todos los lazos con Internet global.
Las redes sociales como Facebook y Twitter ya no funcionan en el país. Incluso se bloquean potentes motores de búsqueda como Google.
En teoría, el gobierno chino decide lo que puede y no puede hacer en línea.
Aquí es donde entra la tecnología Shadowsocks. Esta tecnología funciona de manera bastante similar a una VPN, sin embargo, hay ventajas obvias de usar Shadowsocks sobre las VPN tradicionales.
Suena prometedor, ¿verdad? Está. En este blog, voy a cubrir ShadowsocksR (SSR) y decirles cómo construir, optimizar, descargar shadowsocks y configurar un servidor Shadowsocks usando el software Shadowsocks.
¿Qué es incluso Shadowsocks?
Shadowsocks es esencialmente una tecnología de código abierto diseñada para eludir las restricciones geográficas. Dado que el servicio de Shadowsocks no es propiedad de ninguna empresa, cualquier persona con conocimientos de programación puede utilizar y contribuir a esta tecnología.
Dicho esto, Shadowsocks no es fácil de usar. Construirlo y configurarlo no es para todos y requiere bastante conocimiento técnico.
Es por eso que Shadowsocks es muy popular entre los expertos en tecnología, especialmente en la comunidad de programación.
Desglose de la tecnología Shadowsocks
Shadowsocks tiene esencialmente dos componentes. El servidor Shadowsocks real y el software de cliente Shadowsocks para interactuar con el servidor. Explicaré lo que hacen estos dos componentes en encabezados separados a continuación.
Servidor Shadowsocks
- Un servidor de Shadowsocks puede estar en cualquier lugar fuera del gran cortafuegos de China.
- Permite que múltiples dispositivos o usuarios eludan las restricciones geográficas.
- Un servidor Shadowsocks puede usarse para uso personal o alquilarse para que lo usen otros.
Software de cliente Shadowsocks
- Un software de cliente de Shadowsocks se ejecuta en una variedad de dispositivos y plataformas. Windows, Android, iOS son todos compatibles.
- El software del cliente es de uso absolutamente gratuito.
- Se puede usar un servidor Shadowsocks para conectarse al servidor Shadowsocks remoto más allá de la jurisdicción china.
Versiones de Shadowsocks
Dado que esta tecnología es relativamente nueva, solo tiene dos versiones. Los Shadowsocks (SS) y los ShadowsocksR (SSR).
Calcetines sombríos (SS)
- Shadowsocks (SS) fue el primer lanzamiento de esta tecnología.
- Es el predecesor de ShadowsocksR (SSR)
- Shadowsocks (SS) está desactualizado para los estándares actuales y rara vez se usa en la actualidad.
ShadowsocksR (SSR)
- ShadowsocksR (SSR) es el sucesor de Shadowsocks (SS).
- ShadowsocksR (SSR) mejora la versión SS y ofrece funciones avanzadas como el cifrado.
Requisito previo para construir su propio servidor Shadowsocks
Antes de que se emocione demasiado, voy a desglosar el conocimiento y los recursos reales necesarios para construir su propio servidor Shadowsocks que funcione.
Familiaridad con los comandos de computación.
Antes de siquiera pensar en crear su propio servidor Shadowsocks, debe estar familiarizado con los comandos de Linux y cómo funcionan.
Como referencia, un comando de Linux se parece a esto:
- Discos compactos
- Contraseña
- ls
- CP
Si nunca ha estado familiarizado con tales comandos, no se moleste en invertir su tiempo y esfuerzo en construir un servidor Shadowsocks.
Compra de cuenta de Shadowsocks y costos subcontratados
Los servidores privados virtuales no son baratos, pueden oscilar entre unos pocos dólares y unos cientos de dólares.
Aunque el procedimiento de pago relacionado con la compra de shadowsocks es relativamente fácil, debe asegurarse de que realmente puede pagar el costo de los servidores en el extranjero.
Además de eso, debe tener un dominio firme del idioma inglés para comunicarse con los proveedores globales de VPS.
Establecer una conexión con el VPS
Incluso si puede pagar VPS y conoce los comandos de Linux, aún necesita saber cómo conectarse a un servidor privado virtual usando SSH. Esto significa que un usuario de Mac necesitará saber cómo usar la Terminal integrada y los usuarios de Windows deben saber cómo usar Putty.
Finalmente, construya, optimice y acceda a la configuración del servidor Shadowsocks
Ahora que sabe lo que se necesita para que SSR construya su propio servidor Shadowsocks, es hora de profundizar en la implementación.
Para no sumergirse directamente en él.
Compre un servidor privado virtual en el extranjero
Ahora no hay una regla estricta y rápida para elegir un proveedor de VPS. Puedes ir con cualquier proveedor que satisfaga tus necesidades.
Si no conoce ningún proveedor de VPS confiable, aquí hay algunos para comenzar:
- océano digital
- vultr
- AmazonAWS
Por el bien de este tutorial, voy a usar DigitalOcean.
Crear un servidor VPS
Ahora que ha comprado DigitalOcean, necesita crear un host virtual utilizando el VPS. Aunque este es un proceso largo, es relativamente fácil. Voy a enumerar todos los pasos a continuación.
- Lo primero es lo primero, use el botón " Crear " ubicado en la parte superior de la página.
- Ahora seleccione la opción " Gotas " en el menú desplegable.
- Al crear " gotas ", seleccione las opciones como se menciona en los pasos a continuación.
Elige una imagen
Para elegir una imagen, seleccione " Ubuntu " ubicado en Distribución.
Elige un tamaño
Ahora seleccione el tamaño que desea que tenga su gota. Mi consejo, elija la opción más barata que aparece en Droplets estándar (por ejemplo, 1 GB, 1 vCPU, disco SSD de 25 GB, transferencia de 1 TB, $ 5 / mes).
Agregar copias de seguridad
Simplemente seleccione "No".
Agregar almacenamiento en bloque
Simplemente seleccione "No".
Elija una región del centro de datos
Elegir un centro de datos puede ser complicado. Si elige un servidor que está demasiado lejos, obtendrá una velocidad terrible de Shadowsocks. Por lo tanto, se recomienda elegir los servidores de EE. UU. y Asia.
Según mi experiencia, los servidores de la costa oeste, San Francisco (1, 2) y los servidores de Singapur funcionaron muy rápido.
Seleccionar opciones adicionales
Simplemente seleccione "No".
Agrega tus llaves SSH
Utilice la clave pública SSH provista para iniciar sesión en su host virtual recién adquirido.
Elija un nombre de host
Ahora dale un nombre a tu host virtual. Puede ser lo que quieras.
- Ahora que ha terminado de crear el host virtual, debería ver una dirección IP asociada con su host virtual . Debe recordar esta dirección IP para volver a iniciar sesión en su cuenta de Shadowsocks.
Conéctese al host usando SSH:
Ahora que ya ha creado un host VPS, es hora de conectarlo mediante SSH. Si alguna vez ha usado SSH, debe saber que la línea de comando general para establecer una conexión es "ssh root@ [IP address]"
.
Puede ejecutar este comando tanto en Terminal como en Putty, cualquiera que termine usando.
Una vez que haya establecido con éxito la conexión, debe actualizar el host con el comando que se menciona a continuación.
Apt-get update && apt-get upgrade -y
Instalar ShadowsocksR:
Ahora es el momento de instalar ShadowsocksR. Aunque puedes optar por Shadowsocks (SS). Se recomienda que opte por ShadowsocksR (SSR) debido a su mejor rendimiento.
Por lo general, el proceso de instalación solía ser bastante desafiante, sin embargo, gracias al scriptproporcionado por Teddysun, se ha vuelto bastante fácil. Ahora puede ejecutar un script simple e instalará automáticamente varias versiones de Shadowsocks.
Para instalar Shadowsocks SSR, conéctese al servidor virtual como raíz y ejecute los comandos que se mencionan a continuación.
Wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
Chmod +x shadowsocks-all.sh
./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log
Tan pronto como ejecute la última línea de comando, obtendrá un mensaje como este: Qué servidor de Shadowsocks seleccionaría.
Como queremos instalar ShadowsocksR, elija un servidor que coincida con ShadowsocksR.
Ahora obtendrá una opción para ingresar la contraseña de ShadowsocksR. Introduzca una contraseña de su elección. Asegúrese de recordar esta contraseña porque la necesitará para el acceso a través de la pared.
Ahora obtendrá una opción como esta: "Ingrese un puerto para ShadowsocksR [1-65535]". Aunque puede elegir cualquier puerto dentro del rango, se recomienda que use 443.
A continuación, obtendrá una opción como esta: "Seleccione el cifrado de flujo para ShadowsocksR". Esta opción básicamente quiere que seleccione un método de encriptación shadowsocks. Simplemente seleccione chacha20-ietf.
Después de eso, se le pedirá que "Seleccione el protocolo para ShadowsocksR". Solo usa Origen para esta opción.
A continuación, obtendrá una opción como esta: "Seleccione OBFS para ShadowsocksR". Aunque puede elegir cualquier modo de ofuscación, se recomienda que elija http_simple_compatible.
Si todo salió bien, recibirá un mensaje como este: "Presione cualquier tecla para comenzar… o presione Ctrl+C para cancelar". Como desea instalar ShadowsocksR (SSR), presione cualquier tecla para comenzar el proceso de instalación.
El proceso de instalación lleva bastante tiempo, así que tenga paciencia.
Una vez que se complete el proceso de instalación, verá información importante sobre su servidor Shadowsocks. Esto incluye la IP del servidor, el puerto del servidor, obfs, el método de cifrado Shadowsocks, la contraseña y el protocolo shadowsocks.
Asegúrese de anotar esta información en alguna parte.
¡Felicidades! Ahora ha instalado con éxito el servidor ShadowsocksR. Si desea cambiar alguna configuración después de la instalación, puede usar el editor para modificar el archivo que se menciona a continuación.
Nano /etc/shadowsocks-r/config.json
Una vez que haya realizado los cambios deseados, debe reiniciar ShadowsocksR. Para hacer esto, use el siguiente comando.
/etc/init.d/shadowsocks-r restart
Optimice Shadowsocks para aumentar la velocidad de su servidor
Este paso es opcional. Sin embargo, si desea mejorar la velocidad de su servidor, puede consultar algunas técnicas adicionales que se analizan a continuación.
Técnica 1: utilice el algoritmo de control de congestión TCP BBR de Google y aumente las velocidades del servidor
Para instalar el algoritmo de control de congestión TCP BBR de Google, utilizaremos el script Teddysun.
Después de conectarse con éxito al host como raíz SSH, deberá ejecutar la línea de comando que se menciona a continuación.
Wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
Ahora, al igual que antes, presione la tecla Intro para comenzar el proceso de instalación. Una vez que se complete la instalación, deberá reiniciar el servidor host.
Técnica 2: Aumente la cantidad de conexiones para ejecutar simultáneamente en su servidor
Para aumentar la cantidad de conexiones en su servidor, debe editar el archivo "/etc/security/limits.conf".
Nano /etc/security/limits.conf
También debe agregar las dos líneas mencionadas a continuación al final del archivo. (Las dos líneas mencionadas a continuación también incluyen el símbolo *).
* soft nofile 51200
* hard nofile 51200
Ahora salga del archivo y ejecute el comando mencionado a continuación.
Ulimit -n 51200
Técnica 3: ajustar la configuración del kernel
Para modificar la configuración del kernel, deberá editar el archivo "/etc/sysctl.conf".
Nano /etc/sysctl.conf
Ahora, como antes, agregue la línea que se menciona a continuación al final del archivo.
Fs.file-max = 51200
Net.core.rmem_max = 67108864
Net.core.wmem_max = 67108864
Net.core.netdev_max_backlog = 250000
Net.core.somaxconn = 4096
Net.ipv4.tcp_syncookies = 1
Net.ipv4.tcp_tw_reuse = 1
Net.ipv4.tcp_tw_recycle = 0
Net.ipv4.tcp_fin_timeout = 30
Net.ipv4.tcp_keepalive_time = 1200
Net.ipv4.ip_local_port_range = 10000 65000
Net.ipv4.tcp_max_syn_backlog = 8192
Net.ipv4.tcp_max_tw_buckets = 5000
Net.ipv4.tcp_fastopen = 3
Net.ipv4.tcp_mem = 25600 51200 102400
Net.ipv4.tcp_rmem = 4096 87380 67108864
Net.ipv4.tcp_wmem = 4096 65536 67108864
Net.ipv4.tcp_mtu_probing = 1
Ahora salga de la edición de archivos y ejecute el comando que se menciona a continuación.
Sysctl -p
Finalmente, reinicie el servidor ShadowsocksR SSR usando este comando:/etc/init.d/shadowsocks-r restart
Eso es todo, ahora ha optimizado con éxito su servidor Shadowsocks. Ahora debería obtener velocidades mucho mejores que antes.
Descarga de la aplicación del cliente Shadowsocks
Ahora que compró, instaló y optimizó con éxito el servidor de Shadowsocks, ahora deberá descargar y configurar la aplicación de cliente de Shadowsocks.
Para aquellos de ustedes que no saben qué es la aplicación de cliente shadowsocks? Básicamente es una aplicación multiplataforma que se utiliza para conectarse al servidor Shadowsocks remoto.
Enlaces de descarga del software de cliente de Shadowsocks
Dado que hemos utilizado la versión ShadowsocksR en este blog, estoy enumerando los enlaces del cliente SSR para varios dispositivos, incluidos los enlaces a shadowsocks móviles.
- Para el cliente de Windows Shadowsocks, use este enlace: Descargar ShadowsocksR-win
- Para Mac, use este enlace: Descargar ShadowsocksX-NG-R
- Para dispositivos Android, use este enlace: Descargar Shadowsocksr-android
- Para iPhone y iPad, busque "Shadowrocket" o "Potatso Lite" en la tienda de aplicaciones de Apple. (Asegúrese de usar una identificación de Apple en el extranjero).
Configuración básica del cliente Shadowsocks
Configurar el cliente de Shadowsocks puede ser un desafío. Para acceder con éxito al servidor Shadowsocks utilizando la aplicación cliente, deberá proporcionar la IP del servidor, el puerto, la contraseña, el cifrado y alguna otra información.
Todos los detalles deben ser absolutamente precisos; de lo contrario, no podrá establecer una conexión entre el servidor y la aplicación cliente.
Modos proxy compatibles con Shadowsocks
Shadowsocks admite principalmente dos modos de proxy. Hablaré brevemente de ambos a continuación. Si está interesado en obtener más información sobre lo que ofrece cada modo proxy de shadowsocks, consulte el sitio web oficial de shadowsocks.
Modo global
Como sugiere el nombre, este modo proxy permite el acceso a todos los sitios web a través de Shadowsocks. Si normalmente visita sitios web regionales bloqueados, el modo de proxy global puede otorgarle acceso sin restricciones.
modo PAC
Este modo decide qué tráfico fluye y qué no a través de Shadowsocks. Sigue las reglas mencionadas en el archivo PAC. El modo de proxy PAC no se recomienda para máquinas con Windows, ya que el sistema operativo ya usa reglas de proxy.
¡Terminando!
Así que ahí lo tienen chicos, esta fue mi guía completa sobre Shadowsocks. He cubierto profundamente la instalación, configuración y optimización tanto del servidor Shadowsocks como del cliente del servidor Shadowsocks.
Espero que haya encontrado este blog informativo, espero que ahora pueda evitar toda retracción geográfica en China.