diff --git a/.dockerignore b/.dockerignore index d424e1ed..1727b566 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,4 +1,9 @@ .git +.vscode readme -*.yml -*.md \ No newline at end of file +.gitignore +.travis.yml +ci.sh +docker-compose.yml +LICENSE +README.md diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..6dc1e10b --- /dev/null +++ b/.travis.yml @@ -0,0 +1,25 @@ +dist: xenial +sudo: required +git: + quiet: true + depth: 1 +branches: + only: + - master + - xbuild +env: + global: + - IMAGE_PATH=qmcgaw/private-internet-access + - BASE_TAG=xbuild +before_install: + - curl -fsSL https://get.docker.com | sh + - echo '{"experimental":"enabled"}' | sudo tee /etc/docker/daemon.json + - mkdir -p $HOME/.docker + - echo '{"experimental":"enabled"}' | sudo tee $HOME/.docker/config.json + - sudo service docker start +install: + - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + - docker buildx create --name xbuilder --use +script: bash ci.sh $IMAGE_PATH +after_success: + - curl -X POST https://hooks.microbadger.com/images/qmcgaw/private-internet-access/tQFy7AxtSUNANPe6aoVChYdsI_I= || exit 0 diff --git a/Dockerfile b/Dockerfile index 027c50cd..503671ec 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,14 @@ ARG ALPINE_VERSION=3.10 FROM alpine:${ALPINE_VERSION} +ARG VERSION ARG BUILD_DATE ARG VCS_REF +ARG TAG=latest LABEL \ org.opencontainers.image.authors="quentin.mcgaw@gmail.com" \ org.opencontainers.image.created=$BUILD_DATE \ - org.opencontainers.image.version="" \ + org.opencontainers.image.version="$VERSION" \ org.opencontainers.image.revision=$VCS_REF \ org.opencontainers.image.url="https://github.com/qdm12/private-internet-access-docker" \ org.opencontainers.image.documentation="https://github.com/qdm12/private-internet-access-docker" \ diff --git a/README.md b/README.md index 8efb3026..48788a06 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ -# Private Internet Access Client (OpenVPN+Iptables+DNS over TLS on Alpine Linux) +# Private Internet Access Client -*Lightweight VPN client to tunnel to private internet access servers* +*Lightweight swiss-knife-like VPN client to tunnel to private internet access servers, using OpenVPN, iptables, DNS over TLS, ShadowSocks, Tinyproxy and more* + +**ANNOUCEMENT**: Supports all CPU architectures :art: just pull the image! [](https://hub.docker.com/r/qmcgaw/private-internet-access/) @@ -19,7 +21,7 @@ [](https://microbadger.com/images/qmcgaw/private-internet-access) [](https://microbadger.com/images/qmcgaw/private-internet-access) -| Image size | RAM usage | CPU usage | +| Image size (amd64) | RAM usage | CPU usage | | --- | --- | --- | | 23.3MB | 14MB to 80MB | Low to Medium | @@ -50,7 +52,7 @@
- Connect other containers to it, [see this](https://github.com/qdm12/private-internet-access-docker#connect-to-it) -- **ARM** compatible +- Compatible with amd64, i686 (32 bit), ARM 64 bit, ARM 32 bit v6 and v7, ppc64le and even that s390x 🎆 - Port forwarding - The *iptables* firewall allows traffic only with needed PIA servers (IP addresses, port, protocol) combinations - OpenVPN reconnects automatically on failure @@ -59,7 +61,7 @@ - OpenVPN can run *without root* but this disallows OpenVPN reconnecting, it can be set with `NONROOT=yes` - Connect your LAN devices - HTTP Web proxy *tinyproxy* - - SOCKS5 proxy *shadowsocks* + - SOCKS5 proxy *shadowsocks* (better as it does UDP too) ## Setup @@ -87,17 +89,6 @@ modprobe tun ``` -1.- - - **IN PROGRESS** download the slightly slower and larger pre-built Docker image ([why?](https://www.reddit.com/r/docker/comments/c7vo7f/arm_buildx_on_amd64_vs_build_on_arm_device/esk3ejb)) - - Build the image on your device: - - ```sh - docker build -t qmcgaw/private-internet-access https://github.com/qdm12/private-internet-access-docker.git - ``` - -