diff options
Diffstat (limited to 'docker')
-rw-r--r-- | docker/bitlbee-purple/docker-compose.yaml | 33 | ||||
-rw-r--r-- | docker/bitlbee-purple/matterircd.toml | 242 | ||||
-rw-r--r-- | docker/bitlbee-purple/net.properties | 148 |
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 |