{"id":53240,"date":"2019-11-27T00:00:00","date_gmt":"2019-11-26T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/zapuskaem-openvpn-v-dokere-za-2-sekundy"},"modified":"2020-02-18T14:01:07","modified_gmt":"2020-02-18T11:01:07","slug":"zapuskaem-openvpn-v-dokere-za-2-sekundy","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zapuskaem-openvpn-v-dokere-za-2-sekundy","title":{"rendered":"Uruchamiamy OpenVPN w Dockera w 2 sekundy","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Cze\u015b\u0107, Habrze! Czy kiedykolwiek zdarzy\u0142o Wam si\u0119 pragn\u0105\u0107 wirtualnie przenie\u015b\u0107 si\u0119 do innego miasta, kraju lub nawet na inny kontynent? Ja mam tak\u0105 potrzeb\u0119 do\u015b\u0107 cz\u0119sto, dlatego mo\u017cliwo\u015b\u0107 posiadania w\u0142asnego serwera VPN, kt\u00f3ry mo\u017cna uruchomi\u0107 wsz\u0119dzie w kilka sekund, by\u0142a dla mnie szczeg\u00f3lnie wa\u017cna. W tym artykule chcia\u0142bym podzieli\u0107 si\u0119 moim projektem, kt\u00f3ry zrealizowa\u0142em szukaj\u0105c gotowego rozwi\u0105zania, w tym przypadku obrazu Dockera, kt\u00f3ry umo\u017cliwia szybkie postawienie serwera OpenVPN, z minimaln\u0105 konfiguracj\u0105 i odpowiednim poziomem bezpiecze\u0144stwa.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/alekslitvinenk\/docker-openvpn\"><img decoding=\"async\" alt=\"Uruchamiamy OpenVPN w Dockera w 2 sekundy\" src=\"\/wp-content\/uploads\/2019\/11\/948c3cdd87ec63c2c1f04c463d03938b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>T\u0142o<\/h3>\n<p>Mo\u017cliwo\u015b\u0107 uruchamiania us\u0142ugi na dowolnej maszynie: czy to fizycznym serwerze, czy wirtualnym serwerze prywatnym, czy r\u00f3wnie\u017c w przestrzeni kontenerowej w innej systemie zarz\u0105dzania kontenerami \u2014 by\u0142a krytycznie wa\u017cna. Od razu zwr\u00f3ci\u0142em uwag\u0119 na Dockera. Po pierwsze, ta us\u0142uga zyskuje na popularno\u015bci, a co za tym idzie, coraz wi\u0119cej dostawc\u00f3w oferuje gotowe rozwi\u0105zania z jego preinstalacj\u0105; po drugie \u2014 istnieje scentralizowane repozytorium obraz\u00f3w, z kt\u00f3rego mo\u017cna pobra\u0107 i uruchomi\u0107 us\u0142ug\u0119 za pomoc\u0105 jednej komendy w terminalu. My\u015bl, \u017ce podobny projekt ju\u017c powinien istnie\u0107, nawiedza\u0142a mnie i usilnie go szuka\u0142em. Jednak wi\u0119kszo\u015b\u0107 projekt\u00f3w, kt\u00f3re znalaz\u0142em, by\u0142a albo zbyt rozbudowana (nale\u017ca\u0142o stworzy\u0107 kontener do sta\u0142ego przechowywania danych i wielokrotnie uruchamia\u0107 kontener z aplikacj\u0105 z r\u00f3\u017cnymi parametrami), albo nie mia\u0142a sensownej dokumentacji, albo by\u0142a ca\u0142kowicie porzucona. Nie znajduj\u0105c nic odpowiedniego, zacz\u0105\u0142em prac\u0119 nad w\u0142asnym projektem. Przede mn\u0105 by\u0142y bezsenne noce studiowania dokumentacji, pisania kodu i debugowania, ale ostatecznie m\u00f3j serwis ujrza\u0142 \u015bwiat\u0142o dzienne i zab\u0142ysn\u0105\u0142 wszystkimi kolorami monochromatycznej diodowej tablicy routera. Oto, prosz\u0119, polubcie i przyjmijcie \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/alekslitvinenk\/docker-openvpn\">Docker-OpenVPN<\/a><\/noindex>. Stworzy\u0142em nawet logo (powy\u017cej, przed katem), ale prosz\u0119 nie ocenia\u0107 go surowo, bo nie jestem ju\u017c projektantem. Kiedy realizowa\u0142em ten projekt, priorytetem by\u0142a dla mnie szybko\u015b\u0107 wdro\u017cenia, minimalna konfiguracja i akceptowalny poziom bezpiecze\u0144stwa. Metod\u0105 pr\u00f3b i b\u0142\u0119d\u00f3w znalaz\u0142em optymalny balans tych kryteri\u00f3w, niemniej jednak w niekt\u00f3rych miejscach musia\u0142em po\u015bwi\u0119ci\u0107 szybko\u015b\u0107 wdro\u017cenia dla zwi\u0119kszenia bezpiecze\u0144stwa, a minimalna konfiguracja przyczyni\u0142a si\u0119 do braku przeno\u015bno\u015bci: w obecnej konfiguracji kontener utworzony na jednym serwerze nie mo\u017ce zosta\u0107 przeniesiony i uruchomiony na innym. Np. wszystkie certyfikaty klienckie i serwerowe s\u0105 generowane przy uruchamianiu us\u0142ugi i zajmuje to oko\u0142o 2 sekund. Jednak generacj\u0119 pliku Diffiego-Hellmana musia\u0142em przenie\u015b\u0107 do czasu budowy: jest tworzone podczas tworzenia obrazu Dockera i mo\u017ce trwa\u0107 do 10 minut. Bardzo chcia\u0142bym otrzyma\u0107 audyt bezpiecze\u0144stwa podobnego rozwi\u0105zania od szanownej spo\u0142eczno\u015bci.<\/p>\n<h3>Uruchomienie<\/h3>\n<p>Aby uruchomi\u0107 us\u0142ug\u0119, potrzebujemy kilku rzeczy:<\/p>\n<ol>\n<li>Serwera: fizycznego lub wirtualnego. Teoretycznie mo\u017cna uruchamia\u0107 w trybie Docker-in-Docker, ale nie przeprowadza\u0142em szerokiego testowania tej opcji;<\/li>\n<li>W\u0142a\u015bciwego Dockera. Wiele dostawc\u00f3w hostingu oferuje gotowe rozwi\u0105zania z Dockerem \u201ena pok\u0142adzie\u201d;<\/li>\n<li>Publicznego adresu IP.<\/li>\n<\/ol>\n<p>Je\u017celi wszystkie dane s\u0105 na miejscu, to pozostaje nam uruchomi\u0107 nast\u0119puj\u0105c\u0105 komend\u0119 w konsoli naszego serwera:<\/p>\n<pre><code class=\"bash\">docker run --cap-add=NET_ADMIN \n-it -p 1194:1194\/udp -p 80:8080\/tcp \n-e HOST_ADDR=$(curl -s https:\/\/api.ipify.org) \nalekslitvinenk\/openvpn<\/code><\/pre>\n<p>Uwa\u017cny czytelnik m\u00f3g\u0142 zauwa\u017cy\u0107, \u017ce adres IP serwera jest automatycznie okre\u015blany za pomoc\u0105 <i>ipify.org<\/i>. Je\u015bli z jakiego\u015b powodu to nie dzia\u0142a, mo\u017cna poda\u0107 adres r\u0119cznie. Je\u017celi wszystkie poprzednie kroki zosta\u0142y wykonane poprawnie, powinni\u015bmy zobaczy\u0107 w konsoli co\u015b podobnego do:<\/p>\n<pre><code class=\"bash\">Sun Jun  9 08:56:11 2019 Inicjalizacja zako\u0144czona\nSun Jun  9 08:56:12 2019 Plik Client.ovpn zosta\u0142 wygenerowany\nSun Jun  9 08:56:12 2019 Config serwera uruchomiony, pobierz swoj\u0105 konfiguracj\u0119 client.ovpn na http:\/\/example.com\/\nSun Jun  9 08:56:12 2019 UWAGA: Po pobraniu konfiguracji klienta, serwer http zostanie zamkni\u0119ty!<\/code><\/pre>\n<p>Jeste\u015bmy blisko celu: teraz musimy skopiowa\u0107 <i><noindex><a rel=\"nofollow\" href=\"http:\/\/example.com\/\">example.com<\/a><\/noindex><\/i> (w twoim przypadku b\u0119dzie to adres twojego serwera) i wklei\u0107 go do paska adresu przegl\u0105darki. Po naci\u015bni\u0119ciu Enter plik client.ovpn zostanie pobrany, a sam serwer http zniknie. Je\u015bli to rozwi\u0105zanie budzi w\u0105tpliwo\u015bci, mo\u017cna skorzysta\u0107 z nast\u0119puj\u0105cego triku: uruchomi\u0107 poprzednie polecenie i doda\u0107 flagi <i>zip<\/i> i has\u0142o. Teraz, je\u015bli wkleisz wygenerowany link w oknie przegl\u0105darki \u2014 otrzymasz archiwum zip z has\u0142em. Kiedy masz plik z konfiguracj\u0105 klienta, mo\u017cesz u\u017cy\u0107 dowolnego odpowiedniego klienta. Ja u\u017cywam Tunnelblick na Maca.<\/p>\n<h3>Filmowy samouczek<\/h3>\n<p>Ten filmowy samouczek zawiera szczeg\u00f3\u0142ow\u0105 instrukcj\u0119 dotycz\u0105c\u0105 uruchamiania us\u0142ugi na DigitalOcean.<center><div class=\"youtube-placeholder\" data-id=\"y5Dwakc6hMs\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/y5Dwakc6hMs\/hqdefault.jpg\" alt=\"Odtwarzaj wideo\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><b>P.S.<\/b> Je\u015bli uwa\u017casz, \u017ce ten projekt jest przydatny, prosz\u0119, postaw mu gwiazdk\u0119 na GitHubie, zr\u00f3b fork i opowiedz przyjacio\u0142om. Wszyscy wsp\u00f3\u0142pracownicy i przegl\u0105dy bezpiecze\u0144stwa s\u0105 r\u00f3wnie\u017c mile widziane.<b>P.P.S.<\/b> Je\u015bli ten artyku\u0142 trafi na Habr, planuj\u0119 napisa\u0107 nast\u0119pny o tym, jak uruchamia\u0142em docker w dockerze i docker w dockerze w dockerze, dlaczego to robi\u0142em i co z tego wysz\u0142o.<br \/>\n<b>EDIT1:<\/b> <\/p>\n<ol>\n<li>Poprawi\u0142em b\u0142\u0119dy w publikacji,<\/li>\n<li>Odpowiadaj\u0105c na komentarze, postanowi\u0142em umie\u015bci\u0107 t\u0119 informacj\u0119 tutaj: flaga &#8212;privileged jest potrzebna do pracy z iptables<\/li>\n<\/ol>\n<p>\n<b>EDIT2:<\/b> <\/p>\n<ol>\n<li>Ulepszy\u0142em polecenie uruchamiania obrazu: teraz nie wymaga flagi &#8212;privileged<\/li>\n<li>Doda\u0142em link do rosyjskoj\u0119zycznego wideo instrukta\u017cowego: <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/A8zvrHsT9A0\">youtu.be\/A8zvrHsT9A0<\/a><\/noindex><\/li>\n<\/ol>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/458606\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435! \u0421\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u043b\u0438 \u0432\u044b \u043a\u043e\u0433\u0434\u0430-\u043b\u0438\u0431\u043e \u0441 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0435\u0439, \u043a\u043e\u0433\u0434\u0430 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438\u0441\u044c \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0433\u043e\u0440\u043e\u0434, \u0441\u0442\u0440\u0430\u043d\u0443 \u0438\u043b\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442? \u0423 \u043c\u0435\u043d\u044f \u0442\u0430\u043a\u0430\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0447\u0430\u0441\u0442\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u043c\u0435\u0442\u044c \u0441\u0432\u043e\u0439 VPN \u0441\u0435\u0440\u0432\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0433\u0434\u0435 \u0443\u0433\u043e\u0434\u043d\u043e, \u0437\u0430 \u043f\u0430\u0440\u0443 \u0441\u0435\u043a\u0443\u043d\u0434, \u0441\u0442\u043e\u044f\u043b \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043e\u0441\u0442\u0440\u043e.\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u043e \u0441\u0432\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":53241,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-53240","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435! \u0421\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u043b\u0438 \u0432\u044b \u043a\u043e\u0433\u0434\u0430-\u043b\u0438\u0431\u043e \u0441 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0435\u0439, \u043a\u043e\u0433\u0434\u0430 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438\u0441\u044c \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0433\u043e\u0440\u043e\u0434, \u0441\u0442\u0440\u0430\u043d\u0443 \u0438\u043b\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442?\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zapuskaem-openvpn-v-dokere-za-2-sekundy\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c OpenVPN \u0432 \u0414\u043e\u043a\u0435\u0440\u0435 \u0437\u0430 2 \u0441\u0435\u043a\u0443\u043d\u0434\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435! \u0421\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u043b\u0438 \u0432\u044b \u043a\u043e\u0433\u0434\u0430-\u043b\u0438\u0431\u043e \u0441 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0435\u0439, \u043a\u043e\u0433\u0434\u0430 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438\u0441\u044c \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0433\u043e\u0440\u043e\u0434, \u0441\u0442\u0440\u0430\u043d\u0443 \u0438\u043b\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442?\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zapuskaem-openvpn-v-dokere-za-2-sekundy\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-11-26T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:01:07+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Uruchamiamy OpenVPN w Dockerze w 2 sekundy | ProHoster","description":"Cze\u015b\u0107, habrowicze! Czy kiedykolwiek mieli\u015bcie sytuacj\u0119, kiedy bardzo chcieli\u015bcie przenie\u015b\u0107 si\u0119 wirtualnie do innego miasta, kraju lub na inny kontynent?","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zapuskaem-openvpn-v-dokere-za-2-sekundy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c OpenVPN \u0432 \u0414\u043e\u043a\u0435\u0440\u0435 \u0437\u0430 2 \u0441\u0435\u043a\u0443\u043d\u0434\u044b | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435! \u0421\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u043b\u0438 \u0432\u044b \u043a\u043e\u0433\u0434\u0430-\u043b\u0438\u0431\u043e \u0441 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0435\u0439, \u043a\u043e\u0433\u0434\u0430 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438\u0441\u044c \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0433\u043e\u0440\u043e\u0434, \u0441\u0442\u0440\u0430\u043d\u0443 \u0438\u043b\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442?","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zapuskaem-openvpn-v-dokere-za-2-sekundy","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-11-26T21:00:00+00:00","article:modified_time":"2020-02-18T11:01:07+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53240","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 06:37:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:28:50","updated":"2026-01-24 06:37:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/53240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=53240"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/53240\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/53241"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=53240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=53240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=53240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}