Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package croc for openSUSE:Factory checked in 
at 2023-07-07 15:47:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/croc (Old)
 and      /work/SRC/openSUSE:Factory/.croc.new.23466 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "croc"

Fri Jul  7 15:47:48 2023 rev:2 rq:1097435 version:9.6.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/croc/croc.changes        2023-07-03 
17:43:33.208989893 +0200
+++ /work/SRC/openSUSE:Factory/.croc.new.23466/croc.changes     2023-07-07 
15:49:06.580835509 +0200
@@ -1,0 +2,19 @@
+Thu Jul 06 15:32:06 UTC 2023 - Joshua Smith <[email protected]>
+
+- Update to version 9.6.5:
+  * update deps
+  * croc.service: use DynamicUser
+  * upgrade dependencies
+  * Update: update error messages for http proxy
+  * Feat: support http proxy as a complementary way to use in
+    network limited environments.
+  * Fix some typos
+  * localhost -> 127.0.0.1 Fixes #513
+  * Bump actions/setup-go from 2 to 4
+  * Enhance tab completion
+  * Bump docker/setup-buildx-action from 1 to 2
+  * add dependabot
+  * add Winget installation instructions
+  * add winget releaser workflow
+
+-------------------------------------------------------------------

Old:
----
  croc-9.6.4.tar.xz

New:
----
  croc-9.6.5.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ croc.spec ++++++
--- /var/tmp/diff_new_pack.RljKyi/_old  2023-07-07 15:49:07.324839941 +0200
+++ /var/tmp/diff_new_pack.RljKyi/_new  2023-07-07 15:49:07.328839965 +0200
@@ -1,5 +1,7 @@
+#
 # spec file for package croc
 #
+# Copyright (c) 2023 SUSE LLC
 # Copyright (c) 2021 Orville Q. Song <[email protected]>
 #
 # All modifications and additions to the file contributed by third parties
@@ -14,6 +16,7 @@
 # Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
+
 %global provider        github
 %global provider_tld    com
 %global project         schollz
@@ -22,7 +25,7 @@
 %global import_path     %{provider_prefix}/%{repo}
 
 Name:           croc
-Version:        9.6.4
+Version:        9.6.5
 Release:        0
 Summary:        Easily and securely send things from one computer to another
 License:        MIT

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.RljKyi/_old  2023-07-07 15:49:07.372840226 +0200
+++ /var/tmp/diff_new_pack.RljKyi/_new  2023-07-07 15:49:07.376840250 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/schollz/croc.git</param>
-              <param 
name="changesrevision">3ae46c3c18feaa43044abefc67c41ba5ab3599fd</param></service></servicedata>
+              <param 
name="changesrevision">ef68dfa54c3266fd2033f2ee8e16754fb91d888f</param></service></servicedata>
 (No newline at EOF)
 

++++++ croc-9.6.4.tar.xz -> croc-9.6.5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/.github/dependabot.yml 
new/croc-9.6.5/.github/dependabot.yml
--- old/croc-9.6.4/.github/dependabot.yml       1970-01-01 01:00:00.000000000 
+0100
+++ new/croc-9.6.5/.github/dependabot.yml       2023-07-06 19:10:57.000000000 
+0200
@@ -0,0 +1,10 @@
+version: 2
+updates:
+  - package-ecosystem: "github-actions"
+    directory: "/"
+    schedule:
+      interval: "daily"
+  - package-ecosystem: "gomod"
+    directory: "/"
+    schedule:
+      interval: "daily"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/.github/workflows/ci.yml 
new/croc-9.6.5/.github/workflows/ci.yml
--- old/croc-9.6.4/.github/workflows/ci.yml     2023-03-14 12:52:15.000000000 
+0100
+++ new/croc-9.6.5/.github/workflows/ci.yml     2023-07-06 19:10:57.000000000 
+0200
@@ -11,7 +11,7 @@
     runs-on: ubuntu-latest
     steps:
     - uses: actions/checkout@v2
-    - uses: actions/setup-go@v2
+    - uses: actions/setup-go@v4
       with:
         go-version: '1.20'
     - run: go version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/.github/workflows/deploy.yml 
new/croc-9.6.5/.github/workflows/deploy.yml
--- old/croc-9.6.4/.github/workflows/deploy.yml 2023-03-14 12:52:15.000000000 
+0100
+++ new/croc-9.6.5/.github/workflows/deploy.yml 2023-07-06 19:10:57.000000000 
+0200
@@ -34,7 +34,7 @@
         uses: docker/setup-qemu-action@v1
       -
         name: Set up Docker Buildx
-        uses: docker/setup-buildx-action@v1
+        uses: docker/setup-buildx-action@v2
       -
         name: Login to DockerHub
         if: github.event_name != 'pull_request'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/.github/workflows/winget.yml 
new/croc-9.6.5/.github/workflows/winget.yml
--- old/croc-9.6.4/.github/workflows/winget.yml 1970-01-01 01:00:00.000000000 
+0100
+++ new/croc-9.6.5/.github/workflows/winget.yml 2023-07-06 19:10:57.000000000 
+0200
@@ -0,0 +1,14 @@
+name: Publish to Winget
+on:
+  release:
+    types: [released]
+
+jobs:
+  publish:
+    runs-on: windows-latest # Action can only run on Windows
+    steps:
+      - uses: vedantmgoyal2009/winget-releaser@v2
+        with:
+          identifier: schollz.croc
+          installers-regex: '_Windows-\w+\.zip$'
+          token: ${{ secrets.WINGET_TOKEN }}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/README.md new/croc-9.6.5/README.md
--- old/croc-9.6.4/README.md    2023-03-14 12:52:15.000000000 +0100
+++ new/croc-9.6.5/README.md    2023-07-06 19:10:57.000000000 +0200
@@ -4,7 +4,7 @@
     
src="https://user-images.githubusercontent.com/6550035/46709024-9b23ad00-cbf6-11e8-9fb2-ca8b20b7dbec.jpg";
     width="408px" border="0" alt="croc">
 <br>
-<a href="https://github.com/schollz/croc/releases/latest";><img 
src="https://img.shields.io/badge/version-v9.6.4-brightgreen.svg?style=flat-square";
 alt="Version"></a>
+<a href="https://github.com/schollz/croc/releases/latest";><img 
src="https://img.shields.io/badge/version-v9.6.5-brightgreen.svg?style=flat-square";
 alt="Version"></a>
 <a href="https://coveralls.io/github/schollz/croc";><img 
src="https://img.shields.io/badge/coverage-81%25-green.svg?style=flat-square"; 
alt="Coverage"></a>
 <a href="https://travis-ci.org/schollz/croc";><img
 src="https://img.shields.io/travis/schollz/croc.svg?style=flat-square"; 
alt="Build
@@ -48,7 +48,7 @@
 sudo port install croc
 ```
 
-On Windows you can install the latest release with [Scoop](https://scoop.sh/) 
or [Chocolatey](https://chocolatey.org): 
+On Windows you can install the latest release with [Scoop](https://scoop.sh/), 
[Chocolatey](https://chocolatey.org), or 
[Winget](https://learn.microsoft.com/en-us/windows/package-manager/): 
 
 ```
 scoop install croc
@@ -58,6 +58,10 @@
 choco install croc
 ```
 
+```
+winget install schollz.croc
+```
+
 On Unix you can install the latest release with [Nix](https://nixos.org/nix):
 
 ```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/croc.service new/croc-9.6.5/croc.service
--- old/croc-9.6.4/croc.service 2023-03-14 12:52:15.000000000 +0100
+++ new/croc-9.6.5/croc.service 2023-07-06 19:10:57.000000000 +0200
@@ -4,7 +4,7 @@
 
 [Service]
 Type=simple
-User=nobody
+DynamicUser=yes
 CapabilityBoundingSet=CAP_NET_BIND_SERVICE
 ExecStart=/usr/bin/croc relay
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/go.mod new/croc-9.6.5/go.mod
--- old/croc-9.6.4/go.mod       2023-03-14 12:52:15.000000000 +0100
+++ new/croc-9.6.5/go.mod       2023-07-06 19:10:57.000000000 +0200
@@ -14,8 +14,8 @@
        github.com/schollz/peerdiscovery v1.7.0
        github.com/schollz/progressbar/v3 v3.13.1
        github.com/stretchr/testify v1.8.2
-       golang.org/x/crypto v0.7.0
-       golang.org/x/net v0.8.0
+       golang.org/x/crypto v0.11.0
+       golang.org/x/net v0.12.0
        golang.org/x/time v0.3.0
 )
 
@@ -23,17 +23,18 @@
        github.com/OneOfOne/xxhash v1.2.8 // indirect
        github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
        github.com/davecgh/go-spew v1.1.1 // indirect
+       github.com/magisterquis/connectproxy v0.0.0-20200725203833-3582e84f0c9b
        github.com/mattn/go-runewidth v0.0.14 // indirect
        github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // 
indirect
        github.com/pmezard/go-difflib v1.0.0 // indirect
-       github.com/rivo/uniseg v0.2.0 // indirect
+       github.com/rivo/uniseg v0.4.4 // indirect
        github.com/russross/blackfriday/v2 v2.1.0 // indirect
        github.com/spaolacci/murmur3 v1.1.0 // indirect
        github.com/tscholl2/siec v0.0.0-20210707234609-9bdfc483d499 // indirect
-       github.com/twmb/murmur3 v1.1.6 // indirect
-       golang.org/x/sys v0.6.0 // indirect
-       golang.org/x/term v0.6.0 // indirect
-       golang.org/x/text v0.8.0 // indirect
+       github.com/twmb/murmur3 v1.1.8 // indirect
+       golang.org/x/sys v0.10.0 // indirect
+       golang.org/x/term v0.10.0 // indirect
+       golang.org/x/text v0.11.0 // indirect
        gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
        gopkg.in/yaml.v3 v3.0.1 // indirect
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/go.sum new/croc-9.6.5/go.sum
--- old/croc-9.6.4/go.sum       2023-03-14 12:52:15.000000000 +0100
+++ new/croc-9.6.5/go.sum       2023-07-06 19:10:57.000000000 +0200
@@ -26,6 +26,8 @@
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
 github.com/kr/text v0.1.0/go.mod 
h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/magisterquis/connectproxy v0.0.0-20200725203833-3582e84f0c9b 
h1:xZ59n7Frzh8CwyfAapUZLSg+gXH5m63YEaFCMpDHhpI=
+github.com/magisterquis/connectproxy v0.0.0-20200725203833-3582e84f0c9b/go.mod 
h1:uDd4sYVYsqcxAB8j+Q7uhL6IJCs/r1kxib1HV4bgOMg=
 github.com/mattn/go-isatty v0.0.17/go.mod 
h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
 github.com/mattn/go-runewidth v0.0.14 
h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
 github.com/mattn/go-runewidth v0.0.14/go.mod 
h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
@@ -33,8 +35,9 @@
 github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod 
h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw=
 github.com/pmezard/go-difflib v1.0.0 
h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod 
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
 github.com/rivo/uniseg v0.2.0/go.mod 
h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
+github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
+github.com/rivo/uniseg v0.4.4/go.mod 
h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
 github.com/russross/blackfriday/v2 v2.0.1/go.mod 
h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/russross/blackfriday/v2 v2.1.0 
h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
 github.com/russross/blackfriday/v2 v2.1.0/go.mod 
h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
@@ -66,20 +69,20 @@
 github.com/tscholl2/siec v0.0.0-20210707234609-9bdfc483d499 
h1:bPQ48TuiAuGTZDm54H2EV/2+eRRBHP61bKDkKSEPW4A=
 github.com/tscholl2/siec v0.0.0-20210707234609-9bdfc483d499/go.mod 
h1:KL9+ubr1JZdaKjgAaHr+tCytEncXBa1pR6FjbTsOJnw=
 github.com/twmb/murmur3 v1.1.5/go.mod 
h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ=
-github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg=
-github.com/twmb/murmur3 v1.1.6/go.mod 
h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ=
+github.com/twmb/murmur3 v1.1.8 h1:8Yt9taO/WN3l08xErzjeschgZU2QSrwm1kclYq+0aRg=
+github.com/twmb/murmur3 v1.1.8/go.mod 
h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ=
 github.com/yuin/goldmark v1.4.13/go.mod 
h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod 
h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod 
h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
-golang.org/x/crypto v0.7.0/go.mod 
h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
+golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA=
+golang.org/x/crypto v0.11.0/go.mod 
h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod 
h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod 
h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod 
h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod 
h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
 golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
-golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
-golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
+golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50=
+golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -90,19 +93,21 @@
 golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA=
+golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
-golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw=
 golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
+golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c=
+golang.org/x/term v0.10.0/go.mod 
h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
 golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
-golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4=
+golang.org/x/text v0.11.0/go.mod 
h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
 golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
 golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod 
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/src/cli/cli.go 
new/croc-9.6.5/src/cli/cli.go
--- old/croc-9.6.4/src/cli/cli.go       2023-03-14 12:52:15.000000000 +0100
+++ new/croc-9.6.5/src/cli/cli.go       2023-07-06 19:10:57.000000000 +0200
@@ -9,6 +9,7 @@
        "path"
        "path/filepath"
        "runtime"
+       "strconv"
        "strings"
        "time"
 
@@ -35,7 +36,7 @@
        app := cli.NewApp()
        app.Name = "croc"
        if Version == "" {
-               Version = "v9.6.4-1fce28e"
+               Version = "v9.6.5-8ab65d0"
        }
        app.Version = Version
        app.Compiled = time.Now()
@@ -105,6 +106,7 @@
                &cli.StringFlag{Name: "out", Value: ".", Usage: "specify an 
output folder to receive the file"},
                &cli.StringFlag{Name: "pass", Value: models.DEFAULT_PASSPHRASE, 
Usage: "password for the relay", EnvVars: []string{"CROC_PASS"}},
                &cli.StringFlag{Name: "socks5", Value: "", Usage: "add a socks5 
proxy", EnvVars: []string{"SOCKS5_PROXY"}},
+               &cli.StringFlag{Name: "connect", Value: "", Usage: "add a http 
proxy", EnvVars: []string{"HTTP_PROXY"}},
                &cli.StringFlag{Name: "throttleUpload", Value: "", Usage: 
"Throttle the upload speed e.g. 500k"},
        }
        app.EnableBashCompletion = true
@@ -169,6 +171,7 @@
 func send(c *cli.Context) (err error) {
        setDebugLevel(c)
        comm.Socks5Proxy = c.String("socks5")
+       comm.HttpProxy = c.String("connect")
        portsString := c.String("ports")
        if portsString == "" {
                portsString = "9009,9010,9011,9012,9013"
@@ -365,10 +368,21 @@
                // No completion
                return [][]rune{[]rune("")}, 0
        }
+       if len(words) == 1 && nbCharacter == utils.NbPinNumbers {
+               // Check if word is indeed a number
+               _, err := strconv.Atoi(lastPartialWord)
+               if err == nil {
+                       return [][]rune{[]rune("-")}, nbCharacter
+               }
+       }
        var strArray [][]rune
        for _, s := range mnemonicode.WordList {
                if strings.HasPrefix(s, lastPartialWord) {
-                       strArray = append(strArray, []rune(s[nbCharacter:]))
+                       var completionCandidate = s[nbCharacter:]
+                       if len(words) <= 
mnemonicode.WordsRequired(utils.NbBytesWords) {
+                               completionCandidate += "-"
+                       }
+                       strArray = append(strArray, []rune(completionCandidate))
                }
        }
        return strArray, nbCharacter
@@ -376,6 +390,7 @@
 
 func receive(c *cli.Context) (err error) {
        comm.Socks5Proxy = c.String("socks5")
+       comm.HttpProxy = c.String("connect")
        crocOptions := croc.Options{
                SharedSecret:  c.String("code"),
                IsSender:      false,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/src/comm/comm.go 
new/croc-9.6.5/src/comm/comm.go
--- old/croc-9.6.4/src/comm/comm.go     2023-03-14 12:52:15.000000000 +0100
+++ new/croc-9.6.5/src/comm/comm.go     2023-07-06 19:10:57.000000000 +0200
@@ -10,12 +10,14 @@
        "strings"
        "time"
 
+       "github.com/magisterquis/connectproxy"
        "github.com/schollz/croc/v9/src/utils"
        log "github.com/schollz/logger"
        "golang.org/x/net/proxy"
 )
 
 var Socks5Proxy = ""
+var HttpProxy = ""
 
 var MAGIC_BYTES = []byte("croc")
 
@@ -51,6 +53,27 @@
                }
                log.Debug("dialing with dialer.Dial")
                connection, err = dialer.Dial("tcp", address)
+       } else if HttpProxy != "" && !utils.IsLocalIP(address) {
+               var dialer proxy.Dialer
+               // prepend schema if no schema is given
+               if !strings.Contains(HttpProxy, `://`) {
+                       HttpProxy = `http://` + HttpProxy
+               }
+               HttpProxyURL, urlParseError := url.Parse(HttpProxy)
+               if urlParseError != nil {
+                       err = fmt.Errorf("unable to parse http proxy url: %s", 
urlParseError)
+                       log.Debug(err)
+                       return
+               }
+               dialer, err = connectproxy.New(HttpProxyURL, proxy.Direct)
+               if err != nil {
+                       err = fmt.Errorf("proxy failed: %w", err)
+                       log.Debug(err)
+                       return
+               }
+               log.Debug("dialing with dialer.Dial")
+               connection, err = dialer.Dial("tcp", address)
+
        } else {
                log.Debugf("dialing to %s with timelimit %s", address, tlimit)
                connection, err = net.DialTimeout("tcp", address, tlimit)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/src/comm/comm_test.go 
new/croc-9.6.5/src/comm/comm_test.go
--- old/croc-9.6.4/src/comm/comm_test.go        2023-03-14 12:52:15.000000000 
+0100
+++ new/croc-9.6.5/src/comm/comm_test.go        2023-07-06 19:10:57.000000000 
+0200
@@ -49,7 +49,7 @@
        }()
 
        time.Sleep(300 * time.Millisecond)
-       a, err := NewConnection("localhost:"+port, 10*time.Minute)
+       a, err := NewConnection("127.0.0.1:"+port, 10*time.Minute)
        assert.Nil(t, err)
        data, err := a.Receive()
        assert.Equal(t, []byte("hello, world"), data)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/src/croc/croc.go 
new/croc-9.6.5/src/croc/croc.go
--- old/croc-9.6.4/src/croc/croc.go     2023-03-14 12:52:15.000000000 +0100
+++ new/croc-9.6.5/src/croc/croc.go     2023-07-06 19:10:57.000000000 +0200
@@ -251,7 +251,7 @@
        return false, nil
 }
 
-// This function retrives the important file informations
+// This function retrieves the important file information
 // for every file that will be transferred
 func GetFilesInfo(fnames []string, zipfolder bool) (filesInfo []FileInfo, 
emptyFolders []FileInfo, totalNumberFolders int, err error) {
        // fnames: the relative/absolute paths of files/folders that will be 
transferred
@@ -428,7 +428,7 @@
 func (c *Client) setupLocalRelay() {
        // setup the relay locally
        firstPort, _ := strconv.Atoi(c.Options.RelayPorts[0])
-       openPorts := utils.FindOpenPorts("localhost", firstPort, 
len(c.Options.RelayPorts))
+       openPorts := utils.FindOpenPorts("127.0.0.1", firstPort, 
len(c.Options.RelayPorts))
        if len(openPorts) < len(c.Options.RelayPorts) {
                panic("not enough open ports to run local relay")
        }
@@ -441,7 +441,7 @@
                        if c.Options.Debug {
                                debugString = "debug"
                        }
-                       err := tcp.Run(debugString, "localhost", portStr, 
c.Options.RelayPassword, strings.Join(c.Options.RelayPorts[1:], ","))
+                       err := tcp.Run(debugString, "127.0.0.1", portStr, 
c.Options.RelayPassword, strings.Join(c.Options.RelayPorts[1:], ","))
                        if err != nil {
                                panic(err)
                        }
@@ -480,10 +480,10 @@
        time.Sleep(500 * time.Millisecond)
        log.Debug("establishing connection")
        var banner string
-       conn, banner, ipaddr, err := 
tcp.ConnectToTCPServer("localhost:"+c.Options.RelayPorts[0], 
c.Options.RelayPassword, c.Options.SharedSecret[:3])
+       conn, banner, ipaddr, err := 
tcp.ConnectToTCPServer("127.0.0.1:"+c.Options.RelayPorts[0], 
c.Options.RelayPassword, c.Options.SharedSecret[:3])
        log.Debugf("banner: %s", banner)
        if err != nil {
-               err = fmt.Errorf("could not connect to localhost:%s: %w", 
c.Options.RelayPorts[0], err)
+               err = fmt.Errorf("could not connect to 127.0.0.1:%s: %w", 
c.Options.RelayPorts[0], err)
                log.Debug(err)
                // not really an error because it will try to connect over the 
actual relay
                return
@@ -501,7 +501,7 @@
        }
        c.conn[0] = conn
        log.Debug("exchanged header message")
-       c.Options.RelayAddress = "localhost"
+       c.Options.RelayAddress = "127.0.0.1"
        c.Options.RelayPorts = strings.Split(banner, ",")
        if c.Options.NoMultiplexing {
                log.Debug("no multiplexing")
@@ -1160,7 +1160,7 @@
                go func(j int) {
                        defer wg.Done()
                        var host string
-                       if c.Options.RelayAddress == "localhost" {
+                       if c.Options.RelayAddress == "127.0.0.1" {
                                host = c.Options.RelayAddress
                        } else {
                                host, _, err = 
net.SplitHostPort(c.Options.RelayAddress)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/src/croc/croc_test.go 
new/croc-9.6.5/src/croc/croc_test.go
--- old/croc-9.6.4/src/croc/croc_test.go        2023-03-14 12:52:15.000000000 
+0100
+++ new/croc-9.6.5/src/croc/croc_test.go        2023-07-06 19:10:57.000000000 
+0200
@@ -17,11 +17,11 @@
 func init() {
        log.SetLevel("trace")
 
-       go tcp.Run("debug", "localhost", "8281", "pass123", 
"8282,8283,8284,8285")
-       go tcp.Run("debug", "localhost", "8282", "pass123")
-       go tcp.Run("debug", "localhost", "8283", "pass123")
-       go tcp.Run("debug", "localhost", "8284", "pass123")
-       go tcp.Run("debug", "localhost", "8285", "pass123")
+       go tcp.Run("debug", "127.0.0.1", "8281", "pass123", 
"8282,8283,8284,8285")
+       go tcp.Run("debug", "127.0.0.1", "8282", "pass123")
+       go tcp.Run("debug", "127.0.0.1", "8283", "pass123")
+       go tcp.Run("debug", "127.0.0.1", "8284", "pass123")
+       go tcp.Run("debug", "127.0.0.1", "8285", "pass123")
        time.Sleep(1 * time.Second)
 }
 
@@ -33,7 +33,7 @@
                IsSender:      true,
                SharedSecret:  "8123-testingthecroc",
                Debug:         true,
-               RelayAddress:  "localhost:8281",
+               RelayAddress:  "127.0.0.1:8281",
                RelayPorts:    []string{"8281"},
                RelayPassword: "pass123",
                Stdout:        false,
@@ -51,7 +51,7 @@
                IsSender:      false,
                SharedSecret:  "8123-testingthecroc",
                Debug:         true,
-               RelayAddress:  "localhost:8281",
+               RelayAddress:  "127.0.0.1:8281",
                RelayPassword: "pass123",
                Stdout:        false,
                NoPrompt:      true,
@@ -99,7 +99,7 @@
                IsSender:      true,
                SharedSecret:  "8123-testingthecroc",
                Debug:         true,
-               RelayAddress:  "localhost:8281",
+               RelayAddress:  "127.0.0.1:8281",
                RelayPorts:    []string{"8281"},
                RelayPassword: "pass123",
                Stdout:        false,
@@ -117,7 +117,7 @@
                IsSender:      false,
                SharedSecret:  "8123-testingthecroc",
                Debug:         true,
-               RelayAddress:  "localhost:8281",
+               RelayAddress:  "127.0.0.1:8281",
                RelayPassword: "pass123",
                Stdout:        false,
                NoPrompt:      true,
@@ -166,7 +166,7 @@
                IsSender:      true,
                SharedSecret:  "8124-testingthecroc",
                Debug:         true,
-               RelayAddress:  "localhost:8281",
+               RelayAddress:  "127.0.0.1:8281",
                RelayPorts:    []string{"8281"},
                RelayPassword: "pass123",
                Stdout:        false,
@@ -184,7 +184,7 @@
                IsSender:      false,
                SharedSecret:  "8124-testingthecroc",
                Debug:         true,
-               RelayAddress:  "localhost:8281",
+               RelayAddress:  "127.0.0.1:8281",
                RelayPassword: "pass123",
                Stdout:        false,
                NoPrompt:      true,
@@ -241,7 +241,7 @@
                IsSender:      true,
                SharedSecret:  "8123-testingthecroc",
                Debug:         true,
-               RelayAddress:  "localhost:8181",
+               RelayAddress:  "127.0.0.1:8181",
                RelayPorts:    []string{"8181", "8182"},
                RelayPassword: "pass123",
                Stdout:        true,
@@ -260,7 +260,7 @@
                IsSender:      false,
                SharedSecret:  "8123-testingthecroc",
                Debug:         true,
-               RelayAddress:  "localhost:8181",
+               RelayAddress:  "127.0.0.1:8181",
                RelayPassword: "pass123",
                Stdout:        true,
                NoPrompt:      true,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/src/install/default.txt 
new/croc-9.6.5/src/install/default.txt
--- old/croc-9.6.4/src/install/default.txt      2023-03-14 12:52:15.000000000 
+0100
+++ new/croc-9.6.5/src/install/default.txt      2023-07-06 19:10:57.000000000 
+0200
@@ -156,7 +156,7 @@
 
 #---  FUNCTION  
----------------------------------------------------------------
 #          NAME:  determine_os
-#   DESCRIPTION:  Attempts to determin host os using uname
+#   DESCRIPTION:  Attempts to determine host os using uname
 #    PARAMETERS:  none
 #       RETURNS:  0 = OS Detected. Also prints detected os to stdout
 #                 1 = Unknown OS
@@ -180,7 +180,7 @@
 
 #---  FUNCTION  
----------------------------------------------------------------
 #          NAME:  determine_arch
-#   DESCRIPTION:  Attempt to determin architecture of host
+#   DESCRIPTION:  Attempt to determine architecture of host
 #    PARAMETERS:  none
 #       RETURNS:  0 = Arch Detected. Also prints detected arch to stdout
 #                 1 = Unknown arch
@@ -528,7 +528,7 @@
   local autocomplete_install_rcode
 
   croc_bin_name="croc"
-  croc_version="9.6.4"
+  croc_version="9.6.5"
   croc_dl_ext="tar.gz"
   croc_base_url="https://github.com/schollz/croc/releases/download";
   prefix="${1}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/src/message/message_test.go 
new/croc-9.6.5/src/message/message_test.go
--- old/croc-9.6.4/src/message/message_test.go  2023-03-14 12:52:15.000000000 
+0100
+++ new/croc-9.6.5/src/message/message_test.go  2023-07-06 19:10:57.000000000 
+0200
@@ -85,7 +85,7 @@
        }()
 
        time.Sleep(300 * time.Millisecond)
-       a, err := comm.NewConnection("localhost:"+port, 10*time.Minute)
+       a, err := comm.NewConnection("127.0.0.1:"+port, 10*time.Minute)
        assert.Nil(t, err)
        m := Message{Type: TypeMessage, Message: "hello, world"}
        e, salt, err := crypt.New([]byte("pass"), nil)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/src/tcp/tcp_test.go 
new/croc-9.6.5/src/tcp/tcp_test.go
--- old/croc-9.6.4/src/tcp/tcp_test.go  2023-03-14 12:52:15.000000000 +0100
+++ new/croc-9.6.5/src/tcp/tcp_test.go  2023-07-06 19:10:57.000000000 +0200
@@ -12,11 +12,11 @@
 
 func BenchmarkConnection(b *testing.B) {
        log.SetLevel("trace")
-       go Run("debug", "localhost", "8283", "pass123", "8284")
+       go Run("debug", "127.0.0.1", "8283", "pass123", "8284")
        time.Sleep(100 * time.Millisecond)
        b.ResetTimer()
        for i := 0; i < b.N; i++ {
-               c, _, _, _ := ConnectToTCPServer("localhost:8283", "pass123", 
fmt.Sprintf("testroom%d", i), 1*time.Minute)
+               c, _, _, _ := ConnectToTCPServer("127.0.0.1:8283", "pass123", 
fmt.Sprintf("testroom%d", i), 1*time.Minute)
                c.Close()
        }
 }
@@ -24,22 +24,22 @@
 func TestTCP(t *testing.T) {
        log.SetLevel("error")
        timeToRoomDeletion = 100 * time.Millisecond
-       go Run("debug", "localhost", "8381", "pass123", "8382")
+       go Run("debug", "127.0.0.1", "8381", "pass123", "8382")
        time.Sleep(timeToRoomDeletion)
-       err := PingServer("localhost:8381")
+       err := PingServer("127.0.0.1:8381")
        assert.Nil(t, err)
-       err = PingServer("localhost:8333")
+       err = PingServer("127.0.0.1:8333")
        assert.NotNil(t, err)
 
        time.Sleep(timeToRoomDeletion)
-       c1, banner, _, err := ConnectToTCPServer("localhost:8381", "pass123", 
"testRoom", 1*time.Minute)
+       c1, banner, _, err := ConnectToTCPServer("127.0.0.1:8381", "pass123", 
"testRoom", 1*time.Minute)
        assert.Equal(t, banner, "8382")
        assert.Nil(t, err)
-       c2, _, _, err := ConnectToTCPServer("localhost:8381", "pass123", 
"testRoom")
+       c2, _, _, err := ConnectToTCPServer("127.0.0.1:8381", "pass123", 
"testRoom")
        assert.Nil(t, err)
-       _, _, _, err = ConnectToTCPServer("localhost:8381", "pass123", 
"testRoom")
+       _, _, _, err = ConnectToTCPServer("127.0.0.1:8381", "pass123", 
"testRoom")
        assert.NotNil(t, err)
-       _, _, _, err = ConnectToTCPServer("localhost:8381", "pass123", 
"testRoom", 1*time.Nanosecond)
+       _, _, _, err = ConnectToTCPServer("127.0.0.1:8381", "pass123", 
"testRoom", 1*time.Nanosecond)
        assert.NotNil(t, err)
 
        // try sending data
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/src/utils/utils.go 
new/croc-9.6.5/src/utils/utils.go
--- old/croc-9.6.4/src/utils/utils.go   2023-03-14 12:52:15.000000000 +0100
+++ new/croc-9.6.5/src/utils/utils.go   2023-07-06 19:10:57.000000000 +0200
@@ -27,6 +27,9 @@
        "github.com/schollz/mnemonicode"
 )
 
+const NbPinNumbers = 4
+const NbBytesWords = 4
+
 // Get or create home directory
 func GetConfigDir() (homedir string, err error) {
        homedir, err = os.UserHomeDir()
@@ -186,7 +189,7 @@
        s := ""
        max := new(big.Int)
        max.SetInt64(9)
-       for i := 0; i < 4; i++ {
+       for i := 0; i < NbPinNumbers; i++ {
                v, err := rand.Int(rand.Reader, max)
                if err != nil {
                        panic(err)
@@ -199,7 +202,7 @@
 // GetRandomName returns mnemonicoded random name
 func GetRandomName() string {
        var result []string
-       bs := make([]byte, 4)
+       bs := make([]byte, NbBytesWords)
        rand.Read(bs)
        result = mnemonicode.EncodeWordList(result, bs)
        return GenerateRandomPin() + "-" + strings.Join(result, "-")
@@ -356,7 +359,7 @@
 }
 
 func IsLocalIP(ipaddress string) bool {
-       if strings.Contains(ipaddress, "localhost") {
+       if strings.Contains(ipaddress, "127.0.0.1") {
                return true
        }
        host, _, _ := net.SplitHostPort(ipaddress)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/croc-9.6.4/src/utils/utils_test.go 
new/croc-9.6.5/src/utils/utils_test.go
--- old/croc-9.6.4/src/utils/utils_test.go      2023-03-14 12:52:15.000000000 
+0100
+++ new/croc-9.6.5/src/utils/utils_test.go      2023-07-06 19:10:57.000000000 
+0200
@@ -209,7 +209,7 @@
 }
 
 func TestFindOpenPorts(t *testing.T) {
-       openPorts := FindOpenPorts("localhost", 9009, 4)
+       openPorts := FindOpenPorts("127.0.0.1", 9009, 4)
        assert.Equal(t, []int{9009, 9010, 9011, 9012}, openPorts)
 }
 

++++++ vendor.tar.xz ++++++
++++ 22095 lines of diff (skipped)

Reply via email to