diff options
Diffstat (limited to 'irssi/tor')
-rw-r--r-- | irssi/tor/Dockerfile | 90 | ||||
-rw-r--r-- | irssi/tor/proxychains.conf | 68 |
2 files changed, 158 insertions, 0 deletions
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 |