Giter VIP home page Giter VIP logo

docker-surfshark's Introduction

Hello World 👋

My name is Matteo, and I am a Senior Full Stack Developer from Italy 🇮🇹

In my profile, you can find:

  • 🔙 back-end projects made with Node, Go and a little bit of Python;
  • 🕸️ front-end projects made with React and vanilla JavaScript;
  • 📱 mobile libraries made with Flutter;
  • 👨‍💻 multi-architecture Docker images.

Everything here is made with ❤️

Do you like my work?

patreon or buy-me-a-coffee

Connect with me

linked-in medium telegram facebook instagram

My stats

Since October 24 2021, I've coded for Total time coded since Oct 24 2021

My GitHub stats Languages

Latest Medium posts

docker-surfshark's People

Contributors

dd32 avatar dependabot-preview[bot] avatar ibeech avatar ilteoood avatar jkukul avatar jmiller148 avatar jrparks avatar justinbyrne avatar lucanello avatar malua avatar nsf avatar scarsz avatar sorryusernameisalreadytaken avatar tastelessjolt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-surfshark's Issues

Unrecognized option or missing or extra parameter(s)

Everything worked out smoothly until today when the container restarted suddenly, and then in the logs I found:

Options error: Unrecognized option or missing or extra parameter(s) in [CMD-LINE]:1: config (2.5.2)

Networking not working on Raspberry pi

Leaving this here for future reference, incase anyone needs it.

If you encounter network issues in your child container while running the vpn container through the docker cli e.g:

docker run -it --cap-add=NET_ADMIN -d --device /dev/net/tun --name vpn -e SURFSHARK_USER="$SURFSHARK_USER" -e SURFSHARK_PASSWORD="$SURFSHARK_PASS" ilteoood/docker-surfshark

You need to add the dns flag to the command:

--dns=8.8.8.8

docker run -it --cap-add=NET_ADMIN -d --device /dev/net/tun --name vpn -e SURFSHARK_USER="$SURFSHARK_USER" -e SURFSHARK_PASSWORD="$SURFSHARK_PASS" --dns=8.8.8.8 ilteoood/docker-surfshark

Resolving my.surfshark.com (my.surfshark.com)... failed: Try again. In Kubernetes

Is it possible to run it in Kubernetes?

Logs:

--2023-06-09 15:04:02-- https://my.surfshark.com/vpn/api/v1/server/configurations
Resolving my.surfshark.com (my.surfshark.com)... failed: Try again.
wget: unable to resolve host address 'my.surfshark.com'
Archive: ovpn_configs.zip
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of ovpn_configs.zip or
ovpn_configs.zip.zip, and cannot find ovpn_configs.zip.ZIP, period.
./startup.sh: cd: line 8: can't cd to ovpn_configs: No such file or directory
ls: cannot access 'AR*': No such file or directory
Chose:
Do not forget to expose the ports for attached container web ui access
Options error: Unrecognized option or missing or extra parameter(s) in [CMD-LINE]:1: config (2.6.4)
Use --help for more information.
Resetting all rules to installed defaults. Proceed with operation (y|n)? Aborted
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)
Default outgoing policy changed to 'deny'
(be sure to update your rules accordingly)
Rules updated
Rules updated (v6)
Firewall is active and enabled on system startup

Image doesn't appear to actually be multi-architecture

👋 In the readme you reference that this is multi-arch image, and while you have a github workflow set up to build mullti-arch images, the tags are misleading because they're all based on top of the byrnedo/alpine-curl image, which is only available for the linux/amd64 architecture, introducing problems on other architectures.

The easiest fix is to just use the normal alpine image and throw curl in on top of it.

"alpine" container offline, stops whole stack from working.

The container "alpine" in my Portainer stack randomly goes offline causing the whole stack to stop working. Is there a way to prevent this from happening or at least have it auto restart the whole stack?

So far as a workaround, I've been manually stopping the entire stack and starting it up again from Portainer whenever I catch it offline. Resetting just the "alpine" container doesn't work. I must stop the entire stack and reenable it.

I'm open to any suggestions I'm still new to working with Docker. I've attached a copy of my Portainer stack minus the personal info. my stack copy.txt

Thank you.

Unable to specify multiple subnets for LAN_NETWORK

Hey team,

I have multiple VLANs on my network. My docker containers run on the 192.168.3.0/24 subnet, and need to talk to each other, and I access the web interfaces from 192.168.2.0/24.

Right now, I can either let the containers talk to eachother and not be able to access any of the containers from my main network OR containers can't talk to each other, but I can connect from my main network.

Ideally, the LAN_NETWORK variable can take multiple subnets to allow access to them all e.g.

 - LAN_NETWORK=192.168.2.0/24,192.168.3.0/24

Think this could be possible?

unable to resolve hosts

i installed this on my synology NAS as per the instructions. it appears to be running, but i can't seem to confirm that it has successfully connected.

I connect to it using the Terminal tab. Run the sh command to get a new window. Then inside it run, curl ifconfig.me command.
however the response i got was curl: (6) Could not resolve host: ifconfig.me

the logs don't appear to be show any connection errors.
how can i check that it actually is connected and working?

Annotation 2020-07-14 144322

{
   "cap_add" : [ "NET_ADMIN" ],
   "cap_drop" : null,
   "cmd" : "",
   "cpu_priority" : 50,
   "devices" : [
      {
         "CgroupPermissions" : "rwm",
         "PathInContainer" : "/dev/net/tun",
         "PathOnHost" : "/dev/net/tun"
      }
   ],
   "enable_publish_all_ports" : false,
   "enable_restart_policy" : true,
   "enabled" : true,
   "env_variables" : [
      {
         "key" : "TZ",
         "value" : "Europe/London"
      },
      {
         "key" : "PATH",
         "value" : "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
      },
      {
         "key" : "SURFSHARK_USER",
         "value" : "**************"
      },
      {
         "key" : "SURFSHARK_PASSWORD",
         "value" : "**************"
      },
      {
         "key" : "SURFSHARK_COUNTRY",
         "value" : ""
      },
      {
         "key" : "SURFSHARK_CITY",
         "value" : ""
      },
      {
         "key" : "CONNECTION_TYPE",
         "value" : "tcp"
      }
   ],
   "exporting" : false,
   "id" : "be5a6540ef32b44c2b907711681b60fc1477cde854e69b0229441f898035947a",
   "image" : "ilteoood/docker-surfshark",
   "is_ddsm" : false,
   "is_package" : false,
   "links" : [],
   "memory_limit" : 0,
   "name" : "surfshark",
   "network" : [
      {
         "driver" : "bridge",
         "name" : "bridge"
      }
   ],
   "network_mode" : "default",
   "port_bindings" : [],
   "privileged" : false,
   "shortcut" : {
      "enable_shortcut" : false
   },
   "use_host_network" : false,
   "volume_bindings" : []
}

How to attach other container to VPN

The documentation isn't very extensive. How to add a container to the VPN?
I see there is a command in the readme:
sudo docker run -it --net=container:CONTAINER_NAME alpine /bin/sh

But this command is unclear to me. Does CONTAINER_NAME need to contain the name of the VPN container or of the container you're trying to attach? Also what does 'alpine' mean? There is only 1 image file in this github which is called 'ilteoood:docker-surfshark', correct?

Not working with rpi

Hi,

The alpine docker container doesn't work on my raspberry pi 3+. Is it possible to build a docker compatible with this architecture ?

Thanks

I cannot connect to vpn since the new release. Rolling back to previous version does not work

HI, thank you for your amazing work. My apologies for the issue but I haven't been able to figure it out. My connection keeps reseting and says that server is unreachable. I haven't changed anything, no firewalls nothing on my Mac. I checked and the openVPN config files are loaded properly. I compared them to the one on the website and nothing... Please help. This broke the same day the new release came out. This is the full log...

2023-03-13 17:29:16 --2023-03-13 20:29:16-- https://my.surfshark.com/vpn/api/v1/server/configurations
2023-03-13 17:29:16 Resolving my.surfshark.com (my.surfshark.com)... 104.18.120.34, 104.18.121.34, 2606:4700::6812:7922, ...
2023-03-13 17:29:16 Connecting to my.surfshark.com (my.surfshark.com)|104.18.120.34|:443... connected.
2023-03-13 17:29:17 HTTP request sent, awaiting response... 200 OK
2023-03-13 17:29:17 Length: 447986 (437K) [application/zip]
2023-03-13 17:29:17 Saving to: 'ovpn_configs.zip'
2023-03-13 17:29:17
2023-03-13 17:29:17 0K .......... .......... .......... .......... .......... 11% 473K 1s
2023-03-13 17:29:17 50K .......... .......... .......... .......... .......... 22% 783K 1s
2023-03-13 17:29:17 100K .......... .......... .......... .......... .......... 34% 925K 0s
2023-03-13 17:29:17 150K .......... .......... .......... .......... .......... 45% 792K 0s
2023-03-13 17:29:17 200K .......... .......... .......... .......... .......... 57% 2.23M 0s
2023-03-13 17:29:17 250K .......... .......... .......... .......... .......... 68% 1.07M 0s
2023-03-13 17:29:17 300K .......... .......... .......... .......... .......... 80% 1.87M 0s
2023-03-13 17:29:17 350K .......... .......... .......... .......... .......... 91% 10.5M 0s
2023-03-13 17:29:17 400K .......... .......... .......... ....... 100% 13.7M=0.4s
2023-03-13 17:29:17
2023-03-13 17:29:17 2023-03-13 20:29:17 (1.10 MB/s) - 'ovpn_configs.zip' saved [447986/447986]
2023-03-13 17:29:17
2023-03-13 17:29:17 Archive: ovpn_configs.zip
2023-03-13 17:29:17 inflating: ovpn_configs/al-tia.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/al-tia.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/au-per.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/au-per.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/au-adl.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/au-adl.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/au-bne.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/au-bne.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/au-syd.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/au-syd.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/au-mel.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/au-mel.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/at-vie.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/at-vie.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/az-bak.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/az-bak.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/be-anr.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/be-anr.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/be-bru.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/be-bru.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ba-sjj.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ba-sjj.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/br-sao.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/br-sao.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/bg-sof.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/bg-sof.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ca-van.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ca-van.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ca-mon.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ca-mon.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ca-tor.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ca-tor.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/co-bog.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/co-bog.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/hr-zag.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/hr-zag.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/cy-nic.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/cy-nic.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/cz-prg.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/cz-prg.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/dk-cph.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/dk-cph.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ee-tll.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ee-tll.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/fi-hel.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/fi-hel.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/fr-par.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/fr-par.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/fr-mrs.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/fr-mrs.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/fr-bod.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/fr-bod.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ge-tbs.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ge-tbs.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/de-ber.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/de-ber.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/de-fra.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/de-fra.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/gr-ath.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/gr-ath.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/hk-hkg.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/hk-hkg.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/hu-bud.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/hu-bud.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/is-rkv.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/is-rkv.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/id-jak.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/id-jak.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ie-dub.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ie-dub.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/il-tlv.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/il-tlv.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/it-rom.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/it-rom.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/it-mil.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/it-mil.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/jp-tok.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/jp-tok.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/kz-ura.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/kz-ura.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/lv-rig.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/lv-rig.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/lt-vno.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/lt-vno.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/lu-ste.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/lu-ste.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/my-kul.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/my-kul.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/md-chi.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/md-chi.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/nl-ams.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/nl-ams.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/nz-akl.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/nz-akl.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/mk-skp.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/mk-skp.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/no-osl.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/no-osl.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/pl-waw.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/pl-waw.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/pl-gdn.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/pl-gdn.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/pt-opo.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/pt-opo.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/pt-lis.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/pt-lis.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ro-buc.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ro-buc.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/rs-beg.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/rs-beg.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/sg-sng.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/sg-sng.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/sk-bts.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/sk-bts.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/si-lju.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/si-lju.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/za-jnb.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/za-jnb.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/kr-seo.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/kr-seo.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/es-bcn.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/es-bcn.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/es-vlc.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/es-vlc.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/es-mad.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/es-mad.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/se-sto.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/se-sto.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ch-zur.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ch-zur.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/tw-tai.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/tw-tai.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/th-bkk.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/th-bkk.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/tr-ist.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/tr-ist.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ua-iev.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ua-iev.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ae-dub.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/ae-dub.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/uk-gla.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/uk-gla.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/uk-edi.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/uk-edi.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/uk-man.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/uk-man.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/uk-lon.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/uk-lon.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-sea.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-sea.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-bdn.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-bdn.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-sfo.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-sfo.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-sjc.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-sjc.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-slc.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-slc.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-lax.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-lax.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-las.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-las.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-den.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-den.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-phx.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-phx.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-chi.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-chi.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-kan.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-kan.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-ltm.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-ltm.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-dtw.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-dtw.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-bos.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-bos.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-stl.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-stl.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-nyc.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-nyc.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-buf.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-buf.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-dal.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-dal.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-ash.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-ash.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-hou.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-hou.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-atl.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-atl.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-clt.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-clt.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-tpa.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-tpa.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-mia.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-mia.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-orl.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 inflating: ovpn_configs/us-orl.prod.surfshark.com_udp.ovpn
2023-03-13 17:29:17 Chose: au-per.prod.surfshark.com_tcp.ovpn
2023-03-13 17:29:17 Do not forget to expose the ports for attached container web ui access
2023-03-13 17:29:17 2023-03-13 20:29:17 DEPRECATED OPTION: --cipher set to 'AES-256-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM). Future OpenVPN version will ignore --cipher for cipher negotiations. Add 'AES-256-CBC' to --data-ciphers or change --cipher 'AES-256-CBC' to --data-ciphers-fallback 'AES-256-CBC' to silence this warning.
2023-03-13 17:29:17 2023-03-13 20:29:17 WARNING: file 'vpn-auth.txt' is group or others accessible
2023-03-13 17:29:17 2023-03-13 20:29:17 OpenVPN 2.5.8 aarch64-alpine-linux-musl [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Nov 2 2022
2023-03-13 17:29:17 2023-03-13 20:29:17 library versions: OpenSSL 3.0.8 7 Feb 2023, LZO 2.10
2023-03-13 17:29:17 2023-03-13 20:29:17 WARNING: --ping should normally be used with --ping-restart or --ping-exit
2023-03-13 17:29:17 2023-03-13 20:29:17 NOTE: --fast-io is disabled since we are not using UDP
2023-03-13 17:29:17 2023-03-13 20:29:17 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:29:17 2023-03-13 20:29:17 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:29:17 2023-03-13 20:29:17 TCP/UDP: Preserving recently used remote address: [AF_INET]124.150.139.59:1443
2023-03-13 17:29:17 2023-03-13 20:29:17 Socket Buffers: R=[131072->131072] S=[16384->16384]
2023-03-13 17:29:17 2023-03-13 20:29:17 Attempting to establish TCP connection with [AF_INET]124.150.139.59:1443 [nonblock]
2023-03-13 17:29:18 2023-03-13 20:29:18 TCP connection established with [AF_INET]124.150.139.59:1443
2023-03-13 17:29:18 2023-03-13 20:29:18 TCP_CLIENT link local: (not bound)
2023-03-13 17:29:18 2023-03-13 20:29:18 TCP_CLIENT link remote: [AF_INET]124.150.139.59:1443
2023-03-13 17:29:18 2023-03-13 20:29:18 TLS: Initial packet from [AF_INET]124.150.139.59:1443, sid=222eeb5e 05b531dc
2023-03-13 17:29:18 2023-03-13 20:29:18 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
2023-03-13 17:29:20 2023-03-13 20:29:20 VERIFY OK: depth=2, C=VG, O=Surfshark, CN=Surfshark Root CA
2023-03-13 17:29:20 2023-03-13 20:29:20 VERIFY OK: depth=1, C=VG, O=Surfshark, CN=Surfshark Intermediate CA
2023-03-13 17:29:20 2023-03-13 20:29:20 VERIFY KU OK
2023-03-13 17:29:20 2023-03-13 20:29:20 Validating certificate extended key usage
2023-03-13 17:29:20 2023-03-13 20:29:20 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
2023-03-13 17:29:20 2023-03-13 20:29:20 VERIFY EKU OK
2023-03-13 17:29:20 2023-03-13 20:29:20 VERIFY OK: depth=0, CN=au-per-v019.prod.surfshark.com
2023-03-13 17:29:20 2023-03-13 20:29:20 WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1635', remote='link-mtu 1583'
2023-03-13 17:29:20 2023-03-13 20:29:20 WARNING: 'auth' is used inconsistently, local='auth SHA512', remote='auth [null-digest]'
2023-03-13 17:29:20 2023-03-13 20:29:20 Control Channel: TLSv1.2, cipher TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, peer certificate: 2048 bit RSA, signature: RSA-SHA256
2023-03-13 17:29:20 2023-03-13 20:29:20 [au-per-v019.prod.surfshark.com] Peer Connection Initiated with [AF_INET]124.150.139.59:1443
2023-03-13 17:29:21 2023-03-13 20:29:21 SENT CONTROL [au-per-v019.prod.surfshark.com]: 'PUSH_REQUEST' (status=1)
2023-03-13 17:29:21 2023-03-13 20:29:21 PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 162.252.172.57,dhcp-option DNS 149.154.159.92,redirect-gateway def1,sndbuf 524288,rcvbuf 524288,explicit-exit-notify,block-outside-dns,route-gateway 10.7.7.1,topology subnet,ping 60,ping-restart 180,ifconfig 10.7.7.8 255.255.255.0,peer-id 0,cipher AES-256-GCM'
2023-03-13 17:29:21 2023-03-13 20:29:21 Options error: Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:7: block-outside-dns (2.5.8)
2023-03-13 17:29:21 2023-03-13 20:29:21 OPTIONS IMPORT: timers and/or timeouts modified
2023-03-13 17:29:21 2023-03-13 20:29:21 OPTIONS IMPORT: --explicit-exit-notify can only be used with --proto udp
2023-03-13 17:29:21 2023-03-13 20:29:21 OPTIONS IMPORT: --sndbuf/--rcvbuf options modified
2023-03-13 17:29:21 2023-03-13 20:29:21 Socket Buffers: R=[131072->425984] S=[87040->425984]
2023-03-13 17:29:21 2023-03-13 20:29:21 OPTIONS IMPORT: --ifconfig/up options modified
2023-03-13 17:29:21 2023-03-13 20:29:21 OPTIONS IMPORT: route options modified
2023-03-13 17:29:21 2023-03-13 20:29:21 OPTIONS IMPORT: route-related options modified
2023-03-13 17:29:21 2023-03-13 20:29:21 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
2023-03-13 17:29:21 2023-03-13 20:29:21 OPTIONS IMPORT: peer-id set
2023-03-13 17:29:21 2023-03-13 20:29:21 OPTIONS IMPORT: adjusting link_mtu to 1658
2023-03-13 17:29:21 2023-03-13 20:29:21 OPTIONS IMPORT: data channel crypto options modified
2023-03-13 17:29:21 2023-03-13 20:29:21 Data Channel: using negotiated cipher 'AES-256-GCM'
2023-03-13 17:29:21 2023-03-13 20:29:21 Outgoing Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
2023-03-13 17:29:21 2023-03-13 20:29:21 Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
2023-03-13 17:29:21 2023-03-13 20:29:21 ROUTE_GATEWAY 172.18.0.1/255.255.0.0 IFACE=eth0 HWADDR=02:42:ac:12:00:02
2023-03-13 17:29:21 2023-03-13 20:29:21 TUN/TAP device tun0 opened
2023-03-13 17:29:21 2023-03-13 20:29:21 /sbin/ip link set dev tun0 up mtu 1500
2023-03-13 17:29:21 2023-03-13 20:29:21 /sbin/ip link set dev tun0 up
2023-03-13 17:29:21 2023-03-13 20:29:21 /sbin/ip addr add dev tun0 10.7.7.8/24
2023-03-13 17:29:21 2023-03-13 20:29:21 /sbin/ip route add 124.150.139.59/32 via 172.18.0.1
2023-03-13 17:29:21 2023-03-13 20:29:21 /sbin/ip route add 0.0.0.0/1 via 10.7.7.1
2023-03-13 17:29:21 2023-03-13 20:29:21 /sbin/ip route add 128.0.0.0/1 via 10.7.7.1
2023-03-13 17:29:21 2023-03-13 20:29:21 Initialization Sequence Completed
2023-03-13 17:29:25 2023-03-13 20:29:25 Connection reset, restarting [0]
2023-03-13 17:29:25 2023-03-13 20:29:25 SIGUSR1[soft,connection-reset] received, process restarting
2023-03-13 17:29:25 2023-03-13 20:29:25 Restart pause, 5 second(s)
2023-03-13 17:29:30 2023-03-13 20:29:30 NOTE: --fast-io is disabled since we are not using UDP
2023-03-13 17:29:30 2023-03-13 20:29:30 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:29:30 2023-03-13 20:29:30 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:29:30 2023-03-13 20:29:30 TCP/UDP: Preserving recently used remote address: [AF_INET]124.150.139.59:1443
2023-03-13 17:29:30 2023-03-13 20:29:30 Socket Buffers: R=[131072->425984] S=[16384->425984]
2023-03-13 17:29:30 2023-03-13 20:29:30 Attempting to establish TCP connection with [AF_INET]124.150.139.59:1443 [nonblock]
2023-03-13 17:31:30 2023-03-13 20:31:30 TCP: connect to [AF_INET]124.150.139.59:1443 failed: Operation timed out
2023-03-13 17:31:30 2023-03-13 20:31:30 SIGUSR1[connection failed(soft),init_instance] received, process restarting
2023-03-13 17:31:30 2023-03-13 20:31:30 Restart pause, 5 second(s)
2023-03-13 17:31:35 2023-03-13 20:31:35 NOTE: --fast-io is disabled since we are not using UDP
2023-03-13 17:31:35 2023-03-13 20:31:35 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:31:35 2023-03-13 20:31:35 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:31:35 2023-03-13 20:31:35 TCP/UDP: Preserving recently used remote address: [AF_INET]124.150.139.27:1443
2023-03-13 17:31:35 2023-03-13 20:31:35 Socket Buffers: R=[131072->425984] S=[16384->425984]
2023-03-13 17:31:35 2023-03-13 20:31:35 Attempting to establish TCP connection with [AF_INET]124.150.139.27:1443 [nonblock]
2023-03-13 17:33:35 2023-03-13 20:33:35 TCP: connect to [AF_INET]124.150.139.27:1443 failed: Operation timed out
2023-03-13 17:33:35 2023-03-13 20:33:35 SIGUSR1[connection failed(soft),init_instance] received, process restarting
2023-03-13 17:33:35 2023-03-13 20:33:35 Restart pause, 5 second(s)
2023-03-13 17:33:40 2023-03-13 20:33:40 NOTE: --fast-io is disabled since we are not using UDP
2023-03-13 17:33:40 2023-03-13 20:33:40 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:33:40 2023-03-13 20:33:40 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:33:45 2023-03-13 20:33:45 RESOLVE: Cannot resolve host address: au-per.prod.surfshark.com:1443 (Try again)
2023-03-13 17:33:50 2023-03-13 20:33:50 RESOLVE: Cannot resolve host address: au-per.prod.surfshark.com:1443 (Try again)
2023-03-13 17:33:50 2023-03-13 20:33:50 Could not determine IPv4/IPv6 protocol
2023-03-13 17:33:50 2023-03-13 20:33:50 SIGUSR1[soft,init_instance] received, process restarting
2023-03-13 17:33:50 2023-03-13 20:33:50 Restart pause, 5 second(s)
2023-03-13 17:33:55 2023-03-13 20:33:55 NOTE: --fast-io is disabled since we are not using UDP
2023-03-13 17:33:55 2023-03-13 20:33:55 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:33:55 2023-03-13 20:33:55 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:34:00 2023-03-13 20:34:00 RESOLVE: Cannot resolve host address: au-per.prod.surfshark.com:1443 (Try again)
2023-03-13 17:34:05 2023-03-13 20:34:05 RESOLVE: Cannot resolve host address: au-per.prod.surfshark.com:1443 (Try again)
2023-03-13 17:34:05 2023-03-13 20:34:05 Could not determine IPv4/IPv6 protocol
2023-03-13 17:34:05 2023-03-13 20:34:05 SIGUSR1[soft,init_instance] received, process restarting
2023-03-13 17:34:05 2023-03-13 20:34:05 Restart pause, 5 second(s)
2023-03-13 17:34:10 2023-03-13 20:34:10 NOTE: --fast-io is disabled since we are not using UDP
2023-03-13 17:34:10 2023-03-13 20:34:10 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:34:10 2023-03-13 20:34:10 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:34:15 2023-03-13 20:34:15 RESOLVE: Cannot resolve host address: au-per.prod.surfshark.com:1443 (Try again)
2023-03-13 17:34:20 2023-03-13 20:34:20 RESOLVE: Cannot resolve host address: au-per.prod.surfshark.com:1443 (Try again)
2023-03-13 17:34:20 2023-03-13 20:34:20 Could not determine IPv4/IPv6 protocol
2023-03-13 17:34:20 2023-03-13 20:34:20 SIGUSR1[soft,init_instance] received, process restarting
2023-03-13 17:34:20 2023-03-13 20:34:20 Restart pause, 5 second(s)
2023-03-13 17:34:25 2023-03-13 20:34:25 NOTE: --fast-io is disabled since we are not using UDP
2023-03-13 17:34:25 2023-03-13 20:34:25 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:34:25 2023-03-13 20:34:25 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:34:30 2023-03-13 20:34:30 RESOLVE: Cannot resolve host address: au-per.prod.surfshark.com:1443 (Try again)
2023-03-13 17:34:35 2023-03-13 20:34:35 RESOLVE: Cannot resolve host address: au-per.prod.surfshark.com:1443 (Try again)
2023-03-13 17:34:35 2023-03-13 20:34:35 Could not determine IPv4/IPv6 protocol
2023-03-13 17:34:35 2023-03-13 20:34:35 SIGUSR1[soft,init_instance] received, process restarting
2023-03-13 17:34:35 2023-03-13 20:34:35 Restart pause, 5 second(s)
2023-03-13 17:34:40 2023-03-13 20:34:40 NOTE: --fast-io is disabled since we are not using UDP
2023-03-13 17:34:40 2023-03-13 20:34:40 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:34:40 2023-03-13 20:34:40 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2023-03-13 17:34:45 2023-03-13 20:34:45 RESOLVE: Cannot resolve host address: au-per.prod.surfshark.com:1443 (Try again)
2023-03-13 17:34:50 2023-03-13 20:34:50 RESOLVE: Cannot resolve host address: au-per.prod.surfshark.com:1443 (Try again)
2023-03-13 17:34:50 2023-03-13 20:34:50 Could not determine IPv4/IPv6 protocol
2023-03-13 17:34:50 2023-03-13 20:34:50 SIGUSR1[soft,init_instance] received, process restarting
2023-03-13 17:34:50 2023-03-13 20:34:50 Restart pause, 10 second(s)

what is wrong

version: "3.3"
services:
surfshark:
image: ilteoood/docker-surfshark
container_name: surfshark
environment:

  • SURFSHARK_USER=xxxx
  • SURFSHARK_PASSWORD=xxxx
  • SURFSHARK_COUNTRY=nl
  • SURFSHARK_CITY=ams
  • CONNECTION_TYPE=udp
  • LAN_NETWORK=
    cap_add:
  • NET_ADMIN
    devices:
  • /dev/net/tun
    ports:
  • 8080:8080
    restart: unless-stopped
    dns:
  • 1.1.1.1
    qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment:
  • PUID=1000
  • PGID=1000
  • TZ=Etc/UTC
  • WEBUI_PORT=8080
    volumes:
  • /root/qbittorrent/config:/config
  • /root/vv/jellyfin/SEED:/downloads
    ports:
  • 8080:8080
  • 6881:6881
  • 6881:6881/udp
    restart: unless-stopped

unable to resolve api.surfshark.com

Hi,
Container error since this morning. Any clue to solve this ?

wget: unable to resolve host address 'api.surfshark.com'

chive: ovpn_configs.zip

End-of-central-directory signature not found. Either this file is not

a zipfile, or it constitutes one disk of a multi-part archive. In the

latter case the central directory and zipfile comment will be found on

the last disk(s) of this archive.

unzip: cannot find zipfile directory in one of ovpn_configs.zip or

    ovpn_configs.zip.zip, and cannot find ovpn_configs.zip.ZIP, period.

./startup.sh: cd: line 5: can't cd to ovpn_configs: No such file or directory

ls: cannot access 'it*': No such file or directory

Chose:

Adding ip route add 192.168.0.0/24 via 172.26.0.1 dev eth0 for attached container web ui access

Do not forget to expose the ports for attached container we ui access

Options error: Unrecognized option or missing or extra parameter(s) in [CMD-LINE]:1: config (2.5.0)

Use --help for more information.

--2106-02-07 06:28:16-- https://api.surfshark.com/v1/server/configurations

Resolving api.surfshark.com (api.surfshark.com)... failed: Try again.

Cannot connect to socks5 proxy?

I'm trying to use the builtin Dante socks5 server, but I'm simply unable to connect to it from outside the container, which is running using the following docker compose config:

version: '3'
services:

  vpn:
      image: ilteoood/docker-surfshark:1.6.1
      container_name: vpn
      environment: 
        - ENABLE_KILL_SWITCH=true
        - SURFSHARK_USER=ACTUAL_USER
        - SURFSHARK_PASSWORD=ACTUAL_PASS
        - SURFSHARK_COUNTRY=ca
        - SURFSHARK_CITY=tor
        - CONNECTION_TYPE=udp
        - CREATE_TUN_DEVICE=true
        # - LAN_NETWORK=192.168.0.0/24
      cap_add: 
        - NET_ADMIN
      ports:
        - 9117:9117
        - 6881:6881
        - 6881:6881/udp
        - 9118:9118
        - 9091:9091
        - 8082:80
        - 5000:5000
        - 8989:8989
        - 8686:8686
        - 1081:1081
        - 7878:7878
      restart: unless-stopped
      dns:
        - 1.1.1.1

From a terminal running on the host, outside the container when I try to run curl, I get the following output:

curl -v --socks5 127.0.0.1:1081 http://ifcfg.co
*   Trying 127.0.0.1:1081...
* Connection to proxy closed
* Closing connection 0
curl: (97) Connection to proxy closed

Is there anything else I can do to make the socks5 proxy available? I have already tried uncommenting LAN_NETWORK and that had no effect on the proxy.

api error

Hi,
I have an issue with the docker

Adding ip route add 192.168.0.0/24 via 172.17.0.1 dev eth0 for attached container web ui access
Do not forget to expose the ports for attached container we ui access
Options error: Unrecognized option or missing or extra parameter(s) in [CMD-LINE]:1: config (2.5.2)
Use --help for more information.
--2106-02-07 06:28:16-- https://api.surfshark.com/v1/server/configurations
Resolving api.surfshark.com (api.surfshark.com)... failed: Try again.
wget: unable to resolve host address 'api.surfshark.com'
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of ovpn_configs.zip or
ovpn_configs.zip.zip, and cannot find ovpn_configs.zip.ZIP, period.
chive: ovpn_configs.zip
./startup.sh: cd: line 5: can't cd to ovpn_configs: No such file or directory
ls: cannot access 'it*': No such file or directory

config file name changed

.oven name was changed to rch_ae-dub.prod.surfshark.com_tcp.ovpn
startup.sh need modify.
Thanks

Doesnt work with my setup

Hi, I am trying to use this to access tvheadend and jellyfin so I can VPN IPTV and it doesnt work. Sometimes it connects to dockers but traffic doesnt go through VPN even when it says surfshark is healthy

Codes used:

sudo docker run -it --cap-add=NET_ADMIN --device /dev/net/tun --name=surfshark -e SURF-SHARK_USER=MYUSERNAME -e SURFSHARK_PASSWORD=MYPASSWORD ilteoood/docker-surfshark

I have also added ports in surfshark (by accessing through portainer) and added ports forwarding
192.168.1.255:8096 - 8096 for jellyfin
192.168.1.255:9981-9982 - 9981-9982 tvheadend
and added -e LAN_NETWORK=192.168.1.255/24

code for tvheadend

sudo docker run -d \ --name=tvheadend \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Europe/London \ --net=container:surfshark \ -v /Docker/tvheadend:/config \ -v /Downloads/recordings:/recordings \ --restart unless-stopped \ linuxserver/tvheadend

error with given test config

Thanks for the awesome image. But I can't get it to work maybe I am being a bit thick!

I am using your test docker compose yaml with my home network range the rest is pretty much identical:

services: surfshark: image: ilteoood/docker-surfshark container_name: surfshark environment: - SURFSHARK_USE=********** - SURFSHARK_PASSWORD=******** - SURFSHARK_COUNTRY=gb - SURFSHARK_CITY=lon - CONNECTION_TYPE=udp - LAN_NETWORK=192.168.3.198/24 cap_add: - NET_ADMIN devices: - /dev/net/tun ports: - 9091:9091 #we open here the port for transmission, as this container will be the access point for the others restart: unless-stopped dns: - 1.1.1.1 service_test: image: byrnedo/alpine-curl container_name: alpine command: -L 'https://ipinfo.io' depends_on: - surfshark network_mode: service:surfshark restart: always transmission: image: linuxserver/transmission container_name: transmission environment: - PUID=1000 - PGID=1000 - TZ=Europe/London #ports: #- 9091:9091 needed to access transmission's GUI network_mode: service:surfshark restart: unless-stopped

This is what I end up getting. I am running on rpi4 and had transmission working OK before, without VPN.

`
Starting alpine ...
Starting transmission ...
�[1A�[2K
Starting transmission ... �[31merror�[0m
�[1B
ERROR: for transmission Cannot start service transmission: Container 26f732af41a8b3d9bb32c8c00cd56607885fa6ba3e598bd55353f64efbeae12b is restarting, wait until the container is running
�[2A�[2K
Starting alpine ... �[31merror�[0m
�[2B
ERROR: for alpine Cannot start service service_test: Container 26f732af41a8b3d9bb32c8c00cd56607885fa6ba3e598bd55353f64efbeae12b is restarting, wait until the container is running

ERROR: for transmission Cannot start service transmission: Container 26f732af41a8b3d9bb32c8c00cd56607885fa6ba3e598bd55353f64efbeae12b is restarting, wait until the container is running

ERROR: for service_test Cannot start service service_test: Container 26f732af41a8b3d9bb32c8c00cd56607885fa6ba3e598bd55353f64efbeae12b is restarting, wait until the container is running
Encountered errors while bringing up the project.`

Looks like the surfshark container isn't ready or it keep restarting hence alpine and transmissions can't run I guess.
`

Thanks for helping I am also new to github in general I hope its OK to post here.

Best

Pasquale

Access networked containers from LAN

I have been trying to use this container to secure other containers behind a VPN. I have successfully gotten the containers to run with the VPN, but many of them have Web GUIs that are inaccessible while they're using this container for their network.
I have seen other VPN containers that use a NETWORK parameter to pass in your LAN subnet to OpenVPN, is it possible to add something like that to this container?

ERROR: initcaps -> '/lib/modules': No such file or directory

Hello Everyone!
My system works in:

  1. Proxmox 7.3-6
  2. VM Debian 11
  3. Docker version 23.0.1

The container surfshark is deploying but is stack to the status "starting".
I am attaching part of the log file of this container:

Chose: it-mil.prod.surfshark.com_udp.ovpn Adding ip route add 172.17.0.0/16 via 172.18.0.1 dev eth0 for attached container web ui access Do not forget to expose the ports for attached container web ui access 2023-03-17 09:31:24 DEPRECATED OPTION: --cipher set to 'AES-256-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM). Future OpenVPN version will ignore --cipher for cipher negotiations. Add 'AES-256-CBC' to --data-ciphers or change --cipher 'AES-256-CBC' to --data-ciphers-fallback 'AES-256-CBC' to silence this warning. 2023-03-17 09:31:24 WARNING: file 'vpn-auth.txt' is group or others accessible 2023-03-17 09:31:24 OpenVPN 2.5.8 x86_64-alpine-linux-musl [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Nov 2 2022 2023-03-17 09:31:24 library versions: OpenSSL 3.0.8 7 Feb 2023, LZO 2.10 2023-03-17 09:31:24 WARNING: --ping should normally be used with --ping-restart or --ping-exit 2023-03-17 09:31:24 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication 2023-03-17 09:31:24 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication 2023-03-17 09:31:24 TCP/UDP: Preserving recently used remote address: [AF_INET]212.102.55.74:1194 2023-03-17 09:31:24 Socket Buffers: R=[212992->212992] S=[212992->212992] 2023-03-17 09:31:24 UDP link local: (not bound) 2023-03-17 09:31:24 UDP link remote: [AF_INET]212.102.55.74:1194 2023-03-17 09:31:24 TLS: Initial packet from [AF_INET]212.102.55.74:1194, sid=b9caae2b b0ee9aa6 2023-03-17 09:31:24 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this 2023-03-17 09:31:25 VERIFY OK: depth=2, C=VG, O=Surfshark, CN=Surfshark Root CA 2023-03-17 09:31:25 VERIFY OK: depth=1, C=VG, O=Surfshark, CN=Surfshark Intermediate CA 2023-03-17 09:31:25 VERIFY KU OK 2023-03-17 09:31:25 Validating certificate extended key usage 2023-03-17 09:31:25 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication 2023-03-17 09:31:25 VERIFY EKU OK 2023-03-17 09:31:25 VERIFY OK: depth=0, CN=it-mil-v075.prod.surfshark.com 2023-03-17 09:31:25 WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1633', remote='link-mtu 1581' 2023-03-17 09:31:25 WARNING: 'auth' is used inconsistently, local='auth SHA512', remote='auth [null-digest]' 2023-03-17 09:31:25 Control Channel: TLSv1.2, cipher TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, peer certificate: 2048 bit RSA, signature: RSA-SHA256 2023-03-17 09:31:25 [it-mil-v075.prod.surfshark.com] Peer Connection Initiated with [AF_INET]212.102.55.74:1194 2023-03-17 09:31:26 SENT CONTROL [it-mil-v075.prod.surfshark.com]: 'PUSH_REQUEST' (status=1) 2023-03-17 09:31:31 SENT CONTROL [it-mil-v075.prod.surfshark.com]: 'PUSH_REQUEST' (status=1) 2023-03-17 09:31:31 AUTH: Received control message: AUTH_FAILED 2023-03-17 09:31:31 SIGTERM[soft,auth-failure] received, process exiting Resetting all rules to installed defaults. Proceed with operation (y|n)? Aborted ERROR: initcaps [Errno 2] modprobe: can't change directory to '/lib/modules': No such file or directory ip6tables v1.8.8 (legacy): can't initialize ip6tables table filter': Table does not exist (do you need to insmod?)
Perhaps ip6tables or your kernel needs to be upgraded.
ERROR: initcaps
[Errno 2] modprobe: can't change directory to '/lib/modules': No such file or directory
ip6tables v1.8.8 (legacy): can't initialize ip6tables table filter': Table does not exist (do you need to insmod?) Perhaps ip6tables or your kernel needs to be upgraded. ERROR: initcaps [Errno 2] modprobe: can't change directory to '/lib/modules': No such file or directory ip6tables v1.8.8 (legacy): can't initialize ip6tables table filter': Table does not exist (do you need to insmod?)
Perhaps ip6tables or your kernel needs to be upgraded.
ERROR: initcaps
[Errno 2] modprobe: can't change directory to '/lib/modules': No such file or directory
ip6tables v1.8.8 (legacy): can't initialize ip6tables table filter': Table does not exist (do you need to insmod?) Perhaps ip6tables or your kernel needs to be upgraded.

Do you have any idea why is coming this error ?

no access on LAN

version: "2"
services:

  surfshark:
    image: ilteoood/docker-surfshark
    container_name: surfshark
    environment:
       - SURFSHARK_USER=<username>
       - SURFSHARK_PASSWORD=<password>
       - SURFSHARK_COUNTRY=it
       - SURFSHARK_CITY=mil
       - CONNECTION_TYPE=udp
       - LAN_NETWORK=192.168.0.45
    cap_add:
        - NET_ADMIN
    devices:
        - /dev/net/tun
    ports:
        - 9091:9091 # plus some others but none are accessible
    restart: unless-stopped
    dns:
        - 1.1.1.1

hi im trying to use some containers that go via your image and can't seem to access them from another device on my network. am i configuring the LAN_NETWORK correctly where 192.168.0.45 is the device running containers? (tried 192.168.0.45/24 too)

Wrongly named OpenVPN configuration files

Configuration files retrieved via https://api.surfshark.com/v1/server/configurations are partly named with IP-addresses and only a few of the locations are named with country codes in front.

It's not really a bug that this project is responsible for but still important because it affects the possibilities. Currently only a few connections can be established because of wrong the wrong naming.

Example for correctly named configuration file: us-dal.prod.surfshark.com_tcp.ovpn
Example for wrongly named configuration file: 185.108.106.19_tcp.ovpn

Operation timeout errors, failed to connect

Hi,
Thanks a lot for this image, I've been successfully running a docker stack behind SurfShark using this image for a while though recently the containers in the stack cannot connect to the internet and there are a lot of Operation timeout errors in the logs as a result. The SurfShark container is failing its healthchecks as well, presumably because curl cannot connect as well.

I am running the image on Ubuntu 20.04.3 LTS on x86 architecture, docker version 20.10.12. I am in the United States and am trying to connect to the kan server from SurfShark.

Here are the log files from the surfshark container -

  inflating: ovpn_configs/us-ltm.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/192.154.253.69_tcp.ovpn  
  inflating: ovpn_configs/192.154.253.69_udp.ovpn  
  inflating: ovpn_configs/us-ash.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-ash.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/154.16.168.188_tcp.ovpn  
  inflating: ovpn_configs/154.16.168.188_udp.ovpn  
  inflating: ovpn_configs/us-mia.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-mia.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/us-buf.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-buf.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/us-hou.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-hou.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/us-sea.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-sea.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/us-dal.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-dal.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/us-las.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-las.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/148.72.169.211_tcp.ovpn  
  inflating: ovpn_configs/148.72.169.211_udp.ovpn  
  inflating: ovpn_configs/us-phx.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-phx.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/212.103.49.147_tcp.ovpn  
  inflating: ovpn_configs/212.103.49.147_udp.ovpn  
  inflating: ovpn_configs/us-bos.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-bos.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/us-sfo.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-sfo.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/us-orl.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-orl.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/us-nyc.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-nyc.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/us-nyc-st003.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-nyc-st003.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/us-nyc-st004.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-nyc-st004.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/104.244.208.203_tcp.ovpn  
  inflating: ovpn_configs/104.244.208.203_udp.ovpn  
  inflating: ovpn_configs/us-nyc-st005.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-nyc-st005.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/us-nyc-st002.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-nyc-st002.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/us-nyc-st001.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/us-nyc-st001.prod.surfshark.com_udp.ovpn  
  inflating: ovpn_configs/ve-car.prod.surfshark.com_tcp.ovpn  
  inflating: ovpn_configs/ve-car.prod.surfshark.com_udp.ovpn  
Chose: us-kan.prod.surfshark.com_udp.ovpn
Adding ip route add 192.168.1.0/24 via 172.19.0.1 dev eth0 for attached container web ui access
Do not forget to expose the ports for attached container we ui access
2022-01-19 17:41:39 DEPRECATED OPTION: --cipher set to 'AES-256-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM). Future OpenVPN version will ignore --cipher for cipher negotiations. Add 'AES-256-CBC' to --data-ciphers or change --cipher 'AES-256-CBC' to --data-ciphers-fallback 'AES-256-CBC' to silence this warning.
2022-01-19 17:41:39 WARNING: file 'vpn-auth.txt' is group or others accessible
2022-01-19 17:41:39 OpenVPN 2.5.4 x86_64-alpine-linux-musl [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Nov 15 2021
2022-01-19 17:41:39 library versions: OpenSSL 1.1.1l  24 Aug 2021, LZO 2.10
2022-01-19 17:41:39 WARNING: --ping should normally be used with --ping-restart or --ping-exit
2022-01-19 17:41:39 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2022-01-19 17:41:39 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
2022-01-19 17:41:39 TCP/UDP: Preserving recently used remote address: [AF_INET]38.146.5.205:1194
2022-01-19 17:41:39 Socket Buffers: R=[212992->212992] S=[212992->212992]
2022-01-19 17:41:39 UDP link local: (not bound)
2022-01-19 17:41:39 UDP link remote: [AF_INET]38.146.5.205:1194
2022-01-19 17:41:39 TLS: Initial packet from [AF_INET]38.146.5.205:1194, sid=c82ec279 cd069822
2022-01-19 17:41:39 VERIFY OK: depth=2, C=VG, O=Surfshark, CN=Surfshark Root CA
2022-01-19 17:41:39 VERIFY OK: depth=1, C=VG, O=Surfshark, CN=Surfshark Intermediate CA
2022-01-19 17:41:39 VERIFY KU OK
2022-01-19 17:41:39 Validating certificate extended key usage
2022-01-19 17:41:39 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
2022-01-19 17:41:39 VERIFY EKU OK
2022-01-19 17:41:39 VERIFY OK: depth=0, CN=us-kan-v008.prod.surfshark.com
2022-01-19 17:41:39 WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1633', remote='link-mtu 1581'
2022-01-19 17:41:39 WARNING: 'auth' is used inconsistently, local='auth SHA512', remote='auth [null-digest]'
2022-01-19 17:41:39 Control Channel: TLSv1.2, cipher TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, peer certificate: 2048 bit RSA, signature: RSA-SHA256
2022-01-19 17:41:39 [us-kan-v008.prod.surfshark.com] Peer Connection Initiated with [AF_INET]38.146.5.205:1194
2022-01-19 17:41:40 SENT CONTROL [us-kan-v008.prod.surfshark.com]: 'PUSH_REQUEST' (status=1)
2022-01-19 17:41:40 PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 162.252.172.57,dhcp-option DNS 149.154.159.92,redirect-gateway def1,sndbuf 524288,rcvbuf 524288,explicit-exit-notify,block-outside-dns,route-gateway 10.8.8.1,topology subnet,ping 60,ping-restart 180,ifconfig 10.8.8.14 255.255.255.0,peer-id 12,cipher AES-256-GCM'
2022-01-19 17:41:40 Options error: Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:7: block-outside-dns (2.5.4)
2022-01-19 17:41:40 OPTIONS IMPORT: timers and/or timeouts modified
2022-01-19 17:41:40 OPTIONS IMPORT: explicit notify parm(s) modified
2022-01-19 17:41:40 OPTIONS IMPORT: --sndbuf/--rcvbuf options modified
2022-01-19 17:41:40 Socket Buffers: R=[212992->425984] S=[212992->425984]
2022-01-19 17:41:40 OPTIONS IMPORT: --ifconfig/up options modified
2022-01-19 17:41:40 OPTIONS IMPORT: route options modified
2022-01-19 17:41:40 OPTIONS IMPORT: route-related options modified
2022-01-19 17:41:40 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
2022-01-19 17:41:40 OPTIONS IMPORT: peer-id set
2022-01-19 17:41:40 OPTIONS IMPORT: adjusting link_mtu to 1656
2022-01-19 17:41:40 OPTIONS IMPORT: data channel crypto options modified
2022-01-19 17:41:40 Data Channel: using negotiated cipher 'AES-256-GCM'
2022-01-19 17:41:40 Outgoing Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
2022-01-19 17:41:40 Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
2022-01-19 17:41:40 ROUTE_GATEWAY 172.19.0.1/255.255.0.0 IFACE=eth0 HWADDR=02:42:ac:13:00:02
2022-01-19 17:41:40 TUN/TAP device tun0 opened
2022-01-19 17:41:40 /sbin/ip link set dev tun0 up mtu 1500
2022-01-19 17:41:40 /sbin/ip link set dev tun0 up
2022-01-19 17:41:40 /sbin/ip addr add dev tun0 10.8.8.14/24
2022-01-19 17:41:40 /sbin/ip route add 38.146.5.205/32 via 172.19.0.1
2022-01-19 17:41:40 /sbin/ip route add 0.0.0.0/1 via 10.8.8.1
2022-01-19 17:41:40 /sbin/ip route add 128.0.0.0/1 via 10.8.8.1
2022-01-19 17:41:40 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
2022-01-19 17:41:40 Initialization Sequence Completed

I've used the example docker-compose provided in the repo for deploying the container.

Any suggestions why I'm having the connectivity issues? They started approximately 3 days back.

Stop retrying if my password is incorrect

My screen keeps scrolling and I don't know if the server has finished initilizing, until I spot the following lines.

surfshark     | 2022-05-13 09:26:00 SENT CONTROL [tw-tai-v018.prod.surfshark.com]: 'PUSH_REQUEST' (status=1)
surfshark     | 2022-05-13 09:26:00 AUTH: Received control message: AUTH_FAILED
surfshark     | 2022-05-13 09:26:00 SIGTERM[soft,auth-failure] received, process exiting

Can you stop restarting the container if my password is incorrect?

Can't access from another container by service name.

I have this config:

version: '3'
services:
  bot:
    restart: always
    build: .
  chrome:
    image: browserless/chrome
    network_mode: service:surfshark
  surfshark:
    image: ilteoood/docker-surfshark
    container_name: surfshark
    environment:
      - SURFSHARK_USER=$SURFSHARK_USER
      - SURFSHARK_PASSWORD=$SURFSHARK_PASSWORD
      - SURFSHARK_COUNTRY=es
      - CONNECTION_TYPE=udp
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun
    restart: unless-stopped
    dns:
      - 1.1.1.1

I want to access the host 'chrome' from the 'bot' container using the service name, but it's not working. How can I fix this?

Connected to wrong location.

Created container passing;
- SURFSHARK_COUNTRY=se - SURFSHARK_CITY=sto

Ran curl command to check connection and saw that I had been connected to another country.

/vpn # curl ipconfig.io/json { "ip": "213.152.165.98", "ip_decimal": 3583550818, "country": "Netherlands", "country_iso": "NL", "country_eu": true, "latitude": 52.3824, "longitude": 4.8995, "time_zone": "Europe/Amsterdam", "asn": "AS49453", "asn_org": "Global Layer B.V.", "user_agent": { "product": "curl", "version": "7.80.0", "raw_value": "curl/7.80.0" }

Connected to Stockholm, Sweden server from the mac client and ran the curl command, response stated Sweden.

newbie needs help :(

Hi, this is not an issue but more of an I need help. When I copy the command and paste in my information it comes back with the container being unhealthy on my portainer. I run this command through my terminal for Linux

sudo docker run -it --cap-add=NET_ADMIN --device /dev/net/tun --name ss -e SURFSHARK_USER=7UtqYdwUEAhQkg8hhqgdb64 -e SURFSHARK_PASSWORD=BFDUswsnXBuvXEbUcFgbT63 ilteoood/docker-surfshark

So then I run this as a stack in portainer, but I am not able to open the command prompt to see what the IP address is for the surfshark container. What is Alpine?

version: "2"

services:
surfshark:
image: ilteoood/docker-surfshark
container_name: surfshark
environment:
- SURFSHARK_USER=7UtqYdwUEAhQkg8hhqgdb64
- SURFSHARK_PASSWORD=BFDUswsnXBuvXEbUcFgbT63
- SURFSHARK_COUNTRY=it
- SURFSHARK_CITY=mil
- CONNECTION_TYPE=udp
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
restart: unless-stopped
dns:
- 1.1.1.1
service_test:
image: byrnedo/alpine-curl
container_name: alpine
command: -L 'https://ipinfo.io'
depends_on:
- surfshark
network_mode: service:surfshark
restart: always

different .ovpn filenames style in ovpn_configs.zip

I found some .ovpn files have different filename style in the last ovpn_configs.zip downloaded from the container.
To connect to "it-mil.prod.surfshark.com_udp.ovpn", now named "37.120.201.19_udp.ovpn", putting SURFSHARK_COUNTRY=37.120.201.19_udp and SURFSHARK_CITY empty, worked for me.

`
Archive: ovpn_configs.zip

inflating: ovpn_configs/al-tia.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/al-tia.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/ar-bua.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/ar-bua.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/45.248.79.67_tcp.ovpn

inflating: ovpn_configs/45.248.79.67_udp.ovpn

inflating: ovpn_configs/au-per.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/au-per.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/au-mel.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/au-mel.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/au-syd.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/au-syd.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/au-bne.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/au-bne.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/at-vie.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/at-vie.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/az-bak.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/az-bak.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/be-bru.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/be-bru.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/be-anr.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/be-anr.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/ba-sjj.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/ba-sjj.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/br-sao.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/br-sao.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/bg-sof.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/bg-sof.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/ca-tor-mp001.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/ca-tor-mp001.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/ca-tor.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/ca-tor.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/172.98.82.245_tcp.ovpn

inflating: ovpn_configs/172.98.82.245_udp.ovpn

inflating: ovpn_configs/107.181.177.179_tcp.ovpn

inflating: ovpn_configs/107.181.177.179_udp.ovpn

inflating: ovpn_configs/cl-san.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/cl-san.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/co-bog.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/co-bog.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/cr-sjn.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/cr-sjn.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/hr-zag.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/hr-zag.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/cy-nic.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/cy-nic.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/193.9.112.179_tcp.ovpn

inflating: ovpn_configs/193.9.112.179_udp.ovpn

inflating: ovpn_configs/45.12.221.181_tcp.ovpn

inflating: ovpn_configs/45.12.221.181_udp.ovpn

inflating: ovpn_configs/ee-tll.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/ee-tll.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/fi-hel.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/fi-hel.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/fr-par.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/fr-par.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/fr-bod.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/fr-bod.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/185.246.211.69_tcp.ovpn

inflating: ovpn_configs/185.246.211.69_udp.ovpn

inflating: ovpn_configs/fr-mrs.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/fr-mrs.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/ge-tbs.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/ge-tbs.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/de-fra.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/de-fra.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/de-fra-mp001.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/de-fra-mp001.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/152.89.163.21_tcp.ovpn

inflating: ovpn_configs/152.89.163.21_udp.ovpn

inflating: ovpn_configs/de-fra-st004.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/de-fra-st004.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/185.102.219.6_tcp.ovpn

inflating: ovpn_configs/185.102.219.6_udp.ovpn

inflating: ovpn_configs/de-fra-st003.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/de-fra-st003.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/de-fra-st005.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/de-fra-st005.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/de-fra-st002.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/de-fra-st002.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/de-fra-st001.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/de-fra-st001.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/gr-ath.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/gr-ath.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/hk-hkg.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/hk-hkg.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/hu-bud.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/hu-bud.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/is-rkv.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/is-rkv.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/in-mum.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/in-mum.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/in-chn.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/in-chn.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/in-idr.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/in-idr.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/id-jak.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/id-jak.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/ie-dub.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/ie-dub.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/il-tlv.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/il-tlv.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/37.120.201.19_tcp.ovpn

inflating: ovpn_configs/37.120.201.19_udp.ovpn

inflating: ovpn_configs/185.217.71.21_tcp.ovpn

inflating: ovpn_configs/185.217.71.21_udp.ovpn

inflating: ovpn_configs/jp-tok-st009.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/jp-tok-st009.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/jp-tok-st010.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/jp-tok-st010.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/jp-tok-st012.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/jp-tok-st012.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/jp-tok-st011.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/jp-tok-st011.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/jp-tok-st008.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/jp-tok-st008.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/jp-tok-st013.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/jp-tok-st013.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/jp-tok.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/jp-tok.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/jp-tok-st004.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/jp-tok-st004.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/jp-tok-st005.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/jp-tok-st005.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/kz-ura.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/kz-ura.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/lv-rig.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/lv-rig.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/185.153.151.60_tcp.ovpn

inflating: ovpn_configs/185.153.151.60_udp.ovpn

inflating: ovpn_configs/42.0.30.179_tcp.ovpn

inflating: ovpn_configs/42.0.30.179_udp.ovpn

inflating: ovpn_configs/mx-mex.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/mx-mex.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/md-chi.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/md-chi.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/nl-ams.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/nl-ams.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/nl-ams-mp001.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/nl-ams-mp001.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/81.19.208.54_tcp.ovpn

inflating: ovpn_configs/81.19.208.54_udp.ovpn

inflating: ovpn_configs/180.149.231.67_tcp.ovpn

inflating: ovpn_configs/180.149.231.67_udp.ovpn

inflating: ovpn_configs/ng-lag.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/ng-lag.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/185.225.28.245_tcp.ovpn

inflating: ovpn_configs/185.225.28.245_udp.ovpn

inflating: ovpn_configs/95.174.66.37_tcp.ovpn

inflating: ovpn_configs/95.174.66.37_udp.ovpn

inflating: ovpn_configs/pa-pac.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/pa-pac.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/pe-lim.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/pe-lim.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/ph-mnl.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/ph-mnl.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/pl-waw.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/pl-waw.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/pl-gdn.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/pl-gdn.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/pt-lis.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/pt-lis.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/5.154.174.67_tcp.ovpn

inflating: ovpn_configs/5.154.174.67_udp.ovpn

inflating: ovpn_configs/pt-opo.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/pt-opo.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/45.89.175.53_tcp.ovpn

inflating: ovpn_configs/45.89.175.53_udp.ovpn

inflating: ovpn_configs/ru-mos.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/ru-mos.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/152.89.160.213_tcp.ovpn

inflating: ovpn_configs/152.89.160.213_udp.ovpn

inflating: ovpn_configs/sg-sng-mp001.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/sg-sng-mp001.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/sg-in.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/sg-in.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/sg-sng.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/sg-sng.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/sg-sng-st002.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/sg-sng-st002.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/sg-sng-st003.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/sg-sng-st003.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/sg-sng-st001.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/sg-sng-st001.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/sg-sng-st004.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/sg-sng-st004.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/sk-bts.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/sk-bts.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/si-lju.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/si-lju.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/za-jnb.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/za-jnb.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/kr-seo.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/kr-seo.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/82.102.17.179_tcp.ovpn

inflating: ovpn_configs/82.102.17.179_udp.ovpn

inflating: ovpn_configs/es-bcn.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/es-bcn.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/es-vlc.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/es-vlc.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/se-sto.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/se-sto.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/45.83.91.131_tcp.ovpn

inflating: ovpn_configs/45.83.91.131_udp.ovpn

inflating: ovpn_configs/84.17.53.86_tcp.ovpn

inflating: ovpn_configs/84.17.53.86_udp.ovpn

inflating: ovpn_configs/tw-tai.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/tw-tai.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/th-bkk.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/th-bkk.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/tr-ist.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/tr-ist.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/ua-iev.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/ua-iev.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/ae-dub.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/ae-dub.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/uk-man.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/uk-man.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/uk-lon.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/uk-lon.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/uk-lon-st001.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/uk-lon-st001.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/uk-lon-mp001.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/uk-lon-mp001.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/uk-gla.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/uk-gla.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/192.145.126.131_tcp.ovpn

inflating: ovpn_configs/192.145.126.131_udp.ovpn

inflating: ovpn_configs/5.226.137.10_tcp.ovpn

inflating: ovpn_configs/5.226.137.10_udp.ovpn

inflating: ovpn_configs/uk-lon-st004.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/uk-lon-st004.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/uk-lon-st002.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/uk-lon-st002.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/uk-lon-st003.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/uk-lon-st003.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/uk-lon-st005.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/uk-lon-st005.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-nyc-mp001.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-nyc-mp001.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-sfo-mp001.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-sfo-mp001.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-buf.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-buf.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/192.154.253.67_tcp.ovpn

inflating: ovpn_configs/192.154.253.67_udp.ovpn

inflating: ovpn_configs/193.37.252.197_tcp.ovpn

inflating: ovpn_configs/193.37.252.197_udp.ovpn

inflating: ovpn_configs/us-sea.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-sea.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/198.147.22.83_tcp.ovpn

inflating: ovpn_configs/198.147.22.83_udp.ovpn

inflating: ovpn_configs/us-ash.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-ash.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-ltm.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-ltm.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-tpa.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-tpa.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-slc.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-slc.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/104.244.208.211_tcp.ovpn

inflating: ovpn_configs/104.244.208.211_udp.ovpn

inflating: ovpn_configs/us-nyc.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-nyc.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/66.115.169.35_tcp.ovpn

inflating: ovpn_configs/66.115.169.35_udp.ovpn

inflating: ovpn_configs/107.181.184.115_tcp.ovpn

inflating: ovpn_configs/107.181.184.115_udp.ovpn

inflating: ovpn_configs/us-chi.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-chi.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-nyc-st002.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-nyc-st002.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-las.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-las.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-den.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-den.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-dal.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-dal.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-bos.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-bos.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/38.95.110.69_tcp.ovpn

inflating: ovpn_configs/38.95.110.69_udp.ovpn

inflating: ovpn_configs/us-sfo.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-sfo.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-hou.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-hou.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-nyc-st003.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-nyc-st003.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/148.72.169.209_tcp.ovpn

inflating: ovpn_configs/148.72.169.209_udp.ovpn

inflating: ovpn_configs/us-bdn.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-bdn.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-nyc-st004.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-nyc-st004.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-kan.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-kan.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-nyc-st005.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-nyc-st005.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/us-nyc-st001.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/us-nyc-st001.prod.surfshark.com_udp.ovpn

inflating: ovpn_configs/ve-car.prod.surfshark.com_tcp.ovpn

inflating: ovpn_configs/ve-car.prod.surfshark.com_udp.ovpn

Chose: 37.120.201.19_udp.ovpn
`

Configuring docker-surfshark to use Dante instead of LAN_NETWORK doesn't work

The docker image works perfectly fine and I'm able to make curl requests inside the container. I decided to replace LAN_NETWORK with SOCKD_WORKERS for the configuration of the socks5 server via Dante, but it's causing me some troubles.

The sockd.conf files looks like this: (I also tried external: tun0)

debug: 0
logoutput: stderr
# internal: 0.0.0.0 port = 1080
internal: eth0 port = 1080
internal: lo port = 1080
external: tun0
socksmethod: username none
clientmethod: none
user.privileged: root
user.unprivileged: nobody

client pass {
    from: 0.0.0.0/0 port 1-65535 to: 0.0.0.0/0
    log: error
}

socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    #socksmethod: username
    log: error
}

The docker-compose.yml files stays relatively the same:

version: "3"

services: 
    surfshark:
        image: ilteoood/docker-surfshark
        container_name: surfshark
        environment: 
            - SURFSHARK_USER=SURFSHARK_USER
            - SURFSHARK_PASSWORD=SURFSHARK_PASSWORD
            - SURFSHARK_COUNTRY=de
            - SURFSHARK_CITY=
            - CONNECTION_TYPE=tcp
            - SOCKD_WORKERS=10
            - OPENVPN_OPTS=
        cap_add: 
            - NET_ADMIN
        devices:
            - /dev/net/tun
        ports:
            - 1080:1080
        dns:
            - 1.1.1.1

The commands inside startup.sh are all the same except the last line:

openvpn --config $VPN_FILE --auth-user-pass vpn-auth.txt --mute-replay-warnings \
        --script-security 2 --up '/bin/sh -c sockd -N $SOCKD_WORKERS' $OPENVPN_OPTS

Eventually, when I make a request from my host (outside of the container) using curl like either so:

curl -x socks5h://127.0.0.1:1080 https://ipinfo.io

or so:

curl --socks5-hostname 127.0.0.1:1080 https://ipinfo.io

The connection fails, and I get the same error all the time:

Host:

curl: (7) Can't complete SOCKS5 connection to 0.0.0.0:0. (6)

Container:

sockd[18]: info: Dante/server[1/1] v1.4.2 running
sockd[38]: info: block(1): tcp/accept ]: 192.168.16.1.58610 192.168.16.2.1080: error after reading 1 byte in 0 seconds: unknown SOCKS version 71 in client request

After altering stuff I don't remember correctly what it was inside sockd.conf, the error changed to:

curl: (7) Can't complete SOCKS5 connection to ipinfo.io:443. (4)

I tried using SurfShark's cli tool but it's completely broken plus it's not alpine compatible. It may be worth mentioning that I tried something similar with protonVPN's cli tool which is python3 compatible and actually works, it automatically creates a new interface proton0 which can be set inside sockd.conf as:

external: proton0

Do you know how to make it work with OpenVPN?

troubleshooting surfshark issues

Hey Team,

First of all thanks for your hard work, I am a bit of a rookie so please bare with me on this, i am trying to create a netflix proxy that connects to surfshark, i am having issues with the other containers getting no internet access, i am unable to troubleshoot the connection as for some reason when i try to attach to the surfshark container it just hangs on me :/, below is my docker compose to give you an idea of what im trying to do, the other containers appear to be unable to access the internet.

version: '2'

services:
surfshark:
image: ilteoood/docker-surfshark
container_name: surfshark
environment:
- SURFSHARK_USER=X
- SURFSHARK_PASSWORD=Y
- SURFSHARK_COUNTRY=au
- SURFSHARK_CITY=syd
- CONNECTION_TYPE=udp
- LAN_NETWORK=192.168.0.0/24 #Optional - Used to access attached containers web ui
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
ports:
- 8080:8080
- 80:80
- 53:53
- 5353:5353
- 443:443
restart: unless-stopped
dns:
- 1.1.1.1

dnsmasq-service:
image: andyshinn/dnsmasq:latest
container_name: dnsmasq
privileged: true
network_mode: service:surfshark
depends_on:
- surfshark
cap_add:
- NET_ADMIN
volumes:
- ./dnsmasq.conf:/etc/dnsmasq.conf:ro
restart: always

dnsmasq-bogus-service:
image: andyshinn/dnsmasq:latest
container_name: dnsmasq-bogus
privileged: true
network_mode: service:surfshark
depends_on:
- surfshark
cap_add:
- NET_ADMIN
command: --port=5353 --log-facility=- -A /#/${EXTIP} -A /#/${EXTIP6}
restart: always

caddy-service:
image: abiosoft/caddy:latest
container_name: caddy
privileged: true
network_mode: service:surfshark
cap_add:
- NET_ADMIN
depends_on:
- surfshark
volumes:
- ./Caddyfile:/etc/Caddyfile
- ./wwwroot:/srv
restart: always

sniproxy-service:
image: ab77/sniproxy:latest
container_name: sniproxy
build:
context: docker-sniproxy
privileged: true
network_mode: service:surfshark
cap_add:
- NET_ADMIN
depends_on:
- surfshark
volumes:
- ./docker-sniproxy/sniproxy.conf:/etc/sniproxy.conf
restart: always

I am basically trying to merge https://github.com/ab77/netflix-proxy and this together to create a setup that VPNs the proxy

Use of dockerfile and AUTH_FAILED

First - thank you for creating this image of all of us :)

  1. I have downloaded the dockerfile and startup.sh.
  2. build the image
  3. Tried to run the container

But I get this error:
2022-06-02 21:31:45 AUTH: Received control message: AUTH_FAILED
2022-06-02 21:31:45 SIGTERM[soft,auth-failure] received, process exiting

I have tried to enclose the password with specialchars in double qoutes in the dockerfile like below. Is that the way to do it ?

FROM alpine:latest
LABEL maintainer.name="Matteo Pietro Dazzi"
maintainer.email="[email protected]"
version="1.3.0"
description="OpenVPN client configured for SurfShark VPN"
WORKDIR /vpn
ENV SURFSHARK_USER="[email protected]"
ENV SURFSHARK_PASSWORD=">SHITTY5{=PASSWORD[[5cC%nIr;WITH_SPECIAL_CHARS"
ENV SURFSHARK_COUNTRY=
ENV SURFSHARK_CITY=
ENV OPENVPN_OPTS=
ENV CONNECTION_TYPE=tcp
ENV LAN_NETWORK=
ENV CREATE_TUN_DEVICE=
HEALTHCHECK --interval=60s --timeout=10s --start-period=30s CMD curl -L 'https://ipinfo.io'
COPY startup.sh .
RUN apk add --update --no-cache openvpn wget unzip coreutils curl && chmod +x ./startup.sh
ENTRYPOINT [ "./startup.sh" ]

directly use an ovpn file

Hi. The container works well but each time it reboots, the ip change. I have a static ovpn file for surfshark and I would like to know if it's possible to directly use it in the container instead of automatically have one by connecting to surfshark pro...

Cannot access web UI of Deluge + oddities

I am using the latest version and have checked and followed the advice you've given in various issue posts to the best of my ability. Here are the relevant parts of my docker compose stack(credentials censored):

  deluge:
    image: ghcr.io/linuxserver/deluge
    container_name: deluge
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
      - DELUGE_LOGLEVEL=error #optional
    volumes:
      - /volume1/docker/deluge/config:/config
      - /mnt/15226186-6020-4107-81c5-aa6f56488f17/torrents:/downloads
    depends_on: 
      - surfshark
    network_mode: service:surfshark
    restart: unless-stopped 
  surfshark:
    image: ilteoood/docker-surfshark
    container_name: surfshark
    environment: 
      - SURFSHARK_USER=***
      - SURFSHARK_PASSWORD=***
      - SURFSHARK_COUNTRY=us
    cap_add: 
      - NET_ADMIN
    devices:
      - /dev/net/tun
    ports:
      - 8112:8112
      - 6881:6881
      - 6881:6881/udp
    restart: unless-stopped
    dns:
      - 1.1.1.1

I've confirmed that Surfshark is connecting properly, Portainer says that Deluge is in the correct network, but but I can't connect to the web UI when I try. When I first exec into Deluge's container and curl ipinfo.io, I got told that I was being rate limited after my previous attempts. The weird part is that after that, not a single one of my curls worked for any other site. I don't get an error, I get nothing at all.

root@6d3d4ebe2579:/# curl ipinfo.io
{
  "status": 429,
  "error": {
    "title": "Rate limit exceeded",
    "message": "You've hit the daily limit for the unauthenticated API.  Create an API access token by signing up to get 50k req/month."
  }
}root@6d3d4ebe2579:/# curl ipchicken.com
root@6d3d4ebe2579:/# curl ipapi.co
root@6d3d4ebe2579:/# curl ipwhois.io
root@6d3d4ebe2579:/# curl ipapi.co
root@6d3d4ebe2579:/# curl https://ipapi.co/8.8.8.8/country/

So now I'm just completely lost.

Webinterface not available

I tried your stack today. I see Surfshark connects properly. Alpine is running and has the ip of surfshark. So does transmission.

However, the interface of Transmission is not available. Even in the example the port is set, it does not seem to work. Has something changed in the Transmission docker? Of is there an issue with the Surfshark docker?

Faking a TUN device for NAS users

Hi.

First of all, thank you for the amazing image! However as a Synology owner I find it difficult to make Synology pass device to its container, so I checked docker-transmission-openvpn which doesn't require passing it.

As it turns out it creates TUN device on the fly, allowing users to use it without passing the TUN device.

Could we have similar thing on this image too?

Issue with COUNTRY and CITY parameters

Hello,

There is a problem with your image (installed it on Synology NAS).
------------ LOG -----------------------------
shuf: getrandom: Function not implemented
Chose:
------------ END -----------------------------
For example:

  1. I use COUNTRY=ch, CITY=zur and the unpacked file has the name "ch-zur.prod.surfshark.com_tcp.ovpn" but the container still stops itself.
  2. Some countries (like Italy/Milano) cannot be used as COUNTRY=it, CITY=mil as it is presented in the unpacked list as "84.17.58.136_tcp.ovpn"

Looks like there is a problem with the .ovpn file recognition and loading.

How this can be fixed ?
Thank you in advance,

Kind regards.

cannot connect to trasmission GUI except for from localhost

I am unable to connect to the Transmission GUI unless I do an ssh tunnel or from the local computer. For example, my local ip is : 10.0.5.6, when I try to connect on my local network to 10.0.5.6:9091 I cannot connect(unless I do ssh tunnel), however I can connect from the server itself using localhost:9091. Any idea how to bridge the port to my local ip address so 10.0.5.6 works? Thanks!

docker compose.

I need some help connecting a container via docker-compose.

Any tips?

Cannot access Web UI of attached containers

Running Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-1021-raspi aarch64) on a Pi4.

I am headless so I am accessing via ssh on another pc within my home network. qBittorrent works fine until it is introduced to surfshark. I am using docker compose to spin the containers up. Everything seems to work fine. Both containers have the expected vpn IP. Normally you would expose 8080 in the qBittorrent container, but you cannot do that due to using network_mode: container:surfshark. As you can see in the surfshark container I tried to expose the ports there, but that did not work. The containers are loaded using docker-compose -f up -d.

The surfshark container:
version: "3.7"                                                                                                                
services:                                                                                                                     
  surfshark:                                                                                                                                                                                                     
    image: ilteoood/docker-surfshark                                                                                                               
    container_name: surfshark                                                                                                  
#  ports:                                                                                                                    
#      - 8080:8080                                                                                                            
#      - 7878:7878                                                                                                            
    environment:                                                                                                              
      - SURFSHARK_USER=****                                                                          
      - SURFSHARK_PASSWORD=****                                                                        
      - SURFSHARK_COUNTRY=it                                                                                                  
      - SURFSHARK_CITY=mil                                                                                                    
      - CONNECTION_TYPE=udp                                                                                                                                                                                      
    cap_add:                                                                                                                  
      - NET_ADMIN                                                                                                             
    devices:                                                                                                                  
      - /dev/net/tun                                                                                                          
    restart: unless-stopped                                                                                                   
    dns:                                                                                                                      
      - 1.1.1.1


qBittorrent container:
version: "3.7"                                                                                                                
services:                                                                                                                     
  qbittorrent:                                                                                                                
    image: linuxserver/qbittorrent                                                                                            
    container_name: qbittorrent                                                                                               
    environment:                                                                                                              
      - PUID=1000                                                                                                             
      - PGID=1000                                                                                                             
      - TZ=America/Chicago                                                                                                    
      - UMASK_SET=022                                                                                                         
      - WEBUI_PORT=8080                                                                                                       
    volumes:                                                                                                                  
      - /qbittorrent/config:/config                                                                     
      - /qbittorrent/downloads:/downloads                                                               
    restart: unless-stopped                                                                                                   
    network_mode: container:surfshark

I was looking at this project MarkusMcNugen/docker-qBittorrentvpn and the haugene/docker-transmission-openvpn project for help in finding an answer. I was hoping to find something and work it into this project, but that would take me a lot of time as I would have to learn how to do it. Today I got as far as rebuilding this project for arm64 :)

Options error: Unrecognized option or missing or extra parameter(s) in [CMD-LINE]:1: config (2.5.6)

Having issues after a recent server reboot, no configuration changes. Getting the below error:

Options error: Unrecognized option or missing or extra parameter(s) in [CMD-LINE]:1: config (2.5.6)

Environment details:

Surfshark Server:

Country: us
City: mia

Docker Image:

ilteoood/docker-surfshark:1.3.0

Docker Info:

Server:
 Containers: 15
  Running: 8
  Paused: 0
  Stopped: 7
 Images: 13
 Server Version: 20.10.17
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
 runc version: v1.1.2-0-ga916309
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.4.0-120-generic
 Operating System: Ubuntu 20.04.4 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 3.84GiB
 Name: lhdock02p
 ID: WNRT:C4RZ:DRQO:WYCG:EHVB:BWXK:RY36:PEAB:VQDW:LTIM:Q6CS:QL2O
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Persistence

Hey there,
Just a quick question. Does the container force the connection via OpenVPN, and terminate connections if the VPN doesn't connect, or does it fallback to your regular internet?

After pull new docker image vpn not works

tag: latest
docker-compose logs:

surfshark    | Chose:
surfshark    | Adding ip route add 192.168.0.0/24 via 172.19.0.1 dev eth0 for attached container web ui access
surfshark    | Do not forget to expose the ports for attached container we ui access
surfshark    | Options error: Unrecognized option or missing or extra parameter(s) in [CMD-LINE]:1: config (2.5.6)
surfshark    | Use --help for more information.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.