{"id":2345,"date":"2024-11-15T21:36:34","date_gmt":"2024-11-15T20:36:34","guid":{"rendered":"https:\/\/alessandromasciadri.com\/?p=2345"},"modified":"2024-11-15T22:00:12","modified_gmt":"2024-11-15T21:00:12","slug":"come-configurare-un-server-shadowsocks-con-docker","status":"publish","type":"post","link":"https:\/\/alessandromasciadri.com\/come-configurare-un-server-shadowsocks-con-docker\/","title":{"rendered":"Come configurare un server Shadowsocks con Docker"},"content":{"rendered":"\t\t<div data-akihiro-type=\"ama-post\" data-akihiro-id=\"2345\" class=\"akihiro akihiro-2345\" data-akihiro-post-type=\"post\">\n\t\t\t\t<div class=\"akihiro-element akihiro-element-ffbabbc e-flex e-con-boxed e-con e-parent\" data-id=\"ffbabbc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"akihiro-element akihiro-element-8e0b2ad akihiro-widget akihiro-widget-text-editor\" data-id=\"8e0b2ad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Shadowsocks \u00e8 un proxy che aggiunge un grado di sicurezza in pi\u00f9 grazie all&#8217;implementazione di un meccanismo di sicurezza. Creato nel 2012, Shadowsocks \u00e8 progettato principalmente per aggirare il geoblocking e la censura di Internet. Shadowsocks \u00e8 open source e funziona utilizzando il protocollo Socks5 per trasferire pacchetti di dati tra server e client in modo sicuro. In questo articolo vediamo come utilizzare una VPS per crearci uno Shadowsocks server.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-93284fb akihiro-widget akihiro-widget-heading\" data-id=\"93284fb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">Scegliere la VPS<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-2b0cf7f akihiro-widget akihiro-widget-text-editor\" data-id=\"2b0cf7f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Grazie al suo bassissimo footprint, Shadowsocks pu\u00f2 essere tranquillamente installato e configurato su una VPS con caratteristiche minime. Andiamo quindi a cuor leggero e scegliamo la VPS pi\u00f9 economica del nostro Cloud provider preferito.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-116d02d akihiro-widget akihiro-widget-heading\" data-id=\"116d02d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">Pull dell'immagine Docker di Shadowsocks<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-134bb51 akihiro-widget akihiro-widget-text-editor\" data-id=\"134bb51\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Al fine di questo tutorial utilizzeremo Docker, pertanto, \u00e8 possibile installare sulla VPS il sistema operativo che si preferisce, a patto che si provveda poi ad installare i servizi Docker.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-fac9b5a akihiro-widget akihiro-widget-text-editor\" data-id=\"fac9b5a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Dando quindi per scontato di avere gi\u00e0 installato sulla nostra VPS sia il Sistema Operativo sia Docker, eseguiamo il pull dell&#8217;immagine Docker di Shadowsocks usando questo comando:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-809a07a akihiro-widget akihiro-widget-code-highlight\" data-id=\"809a07a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash \">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>docker pull shadowsocks\/shadowsocks-libev<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-411ba66 akihiro-widget akihiro-widget-text-editor\" data-id=\"411ba66\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>L&#8217;immagine utilizzata \u00e8 quella ufficiale del progetto ed \u00e8 reperibile qui: <a href=\"https:\/\/hub.docker.com\/r\/shadowsocks\/shadowsocks-libev\" target=\"_blank\" rel=\"noopener\">https:\/\/hub.docker.com\/r\/shadowsocks\/shadowsocks-libev<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-0009d21 akihiro-widget akihiro-widget-heading\" data-id=\"0009d21\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">Avvio del server Shadowsocks<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-ea3ce6d akihiro-widget akihiro-widget-text-editor\" data-id=\"ea3ce6d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Procediamo quindi all&#8217;avvio del server di Shadowsocks istanziando un Docker container. Lanciamo il seguente comando:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-9caf2c9 akihiro-widget akihiro-widget-code-highlight\" data-id=\"9caf2c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash \">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>docker run -e PASSWORD=myStrongPassword -p 5544:8388 -p 5544:8388\/udp -d shadowsocks\/shadowsocks-libev<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-0cf9562 akihiro-widget akihiro-widget-heading\" data-id=\"0cf9562\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">Configurazione del client e test<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-91e1776 akihiro-widget akihiro-widget-text-editor\" data-id=\"91e1776\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>La configurazione del nostro Shadowsocks server \u00e8 completata. Possiamo ora scegliere il client che pi\u00f9 ci piace ed eseguire dei test di funzionamento. Possiamo trovare un elenco dei client disponibili a questo <a href=\"https:\/\/shadowsocks5.github.io\/en\/download\/clients.html\" target=\"_blank\" rel=\"noopener\">link<\/a>. Per questo tutorial ho optato per il client <a href=\"https:\/\/snapcraft.io\/shadowsocks-electron\" target=\"_blank\" rel=\"noopener\">shadowsocks-electron<\/a> che \u00e8 fornito sottoforma di snap.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-3a2aae1 akihiro-widget akihiro-widget-text-editor\" data-id=\"3a2aae1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Inseriamo i campi necessari come l&#8217;IP della nostra VPS, la porta e la password che abbiamo specificato in fase di istanziamento del container e l&#8217;algoritmo di crittografia che di default \u00e8 aes-256-gcm. Salviamo e proviamo a connetterci al server.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-7df2b15 akihiro-widget akihiro-widget-image\" data-id=\"7df2b15\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"460\" height=\"958\" src=\"https:\/\/alessandromasciadri.com\/ama-uploads\/2024\/11\/shadowsocks-docker-01.png\" class=\"attachment-large size-large ama-image-2347\" alt=\"\" srcset=\"https:\/\/alessandromasciadri.com\/ama-uploads\/2024\/11\/shadowsocks-docker-01.png 460w, https:\/\/alessandromasciadri.com\/ama-uploads\/2024\/11\/shadowsocks-docker-01-144x300.png 144w\" sizes=\"(max-width: 460px) 100vw, 460px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Shadowsocks \u00e8 un proxy che aggiunge un grado di sicurezza in pi\u00f9 grazie all&#8217;implementazione di un meccanismo di sicurezza. Creato nel 2012, Shadowsocks \u00e8 progettato principalmente per aggirare il geoblocking e la censura di Internet. Shadowsocks \u00e8 open source e funziona utilizzando il protocollo Socks5 per trasferire pacchetti di dati tra server e client in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[20,57],"class_list":["post-2345","post","type-post","status-publish","format-standard","hentry","category-sistemistica","tag-linux","tag-shadowsocks"],"_links":{"self":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/2345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/comments?post=2345"}],"version-history":[{"count":10,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/2345\/revisions"}],"predecessor-version":[{"id":2356,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/2345\/revisions\/2356"}],"wp:attachment":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/media?parent=2345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/categories?post=2345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/tags?post=2345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}