tdharris/corpvpn

By tdharris

Updated 20 days ago

Connect to a corporate vpn and expose local http(s), socks5, dns proxies.

Image
Networking
0

10K+

tdharris/corpvpn repository overview

tdharris/corpvpn

tdharris/corpvpn

corpvpn provides a flexible VPN and proxy solution. It manages services like openconnect for VPN, privoxy for HTTP(S) proxy, microsocks for SOCKS5 proxy, and dnsmasq for DNS services. It supports two approaches:

  1. Proxy Using Host's VPN: The container leverages the host's existing VPN connection.
  2. Self-Contained VPN: The container connects to the VPN using openconnect, creating a self-contained setup.

Both approaches provide proxy services (http(s), socks5, dns) with privoxy, microsocks, dnsmasq for clients to reach services within the VPN.

Usage

To help you get started creating a container from this image you can use docker-compose or the docker cli.

---
version: "3.3"
services:
  corpvpn:
    image: tdharris/corpvpn:latest
    container_name: corpvpn
    cap_add:
      - NET_ADMIN
    volumes:
      - /etc/localtime:/etc/localtime:ro
    environment:
      - DEFAULT_PUID=1000
      - DEFAULT_PGID=1000
      - ENABLE_VPN=false # Optional
      - ENABLE_DNS=true # Optional
      - AUTOHEAL_ENABLED=false # Optional
      - LAN_NETWORK=192.168.1.0/24 # Optional
      - VPN_SERVER= # Optional
      - VPN_USER= # Optional
      - VPN_PASS= # Optional
      - VPN_PROTOCOL=pulse # Optional
      - VPN_AUTH_GROUP="Smartphone Push" # Optional
    # env_file:
    #   - .env # Optional alternative to environment (see .env.sample)
    ports:
      - 8118:8118 # PRIVOXY_PORT
      - 9118:9118 # SOCKS_PORT
      - 5354:53/tcp # DNS_PORT
      - 5354:53/udp # DNS_PORT
    sysctls:
      - net.ipv6.conf.all.disable_ipv6=0
      - net.ipv6.conf.default.disable_ipv6=0
      - net.ipv6.conf.lo.disable_ipv6=0
      - net.ipv4.tcp_keepalive_intvl=1
      - net.ipv4.tcp_keepalive_probes=3
      - net.ipv4.tcp_keepalive_time=30
    logging:
      driver: "json-file"
      options:
        max-size: "10M"
        max-file: "10"
    healthcheck:
      test: /app/healthcheck.sh || exit 1
      timeout: 30s
      interval: 60s
      start_period: 60s
      retries: 3

Additional Information

Tag summary

Content type

Image

Digest

sha256:d5348caab

Size

107.4 MB

Last updated

20 days ago

docker pull tdharris/corpvpn