polkaned / dockerfiles Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Hi, thanks for creating the container 👍
It would be nice to be able to enable the network lock.
I tried it manually inside the container but the error network lock not available
shows.
I have no idea how to enable it, maybe you have an idea.
fails at 75% everytime
root@ece504aaefcf:/# expressvpn connect
Connecting to Smart Location...
Connecting to Japan - Shibuya...
Unable to connect to Japan - Shibuya
==============================================
Connecting to Japan - Shibuya, ip: 24.123.193.169, protocol: lightway_udp
Client Version: 0.0.1default
Client Shared Version: v23.21.0
OS Name: linux
OS Version: Debian GNU/Linux 11
Internal diagnostics data:
D01: 196, OK
D02: 196, OK
D03: 194, OK
D04: 741, OK
D05: 741, OK
D06: 172, OK
D07: 198, OK
D08: 198, OK
D09: 172, OK
D10: 741, OK
D11: 741, OK
D12: N, N
D13: www.2spb2qq8pnqmv.net/api
D14: Japan - Shibuya
D15: auto
D17: 741, OK
D18: 0
dockerfiles/expressvpn/entrypoint.sh
Line 4 in 8e08dd7
Hello polkaned.
I've been working with using this image to share the networking with other containers and I faced an issue with the DNS resolution.
As the entrypoint is umounting the /etc/resolv.conf file, any container that uses expressvpn container will not be able to use the specific DNS from the connection. The secondary container will use the hosts DNS instead.
I work on a scenario where the expressvpn container is reuse and not destroy, so I reconnect without stopping it.
I'm not sure why you are umounting the resolv.conf file. Is this something that could be changed? I'm trying to avoid having a fork or a local image created with just this change.
Regards
Hi, I tried the docker compose example but I got an error as follows.
$ docker-compose up
ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for downloader: 'network_mode'
expressvpn.ports contains an invalid type, it should be an array
Thank you.
Hi,
could you please update to the latest version of expressvpn (3.5.0) ?
Thanks
expressvpn-transmission
I have been trying to use your image and it seems to run well. Sadly I only have problems accessing the WebUI. It gives me error 403, Forbidden.
When I see the transmission-daemon boot, I can see in the logging the whitelist is set to 127.0.0.1.
I don't know where to change it.
When trying to change settings.json in /var/lib/transmission-daemon/info it did not work.
Also I found a settings.json in root/.config/transmission-daemon/
When I change the whitelist here, settings don't save and after a reboot the setting is gone. Am I able to restart just the tranmission-daemon in the container or make the setting saved after a reboot?
Creating my own settings.json based on a copy with a changed IP address (I need 192.168.2.3 to be whitelisted) and mounting it, but then the container crashes when trying to load it.
I've been stuck on this for a couple days now and I'm wondering if you have any advice for me to troubleshoot this.
later edit:
I managed to get 192.168.2.3 on the whitelist by adding --allowed 192.168.2.3 as a boot command.
However, I still get the 403, Forbidden error.
My output looks like this:
[2020-05-19 19:48:35.660] Transmission 2.94 (d8e60ee44f) started (session.c:740)
[2020-05-19 19:48:35.660] RPC Server Adding address to whitelist: 192.168.2.3 (rpc-server.c:971)
[2020-05-19 19:48:35.661] RPC Server Serving RPC and Web requests on port 127.0.0.1:9091/transmission/ (rpc-server.c:1213)
[2020-05-19 19:48:35.661] RPC Server Whitelist enabled (rpc-server.c:1217)
[2020-05-19 19:48:35.661] UDP Failed to set receive buffer: requested 4194304, got 425984 (tr-udp.c:84)
[2020-05-19 19:48:35.661] UDP Please add the line "net.core.rmem_max = 4194304" to /etc/sysctl.conf (tr-udp.c:89)
[2020-05-19 19:48:35.661] UDP Failed to set send buffer: requested 1048576, got 425984 (tr-udp.c:95)
[2020-05-19 19:48:35.661] UDP Please add the line "net.core.wmem_max = 1048576" to /etc/sysctl.conf (tr-udp.c:100)
[2020-05-19 19:48:35.661] DHT Generating new id (tr-dht.c:311)
[2020-05-19 19:48:35.661] Using settings from "/root/.config/transmission-daemon" (daemon.c:528)
[2020-05-19 19:48:35.661] Saved "/root/.config/transmission-daemon/settings.json" (variant.c:1266)
2020-05-19 19:48:35.661] Port Forwarding (NAT-PMP) initnatpmp succeeded (0) (natpmp.c:70)
[2020-05-19 19:48:35.661] Port Forwarding (NAT-PMP) sendpublicaddressrequest succeeded (2) (natpmp.c:70)
[2020-05-19 19:48:43.660] Port Forwarding State changed from "Not forwarded" to "Starting" (port-forwarding.c:92)
In the docker image, I have installed the nano package to be able to view the settings.json file in /root/.config/transmission-daemon where the log is pointing to.
I have made changes there to allow 192.168.2.3 in the whitelist but it did not work.
Also I have tried turning the whitelist off but I'm still getting the Forbidden message.
Hi, using the latest version and docker compose. Have the following in my compose file:
version: "2.1"
services:
expressvpn:
image: polkaned/expressvpn
container_name: expressvpn
environment:
- ACTIVATION_CODE=myActivationCode
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
stdin_open: true
tty: true
command: /bin/bash
privileged: true
restart: unless-stopped
ports:
- "6789:6789" #NZBGet
- "8989:8989" #Sonarr
- "7878:7878" #Radarr
When running 'docker-compose up' for a second time after stopping the container, I get the following:
expressvpn | Restarting ExpressVPN service: expressvpnd.
expressvpn | spawn expressvpn activate
expressvpn | Already activated. Logout from your account (y/N)?
expressvpn | myActivationCode
expressvpn | send: spawn id exp4 not open
expressvpn | while executing
expressvpn | "send "n\r""
expressvpn | (file "/tmp/expressvpnActivate.sh" line 6)
expressvpn | Please disconnect first before trying to connect again.
It seems as though that when you stop the container, the connection remains open.
I've setup this ExpressVPN container with deluge, when I attach to the ExpressVPN container and run curl icanhazip.com
it works fine but when I do the same inside the deluge container it times out. I cannot curl or ping anything. Anybody got an idea of what's going on?
docker compose file:
version: "2.1"
services:
expressvpn:
container_name: expressvpn
image: polkaned/expressvpn
environment:
- ACTIVATION_CODE=my-activation-code
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
stdin_open: true
tty: true
command: /bin/bash
privileged: true
restart: unless-stopped
ports:
- "58846:58846"
- "8112:8112"
- "8113:8113"
- "8114:8114"
deluge:
image: ghcr.io/linuxserver/deluge
container_name: deluge
network_mode: service:expressvpn
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- DELUGE_LOGLEVEL=error
volumes:
- /my:/volume
- /my:/volume
restart: unless-stopped
depends_on:
- expressvpn
With a fresh install on ubuntu (18.04.4), docker engine (19.03.8) and docker compose (1.25.4), I am getting a error message displayed "Please activate your account".
The activation code works, because I've tried it outside being a container and I've put in the wrong code to prove it was right.
Looking through the code, no where do I put in any form of account details that, in my head, would link the container to the expressvpn services.
Therefore I'm assuming I've missed something.
Is there any chance this image can be adapted to work on ARM architecture (armv7 and v8) ?
Want to run it on a RPi
The container starts up and connects successfully, but after a few seconds it crashes.
In the Log nothing seems wrong.
Restarting ExpressVPN service: expressvpnd.
spawn expressvpn activate
Enter activation code:
Activating...
Activated.
Help improve ExpressVPN: Share crash reports, speed tests, usability diagnostics, and whether VPN connection attempts succeed. These reports never contain personally identifiable information. (Y/n) n
�[0;33;49mA new version is available, download it from https://www.vlycgtx.com/latest?utm_source=linux_app.
�[0m
�[0;33;49mIf your VPN connection unexpectedly drops, internet traffic will now be
blocked by Network Lock to protect your privacy.
�[0m
�[?25lConnecting to Smart Location...
�[0m�[1;32;49mConnected to Germany - Frankfurt - 3
�[0m
To check your connection status, type 'expressvpn status'.
If your VPN connection unexpectedly drops, internet traffic will be blocked to protect your privacy.
To disable Network Lock, disconnect ExpressVPN then type 'expressvpn preferences set network_lock off'.
�[?25h
Thanks for your job,
But how do you access on transmission from network ?
Usually the URL looks like x.x.x.x:9091 but it's the same with -p 9091: 9091 it doesn't matter
I find myself keep adding curl to this container so that I can run
curl ifconfig.co/json
to verify that the VPN connection is actually active.
I keep deleting and recreating my containers all the time, so would it be possible to add curl as default to this image, to make my life easier? :)
Hello. Sorry if I am asking in the wrong location. I would like to know can I upgrade ExpressVPN because sometimes it show "To update ExpressVPN, run sudo apt update && sudo apt install --only-upgrade expressvpn" . Will it break the docker? Thank you
Is there anyway to set this up with a web proxy so that the ExpressVPN container can be used with other containers such as Sonarr or radarr and etc.? This is on a Synology NAS.
The "latest" on Docker does not correspond to the Git state (see https://hub.docker.com/layers/polkaned/expressvpn/latest/images/sha256-93ec898d47fce586de9d1062ccbebe7615f54c31cb3530f35252412462e7f766?context=explore)
Hello
i wish to create a container based on this image in a way that the container would be available within my Local Network.
Ultimately, the goal is to have my AppleTV to use the container as a proxy to connect to expressVPN
Could you pls help me figure out how to create a docker compose file that would allow me to reach my goal ?
thanks so much
best regards
/Stefano
Hi, I am hoping you might be able to offer a bit of guidance. I am using your expressvpn image, its all connecting out ok and the expressvpn status command says its all connected.
My client container though is not behaving. I am accessing stuff that is geoblocked in the UK. My client container starts up and accessible via the [prts exposed by the expressvpn container BUT when it access's the geoblocked content its as if its not connecting through the vpn container.
my compose for the client service is this
spiplayer:
env_file: .env
volumes:
- /nfs/spiplayer/cache:/root/.get_iplayer
- /nfs/spiplayer/tv:/data/tv
- /nfs/spiplayer/radio:/data/radio
- /sys/fs/cgroup:/sys/fs/cgroup
image: spiplayer:latest
container_name: spiplayer
restart: "unless-stopped"
depends_on:
- expressvpn
network_mode: service:expressvpn
build:
context: spiplayer
args:
- releaseversion
hoping you can spot the obvious mistake. I have had this same model working using a NordVPN container recently, I have moved over to express though so kinda need to get it working that way.
When initializing my containers with docker compose, this error appears in ExpressVPN:
I tried expressvpn activate
and I was told that the account is already activated. However, I was then able to run expressvpn connect
and successfully connect immediately. Why is it failing to automatically activate at startup, though?
The activation key is in place as expected:
I notice that the readme says to run this as a base layer. I'm quite new to docker so I'm not sure what this means exactly; it looks like from a glance online that this is configured in the dockerfile, which I don't typically have to modify as an end user?
Because it's a dependency for all my other containers (as instructed in the readme), I can evidently see the docker-compose script properly initializing it first and then reform the others, but perhaps this alone is not enough.
When I stop and restart the containers after this first manual connection, things appear to proceed fine. Looks like the issue only occurs upon first recreating the instance.
V2ray is a proxy software that listens to a certain port on a server. I want to use it with ExpressVPN. So when the client accesses the port of V2ray, since v2ray is using VPN, the client can also get access to the ExpressVPN service.
client --> v2ray(docker with ExpressVPN) --> server_from_ExpressVPN.
I was motivated by this link. I think in this way, we can also break through the limit of the number of devices by ExpressVPN. I install the v2ray (together with ExpressVPN) in a docker on a VPS.
When my client uses the IPV4 address of VPS to access v2ray, it does not work. But by using the IPV6 address of VPS, my client succeed to access the ExpressVPN service.
In contrast, if I set v2ray in docker without ExpressVPN, both IPV4 and IPV6 addresses work. It seems that when composed with ExpressVPN, the v2ray can not listen to the IPV4_addr:port while can listen to IPV6_addr:port.
I tried to use your image together with the official v2ray image.
My docker-compose.yml
services:
expressvpn:
image: polkaned/expressvpn
environment:
- ACTIVATION_CODE={MYCODE}
#- SERVER={% LOCATION/ALIAS/COUNTRY %}
#- PREFERRED_PROTOCOL={% protocol %}
#- LIGHTWAY_CIPHER={% lightway-cipher %}
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
stdin_open: true
tty: true
command: /bin/bash
privileged: true
restart: unless-stopped
ports:
- "43966:8388"
# ports of other containers that use the vpn (to access them locally)
v2ray:
image: v2fly/v2fly-core
volumes:
- ./v2ray_config.json:/etc/v2fly/config.json # refer to https://github.com/v2fly/docker
command:
run -c /etc/v2fly/config.json
network_mode: service:expressvpn
depends_on:
- expressvpn
And FYI, I create a v2ray_config.json in the same directory, using the simplest setting provided in the v2ray website
{
"inbounds": [{
"port": 10086, // Port of the server. Must be the same as above.
"protocol": "vmess",
"settings": {
"clients": [{ "id": "b831381d-6324-4d53-ad4f-8cda48b30811" }]
}
}],
"outbounds": [{
"protocol": "freedom",
"settings": {}
}]
}
I have a qbittorrent and a squid proxy routed through a expressvpn container and both have dns leaks is there any way to fix this?
Hi,
The current version in this image always connect to Uzbekistan. It's reporting that it's connected to the
location that you select, but the provided ip always belongs to Uzbekistan, no matter what location you choose.
Tested with old image 3.5.0.33-2, and it works properly.
since the updated image was released last week, vpn will no longer connect
i have been using the container for about a year with no issues until now
no other changes have been made to the container settings
Expressvpn
The traffic isn't blocked during the container start up or while establishing the connection.
This is problematic if another container accesses the network in that short time-span.
decided to try to pull the latest image to see if it would connect, I've gone back to 3.57.0.3-1.653ac494 as it has no issues.
unable to connect to any servers.
yaml config:
expressvpn:
image: polkaned/expressvpn:latest
container_name: expressvpn
environment:
- ACTIVATION_CODE= [my code removed to post]
cap_add:
- NET_ADMIN
devices:
- "/dev/net/tun:/dev/net/tun"
privileged: true
tty: true
ports: [removed to shorten post]
command: /bin/bash
restart: unless-stopped
Hi,
it would be an nice enhancement if it could be connect to a random location / to increase the chance to get a new ip-adress after each restart
Hi there,
Just updated my Docker container and now can't reconnect, keep getting the following in the logs:
Restarting expressvpnd daemon... [ OK ]
spawn expressvpn activate
Enter activation code:
Activating...
n
Please activate your account.
Activation code is fine, hasn't changed and is used elsewhere.
Any suggestions, please?
My internet went out a few days ago, and I noticed that my actual IP address was showing up in a torrent's peer list after it came back. When I attached to the container and ran expressvpn status
I got this:
# expressvpn status
A new version is available, download it from https://www.vlycgtx.com/latest#linux.
Unable to connect.
- Check your internet connection or try a different location.
- Internet traffic is blocked to protect your privacy.
- To retry the connection, type 'expressvpn connect'
- To disconnect from the VPN and unblock internet traffic, type 'expressvpn disconnect'
Here's my docker-compose.yml
:
version: "2.1"
services:
expressvpn:
container_name: transmission-expressvpn
image: polkaned/expressvpn
environment:
- ACTIVATION_CODE=${ACTIVATION_CODE}
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
stdin_open: true
tty: true
command: /bin/bash
privileged: true
restart: unless-stopped
ports:
- 9091:9091
transmission:
image: lscr.io/linuxserver/transmission:latest
container_name: transmission
environment:
- PUID=131
- PGID=1002
- TZ=America\New_York
volumes:
- /etc/docker-services/transmission:/config
- /var/transmission/downloads:/downloads
network_mode: service:expressvpn
restart: unless-stopped
depends_on:
- expressvpn
Restarting the container fixed the issue, but I honestly would prefer that Transmission stopped working than have it using my raw IP address.
standard_init_linux.go:211: exec user process caused "exec format error"
It seems that the network block functionality is not blocking internet access when the VPN drops.
The below commands were run from within the expressvpn container.
root@58f7559ff99e:/# curl ifconfig.me
(My real ip)
root@58f7559ff99e:/# expressvpn status
Unable to connect.
root@58f7559ff99e:/# expressvpn connect
Connecting to Canada - Toronto... 100.0%
Connected to Canada - Toronto
root@58f7559ff99e:/# curl ifconfig.me
(VPN IP)
I was also able to curl example.com and other websites. If the network lock was working I would expect to be unable to reach those sites,
Is it possible to run this container under user account or it must be run under root?
ExpressVPN tends to disconnect randomly, and does not re-connect automatically (This happens on my Windows client as well, so it seems to be an ExpressVPN issue)
I attempted including the following when creating the container, but it seems ping isn't installed on the image.
healthcheck:
test: "ping -c 1 www.google.com || exit 1"
interval: 5s
timeout: 10s
retries: 3
Please include ping in the image, or some other viable mechanism that can be used to check if the connection is live using a healthcheck command. This would use of monitoring to automatically restart the container if it is unhealthy.
I could just install it, but then it would need to be re-installed any time the image is updated.
Hi
I've been using this image for a while with success. However, I've started to move everything over to docker-compose, but I can't get the expressvpn-container to keep running. It starts, does the connection and drops out. I haven't figured out how to either add the /bin/bash to the docker-compose, or if I have to do something else. Do you have any suggestions on how to get this to work with docker-compose?
Hi,
I am using this container for quite a while and it works really well (thanks a lot).
I updated to the new version (3.3.0.21, pushed 2 days ago) and it works fine on an Ubuntu server but fails activating on a Synology NAS (DS916+).
On the NAS, I get: This activation code has either expired or is incorrect.
But if I downgrade back to 3.0.2.12
(the only diff of my docker-compose.yml
being that I pass the tag: image: polkaned/expressvpn:3.0.2.12-1.1
), then it works fine on the NAS as well (like it was before).
Is that an issue with the docker container integration?
Or with the new expressvpn version itself perhaps?
curl ifconfig.io revealed that the docker container getting its internet access through expressvpn and expressvpn itself were both going through my normal IP. Afterr restarting the container it was fixed, however I dont understand why it was still providing internet access.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.