aboutsummaryrefslogtreecommitdiffstats
path: root/irssi
diff options
context:
space:
mode:
authorterminaldweller <thabogre@gmail.com>2022-12-18 11:18:14 +0000
committerterminaldweller <thabogre@gmail.com>2022-12-18 11:18:14 +0000
commit48bc5c779635cd369672405483082115d4f5112b (patch)
tree0db3be47d825ea04081027f2887290c3fd88ff92 /irssi
parentupdate (diff)
downloadscripts-48bc5c779635cd369672405483082115d4f5112b.tar.gz
scripts-48bc5c779635cd369672405483082115d4f5112b.zip
update
Diffstat (limited to 'irssi')
-rw-r--r--irssi/Dockerfile29
-rw-r--r--irssi/tor/Dockerfile90
-rw-r--r--irssi/tor/proxychains.conf68
3 files changed, 173 insertions, 14 deletions
diff --git a/irssi/Dockerfile b/irssi/Dockerfile
index cce2f59..ed8d271 100644
--- a/irssi/Dockerfile
+++ b/irssi/Dockerfile
@@ -21,7 +21,7 @@ RUN set -eux; \
ENV LANG C.UTF-8
-ENV IRSSI_VERSION 1.2.3
+ENV IRSSI_VERSION 1.4.3
RUN set -eux; \
\
@@ -37,6 +37,9 @@ RUN set -eux; \
libtool \
lynx \
make \
+ meson \
+ ninja \
+ xz \
ncurses-dev \
openssl \
openssl-dev \
@@ -61,19 +64,17 @@ RUN set -eux; \
rm /tmp/irssi.tar.xz; \
\
cd /usr/src/irssi; \
- gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
- ./configure \
- --build="$gnuArch" \
- --enable-true-color \
- --with-bot \
- --with-proxy \
- --with-socks \
- --with-otr=static \
+ meson \
+ -Denable-true-color=yes \
+ -Dwith-bot=yes \
+ -Dwith-perl=yes \
+ -Dwith-proxy=yes \
+ -Dwith-otr=yes \
+ Build \
; \
- make -j "$(nproc)"; \
- make install; \
- \
- cd /; \
+ ninja -C Build -j "$(nproc)"; \
+ ninja -C Build install;
+RUN cd /; \
rm -rf /usr/src/irssi; \
\
runDeps="$( \
@@ -82,7 +83,7 @@ RUN set -eux; \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
- apk add --no-network --virtual .irssi-rundeps $runDeps; \
+ apk add --virtual .irssi-rundeps $runDeps; \
echo https://dl-cdn.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories && apk update; \
apk add --no-cache perl-glib perl-datetime perl-dbi perl-dbd-pg perl-lwp-protocol-https proxychains-ng perl-glib-object-introspection libnotify; \
# apk add dbus; \
diff --git a/irssi/tor/Dockerfile b/irssi/tor/Dockerfile
new file mode 100644
index 0000000..40927ef
--- /dev/null
+++ b/irssi/tor/Dockerfile
@@ -0,0 +1,90 @@
+FROM alpine:3.16
+
+ENV http_proxy=socks5://192.168.1.214:9995
+ENV https_proxy=socks5://192.168.1.214:9995
+ENV HTTP_PROXY=socks5://192.168.1.214:9995
+ENV HTTPS_PROXY=socks5://192.168.1.214:9995
+
+RUN apk add --no-cache \
+ ca-certificates \
+ perl-libwww
+
+ENV HOME /home/user
+RUN set -eux; \
+ adduser -u 1001 -D -h "$HOME" user; \
+ mkdir "$HOME/.irssi"; \
+ chown -R user:user "$HOME"
+
+ENV LANG C.UTF-8
+
+ENV IRSSI_VERSION 1.4.3
+
+RUN set -eux; \
+ \
+ apk add --no-cache --virtual .build-deps \
+ coreutils \
+ gcc \
+ glib-dev \
+ gnupg \
+ libc-dev \
+ libtool \
+ lynx \
+ meson \
+ ncurses-dev \
+ ninja \
+ openssl \
+ openssl-dev \
+ perl-dev \
+ pkgconf \
+ tar \
+ xz \
+ ;
+ ENV http_proxy=
+ ENV https_proxy=
+ ENV HTTP_PROXY=
+ ENV HTTPS_PROXY=
+ RUN wget "https://github.com/irssi/irssi/releases/download/${IRSSI_VERSION}/irssi-${IRSSI_VERSION}.tar.xz" -O /tmp/irssi.tar.xz; \
+ wget "https://github.com/irssi/irssi/releases/download/${IRSSI_VERSION}/irssi-${IRSSI_VERSION}.tar.xz.asc" -O /tmp/irssi.tar.xz.asc; \
+ export GNUPGHOME="$(mktemp -d)"; \
+# gpg: key DDBEF0E1: public key "The Irssi project <staff@irssi.org>" imported
+ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 7EE65E3082A5FB06AC7C368D00CCB587DDBEF0E1; \
+ gpg --batch --verify /tmp/irssi.tar.xz.asc /tmp/irssi.tar.xz; \
+ gpgconf --kill all; \
+ rm -rf "$GNUPGHOME" /tmp/irssi.tar.xz.asc; \
+ \
+ mkdir -p /usr/src/irssi; \
+ tar -xf /tmp/irssi.tar.xz -C /usr/src/irssi --strip-components 1; \
+ rm /tmp/irssi.tar.xz; \
+ \
+ cd /usr/src/irssi; \
+ meson \
+ -Denable-true-color=yes \
+ -Dwith-bot=yes \
+ -Dwith-perl=yes \
+ -Dwith-proxy=yes \
+ Build \
+ ; \
+ ninja -C Build -j "$(nproc)"; \
+ ninja -C Build install; \
+ \
+ cd /; \
+ rm -rf /usr/src/irssi; \
+ \
+ runDeps="$( \
+ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \
+ | tr ',' '\n' \
+ | sort -u \
+ | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
+ )"; \
+ apk add --no-network --virtual .irssi-rundeps $runDeps; \
+ echo https://dl-cdn.alpinelinux.org/alpine/v3.16/main >> /etc/apk/repositories && apk update && apk add --no-cache proxychains-ng ; \
+ apk del --no-network .build-deps; \
+ \
+# basic smoke test
+ irssi --version
+
+COPY ./proxychains.conf /etc/proxychains/
+WORKDIR $HOME
+
+USER user
+CMD ["proxychains4", "-q", "irssi"]
diff --git a/irssi/tor/proxychains.conf b/irssi/tor/proxychains.conf
new file mode 100644
index 0000000..18ce7fa
--- /dev/null
+++ b/irssi/tor/proxychains.conf
@@ -0,0 +1,68 @@
+# proxychains.conf VER 3.1
+#
+# HTTP, SOCKS4, SOCKS5 tunneling proxifier with DNS.
+#
+
+# The option below identifies how the ProxyList is treated.
+# only one option should be uncommented at time,
+# otherwise the last appearing option will be accepted
+#
+dynamic_chain
+#
+# Dynamic - Each connection will be done via chained proxies
+# all proxies chained in the order as they appear in the list
+# at least one proxy must be online to play in chain
+# (dead proxies are skipped)
+# otherwise EINTR is returned to the app
+#
+#strict_chain
+#
+# Strict - Each connection will be done via chained proxies
+# all proxies chained in the order as they appear in the list
+# all proxies must be online to play in chain
+# otherwise EINTR is returned to the app
+#
+#random_chain
+#
+# Random - Each connection will be done via random proxy
+# (or proxy chain, see chain_len) from the list.
+# this option is good to test your IDS :)
+
+# Make sense only if random_chain
+#chain_len = 2
+
+# Quiet mode (no output from library)
+#quiet_mode
+
+# Proxy DNS requests - no leak for DNS data
+proxy_dns
+
+# Some timeouts in milliseconds
+tcp_read_time_out 15000
+tcp_connect_time_out 8000
+localnet 10.0.0.0/255.0.0.0
+localnet 172.16.0.0/255.240.0.0
+localnet 192.168.0.0/255.255.0.0
+localnet 127.0.0.0/255.0.0.0
+
+# ProxyList format
+# type host port [user pass]
+# (values separated by 'tab' or 'blank')
+#
+#
+# Examples:
+#
+# socks5 192.168.67.78 1080 lamer secret
+# http 192.168.89.3 8080 justu hidden
+# socks4 192.168.1.49 1080
+# http 192.168.39.93 8080
+#
+#
+# proxy types: http, socks4, socks5
+# ( auth types supported: "basic"-http "user/pass"-socks )
+#
+[ProxyList]
+# add proxy here ...
+# meanwile
+# defaults set to "tor"
+socks5 192.168.1.214 9054