aboutsummaryrefslogtreecommitdiffstats
path: root/docker
diff options
context:
space:
mode:
Diffstat (limited to 'docker')
-rw-r--r--docker/bitlbee-purple/docker-compose.yaml33
-rw-r--r--docker/bitlbee-purple/matterircd.toml242
-rw-r--r--docker/bitlbee-purple/net.properties148
3 files changed, 423 insertions, 0 deletions
diff --git a/docker/bitlbee-purple/docker-compose.yaml b/docker/bitlbee-purple/docker-compose.yaml
index dd582b0..e97844b 100644
--- a/docker/bitlbee-purple/docker-compose.yaml
+++ b/docker/bitlbee-purple/docker-compose.yaml
@@ -13,7 +13,40 @@ services:
volumes:
- ./conf/bitlbee.conf:/var/lib/bitlbee/bitlbee.conf
- userdata:/var/lib/bitlbee
+ - /home/devi/.cache/docker-bitlbee/signald/run:/var/run/signald
+ signald:
+ image: signald/signald
+ networks:
+ - signalnet
+ restart: unless-stopped
+ volumes:
+ - /home/devi/.cache/docker-bitlbee/signald/run:/signald
+ - ./net.properties:/conf/net.properties:ro
+ environment:
+ - ALL_PROXY=socks5h://192.168.1.214:9995
+ - FTP_PROXY=socks5h://192.168.1.214:9995
+ - HTTP_PROXY=socks5h://192.168.1.214:9995
+ - HTTPS_PROXY=socks5h://192.168.1.214:9995
+ - NOPROXY=localhost,127.0.0.0/8,172.16.0.0/12,10.0.0.0/8,192.168.0.0/16
+ # matterircd:
+ # image: 42wim/matterircd:0.26
+ # networks:
+ # - matterircdnet
+ # ports:
+ # - "8668:6667"
+ # restart: unless-stopped
+ # environment:
+ # - ALL_PROXY=socks5h://192.168.1.214:9995
+ # - FTP_PROXY=socks5h://192.168.1.214:9995
+ # - HTTP_PROXY=socks5h://192.168.1.214:9995
+ # - HTTPS_PROXY=socks5h://192.168.1.214:9995
+ # - NOPROXY=localhost,127.0.0.0/8,172.16.0.0/12,10.0.0.0/8,192.168.0.0/16
+ # command: ["--conf", "/matterircd.conf"]
+ # volumes:
+ # - ./matterircd.toml:/matterircd.toml:ro
networks:
bitlbeenet:
+ signalnet:
+ # matterircdnet:
volumes:
userdata:
diff --git a/docker/bitlbee-purple/matterircd.toml b/docker/bitlbee-purple/matterircd.toml
new file mode 100644
index 0000000..69ab8f0
--- /dev/null
+++ b/docker/bitlbee-purple/matterircd.toml
@@ -0,0 +1,242 @@
+#interface:port to bind to. (default "127.0.0.1:6667")
+bind = "0.0.0.0:6667"
+
+#enable debug logging (default false)
+debug = false
+
+#enable trace logging (default false)
+trace = false
+
+#enable gops agent (https://github.com/google/gops)
+#used to track down memory leaks/cpu profiling
+#default false
+gops = false
+
+#TLS interface:port to bind to. (e.g 127.0.0.1:6697) (deault "")
+#
+#TLSBind = "127.0.0.1:6697"
+
+#directory to look for key.pem and cert.pem. (default ".")
+#
+#TLSDir = "/etc/pki/tls/matterircd/"
+
+# Specify the full path for your key and cert
+#TLSKey = "/etc/pki/tls/matterircd/key.pem"
+#TLSCert = "/etc/pki/tls/matterircd/cer.pem"
+
+# Override handshake timeout (in seconds)
+#HandshakeTimeout = 10
+# Override client timeout (in seconds)
+#ClientTimeout = 10
+
+#PasteBufferTimeout specifies the amount of time in milliseconds that
+#messages get kept in matterircd internal buffer before being sent to
+#mattermost or slack.
+#Messages that will be received in this time will be concatenated together
+#So this can be used to paste stuff like ansi-art or code.
+#Default 0 (is disabled)
+#Depending on how fast you type 2500 is a good number
+PasteBufferTimeout = 2500
+
+##################################
+##### MATTERMOST EXAMPLE #########
+##################################
+[mattermost]
+#specify default mattermost server/instance (default "")
+#
+DefaultServer = "community.mattermost.com"
+
+#specify default mattermost team (default "")
+#
+#DefaultTeam = "mycompany"
+
+#use http connection to mattermost (default false)
+Insecure = false
+
+#an array of channels that only will be joined on IRC. JoinExlude and JoinInclude will not be checked
+#regexp is supported
+#If it's empty, it means all channels get joined (except those defined in JoinExclude)
+#Messages that get sent to unjoined channels (but you're joined on mattermost) will
+#get sent to the &messages channel.
+#default ""
+#
+#JoinOnly = ["#onlythischannel"]
+
+#an array of channels that won't be joined on IRC.
+#regexp is supported
+#Messages that get sent to unjoined channels (but you're joined on mattermost) will
+#get sent to the &messages channel.
+#You can still /JOIN exclude channels.
+#default ""
+#
+#JoinExclude = ["#town-square","#boringchannel","#.*marketing.*"]
+
+#an array of channels that will override the settings in JoinExclude
+#regexp is supported
+#If it's empty, it means all channels get joined (except those defined in JoinExclude)
+#Messages that get sent to unjoined channels (but you're joined on mattermost) will
+#get sent to the &messages channel.
+#default ""
+#
+#JoinInclude = ["#devops","#myteam-marketing"]
+
+#PartFake: a bool that defines if you do a /LEAVE or /PART on IRC it will also
+#actually leave the channel on mattermost.
+#if false it actually leaves the channel on mattermost
+#if true it removes the channel from irc, but you're still joined on mattermost, messages
+#of this channel will be sent to &messages channel
+#Default false
+#
+PartFake = true
+
+#only allow connection to specified mattermost server/instances.
+#Array, default empty
+#
+#Restrict = ["chat.mycompany.com"]
+
+#skip verification of mattermost certificate chain and hostname (default false)
+SkipTLSVerify = false
+
+#also add the main team prefix to the channel name #team/channel (default false)
+PrefixMainTeam = false
+
+#Only mark a conversation as viewed when you reply to that conversation or
+#channel. This prevents Mattermost from clearing mobile app notifications
+#instantly. Note that this prevents you from always appearing as online
+#(anti-idle support is turned off unless ForceAntiIdle) (default false)
+DisableAutoView = false
+# Force and enable anti-idle. Useful for when DisableAutoView.
+# ForceAntiIdle = true
+# AntiIdleChannel = "town-square"
+# AntiIdleInterval = 60
+
+# If users set a Nickname, matterircd could either choose that or the Username
+# to display in the IRC client. The option PreferNickname controls that, the
+# default being to show the Username. (default false)
+PreferNickname = false
+
+# Disable showing parent post / replies
+HideReplies = false
+# Shorten replies to approximately this length
+ShortenRepliesTo = 0
+# Enable Unicode.
+Unicode = true
+# Disable showing reactions
+HideReactions = false
+
+#Only join direct/group messages when someone talks. This stops from cluttering your
+#irc client with lots of windows.
+#If set to true dm/group messages will be joined on startup and not only on talk in the channel.
+JoinDM = false
+
+#This will add a number between 000 and fff to each message
+#This number will be referenced when a message is edited/deleted/threaded/reaction
+#For more information see prefixcontext.md
+PrefixContext = false
+# Same as PrefixContext but with the message context at the end.
+SuffixContext = false
+# If either PrefixContext or SuffixContext specify which thread ID to use. Default is the
+# matterircd generated @@([0-9][a-f]){3}. Uncomment to use Mattermost's message/parent thread IDs instead.
+#ThreadContext = "mattermost"
+# Similar to the above, but also show the message post IDs in addition to the parent thread ID.
+#ThreadContext = "mattermost+post"
+#Show Context for multi-line messages and only show it at the end.
+ShowContextMulti = false
+
+#This will show (mention yournick) after a message if it contains one of the words configured
+#in your mattermost "word that trigger mentions" notifications.
+ShowMentions = false
+# Channel wide default mentions @channel, @all, and @here are shown as IRC NOTICEs.
+# This disables that making them appear as normal PRIVMSGs.
+#DisableDefaultMentions = true
+
+# Enable syntax highlighting for code blocks.
+# Formatter and Style are passed through to the chroma v2 package.
+# https://github.com/alecthomas/chroma/blob/master/formatters/tty_indexed.go#L262
+# terminal/terminal8 for 8-colors, terminal16, terminal256, terminal16m (16M true-colour).
+# https://github.com/alecthomas/chroma/tree/master/styles
+# These are different colour schemes/styles. E.g. pygments, emacs, autumn, etc.
+SyntaxHighlighting = "terminal256:pygments"
+
+# Path to file to store last viewed information. This is useful for replying only
+# the messages missed.
+LastViewedSaveFile = "matterircd-lastsaved.db"
+
+#############################
+##### SLACK EXAMPLE #########
+#############################
+[slack]
+#deny specific users from connecting.
+#As we only connect using tokens, this will first do a ccnnection to see what username the token is from. If this
+#username is on the DenyUsers the user will be disconnected.
+#Array, default empty
+#
+#DenyUsers = ["username"]
+
+#https://get.slack.help/hc/en-us/articles/212281468-Direct-messages-and-group-DMs
+#Only join direct/group messages when someone talks. This stops from cluttering your
+#irc client with lots of windows.
+#If set to true dm/group messages will be joined on startup and not only on talk in the channel.
+JoinDM = false
+
+#only allow connection to specific slack sites. (eg for myslack.slack.com just specify myslack)
+#As we only connect using tokens, this will first do a ccnnection to see what team the token is from. If this
+#team isn't in the Restrict list, the user will be disconnected.
+#Array, default empty
+#
+#Restrict = ["myslack"]
+
+# This will add the slack DisplayName as prefix to every message if the DisplayName differs from the Username
+# More info about username/displayname see https://api.slack.com/changelog/2017-09-the-one-about-usernames
+# Default false
+UseDisplayName = false
+
+#an array of channels that only will be joined on IRC. JoinExlude and JoinInclude will not be checked
+#regexp is supported
+#If it's empty, it means all channels get joined (except those defined in JoinExclude)
+#Messages that get sent to unjoined channels (but you're joined on mattermost) will
+#get sent to the &messages channel.
+#default ""
+#
+#JoinOnly = ["#onlythischannel"]
+
+#an array of channels that won't be joined on IRC.
+#regexp is supported
+#Messages that get sent to unjoined channels (but you're joined on mattermost) will
+#get sent to the &messages channel.
+#You can still /JOIN exclude channels.
+#default ""
+#
+#JoinExclude = ["#town-square","#boringchannel","#.*marketing.*"]
+
+#an array of channels that will override the settings in JoinExclude
+#regexp is supported
+#If it's empty, it means all channels get joined (except those defined in JoinExclude)
+#Messages that get sent to unjoined channels (but you're joined on mattermost) will
+#get sent to the &messages channel.
+#default ""
+#
+#JoinInclude = ["#devops","#myteam-marketing"]
+
+#This will add a number between 000 and fff to each message
+#This number will be referenced when a message is edited/deleted/threaded/reaction
+PrefixContext = false
+
+
+#############################
+##### MASTODON EXAMPLE ######
+#############################
+[mastodon]
+#Go to https://yourmastodonserver/settings/applications/new
+#Use matterircd as application name (default read/write/follow scopes are ok)
+#Click on submit
+#After submitting it'll show you the Client Key (we call it clientID),
+#the client secret and Your access token
+#
+#Fill those in below with your server
+#Connect to matterircd and /msg mastodon login
+#
+#server="https://mastodon.social"
+#clientID="clientidstring"
+#clientSecret="clientsecretstring" #pragma: allowlist secret
+#accessToken="accesstokenstring"
diff --git a/docker/bitlbee-purple/net.properties b/docker/bitlbee-purple/net.properties
new file mode 100644
index 0000000..87f19c5
--- /dev/null
+++ b/docker/bitlbee-purple/net.properties
@@ -0,0 +1,148 @@
+############################################################
+# Default Networking Configuration File
+#
+# This file may contain default values for the networking system properties.
+# These values are only used when the system properties are not specified
+# on the command line or set programmatically.
+# For now, only the various proxy settings can be configured here.
+############################################################
+
+# Whether or not the DefaultProxySelector will default to System Proxy
+# settings when they do exist.
+# Set it to 'true' to enable this feature and check for platform
+# specific proxy settings
+# Note that the system properties that do explicitly set proxies
+# (like http.proxyHost) do take precedence over the system settings
+# even if java.net.useSystemProxies is set to true.
+
+java.net.useSystemProxies=false
+
+#------------------------------------------------------------------------
+# Proxy configuration for the various protocol handlers.
+# DO NOT uncomment these lines if you have set java.net.useSystemProxies
+# to true as the protocol specific properties will take precedence over
+# system settings.
+#------------------------------------------------------------------------
+
+# HTTP Proxy settings. proxyHost is the name of the proxy server
+# (e.g. proxy.mydomain.com), proxyPort is the port number to use (default
+# value is 80) and nonProxyHosts is a '|' separated list of hostnames which
+# should be accessed directly, ignoring the proxy server (default value is
+# localhost & 127.0.0.1).
+#
+#http.proxyHost=192.168.1.214
+#http.proxyPort=9995
+#http.nonProxyHosts=localhost|127.*|[::1]
+#
+# HTTPS Proxy Settings. proxyHost is the name of the proxy server
+# (e.g. proxy.mydomain.com), proxyPort is the port number to use (default
+# value is 443). The HTTPS protocol handlers uses the http nonProxyHosts list.
+#
+#https.proxyHost=192.168.1.214
+#https.proxyPort=9995
+#
+# FTP Proxy settings. proxyHost is the name of the proxy server
+# (e.g. proxy.mydomain.com), proxyPort is the port number to use (default
+# value is 80) and nonProxyHosts is a '|' separated list of hostnames which
+# should be accessed directly, ignoring the proxy server (default value is
+# localhost & 127.0.0.1).
+#
+#ftp.proxyHost=192.168.1.214
+#ftp.proxyPort=9995
+#ftp.nonProxyHosts=localhost|127.*|[::1]
+#
+# Socks proxy settings. socksProxyHost is the name of the proxy server
+# (e.g. socks.domain.com), socksProxyPort is the port number to use
+# (default value is 1080)
+#
+socksProxyHost=192.168.1.214
+socksProxyPort=9995
+socksProxyVersion=5
+#
+# HTTP Keep Alive settings. remainingData is the maximum amount of data
+# in kilobytes that will be cleaned off the underlying socket so that it
+# can be reused (default value is 512K), queuedConnections is the maximum
+# number of Keep Alive connections to be on the queue for clean up (default
+# value is 10).
+# http.KeepAlive.remainingData=512
+# http.KeepAlive.queuedConnections=10
+
+# Authentication Scheme restrictions for HTTP and HTTPS.
+#
+# In some environments certain authentication schemes may be undesirable
+# when proxying HTTP or HTTPS. For example, "Basic" results in effectively the
+# cleartext transmission of the user's password over the physical network.
+# This section describes the mechanism for disabling authentication schemes
+# based on the scheme name. Disabled schemes will be treated as if they are not
+# supported by the implementation.
+#
+# The 'jdk.http.auth.tunneling.disabledSchemes' property lists the authentication
+# schemes that will be disabled when tunneling HTTPS over a proxy, HTTP CONNECT.
+# The 'jdk.http.auth.proxying.disabledSchemes' property lists the authentication
+# schemes that will be disabled when proxying HTTP.
+#
+# In both cases the property is a comma-separated list of, case-insensitive,
+# authentication scheme names, as defined by their relevant RFCs. An
+# implementation may, but is not required to, support common schemes whose names
+# include: 'Basic', 'Digest', 'NTLM', 'Kerberos', 'Negotiate'. A scheme that
+# is not known, or not supported, by the implementation is ignored.
+#
+# Note: This property is currently used by the JDK Reference implementation. It
+# is not guaranteed to be examined and used by other implementations.
+#
+#jdk.http.auth.proxying.disabledSchemes=
+jdk.http.auth.tunneling.disabledSchemes=Basic
+
+#
+# Allow restricted HTTP request headers
+#
+# By default, the following request headers are not allowed to be set by user code
+# in HttpRequests: "connection", "content-length", "expect", "host" and "upgrade".
+# The 'jdk.httpclient.allowRestrictedHeaders' property allows one or more of these
+# headers to be specified as a comma separated list to override the default restriction.
+# The names are case-insensitive and white-space is ignored (removed before processing
+# the list). Note, this capability is mostly intended for testing and isn't expected
+# to be used in real deployments. Protocol errors or other undefined behavior is likely
+# to occur when using them. The property is not set by default.
+# Note also, that there may be other headers that are restricted from being set
+# depending on the context. This includes the "Authorization" header when the
+# relevant HttpClient has an authenticator set. These restrictions cannot be
+# overridden by this property.
+#
+# jdk.httpclient.allowRestrictedHeaders=host
+#
+#
+# Transparent NTLM HTTP authentication mode on Windows. Transparent authentication
+# can be used for the NTLM scheme, where the security credentials based on the
+# currently logged in user's name and password can be obtained directly from the
+# operating system, without prompting the user. This property has three possible
+# values which regulate the behavior as shown below. Other unrecognized values
+# are handled the same as 'disabled'. Note, that NTLM is not considered to be a
+# strongly secure authentication scheme and care should be taken before enabling
+# this mechanism.
+#
+# Transparent authentication never used.
+#jdk.http.ntlm.transparentAuth=disabled
+#
+# Enabled for all hosts.
+#jdk.http.ntlm.transparentAuth=allHosts
+#
+# Enabled for hosts that are trusted in Windows Internet settings
+#jdk.http.ntlm.transparentAuth=trustedHosts
+#
+jdk.http.ntlm.transparentAuth=disabled
+#
+# Default directory where automatically bound Unix domain server
+# sockets are stored. Sockets are automatically bound when bound
+# with a null address.
+#
+# On Unix the search order to determine this directory is:
+#
+# 1. System property jdk.net.unixdomain.tmpdir
+#
+# 2. Networking property jdk.net.unixdomain.tmpdir specified
+# in this file (effective default)
+#
+# 3. System property java.io.tmpdir
+#
+jdk.net.unixdomain.tmpdir=/tmp