From 0d7fe028ac21d9ec8fa6322f531b97eddaf9bfe0 Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Sat, 17 Jan 2015 23:20:10 -0800 Subject: Initial commit for InsomniaIRC configs. --- .gitignore | 2 + Rakefile | 63 ++++ config-src/inspircd.aliases | 17 + config-src/inspircd.censor | 63 ++++ config-src/inspircd.cgiirc.erb | 97 ++++++ config-src/inspircd.conf | 25 ++ config-src/inspircd.helpop-full | 629 +++++++++++++++++++++++++++++++++++ config-src/inspircd.modules | 83 +++++ config-src/inspircd.motd | 60 ++++ config-src/inspircd.netwide.erb | 111 +++++++ config-src/inspircd.opers.erb | 44 +++ config-src/inspircd.rules | 5 + config-src/inspircd.servspecific.erb | 70 ++++ insomniaircd_conf.gemspec | 15 + network.yaml | 57 ++++ 15 files changed, 1341 insertions(+) create mode 100644 .gitignore create mode 100644 Rakefile create mode 100644 config-src/inspircd.aliases create mode 100644 config-src/inspircd.censor create mode 100644 config-src/inspircd.cgiirc.erb create mode 100644 config-src/inspircd.conf create mode 100644 config-src/inspircd.helpop-full create mode 100644 config-src/inspircd.modules create mode 100644 config-src/inspircd.motd create mode 100644 config-src/inspircd.netwide.erb create mode 100644 config-src/inspircd.opers.erb create mode 100644 config-src/inspircd.rules create mode 100644 config-src/inspircd.servspecific.erb create mode 100644 insomniaircd_conf.gemspec create mode 100644 network.yaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d144cbe --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +conf/ +secret.key diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..42953db --- /dev/null +++ b/Rakefile @@ -0,0 +1,63 @@ +$:.push File.expand_path("../lib", __FILE__) + +require 'rake' +require 'insomniaircd_conf' + +INPUT = "config-src" +OUTPUT = "conf" + + +directory OUTPUT + +task :clean do + rm_rf OUTPUT +end + +task :compile, [:hostname] => [OUTPUT] do |t, args| + conf = InsomniaIRCDConf.new(args[:hostname], get_key) + + files = Rake::FileList["#{INPUT}/*"] + + files.each do |filename| + next if !File.file? filename + if filename =~ /.erb$/ + template = File.read("#{filename}") + File.open("#{OUTPUT}/" + File.basename(filename[0..-5]), "w") do |file| + file.puts conf.render_template(template) + end + elsif filename =~ /.encrypted$/ + + else + cp filename, "#{OUTPUT}/" + end + end +end + +namespace "secret" do + task :mkkey do + File.write("secure.key", InsomniaIRCDConf::Secure::random_key) + end + + task :encrypt, [:secret] do |t, args| + secure = InsomniaIRCDConf::Secure.new(get_key) + puts "Encryption result: " + secure.encrypt(args[:secret]) + end + + task :decrypt, [:secret] do |t, args| + secure = InsomniaIRCDConf::Secure.new(get_key) + puts "Decryption result: " + secure.decrypt(args[:secret]) + end +end + +def get_key + if ENV.has_key? "SECRET_KEY" + ENV["SECRET_KEY"] + else + if File.file? "secret.key" + File.read("secret.key") + else + raise "SECRET_KEY variable not set!" + end + end +end + diff --git a/config-src/inspircd.aliases b/config-src/inspircd.aliases new file mode 100644 index 0000000..b2af8b9 --- /dev/null +++ b/config-src/inspircd.aliases @@ -0,0 +1,17 @@ +# +# Command aliases. +# These are mostly to make services easier to use. +# + + + + + + + + + + + + + diff --git a/config-src/inspircd.censor b/config-src/inspircd.censor new file mode 100644 index 0000000..b7c58a3 --- /dev/null +++ b/config-src/inspircd.censor @@ -0,0 +1,63 @@ +# +# Configuration file for m_censor.so (1.0.0.0) +# C.J.Edwards May 2004. +# + +# +# The tags for this module are formatted as follows: +# +# +# +# You can specify +# to block lines containing the word + + + + + + + + + + + + + + + + + + + + + + + + + +# +# Reserved and forbidden nicks. +# + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config-src/inspircd.cgiirc.erb b/config-src/inspircd.cgiirc.erb new file mode 100644 index 0000000..9d251bc --- /dev/null +++ b/config-src/inspircd.cgiirc.erb @@ -0,0 +1,97 @@ +# +# Configuration for mibbit +# + + + + + + + + + + + + + + + + + + + + + + diff --git a/config-src/inspircd.conf b/config-src/inspircd.conf new file mode 100644 index 0000000..d343c6c --- /dev/null +++ b/config-src/inspircd.conf @@ -0,0 +1,25 @@ +# +# InsomniaIRC Network Configuration +# ================================= +# +# This is the base of the config file. All config settings should be in the +# appropriate include file below. +# +# The included files should not include other files. +# + +# Load all the modules first. + + +# Text files for MOTD, RULES, etc. + + + +# Network Settings + + + + + +# Server specific settings + diff --git a/config-src/inspircd.helpop-full b/config-src/inspircd.helpop-full new file mode 100644 index 0000000..aa0aa40 --- /dev/null +++ b/config-src/inspircd.helpop-full @@ -0,0 +1,629 @@ +##################### +# Helpop Standard # +##################### + + + + + +##################### +# User Commands # +##################### + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +##################### +# Oper Commands # +##################### + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +###################### +# User/Channel Modes # +###################### + + + + + +###################### +# Stats Symbols # +###################### + + + diff --git a/config-src/inspircd.modules b/config-src/inspircd.modules new file mode 100644 index 0000000..f3eb0f4 --- /dev/null +++ b/config-src/inspircd.modules @@ -0,0 +1,83 @@ +## Modules ## + + + + + + + + + + + + + + + + + + # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config-src/inspircd.motd b/config-src/inspircd.motd new file mode 100644 index 0000000..581704f --- /dev/null +++ b/config-src/inspircd.motd @@ -0,0 +1,60 @@ + _____ _ _____ _____ _____ +|_ _| (_) |_ _| __ \ / ____| + | | _ __ ___ ___ _ __ ___ _ __ _ __ _ | | | |__) | | + | | | '_ \/ __|/ _ \| '_ ` _ \| '_ \| |/ _` | | | | _ /| | + _| |_| | | \__ \ (_) | | | | | | | | | | (_| |_| |_| | \ \| |____ +|_____|_| |_|___/\___/|_| |_| |_|_| |_|_|\__,_|_____|_| \_\\_____| + +Welcome to the InsomniaIRC Network! Your host is Hippocrates. + +We would like to point out that we are not an "XDCC Network" ... +XDCC bots and/or bottlers are forbidden on this network. + +InsomniaIRC Round Robins: + irc.insomniairc.net/6667 (Normal IRC) + irc.insomniairc.net/6697 (SSL Server) + +We Currently Have Two User Servers: + Hypocrisy.InsomniaIRC.net (IPv4, IPv6, SSL (broken IPv6)) + Hippocrates.InsomniaIRC.net (IPv4, IPv6, SSL) + +:: While you can connect to a specific server, we recommend using the + round robin + +Some of Our Most Active Channels Include: + * #chat - General Chat Channel - All Welcome. + * #gay - Unofficial chat channel for /r/gay of Reddit.com + +Our official Network Help Channel: #help + +We Have Three Simple Expectations + 1. Respect All Users - Treat them as they want to be treated in hopes + that they treat you as you want to be treated. + 2. Threating to DDoS, Hack, etc is lame; don't do it. + 3. Impersonating users also falls into the lame catagory. + +:: NOTICE: Upon connecting, you will be scanned by our open proxy monitor. + You acknowledge this by connecting to our network. + +:: Please remember that use of this network is a privlege which can be + terminated at any time. + +:: Lame stuff is generally ill-advised and chances are you will be banned. + +:: Problems? Below are four people you can go to !! + jesterpm (jesterpm@InsomniaIRC.net) + Suspect (Suspect@InsomniaIRC.net) + Weyoun (Weyoun@InsomniaIRC.net) + Jonbo (Jonbo@InsomniaIRC.net) + +Or you can email ircops@InsomniaIRC.net + + + _____..---========+*+==========---.._____ + ______________________ __,-='=====____ =================== _____=====`= + (._____________________I__) - _-=_/ `---------=+=--------' + / /__...---===='---+---_' + '------'---.___ - _ = _.-' * * * * + `--------' + Src: chris.com +********************************************* diff --git a/config-src/inspircd.netwide.erb b/config-src/inspircd.netwide.erb new file mode 100644 index 0000000..93dd937 --- /dev/null +++ b/config-src/inspircd.netwide.erb @@ -0,0 +1,111 @@ +# +# Network Wide Configuration ## +# + +# U:Lines + + + +# Misc. settings. + + + + + + + + + + + + + + + + + + + + +# Die/Restart Passwords + + +# Trigger a part/join in all channels when a hostname changes. + + +# We run NTP everywhere. + + +# Ban List Limits + + +# Cloak Keys + + +# Blacklists + + + + + + diff --git a/config-src/inspircd.opers.erb b/config-src/inspircd.opers.erb new file mode 100644 index 0000000..ddb3786 --- /dev/null +++ b/config-src/inspircd.opers.erb @@ -0,0 +1,44 @@ +# +# IRCOP Definitions. +# + +# +# Oper Classes +# + + + + + + + + + +# +# Oper types. +# + + + + + + +# +# o:lines +# +<% opers.each do |oper| %> + +<% end %> diff --git a/config-src/inspircd.rules b/config-src/inspircd.rules new file mode 100644 index 0000000..2a70fc6 --- /dev/null +++ b/config-src/inspircd.rules @@ -0,0 +1,5 @@ +* We Have Three Simple Expectations + 1. Respect All Users - Treat them as they want to be treated in hopes + that they treat you as you want to be treated. + 2. Threating to DDoS, Hack, etc is lame; don't do it. + 3. Impersonating users also falls into the lame catagory. \ No newline at end of file diff --git a/config-src/inspircd.servspecific.erb b/config-src/inspircd.servspecific.erb new file mode 100644 index 0000000..71605dc --- /dev/null +++ b/config-src/inspircd.servspecific.erb @@ -0,0 +1,70 @@ +# +# Server Specific Config +# +# This template is used to generate the server specific bits of the config. +# + +# +# Server Description +# + + +# +# Admin Information +# + + +# +# Binds +# + + + + + + + + + +# +# Connection Settings +# + + +# +# Link Configuration +# +<% server.links.each do |link| %> + +<% end %> + +<% if !hostname.nil? && File.file?("servers/#{hostname}") %> + <%= ERB.new(File.read("config-src/servers/#{hostname}")).result(binding) %> +<% end %> + diff --git a/insomniaircd_conf.gemspec b/insomniaircd_conf.gemspec new file mode 100644 index 0000000..39c3df2 --- /dev/null +++ b/insomniaircd_conf.gemspec @@ -0,0 +1,15 @@ +require 'rake' + +Gem::Specification.new do |s| + s.name = 'insomniaircd_conf' + s.version = '1.0.0' + s.date = '2015-01-17' + s.summary = "InsomniaIRC IRC Configs" + s.description = "Config generation logic for Insnomnia IRC." + s.authors = ["Jesse Morgan"] + s.email = 'jesterpm@insomniairc.net' + s.require_paths = ["lib"] + s.files = FileList['lib/*.rb'].to_a + s.homepage = 'https://github.com/insomniairc/insomniaircd_conf' + s.license = 'MIT' +end diff --git a/network.yaml b/network.yaml new file mode 100644 index 0000000..a363b23 --- /dev/null +++ b/network.yaml @@ -0,0 +1,57 @@ +--- +servers: + hypocrisy.insomniairc.net: + admin: + name: Jesse Morgan + nick: jesterpm + email: jesterpm@insomniairc.net + links: + - hostname: euclid.insomniairc.net + - hostname: services.insomniairc.net + ipaddr: 127.0.0.1 + port: 6663 + bind: 127.0.0.1 + - hostname: defender.insomniairc.net + ipaddr: 127.0.0.1 + port: 6663 + bind: 127.0.0.1 + + euclid.insomniairc.net: + admin: + name: Brian Sherson + nick: Weyoun + email: caretaker@insomniairc.net + links: + - hostname: hypocrisy.insomniairc.net + +secrets: + hypocrisy.insomniairc.net: i7i/MaQhej0p7Am5AQg8KrQrRf6j0x/4Drl8UKIJstI= + euclid.insomniairc.net: snVrI5K8KR6uGmVoYJbd+fTeaf6lXdxYZARrpMBGrWk= + services.insomniairc.net: qS92Pg/NGQ5NqvENwgQpVG+eRM8rOJ4ZSL+srYz01GY= + defender.insomniairc.net: st7W9jHf9Dj9wvhdClzR1k+DyaGy+3DTHU3lOgy0tG0= + diepass: FDGHkqeVnm6DGRpbpaZELu3jO1U4P8LgoZ8MWCWzolU= + restartpass: iDdLN5Z/59vVf/fOqh4/gRelT+KPI69sHxqf6cBO0Pw= + mibbit: eTU34SS7U8ZzxlJium8Yyhu5XAohGTc5FQ4+UlZIr1jilWFAvnagywYco6Riam9n + cloak0: EHzXTNP9FKzSV65joFCPz/izOa+vuYye659yKhyzs3U= + cloak1: bYQ28hQSEuW3yjgJxSJ7+WxVbDHZYUOCLYCLe1uGOJ8= + cloak2: cKAzZgSmEQxjJuFHJsDlvSjXBvgYaf1bvYQ+/FojMus= + cloak3: +tZIgTNNuvCDU9KJqseOPrnzzItQCWaz9BFDYJyRiZw= + cloak4: a/QZdafAupdQCR+uzL3gzYMQVsSG25bMejMCWbUQFyk= + +opers: + - name: Caretaker + hash: sha256 + password: A+lvLGX3Y6hHfz88DJAYQ6LBgjG7qhAqLzZ1y2Wm4IszUQsdY2ibVzq0Rakrl1y09tcReQsFiMwp4LcZmJ3fyRXmk+KcKb4JvXiQhERl/S5RM6Qs43x/5zU9yDD1CaoT + type: NetAdmin + - name: jesterpm + hash: sha256 + password: GU+VDGLFmTPbhaIeFf3ce9Fo6ZJBGH7MufaiaehP7pmI/JpnXaWl5amMZm7PzXpYgyI36iWCPQKA7Uyyrl98gUqq3VkbNtNCFlkuZ9Nndoj5T2F/V1qcPtpnwACFOplI + type: NetAdmin + - name: jonbo + hash: sha256 + password: 48LStEhJUHHh+QzZj2SRwudFuhW/lMHDHFABSglHV83VeINnCBPJCJo/ygCKbb02XPZ3htqnIufL9J27AB9DxSlGOJmkJbrVYFsr09VaXJMrm+hR32OU8Q/w4FhGvUm1 + type: NetAdmin + - name: Suspect + hash: sha256 + password: axUhv+aUsYBW3SnYstFlzr9Lu1jC6Oi8yQCYWzKzHdxaYnMX/EEmzpffwdLKFxLLDQQmGvw23VoIMXEizGfJvVO1gqPzoVuJx9Rk9w66cOi07Roa10BI+BtAbihHa68E + type: NetAdmin -- cgit v1.2.3