From c1e546ede6f02228fd16c18803e418bd2434fdea Mon Sep 17 00:00:00 2001 From: Matej Kafka <6414091+MatejKafka@users.noreply.github.com> Date: Sat, 20 Mar 2021 00:50:50 +0100 Subject: [PATCH 1/3] Added CROC_CONFIG_DIR env var to support custom config dir path --- src/cli/cli.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/cli/cli.go b/src/cli/cli.go index 804f6f82..c3e32223 100644 --- a/src/cli/cli.go +++ b/src/cli/cli.go @@ -130,10 +130,15 @@ func getConfigDir() (homedir string, err error) { log.Error(err) return } - homedir = path.Join(homedir, ".config", "croc") - if xdgConfigHome, isSet := os.LookupEnv("XDG_CONFIG_HOME"); isSet { + + if envHomedir, isSet := os.LookupEnv("CROC_CONFIG_DIR"); isSet { + homedir = envHomedir + } else if xdgConfigHome, isSet := os.LookupEnv("XDG_CONFIG_HOME"); isSet { homedir = path.Join(xdgConfigHome, "croc") + } else { + homedir = path.Join(homedir, ".config", "croc") } + if _, err = os.Stat(homedir); os.IsNotExist(err) { log.Debugf("creating home directory %s", homedir) err = os.MkdirAll(homedir, 0700) From 068d5c1031e00ba7087ab60acc3d2fde4b99e6ae Mon Sep 17 00:00:00 2001 From: Sting Alleman Date: Sun, 4 Apr 2021 22:57:14 +0200 Subject: [PATCH 2/3] Remove dollar icons from commands without output --- README.md | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 8199cc6b..59cfbdb5 100644 --- a/README.md +++ b/README.md @@ -37,74 +37,74 @@ For more information about `croc`, see [my blog post](https://schollz.com/softwa Download [the latest release for your system](https://github.com/schollz/croc/releases/latest), or install a release from the command-line: ``` -$ curl https://getcroc.schollz.com | bash +curl https://getcroc.schollz.com | bash ``` On macOS you can install the latest release with [Homebrew](https://brew.sh/): ``` -$ brew install croc +brew install croc ``` On macOS you can also install the latest release with [MacPorts](https://macports.org/): ``` -$ sudo port selfupdate -$ sudo port install croc +sudo port selfupdate +sudo port install croc ``` On Windows you can install the latest release with [Scoop](https://scoop.sh/) or [Chocolatey](https://chocolatey.org): ``` -$ scoop install croc +scoop install croc ``` ``` -$ choco install croc +choco install croc ``` On Unix you can install the latest release with [Nix](https://nixos.org/nix): ``` -$ nix-env -i croc +nix-env -i croc ``` On Alpine Linux you have to install dependencies first: ``` -$ apk add bash coreutils -$ wget -qO- https://getcroc.schollz.com | bash +apk add bash coreutils +wget -qO- https://getcroc.schollz.com | bash ``` On Arch Linux you can install the latest release with `pacman`: ``` -$ pacman -S croc +pacman -S croc ``` On Gentoo you can install with `portage`: ``` -$ emerge net-misc/croc +emerge net-misc/croc ``` On Termux you can install with `pkg`: ``` -$ pkg install croc +pkg install croc ``` On FreeBSD you can install with `pkg`: ``` -$ pkg install croc +pkg install croc ``` Or, you can [install Go](https://golang.org/dl/) and build from source (requires Go 1.12+): ``` -$ GO111MODULE=on go get -v github.com/schollz/croc/v8 +GO111MODULE=on go get -v github.com/schollz/croc/v8 ``` @@ -122,7 +122,7 @@ Code is: code-phrase Then to receive the file (or folder) on another computer, you can just do ``` -$ croc code-phrase +croc code-phrase ``` The code phrase is used to establish password-authenticated key agreement ([PAKE](https://en.wikipedia.org/wiki/Password-authenticated_key_agreement)) which generates a secret key for the sender and recipient to use for end-to-end encryption. @@ -134,7 +134,7 @@ There are a number of configurable options (see `--help`). A set of options (lik You can send with your own code phrase (must be more than 4 characters). ``` -$ croc send --code [code-phrase] [file(s)-or-folder] +croc send --code [code-phrase] [file(s)-or-folder] ``` ### Use pipes - stdin and stdout @@ -142,13 +142,13 @@ $ croc send --code [code-phrase] [file(s)-or-folder] You can pipe to `croc`: ``` -$ cat [filename] | croc send +cat [filename] | croc send ``` In this case `croc` will automatically use the stdin data and send and assign a filename like "croc-stdin-123456789". To receive to `stdout` at you can always just use the `--yes` will automatically approve the transfer and pipe it out to `stdout`. ``` -$ croc --yes [code-phrase] > out +croc --yes [code-phrase] > out ``` All of the other text printed to the console is going to `stderr` so it will not interfere with the message going to `stdout`. @@ -159,7 +159,7 @@ All of the other text printed to the console is going to `stderr` so it will not Sometimes you want to send URLs or short text. In addition to piping, you can easily send text with `croc`: ``` -$ croc send --text "hello world" +croc send --text "hello world" ``` This will automatically tell the receiver to use `stdout` when they receive the text so it will be displayed. @@ -170,7 +170,7 @@ This will automatically tell the receiver to use `stdout` when they receive the You can use a proxy as your connection to the relay by adding a proxy address with `--socks5`. For example, you can send via a tor relay: ``` -$ croc --socks5 "127.0.0.1:9050" send SOMEFILE +croc --socks5 "127.0.0.1:9050" send SOMEFILE ``` ### Self-host relay @@ -178,7 +178,7 @@ $ croc --socks5 "127.0.0.1:9050" send SOMEFILE The relay is needed to staple the parallel incoming and outgoing connections. By default, `croc` uses a public relay but you can also run your own relay: ``` -$ croc relay +croc relay ``` By default it uses TCP ports 9009-9013. Make sure to open those up. You can customized the ports (e.g. `croc relay --ports 1111,1112`), but you must have a minimum of **2** ports for the relay. The first port is for communication and the subsequent ports are used for the multiplexed data transfer. @@ -186,7 +186,7 @@ By default it uses TCP ports 9009-9013. Make sure to open those up. You can cust You can send files using your relay by entering `--relay` to change the relay that you are using if you want to custom host your own. ``` -$ croc --relay "myrelay.example.com:9009" send [filename] +croc --relay "myrelay.example.com:9009" send [filename] ``` Note, when sending, you only need to include the first port (the communication port). The subsequent ports for data transfer will be transmitted back to the user from the relay. @@ -197,13 +197,13 @@ If it's easier you can also run a relay with Docker: ``` -$ docker run -d -p 9009-9013:9009-9013 -e CROC_PASS='YOURPASSWORD' schollz/croc +docker run -d -p 9009-9013:9009-9013 -e CROC_PASS='YOURPASSWORD' schollz/croc ``` Be sure to include the password for the relay otherwise any requests will be rejected. ``` -$ croc --pass YOURPASSWORD --relay "myreal.example.com:9009" send [filename] +croc --pass YOURPASSWORD --relay "myreal.example.com:9009" send [filename] ``` Note: when including `--pass YOURPASSWORD` you can instead pass a file with the password, e.g. `--pass FILEWITHPASSWORD`. From 4718f3897ca4c6558581753afcabf023f2c9c138 Mon Sep 17 00:00:00 2001 From: Missu Date: Thu, 8 Apr 2021 11:42:19 +0530 Subject: [PATCH 3/3] Commented, added bug label Commented lines need to be manually removed by the user, so no need to remove those anymore Added "big" label for this, so easily discoverable from the Issues list --- .github/ISSUE_TEMPLATE/bug_report.md | 38 ++++++++++++++++++---------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 4bd2780e..02c4015e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -2,28 +2,40 @@ name: Bug report about: Create a report to help us improve title: '' -labels: '' +labels: bug assignees: '' --- + -**Please try to [download the latest version](https://github.com/schollz/croc/releases/latest) of croc before reporting a bug!** -**Describe the bug** -A clear and concise description of what the bug is. + -**To Reproduce** +## Describe the bug +<-- A clear and concise description of what the bug is. --> + + +## To Reproduce Steps to reproduce the behavior: -1. Go to '...' +<-- 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' -4. See error +4. See error --> -**Expected behavior** -A clear and concise description of what you expected to happen. +1. +2. +3. +4. + +## Expected behaviour +<-- A clear and concise description of what you expected to happen. --> + + +## Version +<-- Check "croc -v" and report it --> + + +## Additional context +<-- Add any other context about the problem here. --> -**Version** -Check `croc -version` and report it. -**Additional context** -Add any other context about the problem here.