diff --git a/.github/ISSUE_TEMPLATE/new-issue--bug-report--question.md b/.github/ISSUE_TEMPLATE/new-issue--bug-report--question.md
new file mode 100644
index 00000000..32d49956
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/new-issue--bug-report--question.md
@@ -0,0 +1,20 @@
+---
+name: New Issue, Bug report, Question
+about: New Issue, Bug report, Question
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+# IMPORTANT NOTICE
+
+Before filing an issue here PLEASE keep in mind that **tinyproxy 1.10.0 and older are no longer supported**.
+Do not report issues with 1.10.0 or older, first try latest release 1.11.0, or even better, git master, and see whether the issue is already fixed.
+
+## Tinyproxy version
+State the tinyproxy version you're using; whether git master or 1.11.0 stable.
+
+## Issue
+Fill in your Issue text here.
+A good issue report is detailed and includes full error messages from tinyproxy's output, not "X doesn't work".
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 00000000..067105da
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,37 @@
+name: CI
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - run: ./autogen.sh
+ - run: ./configure
+ - run: make
+ - run: make test
+ - run: cd docs/web ; make
+ test-macos:
+ runs-on: macos-latest
+ steps:
+ - uses: actions/checkout@v2
+ - run: brew install automake
+ - run: ./autogen.sh
+ - run: ./configure
+ - run: make
+ valgrind-test:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - run: sudo apt update
+ - run: sudo apt install --assume-yes valgrind
+ - run: ./autogen.sh
+ - run: ./configure --enable-debug --enable-transparent --enable-reverse
+ - run: make
+ - run: make test
+ - run: make valgrind-test
diff --git a/.github/workflows/release_tarball.yml b/.github/workflows/release_tarball.yml
new file mode 100644
index 00000000..7999f179
--- /dev/null
+++ b/.github/workflows/release_tarball.yml
@@ -0,0 +1,40 @@
+name: Generate Source Tarball
+
+# Trigger whenever a release is created
+on:
+ release:
+ types:
+ - created
+
+jobs:
+ build:
+ name: build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@v4
+ with:
+ submodules: recursive
+
+ - name: archive
+ id: archive
+ run: |
+ sudo apt install -y gperf
+ rm -rf .git
+ autoreconf -i
+ VERSION=$(cat VERSION)
+ PKGNAME="tinyproxy-$VERSION"
+ ./configure
+ make dist
+ echo "tarball_xz=${PKGNAME}.tar.xz" >> "$GITHUB_OUTPUT"
+ echo "tarball_gz=${PKGNAME}.tar.gz" >> "$GITHUB_OUTPUT"
+ echo "tarball_bz2=${PKGNAME}.tar.bz2" >> "$GITHUB_OUTPUT"
+
+ - name: upload tarballs
+ uses: softprops/action-gh-release@v2
+ with:
+ files: |
+ ${{ steps.archive.outputs.tarball_xz }}
+ ${{ steps.archive.outputs.tarball_gz }}
+ ${{ steps.archive.outputs.tarball_bz2 }}
+
diff --git a/.github/workflows/shellcheck.yaml b/.github/workflows/shellcheck.yaml
new file mode 100644
index 00000000..7e5edc7b
--- /dev/null
+++ b/.github/workflows/shellcheck.yaml
@@ -0,0 +1,33 @@
+name: shellcheck
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ paths-ignore:
+ branches:
+ - master
+
+# cancel the in-progress workflow when PR is refreshed.
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
+ cancel-in-progress: true
+
+permissions:
+ contents: read
+
+jobs:
+ shellcheck:
+ name: Shellcheck
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: install shellcheck
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y shellcheck
+ - name: Run autogen
+ run: ./autogen.sh
+ - name: Run ShellCheck
+ run: make shellcheck
+
diff --git a/.travis.yml b/.travis.yml
index c38a1d21..47c3b8d2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,15 +4,15 @@ sudo: true
before_install:
- sudo apt-get update -qq
-- sudo apt-get install --assume-yes asciidoc valgrind
+- sudo apt-get install --assume-yes valgrind
script:
- ./autogen.sh
- ./configure
- make
- make test
+- make clean
- ./configure --enable-debug --enable-transparent --enable-reverse
- make
- make test
- make valgrind-test
-- make distcheck
diff --git a/AUTHORS b/AUTHORS
index 9c82e402..d0e6b303 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,43 +1,39 @@
-Tinyproxy AUTHORS
-=================
-
-////
-This file is generated from authors.xml, do not edit it directly.
-////
-
-Coding
-------
-
-The following people have contributed code to Tinyproxy:
-
- * Andrew Stribblehill
- * Chris Lightfoot
- * Daniel Egger
- * David Shanks
- * Dmitry Semyonov
- * George Talusan
- * James E. Flemer
- * Jeremy Hinegardner
- * John van der Kamp
- * Jordi Mallach
- * Kim Holviala
- * Mathew Mrosko
- * Matthew Dempsky
- * Michael Adam
- * Moritz Muehlenhoff
- * Mukund Sivaraman
- * Petr Lampa
- * Robert James Kaes
- * Steven Young
-
-
-Documentation
--------------
-
-The following people have helped to document Tinyproxy:
-
- * Marc Silver
- * Michael Adam
- * Mukund Sivaraman
- * Robert James Kaes
- * Steven Young
+Andrew Stribblehill
+bertliao
+Bob Showalter
+Brian Cain
+cvs2svn
+Daniel Egger
+Daniel M. Drucker
+David Shanks
+Dmitry Semyonov
+dmz-uk
+Drew G. Wallace
+Frank Morgner
+gary-wzl77
+Gaudenz Steinlin
+goba62000374
+Gonzalo Tornaria
+Greg
+Jeremy Hinegardner
+John Spencer
+John van der Kamp
+John Weldon
+Jordi
+Jordi Mallach
+Julien Hartmann
+kikuchan
+Mathew Mrosko
+Matthew Dempsky
+Michael Adam
+Mike Mead
+Mukund Sivaraman
+Pablo Panero
+Peter H. Froehlich
+Robert James Kaes
+rofl0r
+Stephan Leemburg
+Steven Conaway
+Steven Young
+Valen Blanco
+Vladimir Belov
diff --git a/Makefile.am b/Makefile.am
index 9d62d2cc..f721d58e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,27 +4,13 @@ SUBDIRS = \
etc \
docs \
m4macros \
- tests
+ tests \
+ scripts
# tools want this on a single line
ACLOCAL_AMFLAGS = -I m4macros
-AUTHORS: authors.xml authors.xsl
-if HAVE_XSLTPROC
- $(AM_V_GEN) $(XSLTPROC) authors.xsl $< > $(@) || rm -f $(@)
-else
- @echo "*** xsltproc is required to regenerate $(@) ***"; exit 1;
-endif
-
-validate-authors:
-if HAVE_XMLLINT
- @$(XMLLINT) --noout --path $(srcdir) --valid authors.xml || \
- ( echo "*** authors.xml IS INVALID ***"; exit 1; )
-endif
-
-all-local: AUTHORS
-
-check-local: validate-authors
+all-local:
dist_doc_DATA = \
AUTHORS \
@@ -33,16 +19,18 @@ dist_doc_DATA = \
README.md
EXTRA_DIST = \
- authors.dtd \
- authors.xml \
- authors.xsl \
autogen.sh \
tinyproxy-indent.sh \
- TODO
+ TODO \
+ VERSION
test: all
./tests/scripts/run_tests.sh
+.PHONY: shellcheck
+shellcheck:
+ @shellcheck `find . -name '*.sh'`
+
test-wait:
TINYPROXY_TESTS_WAIT=yes $(MAKE) test
diff --git a/NEWS b/NEWS
index 550e7fe0..c0fddc8c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,12 +1 @@
-Tinyproxy NEWS
-==============
-
-Version 1.9.0
--------------
-
-Bugs fixed
-~~~~~~~~~~
-
-Contributors
-~~~~~~~~~~~~
-
+See git log for recent changes in Tinyproxy.
diff --git a/README.md b/README.md
index f13e670c..83eb99be 100644
--- a/README.md
+++ b/README.md
@@ -55,6 +55,9 @@ Enable support for proxying connections through another proxy server.
- `--enable-transparent`:
Allow Tinyproxy to be used as a transparent proxy daemon.
+Unlike other work modes, transparent proxying doesn't require explicit
+configuration and works automatically when traffic is redirected to
+the proxy using the appropriate firewall rules.
- `--enable-reverse`:
Enable reverse proxying.
@@ -86,4 +89,4 @@ and create a [pull request](https://github.com/tinyproxy/tinyproxy/pulls).
You can meet developers and users to discuss development,
patches and deployment issues in the `#tinyproxy` IRC channel on
-Freenode (`irc.freenode.net`).
+libera (`irc.libera.chat`).
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 00000000..93ef8148
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,28 @@
+# Security Policy
+
+## Supported Versions
+
+| Version | Supported |
+| --------- | ------------------ |
+| 1.11.x | :white_check_mark: |
+| <= 1.10.x | :x: |
+
+## Reporting a Vulnerability
+
+Open a public issue on github. The issue will most likely be fixed
+within a day, unless all maintainers happen to just be taking a
+vacation at the same time, which is unlikely.
+
+Even then, having the bug publicly known will allow competent people
+to come up with custom patches for distros, most likely quicker
+than black hats can craft a remote execution exploit.
+
+If you really really do not want to make the issue public, come
+to the tinyproxy IRC channel and ask for a maintainer, which you
+can then contact via private messages.
+
+Do not, however, like ["TALOS Intelligence"](https://talosintelligence.com/vulnerability_reports/TALOS-2023-1889)
+pull a random email address out of git log, then send an email
+nobody reads or responds to, and wait for 6 months for publication.
+this only gives black hats plenty time to sell, use and circulate
+zero days and get the best possible ROI.
diff --git a/VERSION b/VERSION
new file mode 100644
index 00000000..0a5af26d
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+1.11.3
diff --git a/authors.dtd b/authors.dtd
deleted file mode 100644
index 77d43c53..00000000
--- a/authors.dtd
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/authors.xml b/authors.xml
deleted file mode 100644
index 7fc94f2a..00000000
--- a/authors.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
Generated by {package} version {version}.
+Generated by {package}.
- -| Name | -Value | -
|---|---|
| Number of open connections | -{opens} | -
| Number of requests | -{reqs} | -
| Number of bad connections | -{badconns} | -
| Number of denied connections | -{deniedconns} | -
| Number of refused connections due to high load | -{refusedconns} | -
Generated by {package} version {version}.
- - +| {package} statistics | +|
|---|---|
| Open connections | +{opens} | +
| Bad connections | +{badconns} | +
| Denied connections | +{deniedconns} | +
| Refused (high load) | +{refusedconns} | +
| Total requests | +{reqs} | +
diff --git a/data/templates/default.html b/data/templates/default.html index 67354b7a..8a9c8f6c 100644 --- a/data/templates/default.html +++ b/data/templates/default.html @@ -16,7 +16,7 @@
-
Generated by {package} version {version}.
+
Generated by {package}.
diff --git a/data/templates/stats.html b/data/templates/stats.html index 71798592..f039c970 100644 --- a/data/templates/stats.html +++ b/data/templates/stats.html @@ -1,69 +1,95 @@ - - - - - -
-
- - - - - - -
- + + + +
+
+ + + + +