gluetun icon indicating copy to clipboard operation
gluetun copied to clipboard

Bug: protonvpn servers update broken? 400 Bad Request

Open dot-i opened this issue 5 months ago β€’ 1 comments

Is this urgent?

Yes

Host OS

Unraid

CPU arch

x86_64

VPN service provider

ProtonVPN

What are you using to run the container

docker-compose

What is the version of Gluetun

Running version latest built on 2025-01-22T08:30:14.628Z (commit 13532c8)

What's the problem πŸ€”

Tried to run:

docker run --rm -v /mnt/cache/appdata/gluetun:/gluetun ghcr.io/qdm12/gluetun update -enduser -providers protonvpn

But get a Bad Request Error

Share your logs (at least 10 lines)

2025-06-04T22:31:32Z INFO merging by most recent 20776 hardcoded servers and 20776 servers read from /gluetun/servers.json
2025-06-04T22:31:33Z INFO updating Protonvpn servers...
2025-06-04T22:31:33Z ERROR updating server information: getting servers: HTTP status code not OK: 400 400 Bad Request
2025-06-04T22:31:33Z INFO Shutdown successful

Share your configuration

gluetun:
    container_name: gluetun
    image: ghcr.io/qdm12/gluetun:latest
    labels:
      net.unraid.docker.managed: 'composeman'
      net.unraid.docker.icon: 'https://static-00.iconduck.com/assets.00/vpn-icon-1863x2048-b1dwlnad.png'
      net.unraid.docker.webui: ''
      net.unraid.docker.shell: ''
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    volumes:
      - /mnt/user/appdata/gluetun:/gluetun
    environment:
      - TZ=${TZ}
      - VPN_SERVICE_PROVIDER=protonvpn
      - VPN_TYPE=wireguard
      - WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
      - PORT_FORWARD_ONLY=on
      - VPN_PORT_FORWARDING=on
      - SERVER_COUNTRIES=Belgium

dot-i avatar Jun 04 '25 22:06 dot-i

@qdm12 is more or less the only maintainer of this project and works on it in his free time. Please:

  • do not ask for updates, be patient
  • :+1: the issue to show your support instead of commenting @qdm12 usually checks issues at least once a week, if this is a new urgent bug, revert to an older tagged container image

github-actions[bot] avatar Jun 04 '25 22:06 github-actions[bot]

I'm faced the same issue

SerhiyRomanov avatar Jun 14 '25 15:06 SerhiyRomanov

Same issue here also

harrytheeskimo avatar Jun 26 '25 06:06 harrytheeskimo

How I "fixed it":

  1. Stop the container
  2. Remove servers.json file
  3. Start the container again

leosuncin avatar Jul 14 '25 04:07 leosuncin

I don't think that's a fix πŸ˜‰ I think that makes it simply fall back to its default internal servers.json from the time the container was built.

dot-i avatar Jul 14 '25 09:07 dot-i

same here

astrdev avatar Jul 14 '25 19:07 astrdev

i'm dealing with this same issue and it's preventing me getting my service up and running on my server.

Nebula-0-System avatar Jul 25 '25 16:07 Nebula-0-System

Same issue here

docker run --rm -v /mnt/user/appdata/gluetun:/gluetun qmcgaw/gluetun update -enduser -providers protonvpn 2025-08-04T22:58:48Z INFO merging by most recent 20776 hardcoded servers and 20776 servers read from /gluetun/servers.json 2025-08-04T22:58:48Z INFO updating Protonvpn servers... 2025-08-04T22:58:48Z ERROR updating server information: getting servers: HTTP status code not OK: 400 400 Bad Request 2025-08-04T22:58:48Z INFO Shutdown successful

Additionally, the "automatic" update period seems to just hang and never update servers.json

RChesterton avatar Aug 04 '25 22:08 RChesterton

This just happened to me as well. In my case, the Wireguard configuration had expired. Created a new config (didn't notice the "extend" button in Proton, that might work too) and updated the key for Gluetun and all is well again.

Something to check.

jm1tchell avatar Aug 08 '25 00:08 jm1tchell

This just happened to me as well. In my case, the Wireguard configuration had expired. Created a new config (didn't notice the "extend" button in Proton, that might work too) and updated the key for Gluetun and all is well again.

Something to check.

Interesting. Will check this tomorrow, but the VPN is able to connect/reconnect fine, so I don’t think that’s the issue for me.

Are you sure the server list is updating correctly? I ask as I found out that Proton have retired their public API, which most things were using to pull this data.

RChesterton avatar Aug 08 '25 00:08 RChesterton

@RChesterton Maybe it isn't the solution here, but I thought it might be worth checking.

Just re-ran the update command and still get the 400 error, so I guess my problem was the token and this one still exists. Sorry for the wild goose chase.

jm1tchell avatar Aug 08 '25 00:08 jm1tchell

No update regarding this ?

alanstrok avatar Aug 08 '25 15:08 alanstrok

Has anyone found a workaround to this problem?

RomainJM avatar Aug 19 '25 15:08 RomainJM

Has anyone found a workaround to this problem?

Pretty sure there isn’t one until/unless Proton make an API available.

RChesterton avatar Aug 19 '25 15:08 RChesterton

you can follow some discussions there https://github.com/qdm12/gluetun/pull/2864

SerhiyRomanov avatar Aug 19 '25 15:08 SerhiyRomanov

Has anyone found a workaround to this problem?

I have simply switched to using VPN_TYPE=wireguard and VPN_SERVICE_PROVIDER=custom using ProtonVPN's wireguard configurations that can be obtained from their download page, which has been working flawlessly for me.

JoshuaVandaele avatar Aug 21 '25 23:08 JoshuaVandaele

It looks like for me this was a case of the ProtonVPN wireguard config expiring. Extending it from the download page seems to have fixed it.

joshbuker avatar Sep 07 '25 06:09 joshbuker

Has anyone found a workaround to this problem?

I have simply switched to using VPN_TYPE=wireguard and VPN_SERVICE_PROVIDER=custom using ProtonVPN's wireguard configurations that can be obtained from their download page, which has been working flawlessly for me.

I tried this using a server that was newly added by Proton, but got an error saying that servers should be from one of the perfect providers.

darthlite avatar Sep 09 '25 15:09 darthlite

Is this still an issue because I don't see any failures in my logs.

2025-09-11T01:07:13-05:00 INFO [dns] downloading hostnames and IP block lists 2025-09-11T01:07:13-05:00 INFO [updater] updating Protonvpn servers... 2025-09-11T01:07:14-05:00 INFO [dns] stopping 2025-09-11T01:07:14-05:00 INFO [dns] using plaintext DNS at address 1.1.1.1 2025-09-11T01:07:14-05:00 INFO [dns] starting 2025-09-11T01:07:14-05:00 INFO [dns] downloading hostnames and IP block lists 2025-09-11T01:07:15-05:00 INFO [dns] DNS server listening on 0.0.0.0:53

JuniperMS avatar Sep 12 '25 00:09 JuniperMS

Is this still an issue because I don't see any failures in my logs.

2025-09-11T01:07:13-05:00 INFO [dns] downloading hostnames and IP block lists 2025-09-11T01:07:13-05:00 INFO [updater] updating Protonvpn servers... 2025-09-11T01:07:14-05:00 INFO [dns] stopping 2025-09-11T01:07:14-05:00 INFO [dns] using plaintext DNS at address 1.1.1.1 2025-09-11T01:07:14-05:00 INFO [dns] starting 2025-09-11T01:07:14-05:00 INFO [dns] downloading hostnames and IP block lists 2025-09-11T01:07:15-05:00 INFO [dns] DNS server listening on 0.0.0.0:53

I believe so.. still getting the same as this:

https://github.com/qdm12/gluetun/issues/2820#issuecomment-3152654796

RChesterton avatar Sep 12 '25 15:09 RChesterton

This just happened to me as well. In my case, the Wireguard configuration had expired. Created a new config (didn't notice the "extend" button in Proton, that might work too) and updated the key for Gluetun and all is well again.

Something to check.

This fixed the issue I was seeing, thanks!

acdop100 avatar Oct 20 '25 13:10 acdop100

Hey @qdm12 , there is an updated list of ProtonVIP IPs at https://github.com/tn3w/ProtonVPN-IPs. I am not a developer, but maybe there is a way to import this into gluetun while we wait for the Proton team to allow the API connection again?

1337SereniTyx3 avatar Oct 24 '25 09:10 1337SereniTyx3

Proposed Workaround

  1. Open DevTools to ensure browser network traffic is captured.

  2. Go to ProtonVPN web portal to create a new Wireguard configuration.

  3. Check the network tab for the request that pulled the server list. Either copy the response JSON straight to a file, or use the "Copy as curl" options to repeat the request in the shell with curl. We assume the filename to be protonvpn-servers.json.

  4. Process the file with jq:

    jq '
     	[.LogicalServers[] as $ls | (
     		$ls.Servers[] | {
     			vpn: "wireguard",
     			country: ({"af":"Afghanistan","ax":"Aland Islands","al":"Albania","dz":"Algeria","as":"American Samoa","ad":"Andorra","ao":"Angola","ai":"Anguilla","aq":"Antarctica","ag":"Antigua and Barbuda","ar":"Argentina","am":"Armenia","aw":"Aruba","au":"Australia","at":"Austria","az":"Azerbaijan","bs":"Bahamas","bh":"Bahrain","bd":"Bangladesh","bb":"Barbados","by":"Belarus","be":"Belgium","bz":"Belize","bj":"Benin","bm":"Bermuda","bt":"Bhutan","bo":"Bolivia","bq":"Bonaire","ba":"Bosnia and Herzegovina","bw":"Botswana","bv":"Bouvet Island","br":"Brazil","io":"British Indian Ocean Territory","vg":"British Virgin Islands","bn":"Brunei Darussalam","bg":"Bulgaria","bf":"Burkina Faso","bi":"Burundi","kh":"Cambodia","cm":"Cameroon","ca":"Canada","cv":"Cape Verde","ky":"Cayman Islands","cf":"Central African Republic","td":"Chad","cl":"Chile","cn":"China","cx":"Christmas Island","cc":"Cocos Islands","co":"Colombia","km":"Comoros","cg":"Congo","ck":"Cook Islands","cr":"Costa Rica","ci":"Cote d''Ivoire","hr":"Croatia","cu":"Cuba","cw":"Curacao","cy":"Cyprus","cz":"Czech Republic","cd":"Democratic Republic of the Congo","dk":"Denmark","dj":"Djibouti","dm":"Dominica","do":"Dominican Republic","ec":"Ecuador","eg":"Egypt","sv":"El Salvador","gq":"Equatorial Guinea","er":"Eritrea","ee":"Estonia","et":"Ethiopia","fk":"Falkland Islands","fo":"Faroe Islands","fj":"Fiji","fi":"Finland","fr":"France","gf":"French Guiana","pf":"French Polynesia","tf":"French Southern Territories","ga":"Gabon","gm":"Gambia","ge":"Georgia","de":"Germany","gh":"Ghana","gi":"Gibraltar","gr":"Greece","gl":"Greenland","gd":"Grenada","gp":"Guadeloupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gw":"Guinea-Bissau","gn":"Guinea","gy":"Guyana","ht":"Haiti","hm":"Heard Island and McDonald Islands","hn":"Honduras","hk":"Hong Kong","hu":"Hungary","is":"Iceland","in":"India","id":"Indonesia","ir":"Iran","iq":"Iraq","ie":"Ireland","im":"Isle of Man","il":"Israel","it":"Italy","jm":"Jamaica","jp":"Japan","je":"Jersey","jo":"Jordan","kz":"Kazakhstan","ke":"Kenya","ki":"Kiribati","kr":"Korea","kw":"Kuwait","kg":"Kyrgyzstan","la":"Lao People''s Democratic Republic","lv":"Latvia","lb":"Lebanon","ls":"Lesotho","lr":"Liberia","ly":"Libya","li":"Liechtenstein","lt":"Lithuania","lu":"Luxembourg","mo":"Macao","mk":"Macedonia","mg":"Madagascar","mw":"Malawi","my":"Malaysia","mys":"Kuala Lumpur","mv":"Maldives","ml":"Mali","mt":"Malta","mh":"Marshall Islands","mq":"Martinique","mr":"Mauritania","mu":"Mauritius","yt":"Mayotte","mx":"Mexico","fm":"Micronesia","md":"Moldova","mc":"Monaco","mn":"Mongolia","me":"Montenegro","ms":"Montserrat","ma":"Morocco","mz":"Mozambique","mm":"Myanmar","na":"Namibia","nr":"Nauru","np":"Nepal","nl":"Netherlands","nc":"New Caledonia","nz":"New Zealand","ni":"Nicaragua","ne":"Niger","ng":"Nigeria","nu":"Niue","nf":"Norfolk Island","mp":"Northern Mariana Islands","no":"Norway","om":"Oman","pk":"Pakistan","pw":"Palau","ps":"Palestine, State of","pa":"Panama","pg":"Papua New Guinea","py":"Paraguay","pe":"Peru","ph":"Philippines","pn":"Pitcairn","pl":"Poland","pt":"Portugal","pr":"Puerto Rico","qa":"Qatar","re":"Reunion","ro":"Romania","ru":"Russian Federation","rw":"Rwanda","bl":"Saint Barthelemy","sh":"Saint Helena","kn":"Saint Kitts and Nevis","lc":"Saint Lucia","mf":"Saint Martin","pm":"Saint Pierre and Miquelon","vc":"Saint Vincent and the Grenadines","ws":"Samoa","sm":"San Marino","st":"Sao Tome and Principe","sa":"Saudi Arabia","sn":"Senegal","rs":"Serbia","sc":"Seychelles","sl":"Sierra Leone","sg":"Singapore","sx":"Sint Maarten","sk":"Slovakia","si":"Slovenia","sb":"Solomon Islands","so":"Somalia","za":"South Africa","gs":"South Georgia and the South Sandwich Islands","ss":"South Sudan","es":"Spain","lk":"Sri Lanka","sd":"Sudan","sr":"Suriname","sj":"Svalbard and Jan Mayen","sz":"Swaziland","se":"Sweden","ch":"Switzerland","sy":"Syrian Arab Republic","tw":"Taiwan","tj":"Tajikistan","tz":"Tanzania","th":"Thailand","tl":"Timor-Leste","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad and Tobago","tn":"Tunisia","tr":"Turkey","tm":"Turkmenistan","tc":"Turks and Caicos Islands","tv":"Tuvalu","ug":"Uganda","ua":"Ukraine","ae":"United Arab Emirates","gb":"United Kingdom","uk":"United Kingdom","um":"United States Minor Outlying Islands","us":"United States","uy":"Uruguay","vi":"US Virgin Islands","uz":"Uzbekistan","vu":"Vanuatu","va":"Vatican City State","ve":"Venezuela","vn":"Vietnam","wf":"Wallis and Futuna","eh":"Western Sahara","ye":"Yemen","zm":"Zambia","zw":"Zimbabwe"}[($ls.ExitCountry|ascii_downcase)]),
     			city: $ls.City,
     			server_name: $ls.Name,
     			hostname: .Domain,
     			wgpubkey: .X25519PublicKey,
     			free: 0==$ls.Tier,
     			port_forward: ([4,5,6,7,12,13,14,15] | contains([$ls.Features])),
     			stream: (8<=$ls.Features),
     			ips: [.EntryIP]
     		}
     	)]
     ' protonvpn-servers.json > new-servers.json
    
  5. Merge the result into your gluetun servers.json, and don't forget to bump the timestamp.

oliversalzburg avatar Oct 25 '25 10:10 oliversalzburg

Is this still an issue because I don't see any failures in my logs.

Yes, this is still an issue. I tried extending my config in Proton and adding HEALTH_RESTART_VPN=off in my compose file. Gluetun is borked and will not let me make any connections.

F1zzyD avatar Oct 25 '25 18:10 F1zzyD

Proposed Workaround

  1. Open DevTools to ensure browser network traffic is captured.
  2. Go to ProtonVPN web portal to create a new Wireguard configuration.
  3. Check the network tab for the request that pulled the server list. Either copy the response JSON straight to a file, or use the "Copy as curl" options to repeat the request in the shell with curl. We assume the filename to be protonvpn-servers.json.
  4. Process the file with jq: jq ' [.LogicalServers[] as $ls | ( $ls.Servers[] | { vpn: "wireguard", country: ({"af":"Afghanistan","ax":"Aland Islands","al":"Albania","dz":"Algeria","as":"American Samoa","ad":"Andorra","ao":"Angola","ai":"Anguilla","aq":"Antarctica","ag":"Antigua and Barbuda","ar":"Argentina","am":"Armenia","aw":"Aruba","au":"Australia","at":"Austria","az":"Azerbaijan","bs":"Bahamas","bh":"Bahrain","bd":"Bangladesh","bb":"Barbados","by":"Belarus","be":"Belgium","bz":"Belize","bj":"Benin","bm":"Bermuda","bt":"Bhutan","bo":"Bolivia","bq":"Bonaire","ba":"Bosnia and Herzegovina","bw":"Botswana","bv":"Bouvet Island","br":"Brazil","io":"British Indian Ocean Territory","vg":"British Virgin Islands","bn":"Brunei Darussalam","bg":"Bulgaria","bf":"Burkina Faso","bi":"Burundi","kh":"Cambodia","cm":"Cameroon","ca":"Canada","cv":"Cape Verde","ky":"Cayman Islands","cf":"Central African Republic","td":"Chad","cl":"Chile","cn":"China","cx":"Christmas Island","cc":"Cocos Islands","co":"Colombia","km":"Comoros","cg":"Congo","ck":"Cook Islands","cr":"Costa Rica","ci":"Cote d''Ivoire","hr":"Croatia","cu":"Cuba","cw":"Curacao","cy":"Cyprus","cz":"Czech Republic","cd":"Democratic Republic of the Congo","dk":"Denmark","dj":"Djibouti","dm":"Dominica","do":"Dominican Republic","ec":"Ecuador","eg":"Egypt","sv":"El Salvador","gq":"Equatorial Guinea","er":"Eritrea","ee":"Estonia","et":"Ethiopia","fk":"Falkland Islands","fo":"Faroe Islands","fj":"Fiji","fi":"Finland","fr":"France","gf":"French Guiana","pf":"French Polynesia","tf":"French Southern Territories","ga":"Gabon","gm":"Gambia","ge":"Georgia","de":"Germany","gh":"Ghana","gi":"Gibraltar","gr":"Greece","gl":"Greenland","gd":"Grenada","gp":"Guadeloupe","gu":"Guam","gt":"Guatemala","gg":"Guernsey","gw":"Guinea-Bissau","gn":"Guinea","gy":"Guyana","ht":"Haiti","hm":"Heard Island and McDonald Islands","hn":"Honduras","hk":"Hong Kong","hu":"Hungary","is":"Iceland","in":"India","id":"Indonesia","ir":"Iran","iq":"Iraq","ie":"Ireland","im":"Isle of Man","il":"Israel","it":"Italy","jm":"Jamaica","jp":"Japan","je":"Jersey","jo":"Jordan","kz":"Kazakhstan","ke":"Kenya","ki":"Kiribati","kr":"Korea","kw":"Kuwait","kg":"Kyrgyzstan","la":"Lao People''s Democratic Republic","lv":"Latvia","lb":"Lebanon","ls":"Lesotho","lr":"Liberia","ly":"Libya","li":"Liechtenstein","lt":"Lithuania","lu":"Luxembourg","mo":"Macao","mk":"Macedonia","mg":"Madagascar","mw":"Malawi","my":"Malaysia","mys":"Kuala Lumpur","mv":"Maldives","ml":"Mali","mt":"Malta","mh":"Marshall Islands","mq":"Martinique","mr":"Mauritania","mu":"Mauritius","yt":"Mayotte","mx":"Mexico","fm":"Micronesia","md":"Moldova","mc":"Monaco","mn":"Mongolia","me":"Montenegro","ms":"Montserrat","ma":"Morocco","mz":"Mozambique","mm":"Myanmar","na":"Namibia","nr":"Nauru","np":"Nepal","nl":"Netherlands","nc":"New Caledonia","nz":"New Zealand","ni":"Nicaragua","ne":"Niger","ng":"Nigeria","nu":"Niue","nf":"Norfolk Island","mp":"Northern Mariana Islands","no":"Norway","om":"Oman","pk":"Pakistan","pw":"Palau","ps":"Palestine, State of","pa":"Panama","pg":"Papua New Guinea","py":"Paraguay","pe":"Peru","ph":"Philippines","pn":"Pitcairn","pl":"Poland","pt":"Portugal","pr":"Puerto Rico","qa":"Qatar","re":"Reunion","ro":"Romania","ru":"Russian Federation","rw":"Rwanda","bl":"Saint Barthelemy","sh":"Saint Helena","kn":"Saint Kitts and Nevis","lc":"Saint Lucia","mf":"Saint Martin","pm":"Saint Pierre and Miquelon","vc":"Saint Vincent and the Grenadines","ws":"Samoa","sm":"San Marino","st":"Sao Tome and Principe","sa":"Saudi Arabia","sn":"Senegal","rs":"Serbia","sc":"Seychelles","sl":"Sierra Leone","sg":"Singapore","sx":"Sint Maarten","sk":"Slovakia","si":"Slovenia","sb":"Solomon Islands","so":"Somalia","za":"South Africa","gs":"South Georgia and the South Sandwich Islands","ss":"South Sudan","es":"Spain","lk":"Sri Lanka","sd":"Sudan","sr":"Suriname","sj":"Svalbard and Jan Mayen","sz":"Swaziland","se":"Sweden","ch":"Switzerland","sy":"Syrian Arab Republic","tw":"Taiwan","tj":"Tajikistan","tz":"Tanzania","th":"Thailand","tl":"Timor-Leste","tg":"Togo","tk":"Tokelau","to":"Tonga","tt":"Trinidad and Tobago","tn":"Tunisia","tr":"Turkey","tm":"Turkmenistan","tc":"Turks and Caicos Islands","tv":"Tuvalu","ug":"Uganda","ua":"Ukraine","ae":"United Arab Emirates","gb":"United Kingdom","uk":"United Kingdom","um":"United States Minor Outlying Islands","us":"United States","uy":"Uruguay","vi":"US Virgin Islands","uz":"Uzbekistan","vu":"Vanuatu","va":"Vatican City State","ve":"Venezuela","vn":"Vietnam","wf":"Wallis and Futuna","eh":"Western Sahara","ye":"Yemen","zm":"Zambia","zw":"Zimbabwe"}[($ls.ExitCountry|ascii_downcase)]), city: $ls.City, server_name: $ls.Name, hostname: .Domain, wgpubkey: .X25519PublicKey, free: 0==$ls.Tier, port_forward: ([4,5,6,7,12,13,14,15] | contains([$ls.Features])), stream: (8<=$ls.Features), ips: [.EntryIP] } )] ' protonvpn-servers.json > new-servers.json
  5. Merge the result into your gluetun servers.json, and don't forget to bump the timestamp.

Thank you. I was able to get a list of updated wireguard servers and sort it with jq. I have three follow-ups:

  1. How do I merge this with gluetun's servers.json? Is it a simple copy and paste or something else involved?
  2. Does bumping the "timestamp" mean increasing the counter by 1? My current timestamp value is 1722515320. Do I just make it 1722515321?
  3. Can this be used also to get a list of openvpn server entries? If so could you please explain how to pull them?

1337SereniTyx3 avatar Oct 27 '25 04:10 1337SereniTyx3

@1337SereniTyx3

  1. Copy & paste will do fine. I removed all providers which I don't use from the file first. Then I just replaced the entire servers section of protonvpn.
  2. Increasing by 1 should do fine, but it's a UNIX timestamp (in seconds) if you want to be precise. I used 1761381398. The servers.json is also hardcoded into gluetun. When it finds entries with a more recent timestamp in the file on disk, it will replace the hardcoded values with the newer ones. This will show in the log with a distinct message on startup.
  3. I've been wondering about the openvpn servers myself, but I haven't looked into that at all yet. I assume the process could be similar. The API route that retrieves the VPN servers is https://account.proton.me/api/vpn/logicals, and this response is used for both wireguard and openvpn config generation. So it probably boils down to writing the correct jq transform, but it looks to me like you'll ultimately be using the same servers regardless of the protocol.

Thanks for confirming :)

oliversalzburg avatar Oct 27 '25 08:10 oliversalzburg

@qdm12 is there any plans to change how the Proton VPN server list is updated?

JuniperMS avatar Oct 27 '25 13:10 JuniperMS

Try image with tag :pr-2878. It has updated servers data. It will get merged in the master branch (:latest image) in the coming few days.

qdm12 avatar Oct 29 '25 03:10 qdm12

Seems to have an issue, @qdm12. If I move to :latest the container fires up.

Running version pr-2878 built on 2025-10-29T12:45:50.839Z (commit ca101d3) πŸ”§ Need help? β˜• Discussion? https://github.com/qdm12/gluetun/discussions/new/choose πŸ› Bug? ✨ New feature? https://github.com/qdm12/gluetun/issues/new/choose πŸ’» Email? [email protected] πŸ’° Help me? https://www.paypal.me/qmcgaw https://github.com/sponsors/qdm12 2025-10-29T10:28:31-05:00 INFO [routing] default route found: interface eth0, gateway 172.20.0.1, assigned IP 172.20.0.2 and family v4 2025-10-29T10:28:31-05:00 INFO [routing] local ethernet link found: eth0 2025-10-29T10:28:31-05:00 INFO [routing] local ipnet found: 172.20.0.0/16 2025-10-29T10:28:31-05:00 INFO [firewall] enabling... 2025-10-29T10:28:31-05:00 INFO [firewall] enabled successfully 2025-10-29T10:28:32-05:00 INFO [storage] merging by most recent 20793 hardcoded servers and 20793 servers read from /gluetun/servers.json

panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x7825ee]

goroutine 13 [running]: github.com/qdm12/gluetun/internal/configuration/settings.Updater.Validate({0xc000011618, {0xcb7ffd, 0xa}, 0x3fe999999999999a, {0xc000257d30, 0x1, 0x1}, 0x0, 0x0}) github.com/qdm12/gluetun/internal/configuration/settings/updater.go:62 +0x28e github.com/qdm12/gluetun/internal/configuration/settings.(*Settings).Validate(0xc000224e08, {0x158b440, 0xc002e7bb00}, 0x0, {0x7604346b25e8, 0xc0001dac80}) github.com/qdm12/gluetun/internal/configuration/settings/settings.go:63 +0xa90 main._main({0x15927f0, 0xc000164e10}, {{0x1586dc0, 0x7}, {0x1586dc8, 0x7}, {0x158b1e0, 0x18}}, {0xc0000320b0, 0x1, ...}, ...) ./main.go:250 +0xfeb main.main.func2() ./main.go:98 +0x125 created by main.main in goroutine 1 ./main.go:97 +0x5e5

JuniperMS avatar Oct 29 '25 15:10 JuniperMS

Seems to have an issue, @qdm12. If I move to :latest the container fires up.

Running version pr-2878 built on 2025-10-29T12:45:50.839Z (commit ca101d3) πŸ”§ Need help? β˜• Discussion? https://github.com/qdm12/gluetun/discussions/new/choose πŸ› Bug? ✨ New feature? https://github.com/qdm12/gluetun/issues/new/choose πŸ’» Email? [email protected] πŸ’° Help me? https://www.paypal.me/qmcgaw https://github.com/sponsors/qdm12 2025-10-29T10:28:31-05:00 INFO [routing] default route found: interface eth0, gateway 172.20.0.1, assigned IP 172.20.0.2 and family v4 2025-10-29T10:28:31-05:00 INFO [routing] local ethernet link found: eth0 2025-10-29T10:28:31-05:00 INFO [routing] local ipnet found: 172.20.0.0/16 2025-10-29T10:28:31-05:00 INFO [firewall] enabling... 2025-10-29T10:28:31-05:00 INFO [firewall] enabled successfully 2025-10-29T10:28:32-05:00 INFO [storage] merging by most recent 20793 hardcoded servers and 20793 servers read from /gluetun/servers.json

panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x7825ee]

goroutine 13 [running]: github.com/qdm12/gluetun/internal/configuration/settings.Updater.Validate({0xc000011618, {0xcb7ffd, 0xa}, 0x3fe999999999999a, {0xc000257d30, 0x1, 0x1}, 0x0, 0x0}) github.com/qdm12/gluetun/internal/configuration/settings/updater.go:62 +0x28e github.com/qdm12/gluetun/internal/configuration/settings.(*Settings).Validate(0xc000224e08, {0x158b440, 0xc002e7bb00}, 0x0, {0x7604346b25e8, 0xc0001dac80}) github.com/qdm12/gluetun/internal/configuration/settings/settings.go:63 +0xa90 main._main({0x15927f0, 0xc000164e10}, {{0x1586dc0, 0x7}, {0x1586dc8, 0x7}, {0x158b1e0, 0x18}}, {0xc0000320b0, 0x1, ...}, ...) ./main.go:250 +0xfeb main.main.func2() ./main.go:98 +0x125 created by main.main in goroutine 1 ./main.go:97 +0x5e5

I'm getting the same on :pr-2878.

ekjaker avatar Oct 29 '25 16:10 ekjaker