Remove homebrew-cask's dependency on raw.githubusercontent.com

Verification

[X] This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

Provide a detailed description of the proposed feature
Move homebrew-cask away from directly depending on raw.githubusercontent.com. If possible, move to a mechanism that's possible for rsync for mirroring.
What is the motivation for the feature?
Since homebrew/cask tap was fully deprecated, it becomes hard for people to use brew cask when raw.githubusercontent.com is unavailable or blocked by ISP. More specifically, we always see errors like this:
Error: docker: Failed to download resource "docker.rb"
Failure while executing; `/usr/bin/env /usr/local/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.1.3\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 13.5\)\ curl/8.1.2 --header Accept-Language:\ en --retry 3 --fail --location --silent --head https://raw.githubusercontent.com/Homebrew/homebrew-cask/b237285b6df4e1ce951ab0665bebc134e64a7fa8/Casks/docker.rb` exited with 7. Here's the output:
curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 3180 ms: Couldn't connect to server

For formulae.brew.sh we can use a mirror, but there's no way to mirror raw.githubusercontent.com as a local repository.
How will the feature be relevant to at least 90% of Homebrew users?
It's at least relevant to 90% of Homebrew users in China😔
What alternatives to the feature have been considered?
Just don't hard-code such mechanism. If possible, provide a way that's possible for rsync.
Another solution to not move away from GitHub is to use GitHub REST API instead.

Since homebrew/cask tap was fully deprecated

I’m not sure that’s the case. As far as I know it’s just not the default anymore. Does setting HOMEBREW_NO_INSTALL_FROM_API help?
Example:
HOMEBREW_NO_INSTALL_FROM_API=1 brew install --cask <cask_name>

Support already exists for mirroring here:
https://github.com/Homebrew/brew/blob/41ca77c6ac571d58eda505d38cce3685d2b3d818/Library/Homebrew/api/cask.rb#L32-L36
The command to generate it is brew generate-cask-api: https://github.com/Homebrew/brew/blob/41ca77c6ac571d58eda505d38cce3685d2b3d818/Library/Homebrew/dev-cmd/generate-cask-api.rb#L71
And you can see the GitHub Actions pipeline for formulae.brew.sh which hosts it here:
https://github.com/Homebrew/formulae.brew.sh/blob/ab277a45c581ea6b09f0f0807cf673a846d8f192/.github/workflows/scheduled.yml#L38-L50
I'd recommend setting up your own mirror for all of formulae.brew.sh and using that.

@MikeMcQuaid Thank for your information. However, setting up the mirror for cask-source still doesn’t work because HomeBrew will always send a HEAD request to raw.githubusercontent.com even the mirror has the resource. We need to get rid of such unnecessary cause of failure.

@stevapple It will try the authoritative source first because it's more secure to do so and fall back to the mirror if it fails. I believe this is consistent with how we handle similar mirrors in China?

The problem is, if the HEAD (not the real GET) request fails (time out / connection down) HomeBrew will crash immediately. It should fall back to the mirror silently, or, given sometimes it’s a long time to wait, use API at the first place.

It should fall back to the mirror silently

Agreed.
@stevapple can you provide the full output of a relevant brew command failing with --debug and --verbose?

$ brew upgrade zoom --cask --verbose --debug
==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/api/cask.jws.json
/usr/bin/env /usr/local/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --user-agent Homebrew/4.1.4\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 13.5\)\ curl/8.1.2 --header Accept-Language:\ en --fail --remote-time --output /Users/yr.chen/Library/Caches/Homebrew/api/cask.jws.json --location --time-cond /Users/yr.chen/Library/Caches/Homebrew/api/cask.jws.json --compressed --speed-limit 100 --speed-time 5 https://mirrors.ustc.edu.cn/homebrew-bottles/api/cask.jws.json
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  987k  100  987k    0     0  1731k      0 --:--:-- --:--:-- --:--:-- 1765k
/usr/local/Homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::FromAPILoader): loading zoom
==> Upgrading 1 outdated package:
/usr/local/Homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::FromPathLoader): loading /usr/local/Caskroom/zoom/.metadata/<IP_ADDRESS>53/20230726134711.484/Casks/zoom.rb
zoom <IP_ADDRESS>53 -> <IP_ADDRESS>46
==> Started upgrade process for Cask zoom
==> Upgrading zoom
/usr/local/Homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::FromAPILoader): loading zoom-for-it-admins
==> Printing caveats
==> Cask::Installer#fetch
/usr/bin/env /usr/local/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.1.4\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 13.5\)\ curl/8.1.2 --header Accept-Language:\ en --retry 3 --fail --location --silent --head https://raw.githubusercontent.com/Homebrew/homebrew-cask/0ce6a97a5ccd8d5095c411711856b5b9a073ac1e/Casks/zoom.rb
==> Purging files for version <IP_ADDRESS>46 of Cask zoom
Error: zoom: Failed to download resource "zoom.rb"
Failure while executing; `/usr/bin/env /usr/local/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.1.4\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 13.5\)\ curl/8.1.2 --header Accept-Language:\ en --retry 3 --fail --location --silent --head https://raw.githubusercontent.com/Homebrew/homebrew-cask/0ce6a97a5ccd8d5095c411711856b5b9a073ac1e/Casks/zoom.rb` exited with 7. Here's the output:
curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 17 ms: Couldn't connect to server

/usr/local/Homebrew/Library/Homebrew/system_command.rb:313:in `assert_success!'
/usr/local/Homebrew/Library/Homebrew/utils/curl.rb:232:in `block in curl_headers'
/usr/local/Homebrew/Library/Homebrew/utils/curl.rb:210:in `each'
/usr/local/Homebrew/Library/Homebrew/utils/curl.rb:210:in `curl_headers'
/usr/local/Homebrew/Library/Homebrew/download_strategy.rb:483:in `resolve_url_basename_time_file_size'
/usr/local/Homebrew/Library/Homebrew/download_strategy.rb:475:in `resolved_url_and_basename'
/usr/local/Homebrew/Library/Homebrew/download_strategy.rb:323:in `resolved_basename'
/usr/local/Homebrew/Library/Homebrew/download_strategy.rb:307:in `cached_location'
/usr/local/Homebrew/Library/Homebrew/download_strategy.rb:280:in `temporary_path'
/usr/local/Homebrew/Library/Homebrew/download_strategy.rb:404:in `fetch'
/usr/local/Homebrew/Library/Homebrew/downloadable.rb:87:in `fetch'
/usr/local/Homebrew/Library/Homebrew/api/cask.rb:39:in `source_download'
/usr/local/Homebrew/Library/Homebrew/cask/installer.rb:581:in `load_cask_from_source_api!'
/usr/local/Homebrew/Library/Homebrew/cask/installer.rb:66:in `fetch'
/usr/local/Homebrew/Library/Homebrew/cask/upgrade.rb:193:in `upgrade_cask'
/usr/local/Homebrew/Library/Homebrew/cask/upgrade.rb:114:in `block in upgrade_casks'
/usr/local/Homebrew/Library/Homebrew/cask/upgrade.rb:113:in `each'
/usr/local/Homebrew/Library/Homebrew/cask/upgrade.rb:113:in `upgrade_casks'
/usr/local/Homebrew/Library/Homebrew/cmd/upgrade.rb:253:in `upgrade_outdated_casks'
/usr/local/Homebrew/Library/Homebrew/cmd/upgrade.rb:137:in `upgrade'
/usr/local/Homebrew/Library/Homebrew/brew.rb:94:in `<main>'

Yes mirrors are currently broken and have been for a while: #15169.

Support already exists for mirroring here:

This doesn't support arbitrary mirroring like you suggest as it uses HOMEBREW_API_DEFAULT_DOMAIN.
I also do not recommend mirroring cask-source due to race conditions that will cause checksum failures (and it seems like no one has actually needed it for quite some time anyway, as mirroring to it has been for months). A proper mirror should mirror directly from git and produce URLs with the commit hash in them.

A proper mirror should mirror directly from git and produce URLs with the commit hash in them, keeping previous ones for at least an hour or so, depending on what HOMEBREW_API_AUTO_UPDATE_SECS values (+ the time it takes to run a long brew upgrade/install) you are willing to support/afford hosting. If we add configurable mirror support, we should require this URL format.

@Bo98 This is likely too involved for any non-maintainer to reliably build.

I think the fix here is to fix up curl_headers accordingly and nudge people towards cask-source for now. The race conditions there are likely a better outcome than the known failures elsewhere.

@Bo98 This is likely too involved for any non-maintainer to reliably build.

Depends on the setup. In a scenario of mirroring every 15 minutes, you can simplify this a lot to simply keeping the last 4 versions.
If cask-source was actually used, we probably would have already done this ourselves by now.

On a slightly related note, the current behaviour of always issuing --head requests (which we currently short-circuit when downloading bottles) makes some accesses to HOMEBREW_CACHE really slow, because brew still makes the --head request even when the wanted resource has already been cached. See, for, example:
==> Fetching git
==> Downloading https://mirrors.edge.kernel.org/pub/software/scm/git/git-htmldocs-2.41.0.tar.xz
/usr/bin/env /usr/local/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.1.4-31-g6e1293b\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 13.4.1\)\ curl/7.88.1 --header Accept-Language:\ en --retry 3 --fail --location --silent --head https://mirrors.edge.kernel.org/pub/software/scm/git/git-htmldocs-2.41.0.tar.xz
/usr/bin/env /usr/local/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.1.4-31-g6e1293b\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 13.4.1\)\ curl/7.88.1 --header Accept-Language:\ en --retry 3 --fail --location --silent --head --request GET https://mirrors.edge.kernel.org/pub/software/scm/git/git-htmldocs-2.41.0.tar.xz
Already downloaded: /Users/carlocab/Library/Caches/Homebrew/downloads/2f91121f03a39bc2438e7e0fe9cd9458169ed4b5f9f9e89ce708a4d9c7bbb325--git-htmldocs-2.41.0.tar.xz

It also looks like two --head requests are being made? I'm not sure why we should be doing that.

In certain cases some of these steps are intentional (e.g. :latest casks on bad servers).
I noticed the speed of it like you though and did shortcut the bottle case. You should see near instant processing times for those.

Depends on the setup. In a scenario of mirroring every 15 minutes, you can simplify this a lot to simply keeping the last 4 versions. You don't need to serve anything between if it's the same mirror as the JWS, and you could probably do it without git as a result if you get the commit hash from any JSON.

Sorry, I mean the actual commands and knowing what should be output when/how/where/etc.

It also looks like two --head requests are being made? I'm not sure why we should be doing that.

This seems wrong, I agree.

In certain cases some of these steps are intentional (e.g. :latest casks on bad servers).

Yeh, it seems like this behaviour should be opt-in to that case rather than default for all cases, though CC @reitermarkus.

I noticed the speed of it like you though and did shortcut the bottle case. You should see near instant processing times for those.

Yep, I had noticed this quite a while ago but hadn't gotten around to looking into it.
I have a launchctl job that does something like brew outdated | xargs brew fetch to avoid waiting for things to download. However, the extra head requests still made brew upgrade really slow (sometimes it seemed like brew spent more time making head requests than it did actually pouring bottles).

Yeh, it seems like this behaviour should be opt-in to that case rather than default for all cases, though CC @reitermarkus.

Agreed.

However, the extra head requests still made brew upgrade really slow (sometimes it seemed like brew spent more time making head requests than it did actually pouring bottles).

Ooof, that's bad 😬

I have a launchctl job that does something like brew outdated | xargs brew fetch to avoid waiting for things to download. However, the extra head requests still made brew upgrade really slow (sometimes it seemed like brew spent more time making head requests than it did actually pouring bottles).

There should be zero head requests with brew fetch anymore for bottles. I tested this now and that remains the case after my fix.
If you're upgrading things built from source: yes it's still an issue, but that should be rarer.

It'd be nice to limit the head requests to cases where we know they're needed, instead of doing them for all (non-bottle) downloads.

Agreed.

Support already exists for mirroring here:
https://github.com/Homebrew/brew/blob/41ca77c6ac571d58eda505d38cce3685d2b3d818/Library/Homebrew/api/cask.rb#L32-L36
The command to generate it is brew generate-cask-api:
https://github.com/Homebrew/brew/blob/41ca77c6ac571d58eda505d38cce3685d2b3d818/Library/Homebrew/dev-cmd/generate-cask-api.rb#L71
And you can see the GitHub Actions pipeline for formulae.brew.sh which hosts it here: https://github.com/Homebrew/formulae.brew.sh/blob/ab277a45c581ea6b09f0f0807cf673a846d8f192/.github/workflows/scheduled.yml#L38-L50
I'd recommend setting up your own mirror for all of formulae.brew.sh and using that.

Vs/true complaint accept


 tag in name is added to product url

Example, if the client adds a br tag to the name of the product it will add it to the url of the product:
/product-name-line-br-next-line
Anyway to prevent this?

Why would a client add a br tag to a product name?
I think it's better handled in a product attribute, something like 'formatted title', where it can override what is output in the block. The actual product name field ends up in emails, in the database, etc, so I don't think it's a good idea to expect to be able to put html in it.

Purely for how it looks on the front end.
Yeah I agree, but now they've loaded 100's of products is there a way for me to strip html from the product title?

Hey guys. 3 things to consider about this.
First, removing the  tags from product names is really just a call to the database. If you also have to deal with URLs that's another problem.
Second, you can use a PHP function to strip HTML tags from strings: http://php.net/manual/en/function.strip-tags.php
Last but not least, Dave I'm sure you know that, make the title element display:block to remove the need for


ImportError: cannot import name 'text_helper'

HI @tbmoon ,
While i am running python train.py getting an error "ImportError: cannot import name 'text_helper'
" i was unable to resolve this issue
could you please help me in this
Thanks & Regards,
Manikantha Sekhar...

@mady143
It worked in my environment.
I followed instructions in README, and there are no errors.


input-otp isn't keyboard accessible when used with radix/dialog

Thanks for such an awesome library. I am facing an issue. Why doesn't it work as expected when used within dialog. When input-otp is focused and then I press tab to focus the next interactive element. It skips over the interactive element below it and focuses on the DialogContent.
Here is short demo:
https://github.com/user-attachments/assets/4787751b-f192-438a-87c3-ce7d3cd71877

@guilhermerodz can you please help me with this.

@AayushKarki714 I don't get exactly what this means. The input-otp is a single HTML input, which means pressing tab twice will focus 1. on your OTP input (not per each slot but for the whole input), then will focus 2. on your dialog.
Is that behavior any different when outside of a dialog?

Closing this issue temporarily while I can't reproduce it locally. Can you provide a CodeSandbox or something like that?


Status code failure 404 on logEvent Android

Report
Plugin Version
6.12.1
On what Platform are you having the issue?
android
What did you do?
appsFlyer.logEvent
What did you expect to happen?
Event to be logged
What happened instead?
      HTTP: [207394383] response code: 404 Not Found     body: application doesn't exist     took 272ms
Please provide any other relevant information.
The application is set up on the AppsFlyer console and Im able to initialize the project just fine.

@jwillingham789
Can you let me know what was leading this issue to happen and what was the fix ?

@singhagam1 This library uses the active build variant's applicationId in the appsFlyer.initSdk method. I only had a production application set up on the appsflyer console so it couldn't find a matching applicationId when i was building a dev variant with the .dev suffix. Not sure why you can explicitly pass an appId to the appsFlyer.initSdk on ios but not on android. Seems like a simple addition that would address this problem.


Add support for renaming views

We can use a similar syntax as for renaming tables (also same as PostgreSQL):
ALTER VIEW name RENAME TO new_name

While it's tempting to make the existing table syntax work for this, the specification already differentiates between DROP TABLE and DROP VIEW, so it makes sense for rename to be separate as well.

@electrum Can I take this ?

The proposed syntax seems reasonable.


What is the purpose of "link" for itemized?

What is the expected behavior of the value link = in itemized content type?

If you set linktitle and link at toml like this
linktitle = "Github"
link = "https://github.com/peaceiris"

You will get GitHub link.

Noted. To be added to the Wiki when available.


Remove issue_comment from Danger workflow

Closes #5201

Fair fix for the failure and email spam, but this will be needed later right?


METRON-1549: Add empty object test to WriterBoltIntegrationTest implementation

Contributor Comments
https://issues.apache.org/jira/browse/METRON-1549
Adding a new integration test case to the writer bolt integration test to verify an edge case with how our parserbolt, parsers, and writers handle empty objects returned from custom parsers.
Pull Request Checklist
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:

[x] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

For code changes:
(pending travis)

[x] Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
mvn -q clean integration-test install && dev-utilities/build-utils/verify_licenses.sh

[x] Have you written or updated unit tests and or integration tests to verify your changes?

For documentation related changes:
n/a

@nickwallen and @ottobackwards - I extracted the common setup components into one parameterized method. I opted for setting private test class fields with the components rather than invoking getComponent() because I thought it was a bit cleaner. I also looked at doing this in @Before and @After setup methods, but setup for each of the tests changes on a per-test basis.
We're currently employing a useful builder pattern to configure the test components/infrastructure which generally means you provide invariants and then build the object from them. It might also be worthwhile to look at a way to use the builder pattern, but also change certain aspects of the setup within the individual test cases, e.g. upload a new global config after spinning up the components. This could make it more efficient to run multiple tests by using @Before and @After to spin things up to run a battery of similar integration tests. Do you guys think we need it for this test change?

I think this is good.  My work on the builder/Processor stuff was a decent attempt to reduce duplicate code in the integration tests without a total rethink.  I think what we see across the integration tests is so much commonality that it is apparent that some re-think could be useful to have more standardize test classes and use cases structured such that there is less overhead of duplicated code required.
As I have done some work on other projects and seen other approaches this has only become more clear.  commons-vfs for example runs the same tests against every provider, with each provider providing specialization of it's suites.
It would seem that we should be able to have a more generic suite or testing harness for n topologies/topics working together, as a next step refactoring of my prior Process work.
I don't think this is the PR for that though

+1 This looks good.  Thanks!

+1


grammar fixes and typos

Codecov Report

Merging #3568 into master will increase coverage by 0.2%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             master    #3568     +/-   ##
===========================================
+ Coverage     45.86%   46.07%   +0.2%
  Complexity      188      188
===========================================
  Files           168      168
  Lines         13338    13338
  Branches        457      457
===========================================
+ Hits           6117     6145     +28
+ Misses         6996     6968     -28
  Partials        225      225

Impacted Files
Coverage Δ
Complexity Δ

python-package/xgboost/compat.py
90.9% <0%> (+1.81%)
0% <0%> (ø)
:arrow_down:

python-package/xgboost/core.py
83.41% <0%> (+4.61%)
0% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1c08b3b...28dbd13. Read the comment docs.

Thanks!


[now-cli][now-client] Remove fetch-h2

This removes fetch-h2 in favor of node-fetch to mitigate multiple issues we've been seeing with fetch-h2

Codecov Report

Merging #3011 into canary will increase coverage by 0.25%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           canary    #3011      +/-   ##
==========================================
+ Coverage   11.98%   12.24%   +0.25%
==========================================
  Files         268      268
  Lines       10189    10203      +14
  Branches     1297     1287      -10
==========================================
+ Hits         1221     1249      +28
+ Misses       8875     8863      -12
+ Partials       93       91       -2

Impacted Files
Coverage Δ

src/util/client.ts
0% <0%> (ø)
:arrow_up:

src/util/index.js
0% <0%> (ø)
:arrow_up:

src/util/agent.ts
0% <0%> (ø)
:arrow_up:

src/util/dev/builder-cache.ts
80.74% <0%> (+3.47%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cded895...00145ca. Read the comment docs.

@rdev and @styfle this made a lot of sense (says me, the author of fetch-h2). Session handling for HTTP/1 and HTTP/2 and after handshaking either of those over TLS/ALPN is really complex. Properly deref:ing such sessions (H2) / socket pools (HTTP/1) so a CLI exits and doesn't hang is another issue I didn't fix early enough in this library.
I do think both of these issues (and plenty more) are entirely fixed after a lot of work, so FYI, if you want/dare give it another try... 🙄😆
Likely HTTP/2 will perform a lot better, especially over bad connections.
Just so you know I haven't abandoned the library ;)


refactor(exception): change status code of NameConflictError

status code from 400 to 409

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 84.081%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
5514

Relevant Lines:
6558

💛  - Coveralls


Use the blockchain

This is 2018.
Therefore to remain relevant, this project must use the blockchain. Yes, THE blockchain.
I have no idea what this means, what this looks like, or where to begin but the contributing guidelines specifically instruct contributors not to write code, so I didn't. You're welcome.

This project already supports blockchain as of v1.0.0.
Check the release notes: https://github.com/kelseyhightower/nocode/releases/tag/1.0.0


Add EpicEvent-Person interactions

Pull Request Test Coverage Report for Build 44

74 of 143 (51.75%) changed or added relevant lines in 12 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-2.3%) to 82.865%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/seedu/address/logic/commands/ListAttendeesCommand.java
12
13
92.31%

src/main/java/seedu/address/model/event/exceptions/PersonNotFoundInEventException.java
0
2
0.0%

src/main/java/seedu/address/model/EventPlanner.java
2
4
50.0%

src/main/java/seedu/address/logic/parser/ListAttendeesCommandParser.java
0
3
0.0%

src/main/java/seedu/address/logic/parser/EventPlannerParser.java
0
3
0.0%

src/main/java/seedu/address/model/ModelManager.java
5
9
55.56%

src/main/java/seedu/address/model/event/EpicEvent.java
4
9
44.44%

src/main/java/seedu/address/logic/commands/RegisterPersonCommand.java
25
32
78.13%

src/main/java/seedu/address/model/event/UniqueEpicEventList.java
5
12
41.67%

src/main/java/seedu/address/logic/commands/DeregisterPersonCommand.java
21
32
65.63%

Totals

Change from base Build 43:
-2.3%

Covered Lines:
1712

Relevant Lines:
2066

💛  - Coveralls


Cyberghost: what to fill in CLIENT_KEY environment variable

I try docker command:
docker run -it --rm -v /pathclientkeyexistxxxxx/client.key:/client.key:ro qmcgaw/private-internet-access clientkey

That client.key was download from cyberghost
I get error:
no value found for environment variable "USER"

So no result to use for CLIENT_KEY environment variable
Try to use same command en fill in VPNSP, USER and PASSWORD variables, then i get error:
no value found for environment variable "CLIENT_KEY"
When I fill in
CLIENT_KEY=/pathclientkeyexistxxxxx/client.key

I get error:
gluetun    | 2020-07-04T18:29:37.284+0200       INFO    openvpn configurator: starting openvpn
gluetun    | 2020-07-04T18:29:37.284+0200       WARN    close |0: file already closed
gluetun    | 2020-07-04T18:29:37.290+0200       INFO    openvpn: Options error: Unrecognized option or missing or extra parameter(s) in /etc/openvpn/target.ovpn:38: crt (2.4.9)
gluetun    | 2020-07-04T18:29:37.290+0200       INFO    openvpn: Use --help for more information.
gluetun    | 2020-07-04T18:29:37.290+0200       WARN    openvpn: exit status 1
gluetun    | 2020-07-04T18:29:37.293+0200       INFO    openvpn: starting
gluetun    | 2020-07-04T18:29:37.295+0200       INFO    openvpn configurator: starting openvpn
gluetun    | 2020-07-04T18:29:37.293+0200       WARN    close |0: file already closed
gluetun    | 2020-07-04T18:29:37.306+0200       INFO    openvpn: Options error: Unrecognized option or missing or extra parameter(s) in /etc/openvpn/target.ovpn:38: crt (2.4.9)
gluetun    | 2020-07-04T18:29:37.306+0200       INFO    openvpn: Use --help for more information.

And unendless loop, i have te reboot
Who can help me ?
Greetings.
Kees-Jan
TLDR: Describe your issue in a one liner here

Is this urgent?

[ ] Yes
[x] No

What VPN service provider are you using?

[ ] PIA
[ ] Mullvad
[ ] Windscribe
[ ] Surfshark
[x] Cyberghost

What's the version of the program?
Running version latest built on 2020-06-26T14:41:24Z (commit c9368e3)

What are you using to run the container?

[x] Docker run
[x] Docker Compose
[ ] Kubernetes
[ ] Docker stack
[ ] Docker swarm
[ ] Podman
[ ] Other:

Extra information

Logs:

Configuration file:

Host OS:
Debian buster (RPI4)

Hi thanks for pointing that out 👍 . It was a silly Dockerfile bug.
Note that you have to set CLIENT_KEY to the output from the command docker run -it --rm -v /pathclientkeyexistxxxxx/client.key:/client.key:ro qmcgaw/private-internet-access clientkey, not to the clientkey path.
This is done this way so that your entire config can hold in a docker-compose.yml or .env file for example.
Let me know if you have any further issue.

Thank you for reply.
I don't know what to do now.
how do i use 'dockerfile' ?
now i use docker-compose.yml for generating the container.
CLIENT_KEY=  empty.
still no output from the command.
Greeting.
Kees-Jan

I use the latest image and now the command give the output.
I copied the output in the docker-compose.yml file but after rebuilding the container I get the same error as i write earlier.
gluetun    | 2020-07-04T21:16:29.195+0200       INFO    openvpn: Use --help for more information.
gluetun    | 2020-07-04T21:16:29.196+0200       WARN    openvpn: exit status 1
gluetun    | 2020-07-04T21:16:29.196+0200       INFO    openvpn: starting
gluetun    | 2020-07-04T21:16:29.196+0200       WARN    close |0: file already closed
gluetun    | 2020-07-04T21:16:29.197+0200       INFO    openvpn configurator: starting openvpn
gluetun    | 2020-07-04T21:16:29.202+0200       INFO    openvpn: Options error: Unrecognized option or missing or extra parameter(s) in /etc/openvpn/target.ovpn:38: crt (2.4.9)
gluetun    | 2020-07-04T21:16:29.202+0200       INFO    openvpn: Use --help for more information.
gluetun    | 2020-07-04T21:16:29.203+0200       WARN    openvpn: exit status 1
gluetun    | 2020-07-04T21:16:29.204+0200       WARN    close |0: file already closed
gluetun    | 2020-07-04T21:16:29.204+0200       INFO    openvpn: starting
gluetun    | 2020-07-04T21:16:29.204+0200       INFO    openvpn configurator: starting openvpn
gluetun    | 2020-07-04T21:16:29.210+0200       INFO    openvpn: Options error: Unrecognized option or missing or extra parameter(s) in /etc/openvpn

Can you send your docker-compose.yml file (or docker run command as you prefer)? Omit your username, password but leave the client key as is, you can re-create a device on cyberghost to regenerate a new client key. Thanks!

Thank you.
Here is my docker-compose file.
I also tried with empty OPENVPN_CIPHER and OPENVPN_AUTH but no result.
Greetings,
Kees-Jan
Van: Quentin McGaw<EMAIL_ADDRESS>Verzonden: zondag 5 juli 2020 04:01
Aan: qdm12/private-internet-access-docker
CC: klavertje44; Author
Onderwerp: Re: [qdm12/private-internet-access-docker] Cyberghost: what to fill in CLIENT_KEY environment variable (#179)
Can you send your docker-compose.yml file (or docker run command as you prefer)? Omit your username, password but leave the client key as is, you can re-create a device on cyberghost to regenerate a new client key. Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/qdm12/private-internet-access-docker/issues/179#issuecomment-653832072 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ANJNSEOLMQ6EE3DNLSWCRXTRZ7NFBANCNFSM4OQO4HMA .  https://github.com/notifications/beacon/ANJNSENBZQ3GQSV2YQK6R7LRZ7NFBA5CNFSM4OQO4HMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOE34K7CA.gif

I don't see your file. Try going on the Github website issue and copy paste it. Extra tip, you can also surround it with
```yml
content here

so it's displayed nicely.

I send it as attachment.
So here is the content:
version: "3.3"
services:
gluetun:
image: qmcgaw/private-internet-access

container_name: gluetun

cap_add:

  - NET_ADMIN

network_mode: bridge

ports:

  - 8888:8888/tcp # Tinyproxy

  - 8388:8388/tcp # Shadowsocks

  - 8388:8388/udp # Shadowsocks

  - 8001:8000/tcp # Built-in HTTP control server

# command:

environment:

  # More variables are available, see the readme table

  - VPNSP=cyberghost

  - PROTOCOL=udp

  - OPENVPN_VERBOSITY=1

  - OPENVPN_ROOT=no

  - OPENVPN_TARGET_IP=

  - OPENVPN_CIPHER=AES-256-CBC

  - OPENVPN_AUTH=SHA256

  - TZ=Europe/Amsterdam

  - UID=1001

  - GID=100

  # PIA, Windscribe, Surfshark and Cyberghost only

  - REGION=Netherlands

  - USER=1234567890

  - PASSWORD=1234567890

  # PIA only

  # - PIA_ENCRYPTION=strong

  # - PORT_FORWARDING=off

  # Mullvad only

  # - COUNTRY=Sweden

  # - CITY=

  # - ISP=

  # Mullvad and Windscribe only

  # - PORT=

  # Cyberghost only

  - CYBERGHOST_GROUP=Premium UDP Europe

  - CLIENT_KEY=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

  # DNS over TLS

  - DOT=on

  - DOT_PROVIDERS=cloudflare

  - DOT_IPV6=off

  - DOT_VERBOSITY=1

  - BLOCK_MALICIOUS=on

  - BLOCK_SURVEILLANCE=off

  - BLOCK_ADS=off

  - UNBLOCK=

  - DNS_UPDATE_PERIOD=24h

  # Firewall

  - EXTRA_SUBNETS=

  # Shadowsocks

  - SHADOWSOCKS=off

  - SHADOWSOCKS_PASSWORD=

  # Tinyproxy

  - TINYPROXY=off

  - TINYPROXY_USER=

  - TINYPROXY_PASSWORD=

restart: always

Van: Quentin McGaw<EMAIL_ADDRESS>Verzonden: zondag 5 juli 2020 13:57
Aan: qdm12/private-internet-access-docker
CC: klavertje44; Author
Onderwerp: Re: [qdm12/private-internet-access-docker] Cyberghost: what to fill in CLIENT_KEY environment variable (#179)
I don't see your file. Try going on the  https://github.com/qdm12/private-internet-access-docker/issues/179#issuecomment-653854632 Github website issue and copy paste it. Extra tip, you can also surround it with
content here

so it's displayed nicely.

—
You are receiving this because you authored the thread.
Reply to this email directly,  <https://github.com/qdm12/private-internet-access-docker/issues/179#issuecomment-653879560> view it on GitHub, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ANJNSEJXSJEHS55WNVB762DR2BS75ANCNFSM4OQO4HMA> .  <https://github.com/notifications/beacon/ANJNSENDQ7DSYT2RYHFYSIDR2BS75A5CNFSM4OQO4HMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOE34WSCA.gif>

Thanks for the help again. It's actually the certificate I got from a Cyberghost user which is not valid (got from #104).
Sorry for the trouble, but would you please download an openvpn zip file from cyberghost (any should do I think) and send me the content of the ca.crt file and of the client.crt file? The contents are public certificates, so no need to worry/hide it. Let me know if you need any help.
Thanks!

Here is my openvpn.zip file i got from cyberghost yesterday.
Greetings,
Kees-Jan
Content ca.crt:
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----
Content client.crt:
-----BEGIN CERTIFICATE-----
MIIGrDCCBJSgAwIBAgIEAdTnfTANBgkqhkiG9w0BAQsFADB7MQswCQYDVQQGEwJS
TzESMBAGA1UEBxMJQnVjaGFyZXN0MRgwFgYDVQQKEw9DeWJlckdob3N0IFMuQS4x
GzAZBgNVBAMTEkN5YmVyR2hvc3QgUm9vdCBDQTEhMB8GCSqGSIb3DQEJARYSaW5m
b0BjeWJlcmdob3N0LnJvMB4XDTIwMDcwNDE1MjkzNloXDTMwMDcwMjE1MjkzNlow
fTELMAkGA1UEBhMCUk8xEjAQBgNVBAcMCUJ1Y2hhcmVzdDEYMBYGA1UECgwPQ3li
ZXJHaG9zdCBTLkEuMR0wGwYDVQQDDBRjLmoua2xhdmVyQGdtYWlsLmNvbTEhMB8G
CSqGSIb3DQEJARYSaW5mb0BjeWJlcmdob3N0LnJvMIICIjANBgkqhkiG9w0BAQEF
AAOCAg8AMIICCgKCAgEAobp2NlGUHMNBe08YEOnVG3QJjF3ZaXbRhE/II9rmtgJT
NZtDohGChvFlNRsExKzVrKxHCeuJkVffwzQ6fYk4/M1RdYLJUh0UVw3e4WdApw8E
7TJZxDYm4SHQNXUvt1Rt5TjslcXxIpDZgrMSc/kHROYEL9tdgdzPZErUJehXyJPh
EzIrzmAJh501x7WwKPz9ctSVlItyavqEWFF2vyUa6X9DYmD9mQTz5c+VXNO5DkXm
PFBIaEVDnvFtcjGJ56yEvFnWVukL+OUX7ezowrIOFOcp9udjgpeiHq+XvsQ6ER0D
Jt25MiEId3NjkxtZ8BitDftTcLN/kt81hWKT7adMVc3kpIZ80cxrwRCttMd7sHAz
KI9u7pMxv10eUOsIEY87ewBe3l6KvEnjA+9uIjim6gLLebDIaEH50Ee9PzNJ8fqQ
2u54Ab4bt00/H1sUnJ6Ss/+WsQDOK1BsPRKKcnHZntOlHrs2Tu5+txKNU2cOapI8
SjVULUNKrRXASbpfWnLUfri/HO742bJb/TjkOJcOxta3hTPFAhaRWBusVlB41XVH
euH5DAhugYXeSNK6/6Ul8YvKUNH/7QbxuGIGXfth19Xl4QLI1umyEjZopSlt3tOi
O2V1soVNSQCCfxXVoCTMESMLjhkjWdmBDhdy2GTW7S4YoJfqVKiS18rYkN7I4ZMC
AwEAAaOCATQwggEwMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgWgMDQGCWCGSAGG+EIB
DQQnFiVDeWJlckdob3N0IEdlbmVyYXRlZCBVc2VyIENlcnRpZmljYXRlMBEGCWCG
SAGG+EIBAQQEAwIHgDAdBgNVHQ4EFgQULwUtU5s6pL2NN9gPeEnKX0dhwiswga0G
A1UdIwSBpTCBooAU6tdK1g/He5qzjeAoM5eHt4in9iWhf6R9MHsxCzAJBgNVBAYT
AlJPMRIwEAYDVQQHEwlCdWNoYXJlc3QxGDAWBgNVBAoTD0N5YmVyR2hvc3QgUy5B
LjEbMBkGA1UEAxMSQ3liZXJHaG9zdCBSb290IENBMSEwHwYJKoZIhvcNAQkBFhJp
bmZvQGN5YmVyZ2hvc3Qucm+CCQCcVButZsQ0uzANBgkqhkiG9w0BAQsFAAOCAgEA
ystGIMYhQWaEdTqlnLCytrr8657t+PuidZMNNIaPB3wN2Fi2xKf14DTg03mqxjmP
Pb+f+PVNIOV5PdWD4jcQwOP1GEboGV0DFzlRGeAtDcvKwdee4oASJbZq1CETqDao
hQTxKEWC+UBk2F36nOaEI6Sab+Mb4cR9//PAwvzOqrXuGF5NuIOX7eFtCMQSgQq6
lRRqTQjekm0Dxigx4JA92Jo2qZRwCJ0T3IXBJGL831HCFJbDWv8PV3lsfFb/i2+v
r54uywFQVWWp18dYi97gipfuQ4zRg2Ldx5aXSmnhhKpg5ioZvtk043QofF12YORh
obElqavRbvvhZvlCouvcuoq9QKi7IPe5SJZkZ1X7ezMesCwBzwFpt6vRUAcslsNF
bcYS1iSENlY/PTcDqBhbKuc9yAhq+/aUgaY/8VF5RWVzSRZufbf3BPwOkE4K0Uyb
aobO/YX0JOkCacAD+4tdR6YSXNIMMRAOCBQvxbxFXaHzhwhzBAjdsC56FrJKwXvQ
rRLU3tF4P0zFMeNTay8uTtUXugDK7EnklLESuYdpUJ8bUMlAUhJBi6UFI9/icMud
xXvLRvhnBW9EtKib5JnVFUovcEUt+3EJbyst05nkL4YPjQS4TC9DHdo5SyRAy1Tp
iOCYTbretAFZRhh6ycUN5hBeN8GMQxiMreMtDV4PEIQ=
-----END CERTIFICATE-----
Van: Quentin McGaw<EMAIL_ADDRESS>Verzonden: zondag 5 juli 2020 16:44
Aan: qdm12/private-internet-access-docker
CC: klavertje44; Author
Onderwerp: Re: [qdm12/private-internet-access-docker] Cyberghost: what to fill in CLIENT_KEY environment variable (#179)
Thanks for the help again. It's actually the certificate I got from a Cyberghost user which is not valid (got from #104 https://github.com/qdm12/private-internet-access-docker/issues/104 ).
Sorry for the trouble, but would you please download an openvpn zip file from cyberghost (any should do I think) and send me the content of the ca.crt file and of the client.crt file? The contents are public certificates, so no need to worry/hide it. Let me know if you need any help.
Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/qdm12/private-internet-access-docker/issues/179#issuecomment-653897472 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ANJNSEIYCHTDMFWBVV3WSLTR2CGTJANCNFSM4OQO4HMA .  https://github.com/notifications/beacon/ANJNSEN6KZFLTKCHWS2FOPLR2CGTJA5CNFSM4OQO4HMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOE3426AA.gif

Thanks!
I have pushed changes to fix it, it should now be working. Please wait for the build to finish, then pull the newer image docker pull qmcgaw/private-internet-access and try with this new one.
However, one last thing I might need from you, can you send me the ca.crt and client.crt for another region? I just want to make sure these are the same for all regions / server groups. If not, well, we're in trouble 😄 At least it will work for your region...

Thank you for all.
I  don’t know it  is working now.
I have no time for testing today, do it tomorrow.
The openvpn from region i send you in attachment
It is Pemium UDP USA with country United states.
Here is my log:
Greetings,
Kees-Jan
This is the log of the testing routine:
docker run --rm --network=container:gluetun alpine:3.12 wget -qO- https://ipinfo.io
Unable to find image 'alpine:3.12' locally
3.12: Pulling from library/alpine
52278dd8e579: Already exists
Digest: sha256:185518070891758909c9f839cf4ca393ee977ac378609f700f60a771a2dfe321
Status: Downloaded newer image for alpine:3.12
wget: bad address 'ipinfo.io'
This is the log I start container.
020-07-05T23:08:44.886+0200        INFO     openvpn configurator: checking for device /dev/net/tun
2020-07-05T23:08:44.886+0200       WARN     TUN device is not available: open /dev/net/tun: no such file or directory
2020-07-05T23:08:44.886+0200       INFO     openvpn configurator: creating /dev/net/tun
2020-07-05T23:08:44.886+0200       INFO     openvpn configurator: writing auth file /etc/openvpn/auth.conf
2020-07-05T23:08:44.886+0200       INFO     routing: detecting default network route
2020-07-05T23:08:44.887+0200       INFO     routing: default route found: interface eth0, gateway <IP_ADDRESS>, subnet <IP_ADDRESS>/16
2020-07-05T23:08:44.887+0200       INFO     firewall configurator: accepting all traffic
2020-07-05T23:08:44.908+0200       INFO     Launching standard output merger
2020-07-05T23:08:44.909+0200       INFO     firewall configurator: clearing all rules
2020-07-05T23:08:44.916+0200       INFO     firewall configurator: blocking all traffic
2020-07-05T23:08:44.927+0200       INFO     firewall configurator: creating general rules
2020-07-05T23:08:44.943+0200       INFO     firewall configurator: allowing output traffic to VPN server <IP_ADDRESS> through eth0 on port udp 1443
2020-07-05T23:08:44.947+0200       INFO     firewall configurator: allowing output traffic to VPN server <IP_ADDRESS> through eth0 on port udp 1443
2020-07-05T23:08:44.951+0200       INFO     firewall configurator: allowing output traffic to VPN server <IP_ADDRESS> through eth0 on port udp 1443
2020-07-05T23:08:44.955+0200       INFO     firewall configurator: allowing output traffic to VPN server <IP_ADDRESS> through eth0 on port udp 1443
2020-07-05T23:08:44.959+0200       INFO     firewall configurator: allowing output traffic to VPN server <IP_ADDRESS> through eth0 on port udp 1443
2020-07-05T23:08:44.963+0200       INFO     firewall configurator: allowing output traffic to VPN server <IP_ADDRESS> through eth0 on port udp 1443
2020-07-05T23:08:44.966+0200       INFO     firewall configurator: allowing output traffic to VPN server <IP_ADDRESS> through eth0 on port udp 1443
2020-07-05T23:08:44.970+0200       INFO     firewall configurator: allowing output traffic to VPN server <IP_ADDRESS> through eth0 on port udp 1443
2020-07-05T23:08:44.974+0200       INFO     firewall configurator: allowing output traffic to VPN server <IP_ADDRESS> through eth0 on port udp 1443
2020-07-05T23:08:44.978+0200       INFO     firewall configurator: allowing output traffic to VPN server <IP_ADDRESS> through eth0 on port udp 1443
2020-07-05T23:08:44.985+0200       INFO     firewall configurator: accepting input and output traffic for <IP_ADDRESS>/16
2020-07-05T23:08:44.991+0200       WARN     http server: restartOpenvpn function is not set, waiting...
2020-07-05T23:08:44.991+0200       INFO     openvpn: starting
2020-07-05T23:08:44.992+0200       INFO     openvpn configurator: starting openvpn
2020-07-05T23:08:44.994+0200       WARN     http server: restartUnbound function is not set, waiting...
2020-07-05T23:08:44.997+0200       INFO     openvpn: OpenVPN 2.4.9 armv7-alpine-linux-musleabihf [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Apr 20 2020
2020-07-05T23:08:44.997+0200       INFO     openvpn: library versions: OpenSSL 1.1.1g  21 Apr 2020, LZO 2.10
2020-07-05T23:08:45.014+0200       INFO     openvpn: TCP/UDP: Preserving recently used remote address: [AF_INET]<IP_ADDRESS>:1443
2020-07-05T23:08:45.015+0200       INFO     openvpn: UDP link local: (not bound)
2020-07-05T23:08:45.015+0200       INFO     openvpn: UDP link remote: [AF_INET]<IP_ADDRESS>:1443
2020-07-05T23:08:45.015+0200       INFO     openvpn: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
Van: Quentin McGaw<EMAIL_ADDRESS>Verzonden: zondag 5 juli 2020 16:44
Aan: qdm12/private-internet-access-docker
CC: klavertje44; Author
Onderwerp: Re: [qdm12/private-internet-access-docker] Cyberghost: what to fill in CLIENT_KEY environment variable (#179)
Thanks for the help again. It's actually the certificate I got from a Cyberghost user which is not valid (got from #104 https://github.com/qdm12/private-internet-access-docker/issues/104 ).
Sorry for the trouble, but would you please download an openvpn zip file from cyberghost (any should do I think) and send me the content of the ca.crt file and of the client.crt file? The contents are public certificates, so no need to worry/hide it. Let me know if you need any help.
Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/qdm12/private-internet-access-docker/issues/179#issuecomment-653897472 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ANJNSEIYCHTDMFWBVV3WSLTR2CGTJANCNFSM4OQO4HMA .  https://github.com/notifications/beacon/ANJNSEN6KZFLTKCHWS2FOPLR2CGTJA5CNFSM4OQO4HMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOE3426AA.gif

Hello,
It still doesn’t work yet.
I don’t know what to do.
I just download the newest image.
Here is my log:
=========================================,
================ Gluetun ================,
=========================================,
==== A mix of OpenVPN, DNS over TLS, ====,
======= Shadowsocks and Tinyproxy =======,
========= all glued up with Go ==========,
=========================================,
=========== For tunneling to ============,
======== your favorite VPN server =======,
=========================================,
=== Made with ❤  by github.com/qdm12 ====,
=========================================,
,
Running version latest built on 2020-07-05T20:16:21Z (commit 18e99d0),
,
,
🔧  Need help? https://github.com/qdm12/private-internet-access-docker/issues/new,
💻  Email<EMAIL_ADDRESS>☕  Slack? Join from the Slack button on Github,
💸  Help me? https://github.com/sponsors/qdm12,
2020-07-10T09:01:15.676+0200   INFO    ShadowSocks version: 3.3.4,
2020-07-10T09:01:15.693+0200   INFO    OpenVPN version: 2.4.9,
2020-07-10T09:01:15.700+0200   INFO    Unbound version: 1.10.1,
2020-07-10T09:01:15.709+0200   INFO    IPtables version: v1.8.4,
2020-07-10T09:01:15.790+0200   INFO    TinyProxy version: 1.10.0,
2020-07-10T09:01:15.794+0200   INFO    Settings summary below:,
OpenVPN settings:,
|--User: [redacted],
|--Password: [redacted],
|--Verbosity level: 1,
|--Run as root: no,
|--Cyberghost settings:,
 |--Network protocol: udp,
 |--ClientKey: [redacted],
 |--Group: premium udp europe,
 |--Region: netherlands,
 |--Target IP address: ������,
System settings:,
|--User ID: 1001,
|--Group ID: 100,
|--Timezone: europe/amsterdam,
|--IP Status filepath: /ip,
DNS over TLS settings:,
 |--DNS over TLS provider:,
  |--cloudflare,
 |--Caching: enabled,
 |--Block malicious: enabled,
 |--Block surveillance: disabled,
 |--Block ads: disabled,
 |--Allowed hostnames:,
  |--,
 |--Private addresses:,
  |--<IP_ADDRESS>/8,
  |--<IP_ADDRESS>/8,
  |--<IP_ADDRESS>/12,
  |--<IP_ADDRESS>/16,
  |--<IP_ADDRESS>/16,
  |--::1/128,
  |--fc00::/7,
  |--fe80::/10,
  |--::ffff:0:0/96,
 |--Verbosity level: 1/5,
 |--Verbosity details level: 0/4,
 |--Validation log level: 0/2,
 |--IPv6 resolution: disabled,
 |--Update: every 24h0m0s,
Firewall settings: disabled,
TinyProxy settings: disabled,
ShadowSocks settings: disabled,
,
2020-07-10T09:01:15.795+0200   INFO    openvpn configurator: checking for device /dev/net/tun,
2020-07-10T09:01:15.796+0200   INFO    routing: detecting default network route,
2020-07-10T09:01:15.797+0200   INFO    routing: default route found: interface eth0, gateway <IP_ADDRESS>, subnet <IP_ADDRESS>/16,
2020-07-10T09:01:15.798+0200   INFO    Launching standard output merger,
2020-07-10T09:01:15.799+0200   INFO    http server: listening on <IP_ADDRESS>:8000,
2020-07-10T09:01:15.800+0200   INFO    dns configurator: using DNS address <IP_ADDRESS> internally,
2020-07-10T09:01:15.800+0200   INFO    dns configurator: using DNS address <IP_ADDRESS> system wide,
2020-07-10T09:01:15.800+0200   INFO    openvpn configurator: /etc/openvpn/auth.conf already exists,
2020-07-10T09:01:15.801+0200   INFO    openvpn configurator: starting openvpn,
2020-07-10T09:01:15.806+0200   INFO    openvpn: OpenVPN 2.4.9 armv7-alpine-linux-musleabihf [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Apr 20 2020,
2020-07-10T09:01:15.807+0200   INFO    openvpn: library versions: OpenSSL 1.1.1g  21 Apr 2020, LZO 2.10,
2020-07-10T09:01:15.831+0200   INFO    openvpn: TCP/UDP: Preserving recently used remote address: [AF_INET]<IP_ADDRESS>:1443,
2020-07-10T09:01:15.831+0200   INFO    openvpn: UDP link local: (not bound),
2020-07-10T09:01:15.831+0200   INFO    openvpn: UDP link remote: [AF_INET]<IP_ADDRESS>:1443,
2020-07-10T09:01:15.831+0200   INFO    openvpn: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay,
2020-07-10T09:02:15.455+0200   INFO    openvpn: [UNDEF] Inactivity timeout (--ping-exit), exiting,
2020-07-10T09:02:15.455+0200   INFO    openvpn: SIGTERM[soft,ping-exit] received, process exiting,
2020-07-10T09:02:15.458+0200   WARN    openvpn: <nil>,
2020-07-10T09:02:15.458+0200   INFO    openvpn: restarting,
2020-07-10T09:02:15.459+0200   WARN    close |0: file already closed,
2020-07-10T09:02:16.459+0200   INFO    openvpn configurator: /etc/openvpn/auth.conf already exists,
2020-07-10T09:02:16.459+0200   INFO    openvpn configurator: starting openvpn,
2020-07-10T09:02:16.470+0200   INFO    openvpn: OpenVPN 2.4.9 armv7-alpine-linux-musleabihf [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Apr 20 2020,
2020-07-10T09:02:16.470+0200   INFO    openvpn: library versions: OpenSSL 1.1.1g  21 Apr 2020, LZO 2.10,
2020-07-10T09:02:16.483+0200   INFO    openvpn: TCP/UDP: Preserving recently used remote address: [AF_INET]<IP_ADDRESS>:1443,
2020-07-10T09:02:16.483+0200   INFO    openvpn: UDP link local: (not bound),
2020-07-10T09:02:16.484+0200   INFO    openvpn: UDP link remote: [AF_INET]<IP_ADDRESS>:1443,
2020-07-10T09:02:16.484+0200   INFO    openvpn: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay,

Sorry for the delay. Could you please send here the openvpn.ovpn file content corresponding to the region you want "Netherlands" and group "Premium UDP Europe"? Check to remove your username and password also.

I re-resolved all Cyberghost hostnames (and nl-ams.cg-dialup.net for Amsterdam) to IP addresses and nothing changed, so my guess is the UDP port tried for Cyberghost is wrong. (hopefully!)

This is my opvn file i downloaded from Cyberghost:
client
remote 87-1-nl.cg-dialup.net 443
dev tun
proto udp
auth-user-pass
resolv-retry infinite
redirect-gateway def1
persist-key
persist-tun
nobind
cipher AES-256-CBC
ncp-disable
auth SHA256
ping 5
ping-exit 60
ping-timer-rem
explicit-exit-notify 2
script-security 2
remote-cert-tls server
route-delay 5
verb 4
ca ca.crt
cert client.crt
key client.key
Van: Quentin McGaw<EMAIL_ADDRESS>Verzonden: zaterdag 11 juli 2020 23:41
Aan: qdm12/private-internet-access-docker
CC: klavertje44; Author
Onderwerp: Re: [qdm12/private-internet-access-docker] Cyberghost: what to fill in CLIENT_KEY environment variable (#179)
Sorry for the delay. Could you please send here the openvpn.ovpn file content corresponding to the region you want "Netherlands" and group "Premium UDP Europe"? Check to remove your username and password also.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/qdm12/private-internet-access-docker/issues/179#issuecomment-657134467 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ANJNSEP4SLRYDLBJ6F3RRYDR3DL6PANCNFSM4OQO4HMA .  https://github.com/notifications/beacon/ANJNSEPDB6PSEYEUJ7WVYX3R3DL6PA5CNFSM4OQO4HMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOE4VRHAY.gif

I pushed some very tiny changes to the openvpn configuration for cyberghost, but I'm not sure this will solve it.
Can you please try the following?
docker pull qmcgaw/private-internet-access
docker run -it --rm --cap-add=NET_ADMIN -e USER=<your-user> -e PASSWORD=<your-password> -e CLIENTKEY=<your-long-one-line-client-key> qmcgaw/private-internet-access | tee log.txt

This will pull the latest docker image, run it and write the logs as a copy to log.txt on your host machine.
You can stop the container with CTRL+C (which will get deleted once it exits)
Please then send me the full log.txt file so I can recheck what openvpn would be complaining about.

Maybe if we're lucky you will get Initialization sequence completed from openvpn which means it works.

Hello,
Here is my log.txt file in attachment.
Still not working.
Greeting.
Kees-Jan
Van: Quentin McGaw<EMAIL_ADDRESS>Verzonden: zondag 12 juli 2020 17:04
Aan: qdm12/private-internet-access-docker
CC: klavertje44; Author
Onderwerp: Re: [qdm12/private-internet-access-docker] Cyberghost: what to fill in CLIENT_KEY environment variable (#179)
I pushed some very tiny changes to the openvpn configuration for cyberghost, but I'm not sure this will solve it.
Can you please try the following?
docker pull qmcgaw/private-internet-access
docker run -it --rm --cap-add=NET_ADMIN -e USER= -e PASSWORD= -e CLIENTKEY= qmcgaw/private-internet-access | tee log.txt

This will pull the latest docker image, run it and write the logs as a copy to log.txt on your host machine.
You can stop the container with CTRL+C (which will get deleted once it exits)
Please then send me the full log.txt file so I can recheck what openvpn would be complaining about.

Maybe if we're lucky you will get Initialization sequence completed from openvpn which means it works.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/qdm12/private-internet-access-docker/issues/179#issuecomment-657233865 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ANJNSEMUK7XZDTLUCBVNOXDR3HGGLANCNFSM4OQO4HMA .  https://github.com/notifications/beacon/ANJNSEM6DDLRHQJYJYQWYUTR3HGGLA5CNFSM4OQO4HMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOE4WJPSI.gif
=========================================
================ Gluetun ================
==== A mix of OpenVPN, DNS over TLS, ====
======= Shadowsocks and Tinyproxy =======
========= all glued up with Go ==========
=========== For tunneling to ============
======== your favorite VPN server =======
=== Made with ❤  by github.com/qdm12 ====
Running version latest built on 2020-07-13T02:18:29Z (commit 4a7d341)
🔧  Need help? https://github.com/qdm12/private-internet-access-docker/issues/new
💻  Email<EMAIL_ADDRESS>☕  Slack? Join from the Slack button on Github
💸  Help me? https://github.com/sponsors/qdm12
2020-07-13T06:19:28.861Z	INFO	OpenVPN version: 2.4.9
2020-07-13T06:19:28.868Z	INFO	Unbound version: 1.10.1
2020-07-13T06:19:28.871Z	INFO	IPtables version: v1.8.4
2020-07-13T06:19:28.916Z	INFO	TinyProxy version: 1.10.0
2020-07-13T06:19:28.922Z	INFO	ShadowSocks version: 3.3.4
2020-07-13T06:19:28.923Z	INFO	Settings summary below:
OpenVPN settings:
|--User: [redacted]
|--Password: [redacted]
|--Verbosity level: 1
|--Run as root: no
|--Private Internet Access settings:
|--Network protocol: udp
|--Region: austria
|--Encryption preset: strong
|--Port forwarding: off
System settings:
|--User ID: 1000
|--Group ID: 1000
|--Timezone:
|--IP Status filepath: /ip
DNS over TLS settings:
|--DNS over TLS provider:
|--cloudflare
|--Caching: enabled
|--Block malicious: enabled
|--Block surveillance: disabled
|--Block ads: disabled

--Allowed hostnames:

--Private addresses:

--<IP_ADDRESS>/8

--<IP_ADDRESS>/8

--<IP_ADDRESS>/12

--<IP_ADDRESS>/16

--<IP_ADDRESS>/16

--::1/128

--fc00::/7

--fe80::/10

--::ffff:0:0/96

--Verbosity level: 1/5

--Verbosity details level: 0/4

--Validation log level: 0/2

--IPv6 resolution: disabled

--Update: every 24h0m0s

--Keep nameserver (disabled blocking): no

Firewall settings:

--Allowed subnets:

TinyProxy settings: disabled

ShadowSocks settings: disabled

2020-07-13T06:19:28.926Z	INFO	openvpn configurator: checking for device /dev/net/tun
2020-07-13T06:19:28.926Z	WARN	TUN device is not available: open /dev/net/tun: no such file or directory
2020-07-13T06:19:28.926Z	INFO	openvpn configurator: creating /dev/net/tun
2020-07-13T06:19:28.927Z	INFO	firewall: enabling...
2020-07-13T06:19:28.927Z	INFO	Launching standard output merger
2020-07-13T06:19:28.927Z	INFO	routing: default route found: interface eth0, gateway <IP_ADDRESS>
2020-07-13T06:19:28.928Z	INFO	routing: local subnet found: <IP_ADDRESS>/16
2020-07-13T06:19:28.999Z	INFO	firewall: enabled successfully
2020-07-13T06:19:28.999Z	INFO	firewall: setting allowed subnets through firewall...
2020-07-13T06:19:29.000Z	INFO	http server: listening on <IP_ADDRESS>:8000
2020-07-13T06:19:29.000Z	INFO	dns over tls: falling back on plaintext DNS at address <IP_ADDRESS>
2020-07-13T06:19:29.001Z	INFO	dns configurator: using DNS address <IP_ADDRESS> internally
2020-07-13T06:19:29.001Z	INFO	dns configurator: using DNS address <IP_ADDRESS> system wide
2020-07-13T06:19:29.002Z	INFO	firewall: setting VPN connections through firewall...
2020-07-13T06:19:29.003Z	INFO	routing: default route found: interface eth0, gateway <IP_ADDRESS>
2020-07-13T06:19:29.047Z	INFO	openvpn configurator: starting openvpn
2020-07-13T06:19:29.056Z	INFO	openvpn: OpenVPN 2.4.9 armv7-alpine-linux-musleabihf [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Apr 20 2020
2020-07-13T06:19:29.056Z	INFO	openvpn: library versions: OpenSSL 1.1.1g  21 Apr 2020, LZO 2.10
2020-07-13T06:19:29.058Z	INFO	openvpn: WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail
2020-07-13T06:19:29.068Z	INFO	openvpn: CRL: loaded 1 CRLs from file [[INLINE]]
2020-07-13T06:19:29.069Z	INFO	openvpn: TCP/UDP: Preserving recently used remote address: [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:19:29.069Z	INFO	openvpn: UDP link local: (not bound)
2020-07-13T06:19:29.069Z	INFO	openvpn: UDP link remote: [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:19:29.069Z	INFO	openvpn: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
2020-07-13T06:19:29.483Z	INFO	openvpn: WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1570', remote='link-mtu 1542'
2020-07-13T06:19:29.484Z	INFO	openvpn: WARNING: 'cipher' is used inconsistently, local='cipher AES-256-CBC', remote='cipher BF-CBC'
2020-07-13T06:19:29.485Z	INFO	openvpn: WARNING: 'auth' is used inconsistently, local='auth SHA256', remote='auth SHA1'
2020-07-13T06:19:29.486Z	INFO	openvpn: WARNING: 'keysize' is used inconsistently, local='keysize 256', remote='keysize 128'
2020-07-13T06:19:29.487Z	INFO	openvpn: [2b53cbc551a8ff20613eec3c06505df8] Peer Connection Initiated with [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:19:30.652Z	INFO	openvpn: AUTH: Received control message: AUTH_FAILED
2020-07-13T06:19:30.652Z	INFO	openvpn: SIGUSR1[soft,auth-failure] received, process restarting
2020-07-13T06:19:40.652Z	INFO	openvpn: WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail
2020-07-13T06:19:40.653Z	INFO	openvpn: TCP/UDP: Preserving recently used remote address: [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:19:40.653Z	INFO	openvpn: UDP link local: (not bound)
2020-07-13T06:19:40.653Z	INFO	openvpn: UDP link remote: [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:19:41.135Z	INFO	openvpn: WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1570', remote='link-mtu 1542'
2020-07-13T06:19:41.136Z	INFO	openvpn: WARNING: 'cipher' is used inconsistently, local='cipher AES-256-CBC', remote='cipher BF-CBC'
2020-07-13T06:19:41.136Z	INFO	openvpn: WARNING: 'auth' is used inconsistently, local='auth SHA256', remote='auth SHA1'
2020-07-13T06:19:41.136Z	INFO	openvpn: WARNING: 'keysize' is used inconsistently, local='keysize 256', remote='keysize 128'
2020-07-13T06:19:41.136Z	INFO	openvpn: [2b53cbc551a8ff20613eec3c06505df8] Peer Connection Initiated with [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:19:47.261Z	INFO	openvpn: AUTH: Received control message: AUTH_FAILED
2020-07-13T06:19:47.261Z	INFO	openvpn: SIGUSR1[soft,auth-failure] received, process restarting
2020-07-13T06:19:57.262Z	INFO	openvpn: WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail
2020-07-13T06:19:57.263Z	INFO	openvpn: TCP/UDP: Preserving recently used remote address: [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:19:57.264Z	INFO	openvpn: UDP link local: (not bound)
2020-07-13T06:19:57.265Z	INFO	openvpn: UDP link remote: [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:19:57.734Z	INFO	openvpn: WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1570', remote='link-mtu 1542'
2020-07-13T06:19:57.734Z	INFO	openvpn: WARNING: 'cipher' is used inconsistently, local='cipher AES-256-CBC', remote='cipher BF-CBC'
2020-07-13T06:19:57.735Z	INFO	openvpn: WARNING: 'auth' is used inconsistently, local='auth SHA256', remote='auth SHA1'
2020-07-13T06:19:57.735Z	INFO	openvpn: WARNING: 'keysize' is used inconsistently, local='keysize 256', remote='keysize 128'
2020-07-13T06:19:57.735Z	INFO	openvpn: [2b53cbc551a8ff20613eec3c06505df8] Peer Connection Initiated with [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:19:58.904Z	INFO	openvpn: AUTH: Received control message: AUTH_FAILED
2020-07-13T06:19:58.904Z	INFO	openvpn: SIGUSR1[soft,auth-failure] received, process restarting
2020-07-13T06:20:08.905Z	INFO	openvpn: WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail
2020-07-13T06:20:08.906Z	INFO	openvpn: TCP/UDP: Preserving recently used remote address: [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:20:08.907Z	INFO	openvpn: UDP link local: (not bound)
2020-07-13T06:20:08.907Z	INFO	openvpn: UDP link remote: [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:20:09.359Z	INFO	openvpn: WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1570', remote='link-mtu 1542'
2020-07-13T06:20:09.359Z	INFO	openvpn: WARNING: 'cipher' is used inconsistently, local='cipher AES-256-CBC', remote='cipher BF-CBC'
2020-07-13T06:20:09.359Z	INFO	openvpn: WARNING: 'auth' is used inconsistently, local='auth SHA256', remote='auth SHA1'
2020-07-13T06:20:09.359Z	INFO	openvpn: WARNING: 'keysize' is used inconsistently, local='keysize 256', remote='keysize 128'
2020-07-13T06:20:09.360Z	INFO	openvpn: [2b53cbc551a8ff20613eec3c06505df8] Peer Connection Initiated with [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:20:10.571Z	INFO	openvpn: AUTH: Received control message: AUTH_FAILED
2020-07-13T06:20:10.572Z	INFO	openvpn: SIGUSR1[soft,auth-failure] received, process restarting
2020-07-13T06:20:20.572Z	INFO	openvpn: WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail
2020-07-13T06:20:20.573Z	INFO	openvpn: TCP/UDP: Preserving recently used remote address: [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:20:20.575Z	INFO	openvpn: UDP link local: (not bound)
2020-07-13T06:20:20.577Z	INFO	openvpn: UDP link remote: [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:20:21.045Z	INFO	openvpn: WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1570', remote='link-mtu 1542'
2020-07-13T06:20:21.046Z	INFO	openvpn: WARNING: 'cipher' is used inconsistently, local='cipher AES-256-CBC', remote='cipher BF-CBC'
2020-07-13T06:20:21.046Z	INFO	openvpn: WARNING: 'auth' is used inconsistently, local='auth SHA256', remote='auth SHA1'
2020-07-13T06:20:21.046Z	INFO	openvpn: WARNING: 'keysize' is used inconsistently, local='keysize 256', remote='keysize 128'
2020-07-13T06:20:21.047Z	INFO	openvpn: [2b53cbc551a8ff20613eec3c06505df8] Peer Connection Initiated with [AF_INET]<IP_ADDRESS>:1197
2020-07-13T06:20:27.232Z	INFO	openvpn: AUTH: Received control message: AUTH_FAILED
2020-07-13T06:20:27.233Z	INFO	openvpn: SIGUSR1[soft,auth-failure] received, process restarting
^Z
^C2020-07-13T06:20:32.287Z	WARN	Caught OS signal interrupt, shutting down
2020-07-13T06:20:32.287Z	INFO	Clearing ip status file /ip
2020-07-13T06:20:32.287Z	WARN	http server: context canceled: exiting loop
2020-07-13T06:20:32.288Z	WARN	openvpn: context canceled: exiting loop
2020-07-13T06:20:32.288Z	WARN	http server: loop exited
2020-07-13T06:20:32.291Z	WARN	openvpn: loop exited
2020-07-13T06:20:32.292Z	INFO	Shutdown successful

That seems to be bad credentials, are you sure about your username + password + client key? I think I'll add the possibility to bind mount the client key file as a volume just to make sure it works.

I use the same files is a Linux Mint environment by importing the .opvn file and then I have a VPN connection with Cyberghost.
I double checked it.
Van: Quentin McGaw<EMAIL_ADDRESS>Verzonden: maandag 13 juli 2020 14:20
Aan: qdm12/private-internet-access-docker
CC: klavertje44; Author
Onderwerp: Re: [qdm12/private-internet-access-docker] Cyberghost: what to fill in CLIENT_KEY environment variable (#179)
That seems to be bad credentials, are you sure about your username + password + client key? I think I'll add the possibility to bind mount the client key file as a volume just to make sure it works.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/qdm12/private-internet-access-docker/issues/179#issuecomment-657527775 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ANJNSEOQQMVSEUZRZL5JV23R3L3XJANCNFSM4OQO4HMA .  https://github.com/notifications/beacon/ANJNSENYFXNI7D7VMI4R4QTR3L3XJA5CNFSM4OQO4HMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOE4YRHXY.gif

Hello, you can now just bind mount the client.key file to /files/client.key (see readme) instead of specifying it as an environment variable as CLIENT_KEY. Can you please try it out to see if it works?
I also added a openvpnconfig command to print out the openvpn config generated without actually doing anything else, you can use it with if you want to try it in your other environment (although remove the user nonrootuser line):
docker pull qmcgaw/private-internet-access
docker run -it --rm -e USER=blabla ....YourOtherVariables.... qmcgaw/private-internet-access openvpnconfig

I’m sorry.
Didn’t work again.
See log at attachment.
I can give you user/password in private mail for testing.
After that I make a new account.
Greetings
Kees-Jan
Van: Quentin McGaw<EMAIL_ADDRESS>Verzonden: dinsdag 14 juli 2020 02:22
Aan: qdm12/private-internet-access-docker
CC: klavertje44; Author
Onderwerp: Re: [qdm12/private-internet-access-docker] Cyberghost: what to fill in CLIENT_KEY environment variable (#179)
Hello, you can now just bind mount the client.key file to /files/client.key (see readme) instead of specifying it as an environment variable as CLIENT_KEY. Can you please try it out to see if it works?
I also added a openvpnconfig command to print out the openvpn config generated without actually doing anything else, you can use it with if you want to try it in your other environment (although remove the user nonrootuser line):
docker pull qmcgaw/private-internet-access
docker run -it --rm -e USER=blabla ....YourOtherVariables.... qmcgaw/private-internet-access openvpnconfig
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/qdm12/private-internet-access-docker/issues/179#issuecomment-657895702 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ANJNSELT7MEBFY7TZXJABNDR3OQKBANCNFSM4OQO4HMA .  https://github.com/notifications/beacon/ANJNSEKT73SQGGZKRJPMOVTR3OQKBA5CNFSM4OQO4HMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOE43LCFQ.gif
=========================================
================ Gluetun ================
==== A mix of OpenVPN, DNS over TLS, ====
======= Shadowsocks and Tinyproxy =======
========= all glued up with Go ==========
=========== For tunneling to ============
======== your favorite VPN server =======
=== Made with ❤  by github.com/qdm12 ====
Running version latest built on 2020-07-14T00:39:36Z (commit de7f12d)
📣  Video of the Git history of Gluetun (2020 is crazy): https://youtu.be/khipOYJtGJ0
🔧  Need help? https://github.com/qdm12/private-internet-access-docker/issues/new
💻  Email<EMAIL_ADDRESS>☕  Slack? Join from the Slack button on Github
💸  Help me? https://github.com/sponsors/qdm12
2020-07-14T08:27:51.293Z	INFO	IPtables version: v1.8.4
2020-07-14T08:27:51.340Z	INFO	TinyProxy version: 1.10.0
2020-07-14T08:27:51.347Z	INFO	ShadowSocks version: 3.3.4
2020-07-14T08:27:51.372Z	INFO	OpenVPN version: 2.4.9
2020-07-14T08:27:51.378Z	INFO	Unbound version: 1.10.1
2020-07-14T08:27:51.379Z	INFO	Settings summary below:
OpenVPN settings:
|--User: [redacted]
|--Password: [redacted]
|--Verbosity level: 1
|--Run as root: no
|--Private Internet Access settings:
|--Network protocol: udp
|--Region: austria
|--Encryption preset: strong
|--Port forwarding: off
System settings:
|--User ID: 1000
|--Group ID: 1000
|--Timezone:
|--IP Status filepath: /ip
DNS over TLS settings:
|--DNS over TLS provider:
|--cloudflare
|--Caching: enabled
|--Block malicious: enabled
|--Block surveillance: disabled
|--Block ads: disabled

--Allowed hostnames:

--Private addresses:

--<IP_ADDRESS>/8

--<IP_ADDRESS>/8

--<IP_ADDRESS>/12

--<IP_ADDRESS>/16

--<IP_ADDRESS>/16

--::1/128

--fc00::/7

--fe80::/10

--::ffff:0:0/96

--Verbosity level: 1/5

--Verbosity details level: 0/4

--Validation log level: 0/2

--IPv6 resolution: disabled

--Update: every 24h0m0s

--Keep nameserver (disabled blocking): no

Firewall settings:

--Allowed subnets:

TinyProxy settings: disabled

ShadowSocks settings: disabled

2020-07-14T08:27:51.383Z	INFO	openvpn configurator: checking for device /dev/net/tun
2020-07-14T08:27:51.383Z	WARN	TUN device is not available: open /dev/net/tun: no such file or directory
2020-07-14T08:27:51.383Z	INFO	openvpn configurator: creating /dev/net/tun
2020-07-14T08:27:51.384Z	INFO	firewall: enabling...
2020-07-14T08:27:51.384Z	INFO	Launching standard output merger
2020-07-14T08:27:51.384Z	INFO	routing: default route found: interface eth0, gateway <IP_ADDRESS>
2020-07-14T08:27:51.385Z	INFO	routing: local subnet found: <IP_ADDRESS>/16
2020-07-14T08:27:51.423Z	INFO	firewall: enabled successfully
2020-07-14T08:27:51.424Z	INFO	firewall: setting allowed subnets through firewall...
2020-07-14T08:27:51.424Z	INFO	http server: listening on <IP_ADDRESS>:8000
2020-07-14T08:27:51.425Z	INFO	dns over tls: falling back on plaintext DNS at address <IP_ADDRESS>
2020-07-14T08:27:51.426Z	INFO	dns configurator: using DNS address <IP_ADDRESS> internally
2020-07-14T08:27:51.427Z	INFO	dns configurator: using DNS address <IP_ADDRESS> system wide
2020-07-14T08:27:51.427Z	INFO	firewall: setting VPN connections through firewall...
2020-07-14T08:27:51.428Z	INFO	routing: default route found: interface eth0, gateway <IP_ADDRESS>
2020-07-14T08:27:51.478Z	INFO	openvpn configurator: starting openvpn
2020-07-14T08:27:51.484Z	INFO	openvpn: OpenVPN 2.4.9 armv7-alpine-linux-musleabihf [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Apr 20 2020
2020-07-14T08:27:51.484Z	INFO	openvpn: library versions: OpenSSL 1.1.1g  21 Apr 2020, LZO 2.10
2020-07-14T08:27:51.486Z	INFO	openvpn: WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail
2020-07-14T08:27:51.491Z	INFO	openvpn: CRL: loaded 1 CRLs from file [[INLINE]]
2020-07-14T08:27:51.492Z	INFO	openvpn: TCP/UDP: Preserving recently used remote address: [AF_INET]<IP_ADDRESS>:1197
2020-07-14T08:27:51.492Z	INFO	openvpn: UDP link local: (not bound)
2020-07-14T08:27:51.492Z	INFO	openvpn: UDP link remote: [AF_INET]<IP_ADDRESS>:1197
2020-07-14T08:27:51.493Z	INFO	openvpn: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
2020-07-14T08:27:51.918Z	INFO	openvpn: WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1570', remote='link-mtu 1542'
2020-07-14T08:27:51.919Z	INFO	openvpn: WARNING: 'cipher' is used inconsistently, local='cipher AES-256-CBC', remote='cipher BF-CBC'
2020-07-14T08:27:51.919Z	INFO	openvpn: WARNING: 'auth' is used inconsistently, local='auth SHA256', remote='auth SHA1'
2020-07-14T08:27:51.920Z	INFO	openvpn: WARNING: 'keysize' is used inconsistently, local='keysize 256', remote='keysize 128'
2020-07-14T08:27:51.920Z	INFO	openvpn: [2e7bfaabd89c007a1738e0ee53ec90f5] Peer Connection Initiated with [AF_INET]<IP_ADDRESS>:1197
2020-07-14T08:27:58.033Z	INFO	openvpn: AUTH: Received control message: AUTH_FAILED
2020-07-14T08:27:58.033Z	INFO	openvpn: SIGUSR1[soft,auth-failure] received, process restarting
2020-07-14T08:28:08.034Z	INFO	openvpn: WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail
2020-07-14T08:28:08.034Z	INFO	openvpn: TCP/UDP: Preserving recently used remote address: [AF_INET]<IP_ADDRESS>:1197
2020-07-14T08:28:08.034Z	INFO	openvpn: UDP link local: (not bound)
2020-07-14T08:28:08.034Z	INFO	openvpn: UDP link remote: [AF_INET]<IP_ADDRESS>:1197
2020-07-14T08:28:08.509Z	INFO	openvpn: WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1570', remote='link-mtu 1542'
2020-07-14T08:28:08.510Z	INFO	openvpn: WARNING: 'cipher' is used inconsistently, local='cipher AES-256-CBC', remote='cipher BF-CBC'
2020-07-14T08:28:08.510Z	INFO	openvpn: WARNING: 'auth' is used inconsistently, local='auth SHA256', remote='auth SHA1'
2020-07-14T08:28:08.510Z	INFO	openvpn: WARNING: 'keysize' is used inconsistently, local='keysize 256', remote='keysize 128'
2020-07-14T08:28:08.510Z	INFO	openvpn: [2e7bfaabd89c007a1738e0ee53ec90f5] Peer Connection Initiated with [AF_INET]<IP_ADDRESS>:1197
2020-07-14T08:28:09.716Z	INFO	openvpn: AUTH: Received control message: AUTH_FAILED
2020-07-14T08:28:09.717Z	INFO	openvpn: SIGUSR1[soft,auth-failure] received, process restarting
^Z2020-07-14T08:28:19.717Z	INFO	openvpn: WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail
2020-07-14T08:28:19.719Z	INFO	openvpn: TCP/UDP: Preserving recently used remote address: [AF_INET]<IP_ADDRESS>:1197
2020-07-14T08:28:19.719Z	INFO	openvpn: UDP link local: (not bound)
2020-07-14T08:28:19.720Z	INFO	openvpn: UDP link remote: [AF_INET]<IP_ADDRESS>:1197
2020-07-14T08:28:20.199Z	INFO	openvpn: WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1570', remote='link-mtu 1542'
2020-07-14T08:28:20.200Z	INFO	openvpn: WARNING: 'cipher' is used inconsistently, local='cipher AES-256-CBC', remote='cipher BF-CBC'
2020-07-14T08:28:20.200Z	INFO	openvpn: WARNING: 'auth' is used inconsistently, local='auth SHA256', remote='auth SHA1'
2020-07-14T08:28:20.200Z	INFO	openvpn: WARNING: 'keysize' is used inconsistently, local='keysize 256', remote='keysize 128'
2020-07-14T08:28:20.201Z	INFO	openvpn: [2e7bfaabd89c007a1738e0ee53ec90f5] Peer Connection Initiated with [AF_INET]<IP_ADDRESS>:1197
2020-07-14T08:28:26.283Z	INFO	openvpn: AUTH: Received control message: AUTH_FAILED
2020-07-14T08:28:26.285Z	INFO	openvpn: SIGUSR1[soft,auth-failure] received, process restarting
^Z^X^C2020-07-14T08:28:32.823Z	WARN	Caught OS signal interrupt, shutting down
2020-07-14T08:28:32.823Z	INFO	openvpn: SIGINT[hard,init_instance] received, process exiting
2020-07-14T08:28:32.823Z	WARN	openvpn: context canceled: exiting loop
2020-07-14T08:28:32.823Z	WARN	http server: context canceled: exiting loop
2020-07-14T08:28:32.823Z	INFO	Clearing ip status file /ip
2020-07-14T08:28:32.824Z	WARN	http server: loop exited
2020-07-14T08:28:32.826Z	WARN	openvpn: loop exited
2020-07-14T08:28:32.826Z	INFO	Shutdown successful

Yes let's do that, my email is<EMAIL_ADDRESS>Sorry I couldn't resolve it so far :confused:
I'll do it this evening (EST timezone). Thanks.

Unfortunately the vpn connection is not stable. If in another container (transmission) running via gluetun network the connection drops.
I can't find anything about it in the log.
Network in transmission container is 'none'. --network=container:gluetun and the port forwarding for transmission is configured in the gluetun container.

Could you please open another issue as this one is already quite long and about something else. Thanks!
Does gluetun has connectivity? Is it just port forwarding not working? You can mention that in the new issue.

Hello there, please note that the Cyberghost setup got fixed and was changed slightly from :latest and :v3.8.0, see the newer readme. Essentially you need to move both your client.key and client.crt in the /gluetun directory.


Remove anyStruct

Purpose
This PR removes anyStruct from reflect package.
Resolves #8000

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9d60dab). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master   #12915   +/-   ##
=========================================
  Coverage          ?   59.32%
  Complexity        ?      659
=========================================
  Files             ?     2106
  Lines             ?   102995
  Branches          ?    13151
=========================================
  Hits              ?    61100
  Misses            ?    36685
  Partials          ?     5210

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9d60dab...e734f1e. Read the comment docs.


Fixed shadow volume regression for mobile

Fixes https://github.com/CesiumGS/cesium/issues/8953
https://github.com/CesiumGS/cesium/pull/8854 clamped vertices to the near plane in order to create a watertight shadow volume. While this happened to work well for orthographic mode, and worked sometimes on desktop (curiously, only when ANGLE was enabled), it broke down for mobile, and was flawed to begin with. This is because the way we do shadow volumes doesn't actually require the front of the volume to be closed, just the back.
Ultimately we want a solution that emulates GL_DEPTH_CLAMP, which is not available in WebGL 1 or 2. GL_DEPTH_CLAMP clamps geometry that is outside the near and far planes, capping the shadow volume. More information here.
We emulate GL_DEPTH_CLAMP by ensuring no geometry gets clipped by setting the clip space z value to 0.0 and then sending the unaltered screen space z value (using emulated noperspective interpolation) to the frag shader where it is clamped to [0,1] and then written with gl_FragDepth. This is the solution when GL_EXT_frag_depth is available and works for both perspective and orthographic. It is based off of https://stackoverflow.com/questions/5960757/how-to-emulate-gl-depth-clamp-nv.
When GL_EXT_frag_depth is not available, which is the case on some mobile devices, we must attempt to fix this only in the vertex shader. Our approach is to clamp the z value to the far plane, which closes the shadow volume but also distorts the geometry, so there can still be artifacts on frustum seams but it won't be as severe as the code in https://github.com/CesiumGS/cesium/pull/8854 which also clamps the near plane unnecessarily.
Before:

After:

Sandcastle
Here are some examples of frustum seam artifacts that could not be fixed in this PR when GL_EXT_frag_depth is not available. These artifacts have existed since shadow volumes were first implemented:

Sandcastle for testing more options
@lilleyse and I worked on this fix together so someone else should review. @kring?
CC @OmarShehata

This PR fixes some other artifacts when log depth is disabled:

This PR fixes some other artifacts when log depth is disabled:

This is certainly an improvement but I still have some problems on my Android:
Before:

After:

Ah I should've mentioned I had only tested the ellipse sandcastle on desktop linux where it is now fixed. I see those same artifacts on Android where frag depth isn't supported (in the WebGL 1 context at least).


Compile ManimCommunity with Cython.

Enhancement proposal
ManimCommunity is a graphics library, while Python is slow. To speed up the rendering, one possible option is to use Cython to compile the scripts.
I have done a small benchmark using the SineCurveUnitCircle in the gallery using python3.8 -m cProfile -s tottime -m manim unit_circle.py SineCurveUnitCircle -q k -p for both compiled using pyximport and uncompiled. It turns out it's 1.25 times faster.
Additional comments
PROS

Can be really fast with proper optimization, since ManimCommunity interacts with numpy and other C/C++ libs too. (May reach 2000 to 3000 times faster.)

CONS

Harder to distribute, since we have to compile the scripts.
May introduce more tricky bugs, causing directly crashes, also makes the project harder to maintain.

One solution

Use Pure Python Mode, and provide compiled ManimCommunity as a feature.

Profiling

Compiled: manim_profileK_C.txt
Uncompiled: manim_profileK.txt

Hi! This is in general a good idea, though I would be hesitant in supporting its implementation. The main reason is that you say you got a speedup of 1.25x, but later say it could be near 2000x. Can you explain how that jump would occur?
Ultimately, the graphics stuff is made by cairo, which is written in C. So the only parts that would be affected by this would be certain things like object construction, updater logic, and others. Not sure the actual graphics stuff can be optimized a lot further.

Hi! This is in general a good idea, though I would be hesitant in supporting its implementation. The main reason is that you say you got a speedup of 1.25x, but later say it could be near 2000x. Can you explain how that jump would occur?
Ultimately, the graphics stuff is made by cairo, which is written in C. So the only parts that would be affected by this would be certain things like object construction, updater logic, and others. Not sure the actual graphics stuff can be optimized a lot further.

The main reason is that you say you got a speedup of 1.25x, but later say it could be near 2000x.

Well optimized Interacting with numpy. See https://cython.readthedocs.io/en/latest/src/tutorial/numpy.html.

The main reason is that you say you got a speedup of 1.25x, but later say it could be near 2000x.

Well optimized Interacting with numpy. See https://cython.readthedocs.io/en/latest/src/tutorial/numpy.html.

FYI ManimPango is using Cython, and yeah there seem to be comparatively fewer issues on the wheel produced, so it is like things are working there.
I would be reluctant to make this project directly to have C extensions inside of the main module, rather it would be better to have it in a new subproject and from the main module and we are just calling those functions defined there.  Also, this means there must be a discussion on which function to be moved to that module and which to have inside of the main module.

FYI ManimPango is using Cython, and yeah there seem to be comparatively fewer issues on the wheel produced, so it is like things are working there.
I would be reluctant to make this project directly to have C extensions inside of the main module, rather it would be better to have it in a new subproject and from the main module and we are just calling those functions defined there.  Also, this means there must be a discussion on which function to be moved to that module and which to have inside of the main module.

@naveen521kk

I don't think simply working with NumPy on Cython give any such errors.
Sometimes it does when you optimize with removed boundary checks, bad memory management, etc.

@naveen521kk

I don't think simply working with NumPy on Cython give any such errors.
Sometimes it does when you optimize with removed boundary checks, bad memory management, etc.

It should be easy to take care of that IMO.
Something which we need to think about now is what should that C extension contains...

It should be easy to take care of that IMO.
Something which we need to think about now is what should that C extension contains...

2000x is somewhat an exaggeration. But it is able to speed up a lot.
I'll work on a fork as an experiment to see the enhancement.

2000x is somewhat an exaggeration. But it is able to speed up a lot.
I'll work on a fork as an experiment to see the enhancement.

I'll work on a fork as an experiment to see the enhancement.

Sure. No one can stop you from trying.
But again all things which are to be done should be done as a new module and shouldn't be in this repo. Rather it will be added as a dependency and Manim will import it when needed.

I'll work on a fork as an experiment to see the enhancement.

Sure. No one can stop you from trying.
But again all things which are to be done should be done as a new module and shouldn't be in this repo. Rather it will be added as a dependency and Manim will import it when needed.


[Question] Max Number of steps seems equal to 13-ish?

Hi, when I create a graph, compile it to chain, and invoke it, the chain just stop in the middle.
Here is a very simple example to reproduce this
import types
from typing import Optional

from langgraph.graph import Graph

from src.langgraph.agents.common import copy_func
from loguru import logger

def copy_func(f, new_name: str = None):
    return types.FunctionType(f.__code__,
                              f.__globals__,
                              new_name or f.__name__,
                              f.__defaults__,
                              f.__closure__)

def mk_noop_node(node_name: str, logger_msg: Optional[str] = None):
    def _noop(data):
        if logger_msg is not None:
            logger.info(logger_msg)
        return data

    _noop = copy_func(_noop, node_name)
    return _noop

graph = Graph()

# Create and add 100 noop nodes to the graph
for i in range(100):
    node_name = f"noop_node_{i}"
    logger_msg = f"Executing {node_name}"
    noop_node = mk_noop_node(node_name, logger_msg)
    graph.add_node(node_name, noop_node)

    # Link the nodes in sequence
    if i > 0:
        previous_node_name = f"noop_node_{i - 1}"
        graph.add_edge(previous_node_name, node_name)

# Set the entry point to the first node
graph.set_entry_point("noop_node_0")

# Optionally, if you want to mark an end to the graph
graph.set_finish_point(f"noop_node_{99}")

chain = graph.compile()

# Example of invoking the graph
initial_data = {"message": "Start of the graph"}
result = chain.invoke(initial_data)

Here is the result

aha, never mind, I found the reason is that there is "recursion_limit" key.
resolved with
chain = graph.compile().with_config({"recursion_limit": 100})

Yes you can update recursion limit to something better for your use case


add a flask support query nft via flask

query by nft name
query by dataset name (if we have one)

using https://flask-sqlalchemy.palletsprojects.com/en/2.x/queries/
https://github.com/lagrangedao/lagrange-server/tree/main/backend/obj_model
https://github.com/lagrangedao/lagrange-server/blob/main/backend/space/views.py

sample query
@datanft_bp.route('/nfs/string:name', methods=['Get'])
def get_datanft_detail(dataset_name):
nft = Nft.query.filter_by(name=name).first()

python scheduler servicwith flask
You can create a simple Python scheduler service using Flask, a popular web framework, combined with the Advanced Python Scheduler (APScheduler) library to handle scheduling tasks. Here's a basic example to get you started:
First, make sure you have Flask and APScheduler installed. You can install them using pip:

pip install Flask APScheduler

Create a file named app.py and add the following code:

from flask import Flask, jsonify
from apscheduler.schedulers.background import BackgroundScheduler
from datetime import datetime

app = Flask(__name__)

def scheduled_task():
    print(f"Scheduled task executed at {datetime.now()}")

scheduler = BackgroundScheduler()
scheduler.add_job(func=scheduled_task, trigger="interval", seconds=10)
scheduler.start()

@app.route('/')
def hello():
    return jsonify(message='Hello from Flask scheduler service!')

if __name__ == '__main__':
    app.run(host='<IP_ADDRESS>', port=5000)

In this example, we have a simple Flask application with a single route that returns a "Hello from Flask scheduler service!" message. We've also created a background scheduler using the APScheduler library and added a job that executes the scheduled_task function every 10 seconds.
Run the Flask application:

python app.py

Visit http://<IP_ADDRESS>:5000/ in your web browser to see the "Hello from Flask scheduler service!" message.

In your terminal or console, you should see the output of the scheduled_task function every 10 seconds, indicating that the task is running as scheduled.

Thanks for the info, just to clarify some things:

The scanner will scan for new NFTs that were minted and add the details of those to the DB table and also scan for transfer events and update the owner's address if the NFT was transferred ?
I was also working on making the scanner run continuously in the background

The GET methos which queries the details of the NFT from the DB should be a part of the Flask script or the scanning script?
Currently I've implemented this in the Flask script but can shift that code to the NFTscanner if that's what you want

Please confirm
Thanks


Convert core/state to typescript

While converting the code to typescript I will also be checking to ensure that we are still up-to-date with the current spec.
Note:

I will be working alphabetically (descending) through core/state.
Checked items are currently being worked on in the branch greg/typescript-conversion.

Currently working on:

[x] activeState.js
[ ] attestationRecord.js
[ ] attesstationSignedData.js
[ ] beaconBlock.js
[ ] constants.json
[ ] crossLinkRecord.js
[ ] crystallizedState.js
[ ] helpers.js
[ ] shardAndCommittee.js
[ ] specialRecord.js
[ ] specialRecordTypes.json
[ ] stateTransition.js
[ ] validatorRecord.js
[ ] validatorSetDeltaFlags.json
[ ] validatorStatusCodes.json

Completed:
none

Before this continues, the spec has changed a lot and thus the code in this repo is out of date. In order to not have duplicate work, check the spec for the data structures that have stayed the same. Currently, ActiveState and CrystallizedState have been merged into a single state.

@Mikerah - @ansermino informed me of this.. That's fine, I was just laying out my plan before moving forward. As stated, I will be using this to update the spec. In reality I'll probably re-write everything but use the existing code as a reference (when applicable)


Sync ingressgateway with master

@costinm I kept in all of your changes

It seems this PR has broke installation (install_all) because this commit is not available in default 1.1.4 tag.
I'm getting following error from ingressgateway:
$kubectl log istio-ingressgateway-868fc8d7fd-9n4cv -n istio-ingress -p
2019-05-28T04:52:03.543645Z	error	unknown flag: --proxyComponentLogLevel
Error: unknown flag: --proxyComponentLogLevel


Update 17 Corolla safetyParam

Description Updates the CAR.COROLLA's safetyParam to 88 from 100, the graphs of STEER_TORQUE_EPS and STEER_TORQUE_CMD now are more aligned in Cabana.
Verification Drove on it, I felt it could take harsher corners without over steering and causing it to fall back to center.
Route https://my.comma.ai/cabana/?route=e010b634f3d65cdb|2020-09-15--05-28-32&exp=1631686418&sig=ADTua0eYNZcHjtH4SQlZC9Nsq5ubYL3LILUXfRO6qEI%3D&max=21&url=https%3A%2F%2Fchffrprivate-vzn.azureedge.net%2Fchffrprivate3%2Fv2%2Fe010b634f3d65cdb%2F26b4dad0f59e0f4f083aed1f47a9f88e_2020-09-15--05-28-32
Before and after photos:

opendbc PR: https://github.com/commaai/opendbc/pull/298

Thanks!


Disallow year selection

I'm attempting to have the user pick a date up to one month in advance. Therefore they should only be able to select the next year when it is currently december. So, in december when we call
picker.setYearRange(curYear,curYear+1); then the picker works as intended. However, at all other times the year should not be selectable. In that case, there will always be a year range for the user to select. Either curYear to curYear+1 or if unset then any year. There is no way to disallow year selection, although it is necessary for many use cases.

I think the functionality you're looking for is setMinDate() and setMaxDate()
However, if you swap the year it will still allow you to select an unacceptable date.
I've changed the input validation on setYearRange() to allow setYearRange(curYear,curYear).
This won't disable the year picker, but will solve your issue.
Should be available in the next release.


Make lifecycle more functional than what it currently is

I want to suggest a new way to invoke the lifecycle HOC.
Instead of using the lifecycle hook this way
lifecycle({
 componentDidMount() {
  this.setState({someKey: this.props.someValue});
 }
});

the below code is more functionally aligned with the rest of the library
lifecycle({
 componentDidMount: (state, props) => {
  props.someStateHandler(props.someValue);
 }
})

After observing the internals of how lifecycle works, its very easy to do this change and I can volunteer to do it. It's just a question of whether you guys think this is a good idea or not. Cheers

https://github.com/acdlite/recompose/issues/653#issuecomment-383645282


feat: share functionality

Close #170

Summary by CodeRabbit

New Features

Enhanced login and registration dialogs to capture and utilize the referrer parameter from URL search parameters.
Improved shortlink copying functionality to include session-based parameters in the URL.

Bug Fixes

Fixed redirection issues by ensuring referrer parameters are properly appended to URLs during login and registration processes.

 Development Support, Nathan - May 2024


Get verify code automatically

Is it possible to get the verify code (to generate the access token) automatically, i.e. without copying and pasting the Authorization URL in the browser and copying and pasting the related code in the console? I need to switch from an clientId to another one in case I reach the limit rate, but I'd like to switch without user interaction.

A nice way is to redirect the authorization url and capture it with another controller getting the code (with Spring MVC for example)

Closing the ticket... Re-open if needed


Short solution needed: "How to restart docker container" (docker)

Please help us write most modern and shortest code solution for this issue:
How to restart docker container (technology: docker)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

How to restart docker container


Progress bar with current task name

This is a low-priority PR with adding a name of the task to progress bar, so it not only displays done percentage. It is useful when there are more than one task in chain, so current module name is visible.

Requests applied