Git Product home page Git Product logo

dockerfile-cloudflared's People

Contributors

dependabot[bot] avatar greg-cook avatar h4r0 avatar kn4ck3r avatar nathang21 avatar programcomputer avatar sarvasana avatar visibilityspots 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

dockerfile-cloudflared's Issues

QNAP arm docker problems

Until the last updates, the docker worked without problems in my QNAP
Now, log problems:
r12 0x1033f94, r13 0x1033f95, r14 0x0, r15 0x0, r16 0x0, r17 0x6, r18 0x7f7e86b447,� r19 0xd0, r20 0x4000131708, r21 0x400048e160,� r22 0x16, r23 0x0, r24 0xffffffffffffffa2, r25 0xd8af20, r26 0x1664938, r27 0x16fc35d, r28 0x4000000180, r29 0x4000130e68, lr 0xb8dcc0, sp 0x4000130e70, pc 0xb8e4c0, fault 0x0, SIGILL: illegal instruction, PC=0xb8e4c0 m=0 sigcode=1, instruction bytes: 0x0 0x6 0x38 0xd5 0xe0 0x7 0x0 0xf9 0xc0 0x3 0x5f 0xd6 0x0 0x0 0x0 0x0, , goroutine 1 [running, locked to thread]:, golang.org/x/sys/cpu.getisar0(0x400007f110), /tmp/release/vendor/golang.org/x/sys/cpu/cpu_arm64.s:14 fp=0x4000138e70 sp=0x4000138e70 pc=0xb8e4c0, golang.org/x/sys/cpu.readARM64Registers(), /tmp/release/vendor/golang.org/x/sys/cpu/cpu_arm64.go:65 +0x30 fp=0x4000138eb0 sp=0x4000138e70 pc=0xb8dcc0, golang.org/x/sys/cpu.doinit(), /tmp/release/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go:38 +0x2c fp=0x4000138ed0 sp=0x4000138eb0 pc=0xb8dfbc, golang.org/x/sys/cpu.archInit(), /tmp/release/vendor/golang.org/x/sys/cpu/cpu_arm64.go:45 +0x20 fp=0x4000138ee0 sp=0x4000138ed0 pc=0xb8dc70, golang.org/x/sys/cpu.init.0(), /tmp/release/vendor/golang.org/x/sys/cpu/cpu.go:199 +0x20 fp=0x4000138ef0 sp=0x4000138ee0 pc=0xb8d220, runtime.doInit(0x1664900), /usr/local/go/src/runtime/proc.go:6308 +0xdc fp=0x4000139050 sp=0x4000138ef0 pc=0x44775c, runtime.doInit(0x16711e0), /usr/local/go/src/runtime/proc.go:6285 +0x60 fp=0x40001391b0 sp=0x4000139050 pc=0x4476e0, runtime.doInit(0x16646c0), /usr/local/go/src/runtime/proc.go:6285 +0x60 fp=0x4000139310 sp=0x40001391b0 pc=0x4476e0, runtime.doInit(0x1663800), /usr/local/go/src/runtime/proc.go:6285 +0x60 fp=0x4000139470 sp=0x4000139310 pc=0x4476e0, runtime.doInit(0x166c940), /usr/local/go/src/runtime/proc.go:6285 +0x60 fp=0x40001395d0 sp=0x4000139470 pc=0x4476e0, runtime.doInit(0x1666a20), /usr/local/go/src/runtime/proc.go:6285 +0x60 fp=0x4000139730 sp=0x40001395d0 pc=0x4476e0, runtime.doInit(0x166fd80), /usr/local/go/src/runtime/proc.go:6285 +0x60 fp=0x4000139890 sp=0x4000139730 pc=0x4476e0, runtime.doInit(0x166e9a0), /usr/local/go/src/runtime/proc.go:6285 +0x60 fp=0x40001399f0 sp=0x4000139890 pc=0x4476e0, runtime.doInit(0x166a960), /usr/local/go/src/runtime/proc.go:6285 +0x60 fp=0x4000139b50 sp=0x40001399f0 pc=0x4476e0, runtime.doInit(0x1667f80), /usr/local/go/src/runtime/proc.go:6285 +0x60 fp=0x4000139cb0 sp=0x4000139b50 pc=0x4476e0, runtime.doInit(0x1672540), /usr/local/go/src/runtime/proc.go:6285 +0x60 fp=0x4000139e10 sp=0x4000139cb0 pc=0x4476e0, runtime.doInit(0x166e3a0), /usr/local/go/src/runtime/proc.go:6285 +0x60 fp=0x4000139f70 sp=0x4000139e10 pc=0x4476e0, runtime.main(), /usr/local/go/src/runtime/proc.go:208 +0x214 fp=0x4000139fd0 sp=0x4000139f70 pc=0x4395d4, runtime.goexit(), /usr/local/go/src/runtime/asm_arm64.s:1130 +0x4 fp=0x4000139fd0 sp=0x4000139fd0 pc=0x46e3f4, , r0 0x1, r1 0x400012a3a0, r2 0x4000138eb0, r3 0x0, r4 0x0, r5 0x1049d20, r6 0x1000, r7 0x6,� r8 0xf9, r9 0x400007f13f, r10 0x1000, r11 0x1, r12 0x1033f94, r13 0x1033f95, r14 0x0, r15 0x0, r16 0x0, r17 0x6, r18 0x7f87b5d447,� r19 0xd0, r20 0x4000139708, r21 0x400048e160,� r22 0x16, r23 0x0, r24 0xffffffffffffffa2, r25 0xd8af20, r26 0x1664938, r27 0x16fc35d, r28 0x4000000180, r29 0x4000138e68, lr 0xb8dcc0, sp 0x4000138e70, pc 0xb8e4c0, fault 0x0

It gives me the impression that it is not detecting well the version of arm that it has to download and that is why it fails. any ideas?

option to change port & even use port 53

would be great to have a --port ${DNSp1} variable so that the user could use their own port, also would be good to be able to use port 53 without resorting to root.

need to also use that variable for the health check which currently fails if you change the port.

iOS/tvOS App/Software updates require multiple retries before establishing a connection Dockerized Pihole + Cloudflared

I'm sorry if this seems out of place, but I thought I would post it here. I have been using Pihole for quite sometime on my home network, and with Cloudflare DNS for several months without issue.

A couple weeks ago I came across your blog article to use Cloudflared for DNS over HTTPS in a dockerized environment with Pihole. I switched to this method, using just the Cloudflared docker container as my DNS for Pihole.

ODDLY, the only issue I seem to experience since making this switch is with my iOS/tvOS devices. They fail to connect to Apple's servers?? to update. However... you hit retry like 2-3 times and it eventually works. This started happening after switching to the Cloudflared DNS over HTTPS.

Any idea what might be causing this? Pihole shows nothing being blocked.

gateway option?

could you specify a gateway option also to use with another container as vpn ?

"dig" problem since last update

I'm getting this error since last update:

time.c:118: Operation not permitted timer.c:634: fatal error: RUNTIME_CHECK(isc_time_now((&now)) == 0) failed Aborted

I don't know what's happening, but I found in google that maybe there is a problem with "dig"

Parameterize the upstream IPs. 1.1.1.1 and 1.0.0.1

On my AT&T network, I cannot talk to 1.1.1.1 but I can talk to 1.0.0.1.

Would it be possible to allow environmental variables to be used to pick which upstream DNS server is used so the order could be changed?

run as nonroot

From my point of view it does not really make a difference if this container would run on port 54 or 8053 or something like that. Running on a high port by default would allow the container to run as user nobody.

Use official cloudflared releases

I don't think we necessarily want to pull the latest master branch of cloudflared. It looks like they are now tagging official releases
https://github.com/cloudflare/cloudflared/releases

When running cloudflared --version via dgoss or docker run the version that is always returned is:
cloudflared version DEV (built unknown).

However when I download the latest release myself I get the following:
cloudflared version 2020.10.2 (built 2020-10-21-1908 UTC)

I can send a PR eventually, not a high priority. I think the DEV version still includes all the latest changes, but I haven't actually confirmed this (yet).

Status of project?

Hi there,

Are you still planning on maintaining this?
Seems like there has not been any update to the Docker image on DockerHub in a while.

Thanks!

dockerhub image possibly out of date

When trying to run this image using docker compose, I am getting consistent issues with it being unable to find the manifests which I know you already created in #5. When I click on the dockerfile tab in the hub it shows a very outdated version of the file, so I was wondering if it wasn't updating correctly for some reason?

Also, would you be able to add the aarch64 tag into the manifest so that this can be run on Raspberry Pi?

Local SHA256 digest does not match remote dockerhub

I'm trying to verify whether my local image matches that of dockerhub. Running on Pi3, armv7, Docker version 20.10.6, build 370c289

Looking at latest: https://hub.docker.com/layers/visibilityspots/cloudflared/latest/images/sha256-8dca4d6083ba6564632d29f2b1628af39515b4cea31550f49ebcdc4417b9ef9a?context=explore
I see a digest of sha256:8dca4d6083ba6564632d29f2b1628af39515b4cea31550f49ebcdc4417b9ef9a for the armv7 arch.

Pulling the image docker pull visibilityspots/cloudflared:latest and running docker inspect returns a digest of sha256:98f5bf4de5b5aab77ef04faa39fd166c46a076d1145ce798ba6f760db73f7044

What am I missing here? How do I verify the images that I have match that of the servers?

Here is the full output of the inspect:

docker inspect visibilityspots/cloudflared:latest
[
    {
        "Id": "sha256:972fc30a188fde42bb7748be866f5776470560a46267ee8828d8092501e3022c",
        "RepoTags": [
            "visibilityspots/cloudflared:latest"
        ],
        "RepoDigests": [
            "visibilityspots/cloudflared@sha256:98f5bf4de5b5aab77ef04faa39fd166c46a076d1145ce798ba6f760db73f7044"
        ],
        "Parent": "",
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2021-04-26T08:54:12.702960307Z",
        "Container": "",
        "ContainerConfig": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": null,
            "Cmd": null,
            "Image": "",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": null
        },
        "DockerVersion": "",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "cloudflared",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "UPSTREAM1=https://1.1.1.1/dns-query",
                "UPSTREAM2=https://1.0.0.1/dns-query",
                "PORT=5054",
                "ADDRESS=0.0.0.0",
                "METRICS=127.0.0.1:8080"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "/usr/local/bin/cloudflared proxy-dns --address ${ADDRESS} --port ${PORT} --metrics ${METRICS} --upstream ${UPSTREAM1} --upstream ${UPSTREAM2}"
            ],
            "Healthcheck": {
                "Test": [
                    "CMD-SHELL",
                    "nslookup -po=${PORT} cloudflare.com 127.0.0.1 || exit 1"
                ],
                "Interval": 5000000000,
                "Timeout": 3000000000,
                "StartPeriod": 5000000000
            },
            "ArgsEscaped": true,
            "Image": "",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "maintainer": "Jan Collijs"
            }
        },
        "Architecture": "arm",
        "Variant": "v7",
        "Os": "linux",
        "Size": 68305008,
        "VirtualSize": 68305008,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/8fdc89e5d92e5bcf2c071a36187a777b646f50d0db08254fbea2f09e9497b7a9/diff:/var/lib/docker/overlay2/0718ea7231173595b3cc31dac7657c7e6946dd351bf01246491d9b09b69afc21/diff:/var/lib/docker/overlay2/99fc3319d89cd7cb7905adf968400c61f9156a637f7c40cb67030ea67d5f109b/diff",
                "MergedDir": "/var/lib/docker/overlay2/fcec3668483550d89ae33d0a4134a2f05e62ce17ad2bd8c5ae9b825391efb72d/merged",
                "UpperDir": "/var/lib/docker/overlay2/fcec3668483550d89ae33d0a4134a2f05e62ce17ad2bd8c5ae9b825391efb72d/diff",
                "WorkDir": "/var/lib/docker/overlay2/fcec3668483550d89ae33d0a4134a2f05e62ce17ad2bd8c5ae9b825391efb72d/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:e678d54c933532243e4ca1cb0b7ef7d6fa4969783100e0022246bc14d83972e9",
                "sha256:a12272c41df18361eb321674f3835d3480339521bb0b62ae90aecf9074bbf7e5",
                "sha256:d35110086134dd6844390f6a3987817e04ad4fd6c155fe2c3aa047f20bd1a663",
                "sha256:ca2bbf190f72796b1968a177adafa673e208bd821e29624fb24bf7edca4ac1bd"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

--lb-pool seen as -lb-pool

Hi,

I'm using Kubernetes and when I add the argument --lb-pool I get this message

Incorrect Usage. flag provided but not defined: -lb-pool frontend-lb-pool-a0edd36a

It looks like the "--lb-pool" is seen as "-lb-pool"

Is it an issue on your end or is it cloudflared?

can i add new zone ?

i want to add new zone like in bind9 or a simple A record for my local domain something like this

traefik.local.mydomain.site         192.168.1.3

is something like this possible ?

Updated docker images not being pushed due to travis failures

In addition to #24 (which is still giving the same error) it seems there are couple errors within the build output:
https://travis-ci.org/github/visibilityspots/dockerfile-cloudflared/jobs/737883452

  1. The command '/bin/sh -c setcap CAP_NET_BIND_SERVICE+eip /usr/local/bin/cloudflared' returned a non-zero code: 127
    The command "docker build -t visibilityspots/cloudflared:$TAG --build-arg ARCH="$ARCH" --build-arg GOARCH="$GOARCH" --build-arg GOARM="$GOARM" ./" exited with 127.

  2. Error: Cannot perform an interactive login from a non TTY device
    The command "echo "$DOCKER_PASSWORD" | docker login --username visibilityspots --password-stdin" exited with 1.

  3. denied: requested access to the resource is denied
    unauthorized: authentication required
    The command "docker push visibilityspots/cloudflared:$TAG" exited with 1.

Error 3 is expected because of 2, no clue what the impact of 1 is will need to research.

Storing pihole config outside of container breaks cloudflared container

I'm trying to use volumes in order to store pihole's config file outside of my container. This would allow me to easily upgrade my container whenever pihole's latest changes. See this example from pihole's repo.

However, whenever I add the volumes section to my docker-compose file, it ends up breaking my cloudflared container. The container will keep on running and can't see anything weird in my container's logs, but DoH (DNS over HTTPS) stops working. I'm using https://1.1.1.1/help in order to verify this. As soon as I leave out the volumes section and re-run docker-compose up, everything works fine 🤷, which is driving me nuts.

My docker-compose.yml file:

version: "3.8"

services:
  cloudflared:
    image: visibilityspots/cloudflared:amd64
    container_name: cloudflared
    environment:
      TZ: '${TIMEZONE}'
    restart: unless-stopped
    networks:
      pihole_net:
        ipv4_address: 10.0.0.2

  pi-hole:
    image: pihole/pihole:latest
    container_name: pihole
    restart: unless-stopped
    ports:
        - "53:53/tcp"
        - "53:53/udp"
        - "67:67/udp"
        - "80:80/tcp"
        - "443:443/tcp"
    environment:
      ServerIP: 10.0.0.3
      DNS1: '10.0.0.2#5054'
      DNS2: ''
      TZ: '${TIMEZONE}'
      DNSMASQ_LISTENING: all
      WEBPASSWORD: admin
    volumes:
      - './etc-pihole/:/etc/pihole/'
      - './etc-dnsmasq.d/:/etc/dnsmasq.d/'
    networks:
      pihole_net:
        ipv4_address: 10.0.0.3
    dns:
      - 127.0.0.1
      - 1.1.1.1
    cap_add:
      - NET_ADMIN

networks:
  pihole_net:
    driver: bridge
    ipam:
     config:
       - subnet: 10.0.0.0/29

Docker marking container as unhealthy

I'm running this container on some raspberry pi's and have done so for some time. I was setting it up tonight and for whatever reason it keeps marking the container as unhealthy with the recurring complaint:

time.c:118: Operation not permitted timer.c:634: fatal error: RUNTIME_CHECK(isc_time_now((&now)) == 0) failed Aborted

I can't really figure out what, if anything, is actually wrong because the container functionally works just fine. So I think it's the health check and specifically the nslookup binary that is throwing the error not the command itself. Consoling into the container and just running "nslookup" throws that error. I'm happy to help troubleshoot this if it is helpful.

Container Won't Start on Synology NAS

I'm trying to start a container based on your image from Docker Hub using my Synology NAS, but it fails to startup everytime with the following error:

Failed to open the metrics listener: listen tcp 192.64.119.253:0: bind: cannot assign requested address

I'm using all of the default configurations with host networking. Is there some configuration I need to change?

SVCB _dns.resolver.arpa - Needs to be blacklisted

This is more a heads up not an issue

If you use this tool to redirect pihole traffic as upstream DNS Server

Be aware if you have local A records on your local network and use this tool/docker container to use DOH you will need to blakcli
SVCB _dns.resolver.arpa for iPhones as this will just push all dns to apple. After blacklisting this on pihole I managed to get my internal A records to work and DOH to work aswell.

About once a week been having this issue

First off I love the docker container and my DNS privacy thanks you!

About once a week or so my DNS just takes a dump and I have not been able to figure out what the issue is and after multiple restarts and time passing it just seems to clear sometimes.

At first I thought it was a cloudflare issue, but I have a buddy that has a similar setup but without the docker and he does not seem to have any problems and according to cloudflared's site they are not having any downtime issues.

I also tried to switch the 1.1.1.1 and whatever there other one is as the primary and it did not seem to make a difference either.

Was thinking it might have something to do with the caching but I was not able to figure out if there is a way to change the cache timeout.

This is what I pull from the logs.

time="2019-07-25T09:35:03Z" level=error msg="failed to connect to an HTTPS backend "https://1.1.1.1/.well-known/dns-query\"" error="failed to perform an HTTPS request: Post https://1.1.1.1/.well-known/dns-query: net/http: request canceled (Client.Timeout exceeded while awaiting headers)",
time="2019-07-25T09:35:05Z" level=error msg="failed to connect to an HTTPS backend "https://1.0.0.1/.well-known/dns-query\"" error="failed to perform an HTTPS request: Post https://1.0.0.1/.well-known/dns-query: net/http: request canceled (Client.Timeout exceeded while awaiting headers)",
time="2019-07-25T09:35:05Z" level=error msg="failed to connect to an HTTPS backend "https://1.1.1.1/.well-known/dns-query\"" error="failed to perform an HTTPS request: Post https://1.1.1.1/.well-known/dns-query: net/http: request canceled (Client.Timeout exceeded while awaiting headers)",
time="2019-07-25T09:35:08Z" level=error msg="failed to connect to an HTTPS backend "https://1.1.1.1/.well-known/dns-query\"" error="failed to perform an HTTPS request: Post https://1.1.1.1/.well-known/dns-query: net/http: request canceled (Client.Timeout exceeded while awaiting headers)",

Thanks again for this container and hopefully I can figure out this one and only issue I have had.

UPDATE: 7-25-19 4:30PM Pacific

I found this in my googling, but my WAN IP does not change, or has not changed in a couple years.

https://community.cloudflare.com/t/solved-1-1-1-1-over-cloudflared-linux-nonstandard-port-fails-after-some-time/14856

About mount local volume

Is it possible to map/mount locally the /cloudflared directory to don't lose the tunnel json and de config.yml after a container update?

No enruta la peticiones

Hola buenas tardes

funciona el contenedor a nivel local y acepta las peticiones de los contenedores que se desplieguen en su misma red pero desde otros equipos externos al host donde esta ejecutándose no funciona.

me pueden ayudar por favor

un saludo

Outdated dockerhub images for arm/arm64

Hi,
Since the 2th of September all Travis CI builds on arm and arm64 architectures have failed with “CRON Fix: credential update” error, while the builds on amd64 architecture were successful.

The last docker image also doesn’t actually work properly, i have noticed the following errors in the logs:

time="2019-10-14T17:24:22Z" level=error msg="failed to connect to an HTTPS backend \"https://1.0.0.1/.well-known/dns-query\"" error="failed to perform an HTTPS request: Post https://1.0.0.1/.well-known/dns-query: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)"

Please fix the buils.

usefull links:
https://hub.docker.com/r/visibilityspots/cloudflared/tags?page=1&name=arm
https://travis-ci.org/visibilityspots/dockerfile-cloudflared/builds

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.