Reading Time: 6 minutes

Tegenwoordig is China in een race om zijn eigen gescheiden netwerkinfrastructuur te creëren. De vrijheid om beperkingen met een VPN te omzeilen neemt ook met de dag af. Hoewel de impact niet drastisch is. Geleidelijk maar zeker verbreekt China alle banden met het wereldwijde internet.

Sociale medianetwerken zoals Facebook en Twitter werken niet meer in het land. Zelfs krachtige zoekmachines zoals Google zijn geblokkeerd.

In theorie beslist de Chinese overheid wat je wel en niet online mag doen.

Dit is waar Shadowsocks technologie om de hoek komt kijken. Deze technologie werkt vrij vergelijkbaar met een VPN, maar er zijn duidelijke voordelen van het gebruik van Shadowsocks ten opzichte van traditionele VPN’s.

Klinkt veelbelovend, toch? Dat is het wel. In deze blog ga ik ShadowsocksR (SSR) behandelen en jullie vertellen hoe je een Shadowsocks-server kunt bouwen, optimaliseren, shadowsocks downloaden en configureren met behulp van de Shadowsocks-software.

Wat is Shadowsocks eigenlijk?

wat-is-Shadowsocks

Shadowsocks is in wezen een open-source technologie die is ontworpen om geografische beperkingen te omzeilen. Aangezien shadowsocks service is niet eigendom van een bedrijf, iedereen met programmeervaardigheden kan gebruiken en bijdragen aan deze technologie.

Dat gezegd hebbende, Shadowsocks is niet gemakkelijk te gebruiken. Het bouwen en configureren ervan is niet voor iedereen weggelegd en vereist nogal wat technische kennis.

Dit is de reden waarom Shadowsocks erg populair is onder technisch onderlegde mensen, vooral in de programmeergemeenschap.

Uitsplitsing van Shadowsocks-technologie

Shadowsocks heeft in wezen twee componenten. De werkelijke Shadowsocks-server en de Shadowsocks-clientsoftware om met de server te communiceren. Ik zal uitleggen wat beide componenten doen in afzonderlijke koppen hieronder.

Shadowsocks-server

  • Een Shadowsocks-server kan zich overal buiten de grote firewall van China bevinden.
  • Het stelt meerdere apparaten of gebruikers in staat om geografische beperkingen te omzeilen.
  • Een Shadowsocks-server kan worden gebruikt voor persoonlijk gebruik of worden verhuurd voor anderen om te gebruiken.

Shadowsocks-clientsoftware

  • Een Shadowsocks-clientsoftware draait op verschillende apparaten en platforms. Windows, Android, iOS worden allemaal ondersteund.
  • De clientsoftware is volledig gratis te gebruiken.
  • Een Shadowsocks-server kan worden gebruikt om verbinding te maken met de externe Shadowsocks-server buiten het Chinese rechtsgebied.

Shadowsocks versies

Omdat deze technologie relatief nieuw is, heeft het slechts twee versies. De Shadowsocks (SS) en de ShadowsocksR (SSR).

Schaduwen (SS)

  • De Shadowsocks (SS) was de eerste release van deze technologie ooit.
  • Het is de voorganger van ShadowsocksR (SSR)
  • Shadowsocks (SS) is verouderd volgens de huidige normen en wordt tegenwoordig zelden gebruikt.

ShadowsocksR (SSR)

  • De ShadowsocksR (SSR) is de opvolger van de Shadowsocks (SS).
  • ShadowsocksR (SSR) verbetert de SS-versie en biedt geavanceerde functies zoals versleuteling.

Voorwaarde voor het bouwen van uw eigen Shadowsocks-server

Voordat je te enthousiast wordt, ga ik de echte kennis en middelen opsplitsen die nodig zijn om je eigen werkende Shadowsocks-server te bouwen.

Vertrouwdheid met computeropdrachten

Voordat u zelfs maar nadenkt over het maken van uw eigen Shadowsocks-server, moet u bekend zijn met Linux-opdrachten en hoe ze werken.

Ter referentie ziet een Linux-opdracht er ongeveer als volgt uit:

  • Cd
  • Pwd
  • Ls
  • Cp

Als je nog nooit bekend bent geweest met dergelijke opdrachten, doe dan geen moeite om je tijd en moeite te investeren in het bouwen van een Shadowsocks-server.

Shadowsocks accountaankoop & uitbesteede kosten

Virtuele privéservers zijn niet goedkoop, ze kunnen variëren van een paar dollar tot een paar honderd dollar.

Hoewel de betalingsprocedure met betrekking tot de aankoop van shadowsocks relatief eenvoudig is, moet u ervoor zorgen dat u zich de kosten van overzeese servers daadwerkelijk kunt veroorloven.

Daarnaast moet je wel een stevige beheersing van de Engelse taal hebben om te communiceren met wereldwijde VPS-providers.

Het tot stand brengen van een verbinding met de VPS

Zelfs als u zich VPS kunt veroorloven en uw manieren kent om Linux-opdrachten te omzeilen, moet u nog steeds weten hoe u verbinding kunt maken met een virtuele privéserver met behulp van SSH. Dit betekent dat u voor een Mac-gebruiker moet weten hoe u de ingebouwde Terminal moet gebruiken en Dat Windows-gebruikers moeten weten hoe ze Puttymoeten gebruiken.

Bouw, optimaliseer en stap ten slotte in de serverconfiguratie van Shadowsocks

Nu u weet wat er nodig is om uw eigen Shadowsocks-server te bouwen, is het tijd om ons in de implementatie te verdiepen.

Opdat er niet meteen in duiken.

Koop een virtuele privéserver in het buitenland

Nu is er geen harde en snelle regel om een VPS-provider te kiezen. U kunt met elke provider gaan die aan uw behoeften voldoet.

Als u geen betrouwbare VPS-leveranciers kent, zijn hier enkele om u op weg te helpen:

  • DigitalOcean
  • Vultr
  • Amazon AWS

Omwille van deze tutorial, ik ga DigitalOceangebruiken .

Maak een Host VPS

Nu je de DigitalOcean hebt gekocht, moet je een virtuele host maken met behulp van de VPS. Hoewel dit een langdurig proces is, is het relatief eenvoudig. Ik zet alle stappen hieronder op een rijtje.

  1. Gebruik eerst de knop “Maken” bovenaan de pagina.
  2. Selecteer nu de optie “Druppels” in het vervolgkeuzemenu.
  3. Selecteer bij het maken van “Droplets” de opties zoals vermeld in de onderstaande stappen.

Kies een afbeelding

Als u een afbeelding wilt kiezen, selecteert u “Ubuntu” onder Distributie.

Kies een maat

Selecteer nu de grootte die u wilt dat uw druppel is. Mijn advies, kies de goedkoopste optie vermeld onder Standaard druppels (bijvoorbeeld 1 GB, 1vCPU, 25 GB SSD-schijf, 1 TB overdracht, $ 5 / maand).

Back-ups toevoegen

Selecteer gewoon “Nee”.

Blokopslag toevoegen

Selecteer gewoon “Nee”.

Kies een datacenterregio

Het kiezen van een datacenter kan lastig zijn. Als je een server kiest die te ver is, krijg je vreselijke Shadowsocks-snelheid. Daarom wordt aanbevolen om de Amerikaanse en Aziatische servers te kiezen.

Mijn ervaring is dat servers aan de westkust, San Francisco (1, 2) en servers in Singapore heel snel werkten.

Extra opties selecteren

Selecteer gewoon “Nee”.

Voeg uw SSH-sleutels toe

Gebruik de opgegeven openbare SSH-sleutel om u aan te melden bij uw nieuw aangeschafte virtuele host.

Kies een hostnaam

Geef nu uw virtuele host een naam. Het kan van alles zijn wat je wilt.

  1. Nu u klaar bent met het maken van de virtuele host, ziet u een IP-adres dat is gekoppeld aan uw virtuele host. U moet dit IP-adres onthouden om opnieuw in te loggen op uw Shadowsocks-account.

Maak verbinding met de host via SSH:

Nu je al een host VPS hebt gemaakt, is het tijd om deze te verbinden met SSH. Als u ooit eerder SSH hebt gebruikt, moet u weten dat de algemene opdrachtregel om een verbinding tot stand te brengen is "ssh root@ [IP address]" .

U kunt deze opdracht uitvoeren op zowel Terminal als Putty, die u uiteindelijk gebruikt.

Zodra u de verbinding tot stand hebt gebracht, moet u de host bijwerken met behulp van de onderstaande opdracht.

Apt-get update && apt-get upgrade -y

Installeer ShadowsocksR:

Nu is het tijd om ShadowsocksR te installeren. Hoewel je voor Shadowsocks (SS) kunt gaan. Het wordt aanbevolen om ShadowsocksR (SSR) te kiezen vanwege de betere prestaties.

Meestal was het installatieproces vroeger behoorlijk uitdagend, maar dankzij het script van Teddysun is het vrij eenvoudig geworden. U kunt nu een eenvoudig script uitvoeren en het installeert automatisch verschillende versies van Shadowsocks.

Als u Shadowsocks SSR wilt installeren, maakt u verbinding met de virtuele host als Root en voert u de onderstaande opdrachten uit.

  • 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

Zodra u de laatste opdrachtregel uitvoert, krijgt u een prompt als deze: Welke Shadowsocks-server u zou selecteren.

Omdat we ShadowsocksR willen installeren, kiest u een server die overeenkomt met ShadowsocksR.

Nu krijgt u een optie om het wachtwoord voor ShadowsocksR in te voeren. Voer een wachtwoord naar keuze in. Zorg ervoor dat u dit wachtwoord onthoudt, omdat u het nodig hebt voor toegang over de muur.

Nu krijg je een optie als deze: “Voer een poort in voor ShadowsocksR [1-65535] “. Hoewel u elke poort binnen het bereik kunt kiezen, wordt u aangeraden 443 te gebruiken.

Vervolgens krijg je een optie als deze: “Selecteer stream cipher voor ShadowsocksR”. Met deze optie wilt u in principe een versleutelingsmethode voor shadowsocks selecteren. Selecteer gewoon chacha20-ietf.

Daarna wordt u gevraagd om “Selecteer protocol voor ShadowsocksR”. Gebruik Origin gewoon voor deze optie.

Vervolgens krijg je een optie als deze: “Selecteer OBFS voor ShadowsocksR”. Hoewel u elke verduisteringsmodus kunt kiezen, wordt u aangeraden http_simple_compatiblete kiezen.

Als alles soepel verliep, krijg je een prompt als deze: “Druk op een willekeurige toets om te beginnen … of Druk op Ctrl+C om te annuleren”. Aangezien u ShadowsocksR (SSR) wilt installeren, klikt u op een willekeurige toets om het installatieproces te starten.

Het installatieproces duurt nogal wat tijd, dus wees geduldig.

Zodra het installatieproces is voltooid, ziet u belangrijke informatie over uw Shadowsocks-server. Dit omvat uw server-IP, serverpoort, obfs, Shadowsocks-coderingsmethode, wachtwoord en shadowsocks-protocol.

Zorg ervoor dat je deze informatie ergens noteren.

Gefeliciteerd! U hebt nu shadowsocksR-server geïnstalleerd. Als u na de installatie instellingen wilt wijzigen, kunt u de editor gebruiken om het onderstaande bestand te wijzigen.

Nano /etc/shadowsocks-r/config.json

Zodra u de gewenste wijzigingen hebt aangebracht, moet u ShadowsocksR opnieuw opstarten. Gebruik hiervoor de onderstaande opdracht.

/etc/init.d/shadowsocks-r restart

Optimaliseer Shadowsocks de snelheid van uw server

Deze stap is optioneel. Als u echter de snelheid van uw server wilt verbeteren, kunt u enkele aanvullende technieken bekijken die ik hieronder heb besproken.

Techniek 1: Gebruik Google TCP BBR congestion control algoritme & boost server speeds

Om het TCP BBR-congestiecontrolealgoritme van Google te installeren, gebruiken we het Teddysun-script.

Nadat u met succes verbinding hebt gemaakt met de host als root SSH, moet u de onderstaande opdrachtregel uitvoeren.

Wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

Druk nu net als voorheen op de enter-toets om het installatieproces te starten. Zodra de installatie is voltooid, moet u de hostserver opnieuw opstarten.

Techniek 2: Verhoog het aantal verbindingen dat tegelijkertijd op uw server moet worden uitgevoerd

Om het aantal verbindingen op uw server te verhogen, moet u het bestand “/etc/security/limits.conf” bewerken.

Nano /etc/security/limits.conf

U moet ook de twee onderstaande regels aan het einde van het bestand toevoegen. (De twee onderstaande regel bevat ook het * symbool).

* soft nofile 51200

* hard nofile 51200

Sluit nu het bestand af en voer de onderstaande opdracht uit.

Ulimit -n 51200

Techniek 3: Kernelinstellingen aanpassen

Om de kernelinstellingen te wijzigen, moet u het bestand “/etc/sysctl.conf” bewerken.

Nano /etc/sysctl.conf

Voeg nu net als voorheen de onderstaande regel toe aan het einde van het bestand.

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

Sluit nu de bestandsbewerking af en voer de onderstaande opdracht uit.

Sysctl -p

Start ten slotte de ShadowsocksR SSR-server opnieuw op met deze opdracht: /etc/init.d/shadowsocks-r restart

Dat is het, je hebt nu met succes je Shadowsocks-server geoptimaliseerd. Je zou nu veel betere snelheden moeten krijgen dan voorheen.

De Shadowsocks Client App downloaden

Nu u de Shadowsocks-server met succes hebt gekocht, geïnstalleerd en geoptimaliseerd, moet u nu de Shadowsocks-clienttoepassing downloaden en configureren.

Voor degenen onder jullie die niet weten wat shadowsocks client app is? Het is in feite een multi-platform applicatie die wordt gebruikt om verbinding te maken met de externe Shadowsocks server.

Shadowsocks client software download koppelingen

Aangezien we de ShadowsocksR-versie in deze blog hebben gebruikt, vermeld ik de SSR-clientkoppelingen voor verschillende apparaten, waaronder links naar mobiele shadowsocks.

Shadowsocks client basisconfiguratie

Het configureren van de Shadowsocks-client kan een uitdaging zijn. Om met succes toegang te krijgen tot de Shadowsocks-server met behulp van de clienttoepassing, moet u het server-IP-adres, de poort, het wachtwoord, de versleuteling en een paar andere informatie opgeven.

Alle details moeten absoluut nauwkeurig zijn, anders kunt u geen verbinding maken tussen de server en de client-app.

Shadowsocks ondersteunde proxymodi

Shadowsocks ondersteunt voornamelijk twee proxymodi. Ik zal ze hieronder kort bespreken. Als u meer wilt weten over wat elke shadowsocks-proxymodus te bieden heeft, bekijkt u de officiële shadowsocks-website.

Globale modus

Zoals de naam al doet vermoeden, biedt deze proxymodus toegang tot alle websites via Shadowsocks. Als u normaal gesproken regionale geblokkeerde websites bezoekt, kan de globale proxymodus u onbeperkte toegang verlenen.

PAC-modus

Deze modus bepaalt wat verkeer wel en niet door Shadowsocks kan stromen. Het volgt de regels die in het PAC-bestand worden genoemd. De PAC-proxymodus wordt niet aanbevolen voor Windows-machines, omdat het besturingssysteem al proxyregels gebruikt.

Aan het afronden!

Dus daar heb je het jongens, dit was mijn uitgebreide gids over Shadowsocks. Ik heb de installatie, configuratie en optimalisatie van zowel Shadowsocks server als Shadowsocks server client onder de hoede.

Ik hoop dat je deze blog informatief hebt gevonden, hopelijk kun je nu alle geo-intrekking in China omzeilen.