remove unused dockerfiles
This commit is contained in:
parent
1a2b0b4759
commit
2d58c23e31
|
@ -1,8 +0,0 @@
|
||||||
FROM nordaaker/convos
|
|
||||||
|
|
||||||
ENV CONVOS_ARCHIVE_DIR /data/convos/archive
|
|
||||||
ENV CONVOS_ORGANIZATION_NAME XeServ
|
|
||||||
ENV CONVOS_REDIS_URL redis://10.0.0.5:6379/2
|
|
||||||
ENV VIRTUAL_HOST shout.xeserv.us
|
|
||||||
ENV CONVOS_INVITE_CODE faggot
|
|
||||||
ENV MOJO_REVERSE_PROXY 1
|
|
|
@ -1,8 +0,0 @@
|
||||||
FROM alpine:edge
|
|
||||||
|
|
||||||
RUN apk add -U --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing diod
|
|
||||||
|
|
||||||
EXPOSE 564
|
|
||||||
VOLUME /data
|
|
||||||
|
|
||||||
CMD diod -e /data --nwthreads 4 -f $DIOD_OPTIONS
|
|
|
@ -1,14 +0,0 @@
|
||||||
FROM openjdk:7-jre-alpine
|
|
||||||
|
|
||||||
RUN mkdir /var/dynamodb_wd
|
|
||||||
RUN mkdir /var/dynamodb_local
|
|
||||||
WORKDIR /var/dynamodb_wd
|
|
||||||
|
|
||||||
RUN wget -q http://dynamodb-local.s3-website-us-west-2.amazonaws.com/dynamodb_local_latest.tar.gz && \
|
|
||||||
tar zxf dynamodb_local_latest.tar.gz && rm dynamodb_local_latest.tar.gz
|
|
||||||
|
|
||||||
EXPOSE 8000
|
|
||||||
|
|
||||||
VOLUME /var/dynamodb_wd
|
|
||||||
|
|
||||||
ENTRYPOINT ["java", "-Djava.library.path=.", "-jar", "DynamoDBLocal.jar", "-port", "8000"]
|
|
|
@ -1 +0,0 @@
|
||||||
/data
|
|
|
@ -1,19 +0,0 @@
|
||||||
FROM flitter/init
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y openssh-server sqlite3 libsqlite3-0 git wget unzip &&\
|
|
||||||
mkdir /gogs && cd /gogs && mkdir dl && cd dl &&\
|
|
||||||
wget http://gogs.dn.qbox.me/gogs_v0.5.11_linux_amd64.zip -O /gogs/dl/gogs.zip &&\
|
|
||||||
cd /gogs && unzip /gogs/dl/gogs.zip && mv gogs install &&\
|
|
||||||
mkdir /gogs/data/repos -p && useradd git --create-home &&\
|
|
||||||
echo 'git:user' | chpasswd && chown -R git /gogs/data && chmod 777 /gogs/data/repos &&\
|
|
||||||
mkdir -p /var/run/sshd
|
|
||||||
|
|
||||||
ADD runit/ /etc/service
|
|
||||||
ADD gogs/ /gogs/install
|
|
||||||
|
|
||||||
RUN chown -R git /gogs/install
|
|
||||||
|
|
||||||
EXPOSE 3000
|
|
||||||
EXPOSE 22
|
|
||||||
|
|
||||||
CMD /sbin/my_init
|
|
|
@ -1,5 +0,0 @@
|
||||||
build:
|
|
||||||
docker build -t gogs .
|
|
||||||
|
|
||||||
run:
|
|
||||||
docker run --rm -it -v `pwd`/data:/gogs/data gogs
|
|
|
@ -1 +0,0 @@
|
||||||
# Gogs in Docker
|
|
|
@ -1,272 +0,0 @@
|
||||||
; App name that shows on every page title
|
|
||||||
APP_NAME = Gogs: Go Git Service
|
|
||||||
; Change it if you run locally
|
|
||||||
RUN_USER = git
|
|
||||||
; Either "dev", "prod" or "test", default is "dev"
|
|
||||||
RUN_MODE = dev
|
|
||||||
|
|
||||||
[repository]
|
|
||||||
ROOT = /gogs/data/repos
|
|
||||||
SCRIPT_TYPE = bash
|
|
||||||
|
|
||||||
[server]
|
|
||||||
PROTOCOL = http
|
|
||||||
DOMAIN = localhost
|
|
||||||
ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
|
|
||||||
HTTP_ADDR =
|
|
||||||
HTTP_PORT = 3000
|
|
||||||
SSH_PORT = 22
|
|
||||||
; Disable CDN even in "prod" mode
|
|
||||||
OFFLINE_MODE = false
|
|
||||||
DISABLE_ROUTER_LOG = false
|
|
||||||
; Generate steps:
|
|
||||||
; $ cd path/to/gogs/custom/https
|
|
||||||
; $ ./gogs cert -ca=true -duration=8760h0m0s -host=myhost.example.com
|
|
||||||
;
|
|
||||||
; Or from a .pfx file exported from the Windows certificate store (do
|
|
||||||
; not forget to export the private key):
|
|
||||||
; $ openssl pkcs12 -in cert.pfx -out cert.pem -nokeys
|
|
||||||
; $ openssl pkcs12 -in cert.pfx -out key.pem -nocerts -nodes
|
|
||||||
CERT_FILE = custom/https/cert.pem
|
|
||||||
KEY_FILE = custom/https/key.pem
|
|
||||||
; Upper level of template and static file path
|
|
||||||
; default is the path where Gogs is executed
|
|
||||||
STATIC_ROOT_PATH =
|
|
||||||
; Application level GZIP support
|
|
||||||
ENABLE_GZIP = false
|
|
||||||
; Landing page for non-logged users, can be "home" or "explore"
|
|
||||||
LANDING_PAGE = home
|
|
||||||
|
|
||||||
[database]
|
|
||||||
; Either "mysql", "postgres" or "sqlite3", it's your choice
|
|
||||||
DB_TYPE = sqlite3
|
|
||||||
PATH = /gogs/data/gogs.db
|
|
||||||
|
|
||||||
[admin]
|
|
||||||
|
|
||||||
[security]
|
|
||||||
INSTALL_LOCK = false
|
|
||||||
; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
|
|
||||||
SECRET_KEY = !#@FDEWREWR&*(
|
|
||||||
; Auto-login remember days
|
|
||||||
LOGIN_REMEMBER_DAYS = 7
|
|
||||||
COOKIE_USERNAME = gogs_awesome
|
|
||||||
COOKIE_REMEMBER_NAME = gogs_incredible
|
|
||||||
; Reverse proxy authentication header name of user name
|
|
||||||
REVERSE_PROXY_AUTHENTICATION_USER = X-WEBAUTH-USER
|
|
||||||
|
|
||||||
[service]
|
|
||||||
ACTIVE_CODE_LIVE_MINUTES = 180
|
|
||||||
RESET_PASSWD_CODE_LIVE_MINUTES = 180
|
|
||||||
; User need to confirm e-mail for registration
|
|
||||||
REGISTER_EMAIL_CONFIRM = false
|
|
||||||
; Does not allow register and admin create account only
|
|
||||||
DISABLE_REGISTRATION = false
|
|
||||||
; User must sign in to view anything.
|
|
||||||
REQUIRE_SIGNIN_VIEW = false
|
|
||||||
; Cache avatar as picture
|
|
||||||
ENABLE_CACHE_AVATAR = false
|
|
||||||
; Mail notification
|
|
||||||
ENABLE_NOTIFY_MAIL = false
|
|
||||||
; More detail: https://github.com/gogits/gogs/issues/165
|
|
||||||
ENABLE_REVERSE_PROXY_AUTHENTICATION = false
|
|
||||||
ENABLE_REVERSE_PROXY_AUTO_REGISTERATION = false
|
|
||||||
|
|
||||||
[webhook]
|
|
||||||
; Cron task interval in minutes
|
|
||||||
TASK_INTERVAL = 1
|
|
||||||
; Deliver timeout in seconds
|
|
||||||
DELIVER_TIMEOUT = 5
|
|
||||||
|
|
||||||
[mailer]
|
|
||||||
ENABLED = false
|
|
||||||
; Buffer length of channel, keep it as it is if you don't know what it is.
|
|
||||||
SEND_BUFFER_LEN = 10
|
|
||||||
; Name displayed in mail title
|
|
||||||
SUBJECT = %(APP_NAME)s
|
|
||||||
; Mail server
|
|
||||||
; Gmail: smtp.gmail.com:587
|
|
||||||
; QQ: smtp.qq.com:25
|
|
||||||
; Note, if the port ends with "465", SMTPS will be used. Using STARTTLS on port 587 is recommended per RFC 6409. If the server supports STARTTLS it will always be used.
|
|
||||||
HOST =
|
|
||||||
; Do not verify the certificate of the server. Only use this for self-signed certificates
|
|
||||||
SKIP_VERIFY =
|
|
||||||
; Mail from address, RFC 5322. This can be just an email address, or the "Name" <email@example.com> format
|
|
||||||
FROM =
|
|
||||||
; Mailer user name and password
|
|
||||||
USER =
|
|
||||||
PASSWD =
|
|
||||||
|
|
||||||
[oauth]
|
|
||||||
ENABLED = false
|
|
||||||
|
|
||||||
[oauth.github]
|
|
||||||
ENABLED = false
|
|
||||||
CLIENT_ID =
|
|
||||||
CLIENT_SECRET =
|
|
||||||
SCOPES = https://api.github.com/user
|
|
||||||
AUTH_URL = https://github.com/login/oauth/authorize
|
|
||||||
TOKEN_URL = https://github.com/login/oauth/access_token
|
|
||||||
|
|
||||||
; Get client id and secret from
|
|
||||||
; https://console.developers.google.com/project
|
|
||||||
[oauth.google]
|
|
||||||
ENABLED = false
|
|
||||||
CLIENT_ID =
|
|
||||||
CLIENT_SECRET =
|
|
||||||
SCOPES = https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile
|
|
||||||
AUTH_URL = https://accounts.google.com/o/oauth2/auth
|
|
||||||
TOKEN_URL = https://accounts.google.com/o/oauth2/token
|
|
||||||
|
|
||||||
[oauth.qq]
|
|
||||||
ENABLED = false
|
|
||||||
CLIENT_ID =
|
|
||||||
CLIENT_SECRET =
|
|
||||||
SCOPES = get_user_info
|
|
||||||
; QQ 互联
|
|
||||||
AUTH_URL = https://graph.qq.com/oauth2.0/authorize
|
|
||||||
TOKEN_URL = https://graph.qq.com/oauth2.0/token
|
|
||||||
|
|
||||||
[oauth.weibo]
|
|
||||||
ENABLED = false
|
|
||||||
CLIENT_ID =
|
|
||||||
CLIENT_SECRET =
|
|
||||||
SCOPES = all
|
|
||||||
AUTH_URL = https://api.weibo.com/oauth2/authorize
|
|
||||||
TOKEN_URL = https://api.weibo.com/oauth2/access_token
|
|
||||||
|
|
||||||
[cache]
|
|
||||||
; Either "memory", "redis", or "memcache", default is "memory"
|
|
||||||
ADAPTER = memory
|
|
||||||
; For "memory" only, GC interval in seconds, default is 60
|
|
||||||
INTERVAL = 60
|
|
||||||
; For "redis" and "memcache", connection host address
|
|
||||||
; redis: `:6039`
|
|
||||||
; memcache: `127.0.0.1:11211`
|
|
||||||
HOST =
|
|
||||||
|
|
||||||
[session]
|
|
||||||
; Either "memory", "file", "redis" or "mysql", default is "memory"
|
|
||||||
PROVIDER = memory
|
|
||||||
; Provider config options
|
|
||||||
; memory: not have any config yet
|
|
||||||
; file: session file path, e.g. `data/sessions`
|
|
||||||
; redis: config like redis server addr, poolSize, password, e.g. `127.0.0.1:6379,100,gogs`
|
|
||||||
; mysql: go-sql-driver/mysql dsn config string, e.g. `root:password@/session_table`
|
|
||||||
PROVIDER_CONFIG = data/sessions
|
|
||||||
; Session cookie name
|
|
||||||
COOKIE_NAME = i_like_gogits
|
|
||||||
; If you use session in https only, default is false
|
|
||||||
COOKIE_SECURE = false
|
|
||||||
; Enable set cookie, default is true
|
|
||||||
ENABLE_SET_COOKIE = true
|
|
||||||
; Session GC time interval, default is 86400
|
|
||||||
GC_INTERVAL_TIME = 86400
|
|
||||||
; Session life time, default is 86400
|
|
||||||
SESSION_LIFE_TIME = 86400
|
|
||||||
|
|
||||||
[picture]
|
|
||||||
; The place to picture data, either "server" or "qiniu", default is "server"
|
|
||||||
SERVICE = server
|
|
||||||
AVATAR_UPLOAD_PATH = data/avatars
|
|
||||||
; Chinese users can choose "duoshuo"
|
|
||||||
GRAVATAR_SOURCE = gravatar
|
|
||||||
DISABLE_GRAVATAR = false
|
|
||||||
|
|
||||||
[attachment]
|
|
||||||
; Whether attachments are enabled. Defaults to `true`
|
|
||||||
ENABLE = true
|
|
||||||
; Path for attachments. Defaults to `data/attachments`
|
|
||||||
PATH = data/attachments
|
|
||||||
; One or more allowed types, e.g. image/jpeg|image/png
|
|
||||||
ALLOWED_TYPES = image/jpeg|image/png
|
|
||||||
; Max size of each file. Defaults to 32MB
|
|
||||||
MAX_SIZE = 32
|
|
||||||
; Max number of files per upload. Defaults to 10
|
|
||||||
MAX_FILES = 10
|
|
||||||
|
|
||||||
[time]
|
|
||||||
; Specifies the format for fully outputed dates. Defaults to RFC1123
|
|
||||||
; Special supported values are ANSIC, UnixDate, RubyDate, RFC822, RFC822Z, RFC850, RFC1123, RFC1123Z, RFC3339, RFC3339Nano, Kitchen, Stamp, StampMilli, StampMicro and StampNano
|
|
||||||
; For more information about the format see http://golang.org/pkg/time/#pkg-constants
|
|
||||||
FORMAT =
|
|
||||||
|
|
||||||
[log]
|
|
||||||
ROOT_PATH =
|
|
||||||
; Either "console", "file", "conn", "smtp" or "database", default is "console"
|
|
||||||
; Use comma to separate multiple modes, e.g. "console, file"
|
|
||||||
MODE = console
|
|
||||||
; Buffer length of channel, keep it as it is if you don't know what it is.
|
|
||||||
BUFFER_LEN = 10000
|
|
||||||
; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace"
|
|
||||||
LEVEL = Trace
|
|
||||||
|
|
||||||
; For "console" mode only
|
|
||||||
[log.console]
|
|
||||||
LEVEL =
|
|
||||||
|
|
||||||
; For "file" mode only
|
|
||||||
[log.file]
|
|
||||||
LEVEL =
|
|
||||||
; This enables automated log rotate(switch of following options), default is true
|
|
||||||
LOG_ROTATE = true
|
|
||||||
; Max line number of single file, default is 1000000
|
|
||||||
MAX_LINES = 1000000
|
|
||||||
; Max size shift of single file, default is 28 means 1 << 28, 256MB
|
|
||||||
MAX_SIZE_SHIFT = 28
|
|
||||||
; Segment log daily, default is true
|
|
||||||
DAILY_ROTATE = true
|
|
||||||
; Expired days of log file(delete after max days), default is 7
|
|
||||||
MAX_DAYS = 7
|
|
||||||
|
|
||||||
; For "conn" mode only
|
|
||||||
[log.conn]
|
|
||||||
LEVEL =
|
|
||||||
; Reconnect host for every single message, default is false
|
|
||||||
RECONNECT_ON_MSG = false
|
|
||||||
; Try to reconnect when connection is lost, default is false
|
|
||||||
RECONNECT = false
|
|
||||||
; Either "tcp", "unix" or "udp", default is "tcp"
|
|
||||||
PROTOCOL = tcp
|
|
||||||
; Host address
|
|
||||||
ADDR =
|
|
||||||
|
|
||||||
; For "smtp" mode only
|
|
||||||
[log.smtp]
|
|
||||||
LEVEL =
|
|
||||||
; Name displayed in mail title, default is "Diagnostic message from serve"
|
|
||||||
SUBJECT = Diagnostic message from serve
|
|
||||||
; Mail server
|
|
||||||
HOST =
|
|
||||||
; Mailer user name and password
|
|
||||||
USER =
|
|
||||||
PASSWD =
|
|
||||||
; Receivers, can be one or more, e.g. ["1@example.com","2@example.com"]
|
|
||||||
RECEIVERS =
|
|
||||||
|
|
||||||
; For "database" mode only
|
|
||||||
[log.database]
|
|
||||||
LEVEL =
|
|
||||||
; Either "mysql" or "postgres"
|
|
||||||
DRIVER =
|
|
||||||
; Based on xorm, e.g.: root:root@localhost/gogs?charset=utf8
|
|
||||||
CONN =
|
|
||||||
|
|
||||||
[git]
|
|
||||||
MAX_GIT_DIFF_LINES = 10000
|
|
||||||
; Arguments for command 'git gc', e.g.: "--aggressive --auto"
|
|
||||||
; see more on http://git-scm.com/docs/git-gc/1.7.5
|
|
||||||
GC_ARGS =
|
|
||||||
|
|
||||||
; Git health check.
|
|
||||||
[git.fsck]
|
|
||||||
ENABLE = true
|
|
||||||
; Execution interval in hours. Default is 24.
|
|
||||||
INTERVAL = 24
|
|
||||||
; Arguments for command 'git fsck', e.g.: "--unreachable --tags"
|
|
||||||
; see more on http://git-scm.com/docs/git-fsck/1.7.5
|
|
||||||
ARGS =
|
|
||||||
|
|
||||||
[i18n]
|
|
||||||
LANGS = en-US,zh-CN,zh-HK,de-DE,fr-CA,nl-NL,lv-LV
|
|
||||||
NAMES = English,简体中文,繁體中文,Deutsch,Français,Nederlands,Latviešu
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
cd /gogs/install
|
|
||||||
setuser git ./gogs web
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
exec /usr/sbin/sshd -D
|
|
|
@ -1,13 +0,0 @@
|
||||||
FROM flitter/init
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y golang git mercurial --no-install-recommends && mkdir /go
|
|
||||||
|
|
||||||
ENV GOPATH /go
|
|
||||||
|
|
||||||
RUN go get github.com/mrwilson/helixdns
|
|
||||||
|
|
||||||
ADD helixdns /etc/service
|
|
||||||
|
|
||||||
EXPOSE 53/udp
|
|
||||||
|
|
||||||
ENTRYPOINT /sbin/my_init
|
|
|
@ -1,6 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
export HOST={ETCD_PORT_4001_TCP_ADDR:-$HOST}
|
|
||||||
export ETCDADDR="http://$HOST:4001"
|
|
||||||
|
|
||||||
/go/bin/helixdns -etcd-address $ETCDADDR -port 53 -forward 8.8.8.8
|
|
|
@ -1,32 +0,0 @@
|
||||||
FROM ubuntu:14.04
|
|
||||||
|
|
||||||
RUN apt-get update # ba393330-1508-11e4-8c21-0800200c9a66
|
|
||||||
RUN apt-get -qqy upgrade # c4da4cc0-1508-11e4-8c21-0800200c9a66
|
|
||||||
RUN apt-get build-dep -qqy znc-python # 3e582310-1509-11e4-8c21-0800200c9a66
|
|
||||||
RUN apt-get install -qqy wget # 0501f510-150d-11e4-8c21-0800200c9a66
|
|
||||||
RUN apt-get install -qqy libssl-dev # 4b7d79b0-150d-11e4-8c21-0800200c9a66
|
|
||||||
RUN apt-get install -qqy git automake autoconf # 3bc47ee0-1514-11e4-8c21-0800200c9a66
|
|
||||||
|
|
||||||
RUN adduser znc --disabled-password
|
|
||||||
|
|
||||||
RUN cd /home/znc; mkdir src; cd src; git clone https://github.com/znc/znc; cd znc; bash ./autogen.sh ; bash ./configure --enable-openssl --prefix=/home/znc/znc --enable-python; make; make install # 79751510-150a-11e4-8c21-0800200c9a66
|
|
||||||
|
|
||||||
ADD znc.conf /home/znc/.znc/configs/znc.conf
|
|
||||||
|
|
||||||
ADD athemesasl.py /home/znc/znc/lib/znc/
|
|
||||||
ADD athemeauth.py /home/znc/znc/lib/znc/
|
|
||||||
|
|
||||||
RUN chmod -R 777 /home/znc
|
|
||||||
|
|
||||||
USER znc
|
|
||||||
|
|
||||||
EXPOSE 6667
|
|
||||||
EXPOSE 6697
|
|
||||||
EXPOSE 8080
|
|
||||||
|
|
||||||
ENV HOME /home/znc
|
|
||||||
|
|
||||||
RUN /home/znc/znc/bin/znc -p
|
|
||||||
|
|
||||||
CMD /home/znc/znc/bin/znc -f
|
|
||||||
|
|
|
@ -1,103 +0,0 @@
|
||||||
from xmlrpc.client import ServerProxy, Fault
|
|
||||||
|
|
||||||
import znc
|
|
||||||
|
|
||||||
class Atheme:
|
|
||||||
def __init__(self, url):
|
|
||||||
self.url = url
|
|
||||||
self.proxy = ServerProxy(url)
|
|
||||||
self.cookie = "*"
|
|
||||||
self.username = "*"
|
|
||||||
self._privset = None
|
|
||||||
|
|
||||||
def login(self, username, password):
|
|
||||||
self.username = username
|
|
||||||
self.cookie = self.proxy.atheme.login(username, password)
|
|
||||||
self.privs()
|
|
||||||
|
|
||||||
def privs(self):
|
|
||||||
if self._privset is not None:
|
|
||||||
return self._privset
|
|
||||||
|
|
||||||
self._privset = self.proxy.atheme.privset(self.cookie, self.username).split()
|
|
||||||
return self._privset
|
|
||||||
|
|
||||||
class athemeauth(znc.Module):
|
|
||||||
module_types = [znc.CModInfo.GlobalModule]
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def OnLoginAttempt(self, auth):
|
|
||||||
username = auth.GetUsername()
|
|
||||||
password = auth.GetPassword()
|
|
||||||
|
|
||||||
atheme = Atheme("http://173.10.70.249:8069/xmlrpc")
|
|
||||||
user = znc.CZNC.Get().FindUser(username)
|
|
||||||
|
|
||||||
if user != None:
|
|
||||||
if user.GetPass() != "::":
|
|
||||||
#Allow normal ZNC accounts to log in
|
|
||||||
return znc.CONTINUE
|
|
||||||
|
|
||||||
try:
|
|
||||||
atheme.login(username, password)
|
|
||||||
|
|
||||||
except Fault:
|
|
||||||
return znc.CONTINUE
|
|
||||||
|
|
||||||
if user == None:
|
|
||||||
myuser = znc.CUser(username)
|
|
||||||
|
|
||||||
auth.GetSocket().Write(":bnc.yolo-swag.com NOTICE * :*** Creating account for %s...\r\n" % username)
|
|
||||||
auth.GetSocket().Write(":bnc.yolo-swag.com NOTICE * :*** Thank you for supporting ShadowNET!\r\n")
|
|
||||||
|
|
||||||
baseuser = znc.CZNC.Get().FindUser("scrub")
|
|
||||||
baseuser.thisown = 0
|
|
||||||
|
|
||||||
s = znc.String()
|
|
||||||
s.thisown = 0
|
|
||||||
|
|
||||||
if not myuser.Clone(baseuser, s, False):
|
|
||||||
print("WTF?", s)
|
|
||||||
return znc.CONTINUE
|
|
||||||
|
|
||||||
if not znc.CZNC.Get().AddUser(myuser, s):
|
|
||||||
print("WTF?", s)
|
|
||||||
return znc.CONTINUE
|
|
||||||
user = myuser
|
|
||||||
|
|
||||||
user.SetPass("::", znc.CUser.HASH_MD5, "::")
|
|
||||||
|
|
||||||
#this is a new user, set up stuff
|
|
||||||
user.SetNick(username)
|
|
||||||
user.SetAltNick(username + "`")
|
|
||||||
user.SetIdent(username[:8])
|
|
||||||
user.SetRealName("ShadowNET hosted bnc user %s" % username)
|
|
||||||
user.SetDenySetBindHost(True)
|
|
||||||
user.SetQuitMsg("Shutting down!")
|
|
||||||
user.SetMaxNetworks(1)
|
|
||||||
user.SetAdmin(False)
|
|
||||||
|
|
||||||
#They are going to want a network to talk on.
|
|
||||||
user.AddNetwork("ShadowNET", s)
|
|
||||||
network = user.FindNetwork("ShadowNET")
|
|
||||||
network.AddServer("cyka.yolo-swag.com +6697")
|
|
||||||
network.AddChan("#lobby", True)
|
|
||||||
network.AddChan("#bnc", True)
|
|
||||||
network.JoinChans()
|
|
||||||
|
|
||||||
fout = open("/tmp/znc-cookie-%s" % username, "w")
|
|
||||||
fout.write(atheme.cookie)
|
|
||||||
fout.close()
|
|
||||||
|
|
||||||
znc.CZNC.Get().WriteConfig()
|
|
||||||
|
|
||||||
auth.GetSocket().Write(":bnc.yolo-swag.com NOTICE * :*** Welcome to the ShadowNET BNC %s!\r\n" % username)
|
|
||||||
auth.GetSocket().Write(":bnc.yolo-swag.com NOTICE * :*** Your IP address is %s and may be checked for proxies.\r\n" % auth.GetRemoteIP())
|
|
||||||
|
|
||||||
auth.AcceptLogin(user)
|
|
||||||
user.thisown = 0
|
|
||||||
|
|
||||||
return znc.HALT
|
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
import base64
|
|
||||||
import znc
|
|
||||||
|
|
||||||
class athemesasl(znc.Module):
|
|
||||||
module_types = [znc.CModInfo.UserModule]
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
self.description = "Atheme SASL"
|
|
||||||
|
|
||||||
def OnServerCapAvailable(self, scap):
|
|
||||||
self.cookie = self.getCookie()
|
|
||||||
self.username = self.GetUser().GetUserName()
|
|
||||||
return scap == "sasl"
|
|
||||||
|
|
||||||
def OnServerCapResult(self, scap, success):
|
|
||||||
if scap == "sasl":
|
|
||||||
if success:
|
|
||||||
self.PutIRC("AUTHENTICATE AUTHCOOKIE")
|
|
||||||
self.PutIRC("AUTHENTICATE " +
|
|
||||||
self.makeSaslAuthString(self.username, self.cookie))
|
|
||||||
self.PutUser(":bnc.yolo-swag.com NOTICE * :*** Authenticated over Atheme XMLRPC")
|
|
||||||
|
|
||||||
def makeSaslAuthString(self, username, cookie):
|
|
||||||
return (base64.b64encode(bytes("%s\0%s\0%s" %
|
|
||||||
(username, username, cookie), "utf-8"))).decode("utf-8")
|
|
||||||
|
|
||||||
def getCookie(self):
|
|
||||||
with open("/tmp/znc-cookie-%s" %
|
|
||||||
self.GetUser().GetUserName(), "r") as fin:
|
|
||||||
return fin.readline()
|
|
||||||
|
|
|
@ -1,116 +0,0 @@
|
||||||
// WARNING
|
|
||||||
//
|
|
||||||
// Do NOT edit this file while ZNC is running!
|
|
||||||
// Use webadmin or *controlpanel instead.
|
|
||||||
//
|
|
||||||
// Altering this file by hand will forfeit all support.
|
|
||||||
//
|
|
||||||
// But if you feel risky, you might want to read help on /znc saveconfig and /znc rehash.
|
|
||||||
// Also check http://en.znc.in/wiki/Configuration
|
|
||||||
|
|
||||||
AnonIPLimit = 10
|
|
||||||
ConnectDelay = 5
|
|
||||||
LoadModule = modpython
|
|
||||||
LoadModule = webadmin
|
|
||||||
LoadModule = athemeauth
|
|
||||||
MaxBufferSize = 500
|
|
||||||
ProtectWebSessions = true
|
|
||||||
ServerThrottle = 5
|
|
||||||
Skin = _default_
|
|
||||||
StatusPrefix = *
|
|
||||||
Version = 1.4
|
|
||||||
|
|
||||||
<Listener listener0>
|
|
||||||
AllowIRC = true
|
|
||||||
AllowWeb = true
|
|
||||||
IPv4 = true
|
|
||||||
IPv6 = true
|
|
||||||
Port = 6697
|
|
||||||
SSL = true
|
|
||||||
</Listener>
|
|
||||||
|
|
||||||
<Listener listener1>
|
|
||||||
AllowIRC = true
|
|
||||||
AllowWeb = true
|
|
||||||
IPv4 = true
|
|
||||||
IPv6 = true
|
|
||||||
Port = 6667
|
|
||||||
SSL = false
|
|
||||||
</Listener>
|
|
||||||
|
|
||||||
<Listener listener2>
|
|
||||||
AllowIRC = false
|
|
||||||
AllowWeb = true
|
|
||||||
IPv4 = true
|
|
||||||
IPv6 = true
|
|
||||||
Port = 8080
|
|
||||||
SSL = false
|
|
||||||
</Listener>
|
|
||||||
|
|
||||||
<User admin>
|
|
||||||
Admin = true
|
|
||||||
AltNick = admin_
|
|
||||||
AppendTimestamp = false
|
|
||||||
AutoClearChanBuffer = true
|
|
||||||
Buffer = 50
|
|
||||||
ChanModes = +stn
|
|
||||||
DenyLoadMod = false
|
|
||||||
DenySetBindHost = false
|
|
||||||
Ident = admin
|
|
||||||
JoinTries = 10
|
|
||||||
LoadModule = webadmin
|
|
||||||
LoadModule = controlpanel
|
|
||||||
MaxJoins = 0
|
|
||||||
MaxNetworks = 1
|
|
||||||
MultiClients = true
|
|
||||||
Nick = admin
|
|
||||||
PrependTimestamp = true
|
|
||||||
QuitMsg = ZNC - http://znc.in
|
|
||||||
RealName = Got ZNC?
|
|
||||||
TimestampFormat = [%H:%M:%S]
|
|
||||||
|
|
||||||
<Network ShadowNET>
|
|
||||||
AltNick = admin2
|
|
||||||
FloodBurst = 4
|
|
||||||
FloodRate = 1.00
|
|
||||||
IRCConnectEnabled = true
|
|
||||||
Nick = admin
|
|
||||||
RealName = ZNC Admin
|
|
||||||
Server = cyka.yolo-swag.com +6697
|
|
||||||
</Network>
|
|
||||||
<Pass password>
|
|
||||||
Method = sha256
|
|
||||||
Hash = e05a4fe1776a4ef8051d627d3bd24520dde448be810506a839502d28c795931d
|
|
||||||
Salt = ZpDUio3z5aDSk5uw5KUN
|
|
||||||
</Pass>
|
|
||||||
|
|
||||||
</User>
|
|
||||||
|
|
||||||
<User scrub>
|
|
||||||
Admin = false
|
|
||||||
Allow = *
|
|
||||||
AltNick = scrub
|
|
||||||
AppendTimestamp = false
|
|
||||||
AutoClearChanBuffer = true
|
|
||||||
Buffer = 50
|
|
||||||
DenyLoadMod = true
|
|
||||||
DenySetBindHost = false
|
|
||||||
Ident = scrub
|
|
||||||
JoinTries = 0
|
|
||||||
LoadModule = athemesasl
|
|
||||||
LoadModule = missingmotd
|
|
||||||
MaxJoins = 0
|
|
||||||
MaxNetworks = 0
|
|
||||||
MultiClients = true
|
|
||||||
Nick = scrub
|
|
||||||
PrependTimestamp = false
|
|
||||||
QuitMsg = ZNC - http://znc.in
|
|
||||||
RealName = scrub
|
|
||||||
TimestampFormat = [%H:%M:%S]
|
|
||||||
|
|
||||||
<Pass password>
|
|
||||||
Hash = 1e129e4686588e8cf26006b95cb9cb3c16b38a569c82cfc2cc34d40fb7459392
|
|
||||||
Method = SHA256
|
|
||||||
Salt = 8xXjCYN5;)3;l1?jiu25
|
|
||||||
</Pass>
|
|
||||||
</User>
|
|
|
@ -1,12 +0,0 @@
|
||||||
FROM flitter/init
|
|
||||||
|
|
||||||
RUN apt-add-repository ppa:i2p-maintainers/i2p
|
|
||||||
RUN apt-get update &&\
|
|
||||||
apt-get install i2p -y
|
|
||||||
|
|
||||||
RUN useradd --create-home i2p
|
|
||||||
|
|
||||||
USER i2p
|
|
||||||
ENV HOME /home/i2p
|
|
||||||
|
|
||||||
CMD /usr/bin/i2prouter console
|
|
|
@ -1,8 +0,0 @@
|
||||||
FROM irssi
|
|
||||||
|
|
||||||
USER root
|
|
||||||
RUN apt-get update && apt-get install git
|
|
||||||
|
|
||||||
USER user
|
|
||||||
# I use tmux in 256 color mode. Too bad if you don't.
|
|
||||||
ENV TERM screen-256color
|
|
|
@ -1,10 +0,0 @@
|
||||||
FROM xena/irssi
|
|
||||||
|
|
||||||
RUN git clone https://github.com/ronilaukkarinen/weed ~/.irssi
|
|
||||||
|
|
||||||
# Prune
|
|
||||||
RUN cd ~/.irssi/scripts &&\
|
|
||||||
rm nicklist.pl
|
|
||||||
|
|
||||||
RUN cd ~/.irssi && mkdir autorun && mv scripts/*.pl autorun &&\
|
|
||||||
mv autorun scripts
|
|
224
net/mpd/.mpdconf
224
net/mpd/.mpdconf
|
@ -1,224 +0,0 @@
|
||||||
music_directory "~/music" # Can keep commented if XDG music dir.
|
|
||||||
playlist_directory "~/.mpd/playlists"
|
|
||||||
db_file "~/.mpd/database"
|
|
||||||
log_file "~/.mpd/log"
|
|
||||||
pid_file "~/.mpd/pid"
|
|
||||||
state_file "~/.mpd/state"
|
|
||||||
sticker_file "~/.mpd/sticker.sql"
|
|
||||||
|
|
||||||
user "xena"
|
|
||||||
|
|
||||||
bind_to_address "0.0.0.0"
|
|
||||||
port "6600"
|
|
||||||
|
|
||||||
auto_update "yes"
|
|
||||||
|
|
||||||
#Zeroconf
|
|
||||||
zeroconf_enabled "yes"
|
|
||||||
zeroconf_name "Music Player"
|
|
||||||
|
|
||||||
input {
|
|
||||||
plugin "curl"
|
|
||||||
# proxy "proxy.isp.com:8080"
|
|
||||||
# proxy_user "user"
|
|
||||||
# proxy_password "password"
|
|
||||||
}
|
|
||||||
|
|
||||||
#audio_output {
|
|
||||||
# type "shout"
|
|
||||||
# encoding "ogg" # optional
|
|
||||||
# name "My Shout Stream"
|
|
||||||
# host "localhost"
|
|
||||||
# port "8000"
|
|
||||||
# mount "/mpd.ogg"
|
|
||||||
# password "hackme"
|
|
||||||
# quality "5.0"
|
|
||||||
# bitrate "128"
|
|
||||||
# format "44100:16:1"
|
|
||||||
# protocol "icecast2" # optional
|
|
||||||
# user "source" # optional
|
|
||||||
# description "My Stream Description" # optional
|
|
||||||
# genre "jazz" # optional
|
|
||||||
# public "no" # optional
|
|
||||||
# timeout "2" # optional
|
|
||||||
#}
|
|
||||||
|
|
||||||
#Pulseaudio
|
|
||||||
audio_output {
|
|
||||||
type "pulse"
|
|
||||||
name "My Pulse Output"
|
|
||||||
# server "remote_server" # optional
|
|
||||||
# sink "remote_server_sink" # optional
|
|
||||||
}
|
|
||||||
#
|
|
||||||
## Example "pipe" output:
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "pipe"
|
|
||||||
# name "my pipe"
|
|
||||||
# command "aplay -f cd 2>/dev/null"
|
|
||||||
## Or if you're want to use AudioCompress
|
|
||||||
# command "AudioCompress -m | aplay -f cd 2>/dev/null"
|
|
||||||
## Or to send raw PCM stream through PCM:
|
|
||||||
# command "nc example.org 8765"
|
|
||||||
# format "44100:16:2"
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
## An example of a null output (for no audio output):
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "null"
|
|
||||||
# name "My Null Output"
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# This setting will change all decoded audio to be converted to the specified
|
|
||||||
# format before being passed to the audio outputs. By default, this setting is
|
|
||||||
# disabled.
|
|
||||||
#
|
|
||||||
|
|
||||||
audio_output {
|
|
||||||
type "httpd"
|
|
||||||
name "My HTTP Stream"
|
|
||||||
encoder "vorbis" # optional, vorbis or lame
|
|
||||||
port "8000"
|
|
||||||
# quality "5.0" # do not define if bitrate is defined
|
|
||||||
bitrate "128" # do not define if quality is defined
|
|
||||||
format "44100:16:2"
|
|
||||||
}
|
|
||||||
|
|
||||||
#audio_output_format "44100:16:2"
|
|
||||||
#
|
|
||||||
# If MPD has been compiled with libsamplerate support, this setting specifies
|
|
||||||
# the sample rate converter to use. Possible values can be found in the
|
|
||||||
# mpd.conf man page or the libsamplerate documentation. By default, this is
|
|
||||||
# setting is disabled.
|
|
||||||
#
|
|
||||||
#samplerate_converter "Fastest Sinc Interpolator"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Volume control mixer ########################################################
|
|
||||||
#
|
|
||||||
# These are the global volume control settings. By default, this setting will
|
|
||||||
# be detected to the available audio output device, with preference going to
|
|
||||||
# hardware mixing. Hardware and software mixers for individual audio_output
|
|
||||||
# sections cannot yet be mixed.
|
|
||||||
#
|
|
||||||
# An example for controlling an ALSA, OSS or Pulseaudio mixer; If this
|
|
||||||
# setting is used other sound applications will be affected by the volume
|
|
||||||
# being controlled by MPD.
|
|
||||||
#
|
|
||||||
#mixer_type "hardware"
|
|
||||||
#
|
|
||||||
# An example for controlling all mixers through software. This will control
|
|
||||||
# all controls, even if the mixer is not supported by the device and will not
|
|
||||||
# affect any other sound producing applications.
|
|
||||||
#
|
|
||||||
#mixer_type "software"
|
|
||||||
#
|
|
||||||
# This example will not allow MPD to touch the mixer at all and will disable
|
|
||||||
# all volume controls.
|
|
||||||
#
|
|
||||||
#mixer_type "disabled"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Normalization automatic volume adjustments ##################################
|
|
||||||
#
|
|
||||||
# This setting specifies the type of ReplayGain to use. This setting can have
|
|
||||||
# the argument "album" or "track". See <http://www.replaygain.org> for more
|
|
||||||
# details. This setting is disabled by default.
|
|
||||||
#
|
|
||||||
#replaygain "album"
|
|
||||||
#
|
|
||||||
# This setting sets the pre-amp used for files that have ReplayGain tags. By
|
|
||||||
# default this setting is disabled.
|
|
||||||
#
|
|
||||||
#replaygain_preamp "0"
|
|
||||||
#
|
|
||||||
# This setting enables on-the-fly normalization volume adjustment. This will
|
|
||||||
# result in the volume of all playing audio to be adjusted so the output has
|
|
||||||
# equal "loudness". This setting is disabled by default.
|
|
||||||
#
|
|
||||||
#volume_normalization "no"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# MPD Internal Buffering ######################################################
|
|
||||||
#
|
|
||||||
# This setting adjusts the size of internal decoded audio buffering. Changing
|
|
||||||
# this may have undesired effects. Don't change this if you don't know what you
|
|
||||||
# are doing.
|
|
||||||
#
|
|
||||||
#audio_buffer_size "2048"
|
|
||||||
#
|
|
||||||
# This setting controls the percentage of the buffer which is filled before
|
|
||||||
# beginning to play. Increasing this reduces the chance of audio file skipping,
|
|
||||||
# at the cost of increased time prior to audio playback.
|
|
||||||
#
|
|
||||||
#buffer_before_play "10%"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Resource Limitations ########################################################
|
|
||||||
#
|
|
||||||
# These settings are various limitations to prevent MPD from using too many
|
|
||||||
# resources. Generally, these settings should be minimized to prevent security
|
|
||||||
# risks, depending on the operating resources.
|
|
||||||
#
|
|
||||||
#connection_timeout "60"
|
|
||||||
#max_connections "10"
|
|
||||||
#max_playlist_length "16384"
|
|
||||||
#max_command_list_size "2048"
|
|
||||||
#max_output_buffer_size "8192"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Character Encoding ##########################################################
|
|
||||||
#
|
|
||||||
# If file or directory names do not display correctly for your locale then you
|
|
||||||
# may need to modify this setting. After modification of this setting mpd
|
|
||||||
# --create-db must be run to change the database.
|
|
||||||
#
|
|
||||||
filesystem_charset "UTF-8"
|
|
||||||
#
|
|
||||||
# This setting controls the encoding that ID3v1 tags should be converted from.
|
|
||||||
#
|
|
||||||
id3v1_encoding "UTF-8"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
# SIDPlay decoder #############################################################
|
|
||||||
#
|
|
||||||
# songlength_database:
|
|
||||||
# Location of your songlengths file, as distributed with the HVSC.
|
|
||||||
# The sidplay plugin checks this for matching MD5 fingerprints.
|
|
||||||
# See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq
|
|
||||||
#
|
|
||||||
# default_songlength:
|
|
||||||
# This is the default playing time in seconds for songs not in the
|
|
||||||
# songlength database, or in case you're not using a database.
|
|
||||||
# A value of 0 means play indefinitely.
|
|
||||||
#
|
|
||||||
# filter:
|
|
||||||
# Turns the SID filter emulation on or off.
|
|
||||||
#
|
|
||||||
#decoder {
|
|
||||||
# plugin "sidplay"
|
|
||||||
# songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt"
|
|
||||||
# default_songlength "120"
|
|
||||||
# filter "true"
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
audio_output {
|
|
||||||
type "fifo"
|
|
||||||
name "my_fifo"
|
|
||||||
path "/tmp/mpd.fifo"
|
|
||||||
format "44100:16:2"
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
FROM xena/alpine
|
|
||||||
|
|
||||||
RUN apk --no-cache add mpd && mkdir -p /.mpd/playlists
|
|
||||||
|
|
||||||
ADD mpd.conf /etc/mpd.conf
|
|
||||||
ENV BACKPLANE_PROXY_URL http://127.0.0.1:7034
|
|
||||||
|
|
||||||
ADD run.sh /run.sh
|
|
||||||
CMD /run.sh
|
|
216
net/mpd/mpd.conf
216
net/mpd/mpd.conf
|
@ -1,216 +0,0 @@
|
||||||
music_directory "/music" # Can keep commented if XDG music dir.
|
|
||||||
playlist_directory "/.mpd/playlists"
|
|
||||||
db_file "/.mpd/database"
|
|
||||||
log_file "/.mpd/log"
|
|
||||||
pid_file "/.mpd/pid"
|
|
||||||
state_file "/.mpd/state"
|
|
||||||
sticker_file "/.mpd/sticker.sql"
|
|
||||||
|
|
||||||
user "root"
|
|
||||||
|
|
||||||
bind_to_address "0.0.0.0"
|
|
||||||
port "6600"
|
|
||||||
|
|
||||||
auto_update "yes"
|
|
||||||
|
|
||||||
#Zeroconf
|
|
||||||
zeroconf_enabled "yes"
|
|
||||||
zeroconf_name "Music Player"
|
|
||||||
|
|
||||||
input {
|
|
||||||
plugin "curl"
|
|
||||||
# proxy "proxy.isp.com:8080"
|
|
||||||
# proxy_user "user"
|
|
||||||
# proxy_password "password"
|
|
||||||
}
|
|
||||||
|
|
||||||
#audio_output {
|
|
||||||
# type "shout"
|
|
||||||
# encoding "ogg" # optional
|
|
||||||
# name "My Shout Stream"
|
|
||||||
# host "localhost"
|
|
||||||
# port "8000"
|
|
||||||
# mount "/mpd.ogg"
|
|
||||||
# password "hackme"
|
|
||||||
# quality "5.0"
|
|
||||||
# bitrate "128"
|
|
||||||
# format "44100:16:1"
|
|
||||||
# protocol "icecast2" # optional
|
|
||||||
# user "source" # optional
|
|
||||||
# description "My Stream Description" # optional
|
|
||||||
# genre "jazz" # optional
|
|
||||||
# public "no" # optional
|
|
||||||
# timeout "2" # optional
|
|
||||||
#}
|
|
||||||
|
|
||||||
## Example "pipe" output:
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "pipe"
|
|
||||||
# name "my pipe"
|
|
||||||
# command "aplay -f cd 2>/dev/null"
|
|
||||||
## Or if you're want to use AudioCompress
|
|
||||||
# command "AudioCompress -m | aplay -f cd 2>/dev/null"
|
|
||||||
## Or to send raw PCM stream through PCM:
|
|
||||||
# command "nc example.org 8765"
|
|
||||||
# format "44100:16:2"
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
## An example of a null output (for no audio output):
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "null"
|
|
||||||
# name "My Null Output"
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# This setting will change all decoded audio to be converted to the specified
|
|
||||||
# format before being passed to the audio outputs. By default, this setting is
|
|
||||||
# disabled.
|
|
||||||
#
|
|
||||||
|
|
||||||
audio_output {
|
|
||||||
type "httpd"
|
|
||||||
name "My HTTP Stream"
|
|
||||||
encoder "vorbis" # optional, vorbis or lame
|
|
||||||
port "7034"
|
|
||||||
# quality "5.0" # do not define if bitrate is defined
|
|
||||||
bitrate "128" # do not define if quality is defined
|
|
||||||
format "44100:16:2"
|
|
||||||
}
|
|
||||||
|
|
||||||
#audio_output_format "44100:16:2"
|
|
||||||
#
|
|
||||||
# If MPD has been compiled with libsamplerate support, this setting specifies
|
|
||||||
# the sample rate converter to use. Possible values can be found in the
|
|
||||||
# mpd.conf man page or the libsamplerate documentation. By default, this is
|
|
||||||
# setting is disabled.
|
|
||||||
#
|
|
||||||
#samplerate_converter "Fastest Sinc Interpolator"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Volume control mixer ########################################################
|
|
||||||
#
|
|
||||||
# These are the global volume control settings. By default, this setting will
|
|
||||||
# be detected to the available audio output device, with preference going to
|
|
||||||
# hardware mixing. Hardware and software mixers for individual audio_output
|
|
||||||
# sections cannot yet be mixed.
|
|
||||||
#
|
|
||||||
# An example for controlling an ALSA, OSS or Pulseaudio mixer; If this
|
|
||||||
# setting is used other sound applications will be affected by the volume
|
|
||||||
# being controlled by MPD.
|
|
||||||
#
|
|
||||||
#mixer_type "hardware"
|
|
||||||
#
|
|
||||||
# An example for controlling all mixers through software. This will control
|
|
||||||
# all controls, even if the mixer is not supported by the device and will not
|
|
||||||
# affect any other sound producing applications.
|
|
||||||
#
|
|
||||||
#mixer_type "software"
|
|
||||||
#
|
|
||||||
# This example will not allow MPD to touch the mixer at all and will disable
|
|
||||||
# all volume controls.
|
|
||||||
#
|
|
||||||
#mixer_type "disabled"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Normalization automatic volume adjustments ##################################
|
|
||||||
#
|
|
||||||
# This setting specifies the type of ReplayGain to use. This setting can have
|
|
||||||
# the argument "album" or "track". See <http://www.replaygain.org> for more
|
|
||||||
# details. This setting is disabled by default.
|
|
||||||
#
|
|
||||||
#replaygain "album"
|
|
||||||
#
|
|
||||||
# This setting sets the pre-amp used for files that have ReplayGain tags. By
|
|
||||||
# default this setting is disabled.
|
|
||||||
#
|
|
||||||
#replaygain_preamp "0"
|
|
||||||
#
|
|
||||||
# This setting enables on-the-fly normalization volume adjustment. This will
|
|
||||||
# result in the volume of all playing audio to be adjusted so the output has
|
|
||||||
# equal "loudness". This setting is disabled by default.
|
|
||||||
#
|
|
||||||
#volume_normalization "no"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# MPD Internal Buffering ######################################################
|
|
||||||
#
|
|
||||||
# This setting adjusts the size of internal decoded audio buffering. Changing
|
|
||||||
# this may have undesired effects. Don't change this if you don't know what you
|
|
||||||
# are doing.
|
|
||||||
#
|
|
||||||
#audio_buffer_size "2048"
|
|
||||||
#
|
|
||||||
# This setting controls the percentage of the buffer which is filled before
|
|
||||||
# beginning to play. Increasing this reduces the chance of audio file skipping,
|
|
||||||
# at the cost of increased time prior to audio playback.
|
|
||||||
#
|
|
||||||
#buffer_before_play "10%"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Resource Limitations ########################################################
|
|
||||||
#
|
|
||||||
# These settings are various limitations to prevent MPD from using too many
|
|
||||||
# resources. Generally, these settings should be minimized to prevent security
|
|
||||||
# risks, depending on the operating resources.
|
|
||||||
#
|
|
||||||
#connection_timeout "60"
|
|
||||||
#max_connections "10"
|
|
||||||
#max_playlist_length "16384"
|
|
||||||
#max_command_list_size "2048"
|
|
||||||
#max_output_buffer_size "8192"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Character Encoding ##########################################################
|
|
||||||
#
|
|
||||||
# If file or directory names do not display correctly for your locale then you
|
|
||||||
# may need to modify this setting. After modification of this setting mpd
|
|
||||||
# --create-db must be run to change the database.
|
|
||||||
#
|
|
||||||
filesystem_charset "UTF-8"
|
|
||||||
#
|
|
||||||
# This setting controls the encoding that ID3v1 tags should be converted from.
|
|
||||||
#
|
|
||||||
id3v1_encoding "UTF-8"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
# SIDPlay decoder #############################################################
|
|
||||||
#
|
|
||||||
# songlength_database:
|
|
||||||
# Location of your songlengths file, as distributed with the HVSC.
|
|
||||||
# The sidplay plugin checks this for matching MD5 fingerprints.
|
|
||||||
# See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq
|
|
||||||
#
|
|
||||||
# default_songlength:
|
|
||||||
# This is the default playing time in seconds for songs not in the
|
|
||||||
# songlength database, or in case you're not using a database.
|
|
||||||
# A value of 0 means play indefinitely.
|
|
||||||
#
|
|
||||||
# filter:
|
|
||||||
# Turns the SID filter emulation on or off.
|
|
||||||
#
|
|
||||||
#decoder {
|
|
||||||
# plugin "sidplay"
|
|
||||||
# songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt"
|
|
||||||
# default_songlength "120"
|
|
||||||
# filter "true"
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
audio_output {
|
|
||||||
type "fifo"
|
|
||||||
name "my_fifo"
|
|
||||||
path "/tmp/mpd.fifo"
|
|
||||||
format "44100:16:2"
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
mpd --no-daemon --stderr
|
|
|
@ -1,15 +0,0 @@
|
||||||
FROM flitter/init
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends build-essential make golang &&\
|
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* &&\
|
|
||||||
mkdir /oleg/src -p &&\
|
|
||||||
wget https://github.com/infoforcefeed/OlegDB/archive/v.0.1.5.tar.gz -O /oleg/src/oleg.tar.gz &&\
|
|
||||||
cd /oleg/src && tar xf oleg.tar.gz &&\
|
|
||||||
cd OlegDB-v.0.1.5 && make && make install
|
|
||||||
|
|
||||||
ADD olegdb.conf /oleg/db.conf
|
|
||||||
ADD runit/ /etc/service
|
|
||||||
|
|
||||||
EXPOSE 38080
|
|
||||||
|
|
||||||
CMD /sbin/my_init
|
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
"listen": "0.0.0.0:38080",
|
|
||||||
"datadir": "/oleg/data",
|
|
||||||
"usehttps": false,
|
|
||||||
"certfile": "",
|
|
||||||
"pkeyfile": "",
|
|
||||||
"lz4enabled": true,
|
|
||||||
"aolenabled": true,
|
|
||||||
"splaytreeenabled": true
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
cd /oleg
|
|
||||||
/usr/local/bin/olegdb -config /oleg/db.conf
|
|
|
@ -1,18 +0,0 @@
|
||||||
FROM xena/alpine
|
|
||||||
|
|
||||||
ENV CC gcc
|
|
||||||
|
|
||||||
RUN apk add --no-cache alpine-sdk \
|
|
||||||
&& mkdir -p /src \
|
|
||||||
&& cd /src \
|
|
||||||
&& git clone https://github.com/qpfiffer/Printer-Facts-API /src/app \
|
|
||||||
&& git clone https://github.com/qpfiffer/38-Moths.git /src/38moths \
|
|
||||||
&& (cd /src/38moths && make && make install) \
|
|
||||||
&& cd /src/app \
|
|
||||||
&& make \
|
|
||||||
&& apk del alpine-sdk
|
|
||||||
|
|
||||||
ENV BACKPLANE_PROXY_URL http://127.0.0.1:8666
|
|
||||||
|
|
||||||
WORKDIR /src/app
|
|
||||||
CMD "./printer-facts"
|
|
|
@ -1,13 +0,0 @@
|
||||||
FROM flitter/init
|
|
||||||
|
|
||||||
ENV GOPATH /go
|
|
||||||
ENV PATH $PATH:/go/bin
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get -y install build-essential golang sqlite3 libsqlite3-dev git mercurial --no-install-recommends &&\
|
|
||||||
mkdir /rqlite /go && go get github.com/otoolep/rqlite
|
|
||||||
|
|
||||||
EXPOSE 4001
|
|
||||||
|
|
||||||
ADD rqlite /etc/service/rqlite/run
|
|
||||||
|
|
||||||
CMD /sbin/my_init
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
rqlite -loglevel DEBUG /rqlite
|
|
|
@ -1,17 +0,0 @@
|
||||||
FROM alpine:3.3
|
|
||||||
|
|
||||||
RUN apk update
|
|
||||||
RUN apk add rtorrent rsync openssh
|
|
||||||
|
|
||||||
RUN adduser torrent -D -s /bin/sh
|
|
||||||
RUN echo "torrent:torrent" | chpasswd
|
|
||||||
|
|
||||||
RUN mkdir /torrents
|
|
||||||
RUN chown torrent /torrents
|
|
||||||
RUN chmod 777 /torrents
|
|
||||||
|
|
||||||
ADD rtorrent.rc /home/torrent/.rtorrent.rc
|
|
||||||
|
|
||||||
USER torrent
|
|
||||||
|
|
||||||
VOLUME /torrents
|
|
|
@ -1,106 +0,0 @@
|
||||||
# Maximum and minimum number of peers to connect to per torrent.
|
|
||||||
min_peers = 40
|
|
||||||
max_peers = 100
|
|
||||||
|
|
||||||
# Same as above but for seeding completed torrents (-1 = same as downloading)
|
|
||||||
min_peers_seed = 10
|
|
||||||
max_peers_seed = 50
|
|
||||||
|
|
||||||
# Maximum number of simultanious uploads per torrent.
|
|
||||||
max_uploads = 5
|
|
||||||
|
|
||||||
# Global upload and download rate in KiB. "0" for unlimited.
|
|
||||||
download_rate = 0
|
|
||||||
upload_rate = 0
|
|
||||||
|
|
||||||
# Default directory to save the downloaded torrents.
|
|
||||||
#directory = ./
|
|
||||||
directory = /torrents
|
|
||||||
|
|
||||||
# Default session directory. Make sure you don't run multiple instance
|
|
||||||
# of rtorrent using the same session directory. Perhaps using a
|
|
||||||
# relative path?
|
|
||||||
session = /torrents/session
|
|
||||||
|
|
||||||
# Watch a directory for new torrents, and stop those that have been
|
|
||||||
# deleted.
|
|
||||||
schedule = watch_directory,5,5,load_start=/torrents/seed/*.torrent
|
|
||||||
schedule = untied_directory,5,5,stop_untied=
|
|
||||||
|
|
||||||
# Close torrents when diskspace is low.
|
|
||||||
schedule = low_diskspace,5,60,close_low_diskspace=100M
|
|
||||||
|
|
||||||
# Stop torrents when reaching upload ratio in percent,
|
|
||||||
# when also reaching total upload in bytes, or when
|
|
||||||
# reaching final upload ratio in percent.
|
|
||||||
# example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0
|
|
||||||
# schedule = ratio,60,60,stop_on_ratio=110,200M,200
|
|
||||||
|
|
||||||
# The ip address reported to the tracker.
|
|
||||||
#ip = 127.0.0.1
|
|
||||||
#ip = rakshasa.no
|
|
||||||
|
|
||||||
# The ip address the listening socket and outgoing connections is
|
|
||||||
# bound to.
|
|
||||||
#bind = 127.0.0.1
|
|
||||||
#bind = rakshasa.no
|
|
||||||
|
|
||||||
# Port range to use for listening.
|
|
||||||
port_range = 6900-6999
|
|
||||||
|
|
||||||
# Start opening ports at a random position within the port range.
|
|
||||||
port_random = yes
|
|
||||||
|
|
||||||
# Check hash for finished torrents. Might be usefull until the bug is
|
|
||||||
# fixed that causes lack of diskspace not to be properly reported.
|
|
||||||
check_hash = yes
|
|
||||||
|
|
||||||
# Set whetever the client should try to connect to UDP trackers.
|
|
||||||
use_udp_trackers = yes
|
|
||||||
|
|
||||||
# Alternative calls to bind and ip that should handle dynamic ip's.
|
|
||||||
#schedule = ip_tick,0,1800,ip=rakshasa
|
|
||||||
#schedule = bind_tick,0,1800,bind=rakshasa
|
|
||||||
|
|
||||||
# Encryption options, set to none (default) or any combination of the following:
|
|
||||||
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
|
|
||||||
#
|
|
||||||
# The example value allows incoming encrypted connections, starts unencrypted
|
|
||||||
# outgoing connections but retries with encryption if they fail, preferring
|
|
||||||
# plaintext to RC4 encryption after the encrypted handshake
|
|
||||||
#
|
|
||||||
encryption = allow_incoming,enable_retry,prefer_plaintext
|
|
||||||
|
|
||||||
#
|
|
||||||
# Do not modify the following parameters unless you know what you're doing.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Hash read-ahead controls how many MB to request the kernel to read
|
|
||||||
# ahead. If the value is too low the disk may not be fully utilized,
|
|
||||||
# while if too high the kernel might not be able to keep the read
|
|
||||||
# pages in memory thus end up trashing.
|
|
||||||
#hash_read_ahead = 10
|
|
||||||
|
|
||||||
# Interval between attempts to check the hash, in milliseconds.
|
|
||||||
#hash_interval = 100
|
|
||||||
|
|
||||||
# Number of attempts to check the hash while using the mincore status,
|
|
||||||
# before forcing. Overworked systems might need lower values to get a
|
|
||||||
# decent hash checking rate.
|
|
||||||
#hash_max_tries = 10
|
|
||||||
|
|
||||||
# Max number of files to keep open simultaniously.
|
|
||||||
#max_open_files = 128
|
|
||||||
|
|
||||||
# Number of sockets to simultaneously keep open.
|
|
||||||
#max_open_sockets = <no default>
|
|
||||||
|
|
||||||
# Example of scheduling commands: Switch between two ip's every 5
|
|
||||||
# seconds.
|
|
||||||
#schedule = "ip_tick1,5,10,ip=torretta"
|
|
||||||
#schedule = "ip_tick2,10,10,ip=lampedusa"
|
|
||||||
|
|
||||||
# Remove a scheduled event.
|
|
||||||
#schedule_remove = "ip_tick1"
|
|
||||||
|
|
||||||
#transmission-daemon is better for what it is worth
|
|
|
@ -1,15 +0,0 @@
|
||||||
FROM node:4.0
|
|
||||||
|
|
||||||
RUN useradd --create-home shuo
|
|
||||||
|
|
||||||
RUN npm install -g shuo@0.54.2
|
|
||||||
|
|
||||||
ENV HOME /home/shuo
|
|
||||||
|
|
||||||
EXPOSE 9000
|
|
||||||
|
|
||||||
USER shuo
|
|
||||||
|
|
||||||
ADD . /home/shuo/.shuo
|
|
||||||
|
|
||||||
CMD shuo
|
|
|
@ -1,301 +0,0 @@
|
||||||
module.exports = {
|
|
||||||
//
|
|
||||||
// Set the server mode.
|
|
||||||
// Public servers does not require authentication.
|
|
||||||
//
|
|
||||||
// Set to 'false' to enable users.
|
|
||||||
//
|
|
||||||
// @type boolean
|
|
||||||
// @default false
|
|
||||||
//
|
|
||||||
public: false,
|
|
||||||
|
|
||||||
//
|
|
||||||
// Allow connections from this host.
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @default "0.0.0.0"
|
|
||||||
//
|
|
||||||
host: "0.0.0.0",
|
|
||||||
|
|
||||||
//
|
|
||||||
// Set the port to listen on.
|
|
||||||
//
|
|
||||||
// @type int
|
|
||||||
// @default 9000
|
|
||||||
//
|
|
||||||
port: 9000,
|
|
||||||
|
|
||||||
//
|
|
||||||
// Set the local IP to bind to.
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @default "0.0.0.0"
|
|
||||||
//
|
|
||||||
bind: undefined,
|
|
||||||
|
|
||||||
//
|
|
||||||
// Set the default theme.
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @default "themes/example.css"
|
|
||||||
//
|
|
||||||
theme: "themes/example.css",
|
|
||||||
|
|
||||||
//
|
|
||||||
// Autoload users
|
|
||||||
//
|
|
||||||
// When this setting is enabled, your 'users/' folder will be monitored. This is useful
|
|
||||||
// if you want to add/remove users while the server is running.
|
|
||||||
//
|
|
||||||
// @type boolean
|
|
||||||
// @default true
|
|
||||||
//
|
|
||||||
autoload: true,
|
|
||||||
|
|
||||||
//
|
|
||||||
// Prefetch URLs
|
|
||||||
//
|
|
||||||
// If enabled, Shout will try to load thumbnails and site descriptions from
|
|
||||||
// URLs posted in channels.
|
|
||||||
//
|
|
||||||
// @type boolean
|
|
||||||
// @default true
|
|
||||||
//
|
|
||||||
prefetch: true,
|
|
||||||
|
|
||||||
//
|
|
||||||
// Display network
|
|
||||||
//
|
|
||||||
// If set to false Shout will not expose network settings in login
|
|
||||||
// form, limiting client to connect to the configured network.
|
|
||||||
//
|
|
||||||
// @type boolean
|
|
||||||
// @default true
|
|
||||||
//
|
|
||||||
displayNetwork: true,
|
|
||||||
|
|
||||||
//
|
|
||||||
// Log settings
|
|
||||||
//
|
|
||||||
// Logging has to be enabled per user. If enabled, logs will be stored in
|
|
||||||
// the '/users/<user>/logs/' folder.
|
|
||||||
//
|
|
||||||
// @type object
|
|
||||||
// @default {}
|
|
||||||
//
|
|
||||||
logs: {
|
|
||||||
//
|
|
||||||
// Timestamp format
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @default "YYYY-MM-DD HH:mm:ss"
|
|
||||||
//
|
|
||||||
format: "YYYY-MM-DD HH:mm:ss",
|
|
||||||
|
|
||||||
//
|
|
||||||
// Timezone
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @default "UTC+00:00"
|
|
||||||
//
|
|
||||||
timezone: "UTC+00:00"
|
|
||||||
},
|
|
||||||
|
|
||||||
//
|
|
||||||
// Default values for the 'Connect' form.
|
|
||||||
//
|
|
||||||
// @type object
|
|
||||||
// @default {}
|
|
||||||
//
|
|
||||||
defaults: {
|
|
||||||
//
|
|
||||||
// Name
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @default "Freenode"
|
|
||||||
//
|
|
||||||
name: "PonyChat",
|
|
||||||
|
|
||||||
//
|
|
||||||
// Host
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @default "irc.freenode.org"
|
|
||||||
//
|
|
||||||
host: "irc.ponychat.net",
|
|
||||||
|
|
||||||
//
|
|
||||||
// Port
|
|
||||||
//
|
|
||||||
// @type int
|
|
||||||
// @default 6697
|
|
||||||
//
|
|
||||||
port: 6697,
|
|
||||||
|
|
||||||
//
|
|
||||||
// Password
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @default ""
|
|
||||||
//
|
|
||||||
password: "",
|
|
||||||
|
|
||||||
//
|
|
||||||
// Enable TLS/SSL
|
|
||||||
//
|
|
||||||
// @type boolean
|
|
||||||
// @default true
|
|
||||||
//
|
|
||||||
tls: true,
|
|
||||||
|
|
||||||
//
|
|
||||||
// Nick
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @default "shout-user"
|
|
||||||
//
|
|
||||||
nick: "shout-user",
|
|
||||||
|
|
||||||
//
|
|
||||||
// Username
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @default "shout-user"
|
|
||||||
//
|
|
||||||
username: "shout-user",
|
|
||||||
|
|
||||||
//
|
|
||||||
// Real Name
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @default "Shout User"
|
|
||||||
//
|
|
||||||
realname: "Shout User",
|
|
||||||
|
|
||||||
//
|
|
||||||
// Channels
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @default "#foo, #shout-irc"
|
|
||||||
//
|
|
||||||
join: "#bnc, #ponychat, #geek"
|
|
||||||
},
|
|
||||||
|
|
||||||
//
|
|
||||||
// Set socket.io transports
|
|
||||||
//
|
|
||||||
// @type array
|
|
||||||
// @default ["polling', "websocket"]
|
|
||||||
//
|
|
||||||
transports: ["polling", "websocket"],
|
|
||||||
|
|
||||||
//
|
|
||||||
// Run Shout with HTTPS support.
|
|
||||||
//
|
|
||||||
// @type object
|
|
||||||
// @default {}
|
|
||||||
//
|
|
||||||
https: {
|
|
||||||
//
|
|
||||||
// Enable HTTPS support.
|
|
||||||
//
|
|
||||||
// @type boolean
|
|
||||||
// @default false
|
|
||||||
//
|
|
||||||
enable: false,
|
|
||||||
|
|
||||||
//
|
|
||||||
// Path to the key.
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @example "sslcert/key.pem"
|
|
||||||
// @default ""
|
|
||||||
//
|
|
||||||
key: "",
|
|
||||||
|
|
||||||
//
|
|
||||||
// Path to the certificate.
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @example "sslcert/key-cert.pem"
|
|
||||||
// @default ""
|
|
||||||
//
|
|
||||||
certificate: ""
|
|
||||||
},
|
|
||||||
|
|
||||||
//
|
|
||||||
// Run Shout with identd support.
|
|
||||||
//
|
|
||||||
// @type object
|
|
||||||
// @default {}
|
|
||||||
//
|
|
||||||
identd: {
|
|
||||||
//
|
|
||||||
// Run the identd daemon on server start.
|
|
||||||
//
|
|
||||||
// @type boolean
|
|
||||||
// @default false
|
|
||||||
//
|
|
||||||
enable: false,
|
|
||||||
|
|
||||||
//
|
|
||||||
// Port to listen for ident requests.
|
|
||||||
//
|
|
||||||
// @type int
|
|
||||||
// @default 113
|
|
||||||
//
|
|
||||||
port: 113
|
|
||||||
},
|
|
||||||
|
|
||||||
//
|
|
||||||
// Themes
|
|
||||||
//
|
|
||||||
// @type array
|
|
||||||
//
|
|
||||||
themes: [
|
|
||||||
//
|
|
||||||
// A theme
|
|
||||||
//
|
|
||||||
// @type object
|
|
||||||
//
|
|
||||||
{
|
|
||||||
//
|
|
||||||
// Name
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @default "Default"
|
|
||||||
//
|
|
||||||
"name": "Default",
|
|
||||||
//
|
|
||||||
// Path to the theme CSS
|
|
||||||
//
|
|
||||||
// @type string
|
|
||||||
// @default ""
|
|
||||||
//
|
|
||||||
"path": "",
|
|
||||||
//
|
|
||||||
// Set the theme as default
|
|
||||||
//
|
|
||||||
// @type boolean
|
|
||||||
// @default false
|
|
||||||
//
|
|
||||||
"default": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Morning",
|
|
||||||
"path": "themes/morning.css",
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Zenburn",
|
|
||||||
"path": "themes/zenburn.css",
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Crypto",
|
|
||||||
"path": "themes/crypto.css",
|
|
||||||
"default": false
|
|
||||||
}
|
|
||||||
],
|
|
||||||
};
|
|
|
@ -1,13 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Shout IRC
|
|
||||||
Requires=docker.service
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStartPre=-/usr/bin/docker kill shuo
|
|
||||||
ExecStartPre=-/usr/bin/docker rm shuo
|
|
||||||
ExecStart=/usr/bin/docker run --name shuo -v /data/sda/shout/users:/home/shuo/.shuo/users -v /data/sda/shout/logs:/home/shuo/.shuo/logs -e VIRTUAL_HOST=shuo.xeserv.us xena/shuo
|
|
||||||
ExecStop=/usr/bin/docker stop shuo
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,8 +0,0 @@
|
||||||
FROM golang:1.7.1
|
|
||||||
|
|
||||||
RUN go get github.com/tidwall/summitdb/cmd/summitdb-server
|
|
||||||
|
|
||||||
VOLUME /data
|
|
||||||
EXPOSE 7481
|
|
||||||
|
|
||||||
CMD summitdb-server -dir /data -p 7481
|
|
|
@ -1,11 +0,0 @@
|
||||||
FROM nginx
|
|
||||||
|
|
||||||
ONBUILD ADD . /site
|
|
||||||
ONBUILD RUN cd /site && sw site && cp -vrf ./site.static /usr/share/nginx/html
|
|
||||||
|
|
||||||
ADD https://github.com/jroimartin/sw/archive/master.tar.gz /opt/sw.tar.gz
|
|
||||||
RUN cd /opt && tar vxf sw.tar.gz \
|
|
||||||
&& cd sw-master \
|
|
||||||
&& cp md2html.awk /usr/local/bin/md2html.awk \
|
|
||||||
&& cp sw /usr/local/bin/sw \
|
|
||||||
&& chmod a+x /usr/local/bin/*
|
|
|
@ -1,14 +0,0 @@
|
||||||
build:
|
|
||||||
docker build -t hub hub
|
|
||||||
docker build -t leaf1 leaf1
|
|
||||||
docker build -t leaf2 leaf2
|
|
||||||
docker build -t services services
|
|
||||||
|
|
||||||
run:
|
|
||||||
docker run --name hub -dit -p 6067:6667 hub
|
|
||||||
docker run --name leaf1 -dit leaf1
|
|
||||||
docker run --name leaf2 -dit leaf2
|
|
||||||
docker run --name services -dit services
|
|
||||||
|
|
||||||
kill:
|
|
||||||
docker rm -f hub services leaf1 leaf2
|
|
|
@ -1,3 +0,0 @@
|
||||||
FROM xena/elemental-ircd:6.6.2
|
|
||||||
|
|
||||||
ADD ircd.conf /home/ircd/run/etc/ircd.conf
|
|
|
@ -1,585 +0,0 @@
|
||||||
/* doc/example.conf - brief example configuration file
|
|
||||||
*
|
|
||||||
* Copyright (C) 2000-2002 Hybrid Development Team
|
|
||||||
* Copyright (C) 2002-2005 ircd-ratbox development team
|
|
||||||
* Copyright (C) 2005-2006 charybdis development team
|
|
||||||
*
|
|
||||||
* $Id: example.conf 3582 2007-11-17 21:55:48Z jilles $
|
|
||||||
*
|
|
||||||
* See reference.conf for more information.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Extensions */
|
|
||||||
#loadmodule "extensions/chm_adminonly.so";
|
|
||||||
loadmodule "extensions/chm_operonly.so";
|
|
||||||
#loadmodule "extensions/chm_sslonly.so";
|
|
||||||
#loadmodule "extensions/chm_operonly_compat.so";
|
|
||||||
#loadmodule "extensions/chm_quietunreg_compat.so";
|
|
||||||
#loadmodule "extensions/chm_sslonly_compat.so";
|
|
||||||
#loadmodule "extensions/createauthonly.so";
|
|
||||||
loadmodule "extensions/extb_account.so";
|
|
||||||
loadmodule "extensions/extb_canjoin.so";
|
|
||||||
loadmodule "extensions/extb_channel.so";
|
|
||||||
loadmodule "extensions/extb_extgecos.so";
|
|
||||||
loadmodule "extensions/extb_oper.so";
|
|
||||||
loadmodule "extensions/extb_realname.so";
|
|
||||||
#loadmodule "extensions/extb_server.so";
|
|
||||||
#loadmodule "extensions/extb_ssl.so";
|
|
||||||
#loadmodule "extensions/hurt.so";
|
|
||||||
loadmodule "extensions/ip_cloaking.so";
|
|
||||||
#loadmodule "extensions/m_findforwards.so";
|
|
||||||
loadmodule "extensions/m_identify.so";
|
|
||||||
loadmodule "extensions/m_mkpasswd.so";
|
|
||||||
loadmodule "extensions/m_webirc.so";
|
|
||||||
#loadmodule "extensions/m_cycle.so";
|
|
||||||
#loadmodule "extensions/m_oaccept.so";
|
|
||||||
#loadmodule "extensions/m_opme.so";
|
|
||||||
#loadmodule "extensions/m_ojoin.so";
|
|
||||||
#loadmodule "extensions/m_omode.so";
|
|
||||||
#loadmodule "extensions/m_olist.so";
|
|
||||||
#loadmodule "extensions/m_okick.so";
|
|
||||||
#loadmodule "extensions/m_force.so";
|
|
||||||
#loadmodule "extensions/m_roleplay.so";
|
|
||||||
#loadmodule "extensions/no_oper_invis.so";
|
|
||||||
loadmodule "extensions/sno_farconnect.so";
|
|
||||||
loadmodule "extensions/sno_globalkline.so";
|
|
||||||
loadmodule "extensions/sno_globaloper.so";
|
|
||||||
#loadmodule "extensions/sno_whois.so";
|
|
||||||
|
|
||||||
serverinfo {
|
|
||||||
name = "rarity.shadownet.int";
|
|
||||||
sid = "47G";
|
|
||||||
description = "Rarity >_<";
|
|
||||||
network_name = "ShadowNET";
|
|
||||||
network_desc = "Help I need muffin";
|
|
||||||
helpchan = "#help";
|
|
||||||
helpurl = "http://www.mynet.net/help";
|
|
||||||
hub = yes;
|
|
||||||
|
|
||||||
/* On multi-homed hosts you may need the following. These define
|
|
||||||
* the addresses we connect from to other servers. */
|
|
||||||
/* for IPv4 */
|
|
||||||
#vhost = "192.169.0.1";
|
|
||||||
/* for IPv6 */
|
|
||||||
#vhost6 = "3ffe:80e8:546::2";
|
|
||||||
|
|
||||||
/* ssl_private_key: our ssl private key */
|
|
||||||
ssl_private_key = "etc/ssl.key";
|
|
||||||
|
|
||||||
/* ssl_cert: certificate for our ssl server */
|
|
||||||
ssl_cert = "etc/ssl.cert";
|
|
||||||
|
|
||||||
/* ssl_dh_params: DH parameters, generate with openssl dhparam -out dh.pem 1024 */
|
|
||||||
ssl_dh_params = "etc/dh.pem";
|
|
||||||
|
|
||||||
/* ssld_count: number of ssld processes you want to start, if you
|
|
||||||
* have a really busy server, using N-1 where N is the number of
|
|
||||||
* cpu/cpu cores you have might be useful. A number greater than one
|
|
||||||
* can also be useful in case of bugs in ssld and because ssld needs
|
|
||||||
* two file descriptors per SSL connection.
|
|
||||||
*/
|
|
||||||
ssld_count = 1;
|
|
||||||
|
|
||||||
/* default max clients: the default maximum number of clients
|
|
||||||
* allowed to connect. This can be changed once ircd has started by
|
|
||||||
* issuing:
|
|
||||||
* /quote set maxclients <limit>
|
|
||||||
*/
|
|
||||||
default_max_clients = 1024;
|
|
||||||
};
|
|
||||||
|
|
||||||
admin {
|
|
||||||
name = "Lazy admin (lazya)";
|
|
||||||
description = "AthemeNET client server";
|
|
||||||
email = "nobody@127.0.0.1";
|
|
||||||
};
|
|
||||||
|
|
||||||
log {
|
|
||||||
fname_userlog = "logs/userlog";
|
|
||||||
#fname_fuserlog = "logs/fuserlog";
|
|
||||||
fname_operlog = "logs/operlog";
|
|
||||||
#fname_foperlog = "logs/foperlog";
|
|
||||||
fname_serverlog = "logs/serverlog";
|
|
||||||
#fname_klinelog = "logs/klinelog";
|
|
||||||
fname_killlog = "logs/killlog";
|
|
||||||
fname_operspylog = "logs/operspylog";
|
|
||||||
#fname_ioerrorlog = "logs/ioerror";
|
|
||||||
};
|
|
||||||
|
|
||||||
/* class {} blocks MUST be specified before anything that uses them. That
|
|
||||||
* means they must be defined before auth {} and before connect {}.
|
|
||||||
*/
|
|
||||||
class "users" {
|
|
||||||
ping_time = 2 minutes;
|
|
||||||
number_per_ident = 10;
|
|
||||||
number_per_ip = 10;
|
|
||||||
number_per_ip_global = 50;
|
|
||||||
cidr_ipv4_bitlen = 24;
|
|
||||||
cidr_ipv6_bitlen = 64;
|
|
||||||
number_per_cidr = 200;
|
|
||||||
max_number = 3000;
|
|
||||||
sendq = 400 kbytes;
|
|
||||||
};
|
|
||||||
|
|
||||||
class "opers" {
|
|
||||||
ping_time = 5 minutes;
|
|
||||||
number_per_ip = 10;
|
|
||||||
max_number = 1000;
|
|
||||||
sendq = 1 megabyte;
|
|
||||||
};
|
|
||||||
|
|
||||||
class "server" {
|
|
||||||
ping_time = 5 minutes;
|
|
||||||
connectfreq = 5 minutes;
|
|
||||||
max_number = 1;
|
|
||||||
sendq = 4 megabytes;
|
|
||||||
};
|
|
||||||
|
|
||||||
listen {
|
|
||||||
/* If you want to listen on a specific IP only, specify host.
|
|
||||||
* host definitions apply only to the following port line.
|
|
||||||
*/
|
|
||||||
#host = "192.169.0.1";
|
|
||||||
port = 5000, 6665 .. 6669;
|
|
||||||
sslport = 6697;
|
|
||||||
|
|
||||||
/* Listen on IPv6 (if you used host= above). */
|
|
||||||
#host = "3ffe:1234:a:b:c::d";
|
|
||||||
#port = 5000, 6665 .. 6669;
|
|
||||||
#sslport = 9999;
|
|
||||||
};
|
|
||||||
|
|
||||||
connect "services.int" {
|
|
||||||
host = "*";
|
|
||||||
send_password = "dev";
|
|
||||||
accept_password = "dev";
|
|
||||||
port = 6667;
|
|
||||||
flags = topicburst;
|
|
||||||
class = "server";
|
|
||||||
};
|
|
||||||
|
|
||||||
connect "tetra.int" {
|
|
||||||
host = "*";
|
|
||||||
send_password = "dev";
|
|
||||||
accept_password = "dev";
|
|
||||||
port = 6667;
|
|
||||||
flags = topicburst;
|
|
||||||
class = "server";
|
|
||||||
};
|
|
||||||
|
|
||||||
connect "ardreth.shadownet.int" {
|
|
||||||
host = "*";
|
|
||||||
send_password = "dev";
|
|
||||||
accept_password = "dev";
|
|
||||||
port = 6667;
|
|
||||||
flags = topicburst;
|
|
||||||
class = "server";
|
|
||||||
};
|
|
||||||
|
|
||||||
connect "janus.shadownet.int" {
|
|
||||||
host = "*";
|
|
||||||
send_password = "dev";
|
|
||||||
accept_password = "dev";
|
|
||||||
port = 6667;
|
|
||||||
class = "server";
|
|
||||||
hub_mask = "*";
|
|
||||||
};
|
|
||||||
|
|
||||||
/* auth {}: allow users to connect to the ircd (OLD I:)
|
|
||||||
* auth {} blocks MUST be specified in order of precedence. The first one
|
|
||||||
* that matches a user will be used. So place spoofs first, then specials,
|
|
||||||
* then general access, then restricted.
|
|
||||||
*/
|
|
||||||
auth {
|
|
||||||
/* user: the user@host allowed to connect. Multiple IPv4/IPv6 user
|
|
||||||
* lines are permitted per auth block. This is matched against the
|
|
||||||
* hostname and IP address (using :: shortening for IPv6 and
|
|
||||||
* prepending a 0 if it starts with a colon) and can also use CIDR
|
|
||||||
* masks.
|
|
||||||
*/
|
|
||||||
user = "*@172.16.0.0/12";
|
|
||||||
user = "*test@123D:B567:*";
|
|
||||||
|
|
||||||
/* auth_user: The username (authenticated via SASL or PASS) allowed
|
|
||||||
* to connect. You are able to put multiple auth_user lines. If people
|
|
||||||
* are authenticating via SASL in this way, it is recommended to comment
|
|
||||||
* out the password option below. You will also *NEED* to specify a user
|
|
||||||
* line above auth_user, this can safely be "*@*", however.
|
|
||||||
*/
|
|
||||||
auth_user = "jilles";
|
|
||||||
auth_user = "jdhore";
|
|
||||||
|
|
||||||
/* password: an optional password that is required to use this block.
|
|
||||||
* By default this is not encrypted, specify the flag "encrypted" in
|
|
||||||
* flags = ...; below if it is.
|
|
||||||
*/
|
|
||||||
password = "letmein";
|
|
||||||
|
|
||||||
/* spoof: fake the users user@host to be be this. You may either
|
|
||||||
* specify a host or a user@host to spoof to. This is free-form,
|
|
||||||
* just do everyone a favour and dont abuse it. (OLD I: = flag)
|
|
||||||
*/
|
|
||||||
spoof = "I.still.hate.packets";
|
|
||||||
|
|
||||||
/* autojoin: Channel (or channels, comma-seperated) to join users
|
|
||||||
* in this auth block to on connect. Note that this won't join
|
|
||||||
* the user through any bans or otherwise restrictive chmodes.
|
|
||||||
*/
|
|
||||||
autojoin = "#shadowircd,#test";
|
|
||||||
|
|
||||||
/* autojoin_opers : Channel (or channels, comma-seperated) to join
|
|
||||||
* opers to on oper-up.
|
|
||||||
*/
|
|
||||||
autojoin_opers = "#opers,#help";
|
|
||||||
|
|
||||||
/* Possible flags in auth:
|
|
||||||
*
|
|
||||||
* encrypted | password is encrypted with mkpasswd
|
|
||||||
* spoof_notice | give a notice when spoofing hosts
|
|
||||||
* exceed_limit (old > flag) | allow user to exceed class user limits
|
|
||||||
* kline_exempt (old ^ flag) | exempt this user from k/g/xlines&dnsbls
|
|
||||||
* dnsbl_exempt | exempt this user from dnsbls
|
|
||||||
* spambot_exempt | exempt this user from spambot checks
|
|
||||||
* shide_exempt | exempt this user from serverhiding
|
|
||||||
* jupe_exempt | exempt this user from generating
|
|
||||||
* warnings joining juped channels
|
|
||||||
* resv_exempt | exempt this user from resvs
|
|
||||||
* flood_exempt | exempt this user from flood limits
|
|
||||||
* USE WITH CAUTION.
|
|
||||||
* no_tilde (old - flag) | don't prefix ~ to username if no ident
|
|
||||||
* need_ident (old + flag) | require ident for user in this class
|
|
||||||
* need_ssl | require SSL/TLS for user in this class
|
|
||||||
* need_sasl | require SASL id for user in this class
|
|
||||||
*/
|
|
||||||
flags = kline_exempt, exceed_limit;
|
|
||||||
|
|
||||||
/* class: the class the user is placed in */
|
|
||||||
class = "opers";
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Example WEBIRC authblock */
|
|
||||||
auth {
|
|
||||||
/* user: webirc@IP.OF.YOUR.WEBIRC . the webirc@ part is required */
|
|
||||||
user = "webirc@192.168.1.1";
|
|
||||||
|
|
||||||
/* password: password the webirc client sends in the WEBIRC command.
|
|
||||||
* You can use a encrypted password here (see above auth block).
|
|
||||||
*/
|
|
||||||
password = "<password>";
|
|
||||||
|
|
||||||
/* spoof: This is required to keep it what it is currently if you
|
|
||||||
* want the webirc client to show the users' real host as their
|
|
||||||
* host on IRC.
|
|
||||||
*/
|
|
||||||
spoof = "webirc.";
|
|
||||||
class = "users";
|
|
||||||
};
|
|
||||||
|
|
||||||
auth {
|
|
||||||
user = "*@*";
|
|
||||||
class = "users";
|
|
||||||
};
|
|
||||||
|
|
||||||
/* privset {} blocks MUST be specified before anything that uses them. That
|
|
||||||
* means they must be defined before operator {}.
|
|
||||||
*/
|
|
||||||
privset "local_op" {
|
|
||||||
privs = oper:local_kill, oper:operwall;
|
|
||||||
};
|
|
||||||
|
|
||||||
privset "server_bot" {
|
|
||||||
extends = "local_op";
|
|
||||||
privs = oper:kline, oper:remoteban, snomask:nick_changes;
|
|
||||||
};
|
|
||||||
|
|
||||||
privset "global_op" {
|
|
||||||
extends = "local_op";
|
|
||||||
privs = oper:global_kill, oper:routing, oper:kline, oper:unkline, oper:xline,
|
|
||||||
oper:resv, oper:mass_notice, oper:remoteban;
|
|
||||||
};
|
|
||||||
|
|
||||||
privset "admin" {
|
|
||||||
extends = "global_op";
|
|
||||||
privs = oper:admin, oper:die, oper:rehash, oper:spy, oper:override;
|
|
||||||
};
|
|
||||||
|
|
||||||
operator "god" {
|
|
||||||
/* name: the name of the oper must go above */
|
|
||||||
|
|
||||||
/* user: the user@host required for this operator. CIDR *is*
|
|
||||||
* supported now. auth{} spoofs work here, other spoofs do not.
|
|
||||||
* multiple user="" lines are supported.
|
|
||||||
*/
|
|
||||||
user = "*@*";
|
|
||||||
|
|
||||||
/* password: the password required to oper. Unless ~encrypted is
|
|
||||||
* contained in flags = ...; this will need to be encrypted using
|
|
||||||
* mkpasswd, MD5 is supported
|
|
||||||
*/
|
|
||||||
password = "test";
|
|
||||||
|
|
||||||
/* rsa key: the public key for this oper when using Challenge.
|
|
||||||
* A password should not be defined when this is used, see
|
|
||||||
* doc/challenge.txt for more information.
|
|
||||||
*/
|
|
||||||
#rsa_public_key_file = "/usr/local/ircd/etc/oper.pub";
|
|
||||||
|
|
||||||
/* umodes: the specific umodes this oper gets when they oper.
|
|
||||||
* If this is specified an oper will not be given oper_umodes
|
|
||||||
* These are described above oper_only_umodes in general {};
|
|
||||||
*/
|
|
||||||
#umodes = locops, servnotice, operwall, wallop;
|
|
||||||
|
|
||||||
/* fingerprint: if specified, the oper's client certificate
|
|
||||||
* fingerprint will be checked against the specified fingerprint
|
|
||||||
* below.
|
|
||||||
*/
|
|
||||||
#fingerprint = "c77106576abf7f9f90cca0f63874a60f2e40a64b";
|
|
||||||
|
|
||||||
/* snomask: specific server notice mask on oper up.
|
|
||||||
* If this is specified an oper will not be given oper_snomask.
|
|
||||||
*/
|
|
||||||
snomask = "+ZbFcfkrsuy";
|
|
||||||
|
|
||||||
/* vhost: defines the vhost that this oper will get on oper up.
|
|
||||||
* this must be a valid hostmask. If this is specified the oper
|
|
||||||
* will not be given default_operhost.
|
|
||||||
*/
|
|
||||||
vhost = "is.an.oper";
|
|
||||||
|
|
||||||
/* swhois: defines an additional line that will be displayed
|
|
||||||
* whenever someone does /whois on the oper in question.
|
|
||||||
*/
|
|
||||||
swhois = "is wearing pants.";
|
|
||||||
|
|
||||||
/* operstring: defines a custom operstring for this oper,
|
|
||||||
* which will be shown in whois instead of default_operstring
|
|
||||||
* or default_adminstring.
|
|
||||||
*/
|
|
||||||
operstring = "is a lazy IRC Operator";
|
|
||||||
|
|
||||||
/* flags: misc options for the operator. You may prefix an option
|
|
||||||
* with ~ to disable it, e.g. ~encrypted.
|
|
||||||
*
|
|
||||||
* Default flags are encrypted.
|
|
||||||
*
|
|
||||||
* Available options:
|
|
||||||
*
|
|
||||||
* encrypted: the password above is encrypted [DEFAULT]
|
|
||||||
* need_ssl: must be using SSL/TLS to oper up
|
|
||||||
*/
|
|
||||||
flags = ~encrypted;
|
|
||||||
|
|
||||||
/* privset: privileges set to grant */
|
|
||||||
privset = "admin";
|
|
||||||
};
|
|
||||||
|
|
||||||
service {
|
|
||||||
name = "services.int";
|
|
||||||
};
|
|
||||||
|
|
||||||
service {
|
|
||||||
name = "tetra.int";
|
|
||||||
};
|
|
||||||
|
|
||||||
cluster {
|
|
||||||
name = "*";
|
|
||||||
flags = kline, tkline, unkline, xline, txline, unxline, resv, tresv, unresv;
|
|
||||||
};
|
|
||||||
|
|
||||||
shared {
|
|
||||||
oper = "*@*", "*";
|
|
||||||
flags = all;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* exempt {}: IPs that are exempt from Dlines and rejectcache. (OLD d:) */
|
|
||||||
exempt {
|
|
||||||
ip = "127.0.0.1";
|
|
||||||
};
|
|
||||||
|
|
||||||
channel {
|
|
||||||
disabledmodes = "G";
|
|
||||||
autochanmodes = "nt";
|
|
||||||
admin_on_channel_create = no;
|
|
||||||
exemptchanops = "NTc";
|
|
||||||
use_halfop = yes;
|
|
||||||
use_admin = yes;
|
|
||||||
use_knock = yes;
|
|
||||||
use_local_channels = yes;
|
|
||||||
knock_delay = 5 minutes;
|
|
||||||
knock_delay_channel = 1 minute;
|
|
||||||
max_chans_per_user = 15;
|
|
||||||
max_bans = 100;
|
|
||||||
max_bans_large = 500;
|
|
||||||
default_split_user_count = 0;
|
|
||||||
default_split_server_count = 0;
|
|
||||||
no_create_on_split = no;
|
|
||||||
no_join_on_split = no;
|
|
||||||
burst_topicwho = yes;
|
|
||||||
kick_on_split_riding = no;
|
|
||||||
only_ascii_channels = no;
|
|
||||||
cycle_host_change = yes;
|
|
||||||
host_in_topic = yes;
|
|
||||||
resv_forcepart = yes;
|
|
||||||
channel_target_change = yes;
|
|
||||||
};
|
|
||||||
|
|
||||||
serverhide {
|
|
||||||
flatten_links = yes;
|
|
||||||
links_delay = 5 minutes;
|
|
||||||
hidden = no;
|
|
||||||
disable_hidden = no;
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "NickServ" {
|
|
||||||
target = "NickServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "ChanServ" {
|
|
||||||
target = "ChanServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "OperServ" {
|
|
||||||
target = "OperServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "MemoServ" {
|
|
||||||
target = "MemoServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "HostServ" {
|
|
||||||
target = "HostServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "BotServ" {
|
|
||||||
target = "BotServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "InfoServ" {
|
|
||||||
target = "InfoServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "GroupServ" {
|
|
||||||
target = "GroupServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "NS" {
|
|
||||||
target = "NickServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "CS" {
|
|
||||||
target = "ChanServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "OS" {
|
|
||||||
target = "OperServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "MS" {
|
|
||||||
target = "MemoServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "HS" {
|
|
||||||
target = "HostServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "BS" {
|
|
||||||
target = "BotServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "IS" {
|
|
||||||
target = "InfoServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "GS" {
|
|
||||||
target = "GroupServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
general {
|
|
||||||
hide_error_messages = opers;
|
|
||||||
hide_spoof_ips = yes;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* default umodes: umodes to set upon connection
|
|
||||||
* If you have enabled the ip_cloaking extension, and you wish for
|
|
||||||
* incoming clients to be cloaked upon connection, +x must be in
|
|
||||||
* the umode string below.
|
|
||||||
*/
|
|
||||||
default_umodes = "+ix";
|
|
||||||
|
|
||||||
default_operstring = "is an IRC Operator";
|
|
||||||
default_adminstring = "is a Server Administrator";
|
|
||||||
default_operhost = "yolo-swag.com";
|
|
||||||
#static_quit = "I like turtles!";
|
|
||||||
servicestring = "is a Network Service";
|
|
||||||
disable_fake_channels = no;
|
|
||||||
hide_channel_below_users = 3;
|
|
||||||
tkline_expire_notices = no;
|
|
||||||
default_floodcount = 10;
|
|
||||||
failed_oper_notice = yes;
|
|
||||||
dots_in_ident=2;
|
|
||||||
min_nonwildcard = 4;
|
|
||||||
min_nonwildcard_simple = 3;
|
|
||||||
max_accept = 100;
|
|
||||||
max_monitor = 100;
|
|
||||||
anti_nick_flood = yes;
|
|
||||||
max_nick_time = 20 seconds;
|
|
||||||
max_nick_changes = 5;
|
|
||||||
anti_spam_exit_message_time = 5 minutes;
|
|
||||||
use_part_messages = yes;
|
|
||||||
ts_warn_delta = 30 seconds;
|
|
||||||
ts_max_delta = 5 minutes;
|
|
||||||
client_exit = yes;
|
|
||||||
collision_fnc = yes;
|
|
||||||
global_snotices = yes;
|
|
||||||
dline_with_reason = yes;
|
|
||||||
kline_delay = 0 seconds;
|
|
||||||
kline_with_reason = yes;
|
|
||||||
kline_reason = "K-Lined";
|
|
||||||
identify_service = "NickServ@services.int";
|
|
||||||
identify_command = "IDENTIFY";
|
|
||||||
non_redundant_klines = yes;
|
|
||||||
warn_no_nline = yes;
|
|
||||||
use_propagated_bans = yes;
|
|
||||||
stats_e_disabled = no;
|
|
||||||
stats_c_oper_only=no;
|
|
||||||
stats_h_oper_only=no;
|
|
||||||
stats_y_oper_only=no;
|
|
||||||
stats_o_oper_only=yes;
|
|
||||||
stats_P_oper_only=no;
|
|
||||||
stats_i_oper_only=masked;
|
|
||||||
stats_k_oper_only=masked;
|
|
||||||
map_oper_only = no;
|
|
||||||
operspy_admin_only = no;
|
|
||||||
operspy_dont_care_user_info = no;
|
|
||||||
secret_channels_in_whois = no;
|
|
||||||
caller_id_wait = 1 minute;
|
|
||||||
pace_wait_simple = 1 second;
|
|
||||||
pace_wait = 10 seconds;
|
|
||||||
short_motd = no;
|
|
||||||
ping_cookie = no;
|
|
||||||
connect_timeout = 30 seconds;
|
|
||||||
default_ident_timeout = 5;
|
|
||||||
disable_auth = yes;
|
|
||||||
no_oper_flood = yes;
|
|
||||||
true_no_oper_flood = no;
|
|
||||||
max_targets = 4;
|
|
||||||
client_flood = 20;
|
|
||||||
use_whois_actually = no;
|
|
||||||
oper_only_umodes = operwall, locops, servnotice;
|
|
||||||
oper_umodes = locops, servnotice, operwall, wallop;
|
|
||||||
oper_snomask = "+s";
|
|
||||||
burst_away = yes;
|
|
||||||
nick_delay = 0 seconds; # 15 minutes if you want to enable this
|
|
||||||
reject_ban_time = 1 minute;
|
|
||||||
reject_after_count = 3;
|
|
||||||
reject_duration = 5 minutes;
|
|
||||||
throttle_duration = 60;
|
|
||||||
throttle_count = 5000;
|
|
||||||
expire_override_time = 5 minutes;
|
|
||||||
};
|
|
||||||
|
|
||||||
modules {
|
|
||||||
path = "modules";
|
|
||||||
path = "modules/autoload";
|
|
||||||
};
|
|
|
@ -1,3 +0,0 @@
|
||||||
FROM xena/elemental-ircd:6.6.2
|
|
||||||
|
|
||||||
ADD ircd.conf /home/ircd/run/etc/ircd.conf
|
|
|
@ -1,559 +0,0 @@
|
||||||
/* doc/example.conf - brief example configuration file
|
|
||||||
*
|
|
||||||
* Copyright (C) 2000-2002 Hybrid Development Team
|
|
||||||
* Copyright (C) 2002-2005 ircd-ratbox development team
|
|
||||||
* Copyright (C) 2005-2006 charybdis development team
|
|
||||||
*
|
|
||||||
* $Id: example.conf 3582 2007-11-17 21:55:48Z jilles $
|
|
||||||
*
|
|
||||||
* See reference.conf for more information.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Extensions */
|
|
||||||
#loadmodule "extensions/chm_adminonly.so";
|
|
||||||
loadmodule "extensions/chm_operonly.so";
|
|
||||||
#loadmodule "extensions/chm_sslonly.so";
|
|
||||||
#loadmodule "extensions/chm_operonly_compat.so";
|
|
||||||
#loadmodule "extensions/chm_quietunreg_compat.so";
|
|
||||||
#loadmodule "extensions/chm_sslonly_compat.so";
|
|
||||||
#loadmodule "extensions/createauthonly.so";
|
|
||||||
loadmodule "extensions/extb_account.so";
|
|
||||||
loadmodule "extensions/extb_canjoin.so";
|
|
||||||
loadmodule "extensions/extb_channel.so";
|
|
||||||
loadmodule "extensions/extb_extgecos.so";
|
|
||||||
loadmodule "extensions/extb_oper.so";
|
|
||||||
loadmodule "extensions/extb_realname.so";
|
|
||||||
#loadmodule "extensions/extb_server.so";
|
|
||||||
#loadmodule "extensions/extb_ssl.so";
|
|
||||||
#loadmodule "extensions/hurt.so";
|
|
||||||
loadmodule "extensions/ip_cloaking.so";
|
|
||||||
#loadmodule "extensions/m_findforwards.so";
|
|
||||||
loadmodule "extensions/m_identify.so";
|
|
||||||
loadmodule "extensions/m_mkpasswd.so";
|
|
||||||
loadmodule "extensions/m_webirc.so";
|
|
||||||
#loadmodule "extensions/m_cycle.so";
|
|
||||||
#loadmodule "extensions/m_oaccept.so";
|
|
||||||
#loadmodule "extensions/m_opme.so";
|
|
||||||
#loadmodule "extensions/m_ojoin.so";
|
|
||||||
#loadmodule "extensions/m_omode.so";
|
|
||||||
#loadmodule "extensions/m_olist.so";
|
|
||||||
#loadmodule "extensions/m_okick.so";
|
|
||||||
#loadmodule "extensions/m_force.so";
|
|
||||||
#loadmodule "extensions/m_roleplay.so";
|
|
||||||
#loadmodule "extensions/no_oper_invis.so";
|
|
||||||
loadmodule "extensions/sno_farconnect.so";
|
|
||||||
loadmodule "extensions/sno_globalkline.so";
|
|
||||||
loadmodule "extensions/sno_globaloper.so";
|
|
||||||
#loadmodule "extensions/sno_whois.so";
|
|
||||||
|
|
||||||
serverinfo {
|
|
||||||
name = "ardreth.shadownet.int";
|
|
||||||
sid = "4RD";
|
|
||||||
description = "Ardreth the reaper of souls";
|
|
||||||
network_name = "ShadowNET";
|
|
||||||
network_desc = "Help I need muffin";
|
|
||||||
helpchan = "#help";
|
|
||||||
helpurl = "http://www.mynet.net/help";
|
|
||||||
hub = yes;
|
|
||||||
|
|
||||||
/* On multi-homed hosts you may need the following. These define
|
|
||||||
* the addresses we connect from to other servers. */
|
|
||||||
/* for IPv4 */
|
|
||||||
#vhost = "192.169.0.1";
|
|
||||||
/* for IPv6 */
|
|
||||||
#vhost6 = "3ffe:80e8:546::2";
|
|
||||||
|
|
||||||
/* ssl_private_key: our ssl private key */
|
|
||||||
ssl_private_key = "etc/ssl.key";
|
|
||||||
|
|
||||||
/* ssl_cert: certificate for our ssl server */
|
|
||||||
ssl_cert = "etc/ssl.cert";
|
|
||||||
|
|
||||||
/* ssl_dh_params: DH parameters, generate with openssl dhparam -out dh.pem 1024 */
|
|
||||||
ssl_dh_params = "etc/dh.pem";
|
|
||||||
|
|
||||||
/* ssld_count: number of ssld processes you want to start, if you
|
|
||||||
* have a really busy server, using N-1 where N is the number of
|
|
||||||
* cpu/cpu cores you have might be useful. A number greater than one
|
|
||||||
* can also be useful in case of bugs in ssld and because ssld needs
|
|
||||||
* two file descriptors per SSL connection.
|
|
||||||
*/
|
|
||||||
ssld_count = 1;
|
|
||||||
|
|
||||||
/* default max clients: the default maximum number of clients
|
|
||||||
* allowed to connect. This can be changed once ircd has started by
|
|
||||||
* issuing:
|
|
||||||
* /quote set maxclients <limit>
|
|
||||||
*/
|
|
||||||
default_max_clients = 1024;
|
|
||||||
};
|
|
||||||
|
|
||||||
admin {
|
|
||||||
name = "Lazy admin (lazya)";
|
|
||||||
description = "AthemeNET client server";
|
|
||||||
email = "nobody@127.0.0.1";
|
|
||||||
};
|
|
||||||
|
|
||||||
log {
|
|
||||||
fname_userlog = "logs/userlog";
|
|
||||||
#fname_fuserlog = "logs/fuserlog";
|
|
||||||
fname_operlog = "logs/operlog";
|
|
||||||
#fname_foperlog = "logs/foperlog";
|
|
||||||
fname_serverlog = "logs/serverlog";
|
|
||||||
#fname_klinelog = "logs/klinelog";
|
|
||||||
fname_killlog = "logs/killlog";
|
|
||||||
fname_operspylog = "logs/operspylog";
|
|
||||||
#fname_ioerrorlog = "logs/ioerror";
|
|
||||||
};
|
|
||||||
|
|
||||||
/* class {} blocks MUST be specified before anything that uses them. That
|
|
||||||
* means they must be defined before auth {} and before connect {}.
|
|
||||||
*/
|
|
||||||
class "users" {
|
|
||||||
ping_time = 2 minutes;
|
|
||||||
number_per_ident = 10;
|
|
||||||
number_per_ip = 10;
|
|
||||||
number_per_ip_global = 50;
|
|
||||||
cidr_ipv4_bitlen = 24;
|
|
||||||
cidr_ipv6_bitlen = 64;
|
|
||||||
number_per_cidr = 200;
|
|
||||||
max_number = 3000;
|
|
||||||
sendq = 400 kbytes;
|
|
||||||
};
|
|
||||||
|
|
||||||
class "opers" {
|
|
||||||
ping_time = 5 minutes;
|
|
||||||
number_per_ip = 10;
|
|
||||||
max_number = 1000;
|
|
||||||
sendq = 1 megabyte;
|
|
||||||
};
|
|
||||||
|
|
||||||
class "server" {
|
|
||||||
ping_time = 5 minutes;
|
|
||||||
connectfreq = 5 minutes;
|
|
||||||
max_number = 1;
|
|
||||||
sendq = 4 megabytes;
|
|
||||||
};
|
|
||||||
|
|
||||||
listen {
|
|
||||||
/* If you want to listen on a specific IP only, specify host.
|
|
||||||
* host definitions apply only to the following port line.
|
|
||||||
*/
|
|
||||||
#host = "192.169.0.1";
|
|
||||||
port = 5000, 6665 .. 6669;
|
|
||||||
sslport = 6697;
|
|
||||||
|
|
||||||
/* Listen on IPv6 (if you used host= above). */
|
|
||||||
#host = "3ffe:1234:a:b:c::d";
|
|
||||||
#port = 5000, 6665 .. 6669;
|
|
||||||
#sslport = 9999;
|
|
||||||
};
|
|
||||||
|
|
||||||
connect "rarity.shadownet.int" {
|
|
||||||
host = "172.17.42.1";
|
|
||||||
send_password = "dev";
|
|
||||||
accept_password = "dev";
|
|
||||||
port = 6067;
|
|
||||||
class = "server";
|
|
||||||
hub_mask = "*";
|
|
||||||
flags = autoconn;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* auth {}: allow users to connect to the ircd (OLD I:)
|
|
||||||
* auth {} blocks MUST be specified in order of precedence. The first one
|
|
||||||
* that matches a user will be used. So place spoofs first, then specials,
|
|
||||||
* then general access, then restricted.
|
|
||||||
*/
|
|
||||||
auth {
|
|
||||||
/* user: the user@host allowed to connect. Multiple IPv4/IPv6 user
|
|
||||||
* lines are permitted per auth block. This is matched against the
|
|
||||||
* hostname and IP address (using :: shortening for IPv6 and
|
|
||||||
* prepending a 0 if it starts with a colon) and can also use CIDR
|
|
||||||
* masks.
|
|
||||||
*/
|
|
||||||
user = "*@172.16.0.0/12";
|
|
||||||
user = "*test@123D:B567:*";
|
|
||||||
|
|
||||||
/* auth_user: The username (authenticated via SASL or PASS) allowed
|
|
||||||
* to connect. You are able to put multiple auth_user lines. If people
|
|
||||||
* are authenticating via SASL in this way, it is recommended to comment
|
|
||||||
* out the password option below. You will also *NEED* to specify a user
|
|
||||||
* line above auth_user, this can safely be "*@*", however.
|
|
||||||
*/
|
|
||||||
auth_user = "jilles";
|
|
||||||
auth_user = "jdhore";
|
|
||||||
|
|
||||||
/* password: an optional password that is required to use this block.
|
|
||||||
* By default this is not encrypted, specify the flag "encrypted" in
|
|
||||||
* flags = ...; below if it is.
|
|
||||||
*/
|
|
||||||
password = "letmein";
|
|
||||||
|
|
||||||
/* spoof: fake the users user@host to be be this. You may either
|
|
||||||
* specify a host or a user@host to spoof to. This is free-form,
|
|
||||||
* just do everyone a favour and dont abuse it. (OLD I: = flag)
|
|
||||||
*/
|
|
||||||
spoof = "I.still.hate.packets";
|
|
||||||
|
|
||||||
/* autojoin: Channel (or channels, comma-seperated) to join users
|
|
||||||
* in this auth block to on connect. Note that this won't join
|
|
||||||
* the user through any bans or otherwise restrictive chmodes.
|
|
||||||
*/
|
|
||||||
autojoin = "#shadowircd,#test";
|
|
||||||
|
|
||||||
/* autojoin_opers : Channel (or channels, comma-seperated) to join
|
|
||||||
* opers to on oper-up.
|
|
||||||
*/
|
|
||||||
autojoin_opers = "#opers,#help";
|
|
||||||
|
|
||||||
/* Possible flags in auth:
|
|
||||||
*
|
|
||||||
* encrypted | password is encrypted with mkpasswd
|
|
||||||
* spoof_notice | give a notice when spoofing hosts
|
|
||||||
* exceed_limit (old > flag) | allow user to exceed class user limits
|
|
||||||
* kline_exempt (old ^ flag) | exempt this user from k/g/xlines&dnsbls
|
|
||||||
* dnsbl_exempt | exempt this user from dnsbls
|
|
||||||
* spambot_exempt | exempt this user from spambot checks
|
|
||||||
* shide_exempt | exempt this user from serverhiding
|
|
||||||
* jupe_exempt | exempt this user from generating
|
|
||||||
* warnings joining juped channels
|
|
||||||
* resv_exempt | exempt this user from resvs
|
|
||||||
* flood_exempt | exempt this user from flood limits
|
|
||||||
* USE WITH CAUTION.
|
|
||||||
* no_tilde (old - flag) | don't prefix ~ to username if no ident
|
|
||||||
* need_ident (old + flag) | require ident for user in this class
|
|
||||||
* need_ssl | require SSL/TLS for user in this class
|
|
||||||
* need_sasl | require SASL id for user in this class
|
|
||||||
*/
|
|
||||||
flags = kline_exempt, exceed_limit;
|
|
||||||
|
|
||||||
/* class: the class the user is placed in */
|
|
||||||
class = "opers";
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Example WEBIRC authblock */
|
|
||||||
auth {
|
|
||||||
/* user: webirc@IP.OF.YOUR.WEBIRC . the webirc@ part is required */
|
|
||||||
user = "webirc@192.168.1.1";
|
|
||||||
|
|
||||||
/* password: password the webirc client sends in the WEBIRC command.
|
|
||||||
* You can use a encrypted password here (see above auth block).
|
|
||||||
*/
|
|
||||||
password = "<password>";
|
|
||||||
|
|
||||||
/* spoof: This is required to keep it what it is currently if you
|
|
||||||
* want the webirc client to show the users' real host as their
|
|
||||||
* host on IRC.
|
|
||||||
*/
|
|
||||||
spoof = "webirc.";
|
|
||||||
class = "users";
|
|
||||||
};
|
|
||||||
|
|
||||||
auth {
|
|
||||||
user = "*@*";
|
|
||||||
class = "users";
|
|
||||||
};
|
|
||||||
|
|
||||||
/* privset {} blocks MUST be specified before anything that uses them. That
|
|
||||||
* means they must be defined before operator {}.
|
|
||||||
*/
|
|
||||||
privset "local_op" {
|
|
||||||
privs = oper:local_kill, oper:operwall;
|
|
||||||
};
|
|
||||||
|
|
||||||
privset "server_bot" {
|
|
||||||
extends = "local_op";
|
|
||||||
privs = oper:kline, oper:remoteban, snomask:nick_changes;
|
|
||||||
};
|
|
||||||
|
|
||||||
privset "global_op" {
|
|
||||||
extends = "local_op";
|
|
||||||
privs = oper:global_kill, oper:routing, oper:kline, oper:unkline, oper:xline,
|
|
||||||
oper:resv, oper:mass_notice, oper:remoteban;
|
|
||||||
};
|
|
||||||
|
|
||||||
privset "admin" {
|
|
||||||
extends = "global_op";
|
|
||||||
privs = oper:admin, oper:die, oper:rehash, oper:spy, oper:override;
|
|
||||||
};
|
|
||||||
|
|
||||||
operator "god" {
|
|
||||||
/* name: the name of the oper must go above */
|
|
||||||
|
|
||||||
/* user: the user@host required for this operator. CIDR *is*
|
|
||||||
* supported now. auth{} spoofs work here, other spoofs do not.
|
|
||||||
* multiple user="" lines are supported.
|
|
||||||
*/
|
|
||||||
user = "*@*";
|
|
||||||
|
|
||||||
/* password: the password required to oper. Unless ~encrypted is
|
|
||||||
* contained in flags = ...; this will need to be encrypted using
|
|
||||||
* mkpasswd, MD5 is supported
|
|
||||||
*/
|
|
||||||
password = "test";
|
|
||||||
|
|
||||||
/* rsa key: the public key for this oper when using Challenge.
|
|
||||||
* A password should not be defined when this is used, see
|
|
||||||
* doc/challenge.txt for more information.
|
|
||||||
*/
|
|
||||||
#rsa_public_key_file = "/usr/local/ircd/etc/oper.pub";
|
|
||||||
|
|
||||||
/* umodes: the specific umodes this oper gets when they oper.
|
|
||||||
* If this is specified an oper will not be given oper_umodes
|
|
||||||
* These are described above oper_only_umodes in general {};
|
|
||||||
*/
|
|
||||||
#umodes = locops, servnotice, operwall, wallop;
|
|
||||||
|
|
||||||
/* fingerprint: if specified, the oper's client certificate
|
|
||||||
* fingerprint will be checked against the specified fingerprint
|
|
||||||
* below.
|
|
||||||
*/
|
|
||||||
#fingerprint = "c77106576abf7f9f90cca0f63874a60f2e40a64b";
|
|
||||||
|
|
||||||
/* snomask: specific server notice mask on oper up.
|
|
||||||
* If this is specified an oper will not be given oper_snomask.
|
|
||||||
*/
|
|
||||||
snomask = "+ZbFcfkrsuy";
|
|
||||||
|
|
||||||
/* vhost: defines the vhost that this oper will get on oper up.
|
|
||||||
* this must be a valid hostmask. If this is specified the oper
|
|
||||||
* will not be given default_operhost.
|
|
||||||
*/
|
|
||||||
vhost = "is.an.oper";
|
|
||||||
|
|
||||||
/* swhois: defines an additional line that will be displayed
|
|
||||||
* whenever someone does /whois on the oper in question.
|
|
||||||
*/
|
|
||||||
swhois = "is wearing pants.";
|
|
||||||
|
|
||||||
/* operstring: defines a custom operstring for this oper,
|
|
||||||
* which will be shown in whois instead of default_operstring
|
|
||||||
* or default_adminstring.
|
|
||||||
*/
|
|
||||||
operstring = "is a lazy IRC Operator";
|
|
||||||
|
|
||||||
/* flags: misc options for the operator. You may prefix an option
|
|
||||||
* with ~ to disable it, e.g. ~encrypted.
|
|
||||||
*
|
|
||||||
* Default flags are encrypted.
|
|
||||||
*
|
|
||||||
* Available options:
|
|
||||||
*
|
|
||||||
* encrypted: the password above is encrypted [DEFAULT]
|
|
||||||
* need_ssl: must be using SSL/TLS to oper up
|
|
||||||
*/
|
|
||||||
flags = ~encrypted;
|
|
||||||
|
|
||||||
/* privset: privileges set to grant */
|
|
||||||
privset = "admin";
|
|
||||||
};
|
|
||||||
|
|
||||||
service {
|
|
||||||
name = "services.int";
|
|
||||||
};
|
|
||||||
|
|
||||||
service {
|
|
||||||
name = "tetra.int";
|
|
||||||
};
|
|
||||||
|
|
||||||
cluster {
|
|
||||||
name = "*";
|
|
||||||
flags = kline, tkline, unkline, xline, txline, unxline, resv, tresv, unresv;
|
|
||||||
};
|
|
||||||
|
|
||||||
shared {
|
|
||||||
oper = "*@*", "*";
|
|
||||||
flags = all;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* exempt {}: IPs that are exempt from Dlines and rejectcache. (OLD d:) */
|
|
||||||
exempt {
|
|
||||||
ip = "127.0.0.1";
|
|
||||||
};
|
|
||||||
|
|
||||||
channel {
|
|
||||||
disabledmodes = "G";
|
|
||||||
autochanmodes = "nt";
|
|
||||||
admin_on_channel_create = no;
|
|
||||||
exemptchanops = "NTc";
|
|
||||||
use_halfop = yes;
|
|
||||||
use_admin = yes;
|
|
||||||
use_knock = yes;
|
|
||||||
use_local_channels = yes;
|
|
||||||
knock_delay = 5 minutes;
|
|
||||||
knock_delay_channel = 1 minute;
|
|
||||||
max_chans_per_user = 15;
|
|
||||||
max_bans = 100;
|
|
||||||
max_bans_large = 500;
|
|
||||||
default_split_user_count = 0;
|
|
||||||
default_split_server_count = 0;
|
|
||||||
no_create_on_split = no;
|
|
||||||
no_join_on_split = no;
|
|
||||||
burst_topicwho = yes;
|
|
||||||
kick_on_split_riding = no;
|
|
||||||
only_ascii_channels = no;
|
|
||||||
cycle_host_change = yes;
|
|
||||||
host_in_topic = yes;
|
|
||||||
resv_forcepart = yes;
|
|
||||||
channel_target_change = yes;
|
|
||||||
};
|
|
||||||
|
|
||||||
serverhide {
|
|
||||||
flatten_links = yes;
|
|
||||||
links_delay = 5 minutes;
|
|
||||||
hidden = no;
|
|
||||||
disable_hidden = no;
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "NickServ" {
|
|
||||||
target = "NickServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "ChanServ" {
|
|
||||||
target = "ChanServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "OperServ" {
|
|
||||||
target = "OperServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "MemoServ" {
|
|
||||||
target = "MemoServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "HostServ" {
|
|
||||||
target = "HostServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "BotServ" {
|
|
||||||
target = "BotServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "InfoServ" {
|
|
||||||
target = "InfoServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "GroupServ" {
|
|
||||||
target = "GroupServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "NS" {
|
|
||||||
target = "NickServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "CS" {
|
|
||||||
target = "ChanServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "OS" {
|
|
||||||
target = "OperServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "MS" {
|
|
||||||
target = "MemoServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "HS" {
|
|
||||||
target = "HostServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "BS" {
|
|
||||||
target = "BotServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "IS" {
|
|
||||||
target = "InfoServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "GS" {
|
|
||||||
target = "GroupServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
general {
|
|
||||||
hide_error_messages = opers;
|
|
||||||
hide_spoof_ips = yes;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* default umodes: umodes to set upon connection
|
|
||||||
* If you have enabled the ip_cloaking extension, and you wish for
|
|
||||||
* incoming clients to be cloaked upon connection, +x must be in
|
|
||||||
* the umode string below.
|
|
||||||
*/
|
|
||||||
default_umodes = "+ix";
|
|
||||||
|
|
||||||
default_operstring = "is an IRC Operator";
|
|
||||||
default_adminstring = "is a Server Administrator";
|
|
||||||
default_operhost = "yolo-swag.com";
|
|
||||||
#static_quit = "I like turtles!";
|
|
||||||
servicestring = "is a Network Service";
|
|
||||||
disable_fake_channels = no;
|
|
||||||
hide_channel_below_users = 3;
|
|
||||||
tkline_expire_notices = no;
|
|
||||||
default_floodcount = 10;
|
|
||||||
failed_oper_notice = yes;
|
|
||||||
dots_in_ident=2;
|
|
||||||
min_nonwildcard = 4;
|
|
||||||
min_nonwildcard_simple = 3;
|
|
||||||
max_accept = 100;
|
|
||||||
max_monitor = 100;
|
|
||||||
anti_nick_flood = yes;
|
|
||||||
max_nick_time = 20 seconds;
|
|
||||||
max_nick_changes = 5;
|
|
||||||
anti_spam_exit_message_time = 5 minutes;
|
|
||||||
use_part_messages = yes;
|
|
||||||
ts_warn_delta = 30 seconds;
|
|
||||||
ts_max_delta = 5 minutes;
|
|
||||||
client_exit = yes;
|
|
||||||
collision_fnc = yes;
|
|
||||||
global_snotices = yes;
|
|
||||||
dline_with_reason = yes;
|
|
||||||
kline_delay = 0 seconds;
|
|
||||||
kline_with_reason = yes;
|
|
||||||
kline_reason = "K-Lined";
|
|
||||||
identify_service = "NickServ@services.int";
|
|
||||||
identify_command = "IDENTIFY";
|
|
||||||
non_redundant_klines = yes;
|
|
||||||
warn_no_nline = yes;
|
|
||||||
use_propagated_bans = yes;
|
|
||||||
stats_e_disabled = no;
|
|
||||||
stats_c_oper_only=no;
|
|
||||||
stats_h_oper_only=no;
|
|
||||||
stats_y_oper_only=no;
|
|
||||||
stats_o_oper_only=yes;
|
|
||||||
stats_P_oper_only=no;
|
|
||||||
stats_i_oper_only=masked;
|
|
||||||
stats_k_oper_only=masked;
|
|
||||||
map_oper_only = no;
|
|
||||||
operspy_admin_only = no;
|
|
||||||
operspy_dont_care_user_info = no;
|
|
||||||
secret_channels_in_whois = no;
|
|
||||||
caller_id_wait = 1 minute;
|
|
||||||
pace_wait_simple = 1 second;
|
|
||||||
pace_wait = 10 seconds;
|
|
||||||
short_motd = no;
|
|
||||||
ping_cookie = no;
|
|
||||||
connect_timeout = 30 seconds;
|
|
||||||
default_ident_timeout = 5;
|
|
||||||
disable_auth = yes;
|
|
||||||
no_oper_flood = yes;
|
|
||||||
true_no_oper_flood = no;
|
|
||||||
max_targets = 4;
|
|
||||||
client_flood = 20;
|
|
||||||
use_whois_actually = no;
|
|
||||||
oper_only_umodes = operwall, locops, servnotice;
|
|
||||||
oper_umodes = locops, servnotice, operwall, wallop;
|
|
||||||
oper_snomask = "+s";
|
|
||||||
burst_away = yes;
|
|
||||||
nick_delay = 0 seconds; # 15 minutes if you want to enable this
|
|
||||||
reject_ban_time = 1 minute;
|
|
||||||
reject_after_count = 3;
|
|
||||||
reject_duration = 5 minutes;
|
|
||||||
throttle_duration = 60;
|
|
||||||
throttle_count = 5000;
|
|
||||||
expire_override_time = 5 minutes;
|
|
||||||
};
|
|
||||||
|
|
||||||
modules {
|
|
||||||
path = "modules";
|
|
||||||
path = "modules/autoload";
|
|
||||||
};
|
|
|
@ -1,3 +0,0 @@
|
||||||
FROM xena/elemental-ircd:6.6.2
|
|
||||||
|
|
||||||
ADD ircd.conf /home/ircd/run/etc/ircd.conf
|
|
|
@ -1,559 +0,0 @@
|
||||||
/* doc/example.conf - brief example configuration file
|
|
||||||
*
|
|
||||||
* Copyright (C) 2000-2002 Hybrid Development Team
|
|
||||||
* Copyright (C) 2002-2005 ircd-ratbox development team
|
|
||||||
* Copyright (C) 2005-2006 charybdis development team
|
|
||||||
*
|
|
||||||
* $Id: example.conf 3582 2007-11-17 21:55:48Z jilles $
|
|
||||||
*
|
|
||||||
* See reference.conf for more information.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Extensions */
|
|
||||||
#loadmodule "extensions/chm_adminonly.so";
|
|
||||||
loadmodule "extensions/chm_operonly.so";
|
|
||||||
#loadmodule "extensions/chm_sslonly.so";
|
|
||||||
#loadmodule "extensions/chm_operonly_compat.so";
|
|
||||||
#loadmodule "extensions/chm_quietunreg_compat.so";
|
|
||||||
#loadmodule "extensions/chm_sslonly_compat.so";
|
|
||||||
#loadmodule "extensions/createauthonly.so";
|
|
||||||
loadmodule "extensions/extb_account.so";
|
|
||||||
loadmodule "extensions/extb_canjoin.so";
|
|
||||||
loadmodule "extensions/extb_channel.so";
|
|
||||||
loadmodule "extensions/extb_extgecos.so";
|
|
||||||
loadmodule "extensions/extb_oper.so";
|
|
||||||
loadmodule "extensions/extb_realname.so";
|
|
||||||
#loadmodule "extensions/extb_server.so";
|
|
||||||
#loadmodule "extensions/extb_ssl.so";
|
|
||||||
#loadmodule "extensions/hurt.so";
|
|
||||||
loadmodule "extensions/ip_cloaking.so";
|
|
||||||
#loadmodule "extensions/m_findforwards.so";
|
|
||||||
loadmodule "extensions/m_identify.so";
|
|
||||||
loadmodule "extensions/m_mkpasswd.so";
|
|
||||||
loadmodule "extensions/m_webirc.so";
|
|
||||||
#loadmodule "extensions/m_cycle.so";
|
|
||||||
#loadmodule "extensions/m_oaccept.so";
|
|
||||||
#loadmodule "extensions/m_opme.so";
|
|
||||||
#loadmodule "extensions/m_ojoin.so";
|
|
||||||
#loadmodule "extensions/m_omode.so";
|
|
||||||
#loadmodule "extensions/m_olist.so";
|
|
||||||
#loadmodule "extensions/m_okick.so";
|
|
||||||
#loadmodule "extensions/m_force.so";
|
|
||||||
#loadmodule "extensions/m_roleplay.so";
|
|
||||||
#loadmodule "extensions/no_oper_invis.so";
|
|
||||||
loadmodule "extensions/sno_farconnect.so";
|
|
||||||
loadmodule "extensions/sno_globalkline.so";
|
|
||||||
loadmodule "extensions/sno_globaloper.so";
|
|
||||||
#loadmodule "extensions/sno_whois.so";
|
|
||||||
|
|
||||||
serverinfo {
|
|
||||||
name = "janus.shadownet.int";
|
|
||||||
sid = "7AN";
|
|
||||||
description = "Janus the deliverer";
|
|
||||||
network_name = "ShadowNET";
|
|
||||||
network_desc = "Help I need muffin";
|
|
||||||
helpchan = "#help";
|
|
||||||
helpurl = "http://www.mynet.net/help";
|
|
||||||
hub = yes;
|
|
||||||
|
|
||||||
/* On multi-homed hosts you may need the following. These define
|
|
||||||
* the addresses we connect from to other servers. */
|
|
||||||
/* for IPv4 */
|
|
||||||
#vhost = "192.169.0.1";
|
|
||||||
/* for IPv6 */
|
|
||||||
#vhost6 = "3ffe:80e8:546::2";
|
|
||||||
|
|
||||||
/* ssl_private_key: our ssl private key */
|
|
||||||
ssl_private_key = "etc/ssl.key";
|
|
||||||
|
|
||||||
/* ssl_cert: certificate for our ssl server */
|
|
||||||
ssl_cert = "etc/ssl.cert";
|
|
||||||
|
|
||||||
/* ssl_dh_params: DH parameters, generate with openssl dhparam -out dh.pem 1024 */
|
|
||||||
ssl_dh_params = "etc/dh.pem";
|
|
||||||
|
|
||||||
/* ssld_count: number of ssld processes you want to start, if you
|
|
||||||
* have a really busy server, using N-1 where N is the number of
|
|
||||||
* cpu/cpu cores you have might be useful. A number greater than one
|
|
||||||
* can also be useful in case of bugs in ssld and because ssld needs
|
|
||||||
* two file descriptors per SSL connection.
|
|
||||||
*/
|
|
||||||
ssld_count = 1;
|
|
||||||
|
|
||||||
/* default max clients: the default maximum number of clients
|
|
||||||
* allowed to connect. This can be changed once ircd has started by
|
|
||||||
* issuing:
|
|
||||||
* /quote set maxclients <limit>
|
|
||||||
*/
|
|
||||||
default_max_clients = 1024;
|
|
||||||
};
|
|
||||||
|
|
||||||
admin {
|
|
||||||
name = "Lazy admin (lazya)";
|
|
||||||
description = "AthemeNET client server";
|
|
||||||
email = "nobody@127.0.0.1";
|
|
||||||
};
|
|
||||||
|
|
||||||
log {
|
|
||||||
fname_userlog = "logs/userlog";
|
|
||||||
#fname_fuserlog = "logs/fuserlog";
|
|
||||||
fname_operlog = "logs/operlog";
|
|
||||||
#fname_foperlog = "logs/foperlog";
|
|
||||||
fname_serverlog = "logs/serverlog";
|
|
||||||
#fname_klinelog = "logs/klinelog";
|
|
||||||
fname_killlog = "logs/killlog";
|
|
||||||
fname_operspylog = "logs/operspylog";
|
|
||||||
#fname_ioerrorlog = "logs/ioerror";
|
|
||||||
};
|
|
||||||
|
|
||||||
/* class {} blocks MUST be specified before anything that uses them. That
|
|
||||||
* means they must be defined before auth {} and before connect {}.
|
|
||||||
*/
|
|
||||||
class "users" {
|
|
||||||
ping_time = 2 minutes;
|
|
||||||
number_per_ident = 10;
|
|
||||||
number_per_ip = 10;
|
|
||||||
number_per_ip_global = 50;
|
|
||||||
cidr_ipv4_bitlen = 24;
|
|
||||||
cidr_ipv6_bitlen = 64;
|
|
||||||
number_per_cidr = 200;
|
|
||||||
max_number = 3000;
|
|
||||||
sendq = 400 kbytes;
|
|
||||||
};
|
|
||||||
|
|
||||||
class "opers" {
|
|
||||||
ping_time = 5 minutes;
|
|
||||||
number_per_ip = 10;
|
|
||||||
max_number = 1000;
|
|
||||||
sendq = 1 megabyte;
|
|
||||||
};
|
|
||||||
|
|
||||||
class "server" {
|
|
||||||
ping_time = 5 minutes;
|
|
||||||
connectfreq = 5 minutes;
|
|
||||||
max_number = 1;
|
|
||||||
sendq = 4 megabytes;
|
|
||||||
};
|
|
||||||
|
|
||||||
listen {
|
|
||||||
/* If you want to listen on a specific IP only, specify host.
|
|
||||||
* host definitions apply only to the following port line.
|
|
||||||
*/
|
|
||||||
#host = "192.169.0.1";
|
|
||||||
port = 5000, 6665 .. 6669;
|
|
||||||
sslport = 6697;
|
|
||||||
|
|
||||||
/* Listen on IPv6 (if you used host= above). */
|
|
||||||
#host = "3ffe:1234:a:b:c::d";
|
|
||||||
#port = 5000, 6665 .. 6669;
|
|
||||||
#sslport = 9999;
|
|
||||||
};
|
|
||||||
|
|
||||||
connect "rarity.shadownet.int" {
|
|
||||||
host = "172.17.42.1";
|
|
||||||
send_password = "dev";
|
|
||||||
accept_password = "dev";
|
|
||||||
port = 6067;
|
|
||||||
class = "server";
|
|
||||||
hub_mask = "*";
|
|
||||||
flags = autoconn;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* auth {}: allow users to connect to the ircd (OLD I:)
|
|
||||||
* auth {} blocks MUST be specified in order of precedence. The first one
|
|
||||||
* that matches a user will be used. So place spoofs first, then specials,
|
|
||||||
* then general access, then restricted.
|
|
||||||
*/
|
|
||||||
auth {
|
|
||||||
/* user: the user@host allowed to connect. Multiple IPv4/IPv6 user
|
|
||||||
* lines are permitted per auth block. This is matched against the
|
|
||||||
* hostname and IP address (using :: shortening for IPv6 and
|
|
||||||
* prepending a 0 if it starts with a colon) and can also use CIDR
|
|
||||||
* masks.
|
|
||||||
*/
|
|
||||||
user = "*@172.16.0.0/12";
|
|
||||||
user = "*test@123D:B567:*";
|
|
||||||
|
|
||||||
/* auth_user: The username (authenticated via SASL or PASS) allowed
|
|
||||||
* to connect. You are able to put multiple auth_user lines. If people
|
|
||||||
* are authenticating via SASL in this way, it is recommended to comment
|
|
||||||
* out the password option below. You will also *NEED* to specify a user
|
|
||||||
* line above auth_user, this can safely be "*@*", however.
|
|
||||||
*/
|
|
||||||
auth_user = "jilles";
|
|
||||||
auth_user = "jdhore";
|
|
||||||
|
|
||||||
/* password: an optional password that is required to use this block.
|
|
||||||
* By default this is not encrypted, specify the flag "encrypted" in
|
|
||||||
* flags = ...; below if it is.
|
|
||||||
*/
|
|
||||||
password = "letmein";
|
|
||||||
|
|
||||||
/* spoof: fake the users user@host to be be this. You may either
|
|
||||||
* specify a host or a user@host to spoof to. This is free-form,
|
|
||||||
* just do everyone a favour and dont abuse it. (OLD I: = flag)
|
|
||||||
*/
|
|
||||||
spoof = "I.still.hate.packets";
|
|
||||||
|
|
||||||
/* autojoin: Channel (or channels, comma-seperated) to join users
|
|
||||||
* in this auth block to on connect. Note that this won't join
|
|
||||||
* the user through any bans or otherwise restrictive chmodes.
|
|
||||||
*/
|
|
||||||
autojoin = "#shadowircd,#test";
|
|
||||||
|
|
||||||
/* autojoin_opers : Channel (or channels, comma-seperated) to join
|
|
||||||
* opers to on oper-up.
|
|
||||||
*/
|
|
||||||
autojoin_opers = "#opers,#help";
|
|
||||||
|
|
||||||
/* Possible flags in auth:
|
|
||||||
*
|
|
||||||
* encrypted | password is encrypted with mkpasswd
|
|
||||||
* spoof_notice | give a notice when spoofing hosts
|
|
||||||
* exceed_limit (old > flag) | allow user to exceed class user limits
|
|
||||||
* kline_exempt (old ^ flag) | exempt this user from k/g/xlines&dnsbls
|
|
||||||
* dnsbl_exempt | exempt this user from dnsbls
|
|
||||||
* spambot_exempt | exempt this user from spambot checks
|
|
||||||
* shide_exempt | exempt this user from serverhiding
|
|
||||||
* jupe_exempt | exempt this user from generating
|
|
||||||
* warnings joining juped channels
|
|
||||||
* resv_exempt | exempt this user from resvs
|
|
||||||
* flood_exempt | exempt this user from flood limits
|
|
||||||
* USE WITH CAUTION.
|
|
||||||
* no_tilde (old - flag) | don't prefix ~ to username if no ident
|
|
||||||
* need_ident (old + flag) | require ident for user in this class
|
|
||||||
* need_ssl | require SSL/TLS for user in this class
|
|
||||||
* need_sasl | require SASL id for user in this class
|
|
||||||
*/
|
|
||||||
flags = kline_exempt, exceed_limit;
|
|
||||||
|
|
||||||
/* class: the class the user is placed in */
|
|
||||||
class = "opers";
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Example WEBIRC authblock */
|
|
||||||
auth {
|
|
||||||
/* user: webirc@IP.OF.YOUR.WEBIRC . the webirc@ part is required */
|
|
||||||
user = "webirc@192.168.1.1";
|
|
||||||
|
|
||||||
/* password: password the webirc client sends in the WEBIRC command.
|
|
||||||
* You can use a encrypted password here (see above auth block).
|
|
||||||
*/
|
|
||||||
password = "<password>";
|
|
||||||
|
|
||||||
/* spoof: This is required to keep it what it is currently if you
|
|
||||||
* want the webirc client to show the users' real host as their
|
|
||||||
* host on IRC.
|
|
||||||
*/
|
|
||||||
spoof = "webirc.";
|
|
||||||
class = "users";
|
|
||||||
};
|
|
||||||
|
|
||||||
auth {
|
|
||||||
user = "*@*";
|
|
||||||
class = "users";
|
|
||||||
};
|
|
||||||
|
|
||||||
/* privset {} blocks MUST be specified before anything that uses them. That
|
|
||||||
* means they must be defined before operator {}.
|
|
||||||
*/
|
|
||||||
privset "local_op" {
|
|
||||||
privs = oper:local_kill, oper:operwall;
|
|
||||||
};
|
|
||||||
|
|
||||||
privset "server_bot" {
|
|
||||||
extends = "local_op";
|
|
||||||
privs = oper:kline, oper:remoteban, snomask:nick_changes;
|
|
||||||
};
|
|
||||||
|
|
||||||
privset "global_op" {
|
|
||||||
extends = "local_op";
|
|
||||||
privs = oper:global_kill, oper:routing, oper:kline, oper:unkline, oper:xline,
|
|
||||||
oper:resv, oper:mass_notice, oper:remoteban;
|
|
||||||
};
|
|
||||||
|
|
||||||
privset "admin" {
|
|
||||||
extends = "global_op";
|
|
||||||
privs = oper:admin, oper:die, oper:rehash, oper:spy, oper:override;
|
|
||||||
};
|
|
||||||
|
|
||||||
operator "god" {
|
|
||||||
/* name: the name of the oper must go above */
|
|
||||||
|
|
||||||
/* user: the user@host required for this operator. CIDR *is*
|
|
||||||
* supported now. auth{} spoofs work here, other spoofs do not.
|
|
||||||
* multiple user="" lines are supported.
|
|
||||||
*/
|
|
||||||
user = "*@*";
|
|
||||||
|
|
||||||
/* password: the password required to oper. Unless ~encrypted is
|
|
||||||
* contained in flags = ...; this will need to be encrypted using
|
|
||||||
* mkpasswd, MD5 is supported
|
|
||||||
*/
|
|
||||||
password = "test";
|
|
||||||
|
|
||||||
/* rsa key: the public key for this oper when using Challenge.
|
|
||||||
* A password should not be defined when this is used, see
|
|
||||||
* doc/challenge.txt for more information.
|
|
||||||
*/
|
|
||||||
#rsa_public_key_file = "/usr/local/ircd/etc/oper.pub";
|
|
||||||
|
|
||||||
/* umodes: the specific umodes this oper gets when they oper.
|
|
||||||
* If this is specified an oper will not be given oper_umodes
|
|
||||||
* These are described above oper_only_umodes in general {};
|
|
||||||
*/
|
|
||||||
#umodes = locops, servnotice, operwall, wallop;
|
|
||||||
|
|
||||||
/* fingerprint: if specified, the oper's client certificate
|
|
||||||
* fingerprint will be checked against the specified fingerprint
|
|
||||||
* below.
|
|
||||||
*/
|
|
||||||
#fingerprint = "c77106576abf7f9f90cca0f63874a60f2e40a64b";
|
|
||||||
|
|
||||||
/* snomask: specific server notice mask on oper up.
|
|
||||||
* If this is specified an oper will not be given oper_snomask.
|
|
||||||
*/
|
|
||||||
snomask = "+ZbFcfkrsuy";
|
|
||||||
|
|
||||||
/* vhost: defines the vhost that this oper will get on oper up.
|
|
||||||
* this must be a valid hostmask. If this is specified the oper
|
|
||||||
* will not be given default_operhost.
|
|
||||||
*/
|
|
||||||
vhost = "is.an.oper";
|
|
||||||
|
|
||||||
/* swhois: defines an additional line that will be displayed
|
|
||||||
* whenever someone does /whois on the oper in question.
|
|
||||||
*/
|
|
||||||
swhois = "is wearing pants.";
|
|
||||||
|
|
||||||
/* operstring: defines a custom operstring for this oper,
|
|
||||||
* which will be shown in whois instead of default_operstring
|
|
||||||
* or default_adminstring.
|
|
||||||
*/
|
|
||||||
operstring = "is a lazy IRC Operator";
|
|
||||||
|
|
||||||
/* flags: misc options for the operator. You may prefix an option
|
|
||||||
* with ~ to disable it, e.g. ~encrypted.
|
|
||||||
*
|
|
||||||
* Default flags are encrypted.
|
|
||||||
*
|
|
||||||
* Available options:
|
|
||||||
*
|
|
||||||
* encrypted: the password above is encrypted [DEFAULT]
|
|
||||||
* need_ssl: must be using SSL/TLS to oper up
|
|
||||||
*/
|
|
||||||
flags = ~encrypted;
|
|
||||||
|
|
||||||
/* privset: privileges set to grant */
|
|
||||||
privset = "admin";
|
|
||||||
};
|
|
||||||
|
|
||||||
service {
|
|
||||||
name = "services.int";
|
|
||||||
};
|
|
||||||
|
|
||||||
service {
|
|
||||||
name = "tetra.int";
|
|
||||||
};
|
|
||||||
|
|
||||||
cluster {
|
|
||||||
name = "*";
|
|
||||||
flags = kline, tkline, unkline, xline, txline, unxline, resv, tresv, unresv;
|
|
||||||
};
|
|
||||||
|
|
||||||
shared {
|
|
||||||
oper = "*@*", "*";
|
|
||||||
flags = all;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* exempt {}: IPs that are exempt from Dlines and rejectcache. (OLD d:) */
|
|
||||||
exempt {
|
|
||||||
ip = "127.0.0.1";
|
|
||||||
};
|
|
||||||
|
|
||||||
channel {
|
|
||||||
disabledmodes = "G";
|
|
||||||
autochanmodes = "nt";
|
|
||||||
admin_on_channel_create = no;
|
|
||||||
exemptchanops = "NTc";
|
|
||||||
use_halfop = yes;
|
|
||||||
use_admin = yes;
|
|
||||||
use_knock = yes;
|
|
||||||
use_local_channels = yes;
|
|
||||||
knock_delay = 5 minutes;
|
|
||||||
knock_delay_channel = 1 minute;
|
|
||||||
max_chans_per_user = 15;
|
|
||||||
max_bans = 100;
|
|
||||||
max_bans_large = 500;
|
|
||||||
default_split_user_count = 0;
|
|
||||||
default_split_server_count = 0;
|
|
||||||
no_create_on_split = no;
|
|
||||||
no_join_on_split = no;
|
|
||||||
burst_topicwho = yes;
|
|
||||||
kick_on_split_riding = no;
|
|
||||||
only_ascii_channels = no;
|
|
||||||
cycle_host_change = yes;
|
|
||||||
host_in_topic = yes;
|
|
||||||
resv_forcepart = yes;
|
|
||||||
channel_target_change = yes;
|
|
||||||
};
|
|
||||||
|
|
||||||
serverhide {
|
|
||||||
flatten_links = yes;
|
|
||||||
links_delay = 5 minutes;
|
|
||||||
hidden = no;
|
|
||||||
disable_hidden = no;
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "NickServ" {
|
|
||||||
target = "NickServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "ChanServ" {
|
|
||||||
target = "ChanServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "OperServ" {
|
|
||||||
target = "OperServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "MemoServ" {
|
|
||||||
target = "MemoServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "HostServ" {
|
|
||||||
target = "HostServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "BotServ" {
|
|
||||||
target = "BotServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "InfoServ" {
|
|
||||||
target = "InfoServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "GroupServ" {
|
|
||||||
target = "GroupServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "NS" {
|
|
||||||
target = "NickServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "CS" {
|
|
||||||
target = "ChanServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "OS" {
|
|
||||||
target = "OperServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "MS" {
|
|
||||||
target = "MemoServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "HS" {
|
|
||||||
target = "HostServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "BS" {
|
|
||||||
target = "BotServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "IS" {
|
|
||||||
target = "InfoServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
alias "GS" {
|
|
||||||
target = "GroupServ";
|
|
||||||
};
|
|
||||||
|
|
||||||
general {
|
|
||||||
hide_error_messages = opers;
|
|
||||||
hide_spoof_ips = yes;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* default umodes: umodes to set upon connection
|
|
||||||
* If you have enabled the ip_cloaking extension, and you wish for
|
|
||||||
* incoming clients to be cloaked upon connection, +x must be in
|
|
||||||
* the umode string below.
|
|
||||||
*/
|
|
||||||
default_umodes = "+ix";
|
|
||||||
|
|
||||||
default_operstring = "is an IRC Operator";
|
|
||||||
default_adminstring = "is a Server Administrator";
|
|
||||||
default_operhost = "yolo-swag.com";
|
|
||||||
#static_quit = "I like turtles!";
|
|
||||||
servicestring = "is a Network Service";
|
|
||||||
disable_fake_channels = no;
|
|
||||||
hide_channel_below_users = 3;
|
|
||||||
tkline_expire_notices = no;
|
|
||||||
default_floodcount = 10;
|
|
||||||
failed_oper_notice = yes;
|
|
||||||
dots_in_ident=2;
|
|
||||||
min_nonwildcard = 4;
|
|
||||||
min_nonwildcard_simple = 3;
|
|
||||||
max_accept = 100;
|
|
||||||
max_monitor = 100;
|
|
||||||
anti_nick_flood = yes;
|
|
||||||
max_nick_time = 20 seconds;
|
|
||||||
max_nick_changes = 5;
|
|
||||||
anti_spam_exit_message_time = 5 minutes;
|
|
||||||
use_part_messages = yes;
|
|
||||||
ts_warn_delta = 30 seconds;
|
|
||||||
ts_max_delta = 5 minutes;
|
|
||||||
client_exit = yes;
|
|
||||||
collision_fnc = yes;
|
|
||||||
global_snotices = yes;
|
|
||||||
dline_with_reason = yes;
|
|
||||||
kline_delay = 0 seconds;
|
|
||||||
kline_with_reason = yes;
|
|
||||||
kline_reason = "K-Lined";
|
|
||||||
identify_service = "NickServ@services.int";
|
|
||||||
identify_command = "IDENTIFY";
|
|
||||||
non_redundant_klines = yes;
|
|
||||||
warn_no_nline = yes;
|
|
||||||
use_propagated_bans = yes;
|
|
||||||
stats_e_disabled = no;
|
|
||||||
stats_c_oper_only=no;
|
|
||||||
stats_h_oper_only=no;
|
|
||||||
stats_y_oper_only=no;
|
|
||||||
stats_o_oper_only=yes;
|
|
||||||
stats_P_oper_only=no;
|
|
||||||
stats_i_oper_only=masked;
|
|
||||||
stats_k_oper_only=masked;
|
|
||||||
map_oper_only = no;
|
|
||||||
operspy_admin_only = no;
|
|
||||||
operspy_dont_care_user_info = no;
|
|
||||||
secret_channels_in_whois = no;
|
|
||||||
caller_id_wait = 1 minute;
|
|
||||||
pace_wait_simple = 1 second;
|
|
||||||
pace_wait = 10 seconds;
|
|
||||||
short_motd = no;
|
|
||||||
ping_cookie = no;
|
|
||||||
connect_timeout = 30 seconds;
|
|
||||||
default_ident_timeout = 5;
|
|
||||||
disable_auth = yes;
|
|
||||||
no_oper_flood = yes;
|
|
||||||
true_no_oper_flood = no;
|
|
||||||
max_targets = 4;
|
|
||||||
client_flood = 20;
|
|
||||||
use_whois_actually = no;
|
|
||||||
oper_only_umodes = operwall, locops, servnotice;
|
|
||||||
oper_umodes = locops, servnotice, operwall, wallop;
|
|
||||||
oper_snomask = "+s";
|
|
||||||
burst_away = yes;
|
|
||||||
nick_delay = 0 seconds; # 15 minutes if you want to enable this
|
|
||||||
reject_ban_time = 1 minute;
|
|
||||||
reject_after_count = 3;
|
|
||||||
reject_duration = 5 minutes;
|
|
||||||
throttle_duration = 60;
|
|
||||||
throttle_count = 5000;
|
|
||||||
expire_override_time = 5 minutes;
|
|
||||||
};
|
|
||||||
|
|
||||||
modules {
|
|
||||||
path = "modules";
|
|
||||||
path = "modules/autoload";
|
|
||||||
};
|
|
|
@ -1,16 +0,0 @@
|
||||||
FROM flitter/init
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y build-essential libssl-dev git-core flex bison pkg-config && \
|
|
||||||
adduser --system --home /home/atheme atheme && mkdir /home/atheme/src && \
|
|
||||||
chmod 777 /home/atheme/src && cd /home/atheme/src && \
|
|
||||||
setuser atheme git clone https://github.com/atheme/atheme && cd atheme && \
|
|
||||||
setuser atheme git checkout 4d3c580077a295bad5528cf9df7b669e8209a739 && \
|
|
||||||
setuser atheme git submodule update --init && \
|
|
||||||
setuser atheme ./configure && setuser atheme make && setuser atheme make install || true
|
|
||||||
|
|
||||||
ADD atheme.conf /home/atheme/atheme/etc/
|
|
||||||
RUN chmod 777 /home/atheme/atheme/etc/*
|
|
||||||
|
|
||||||
ADD run /etc/service/atheme/run
|
|
||||||
|
|
||||||
CMD /sbin/my_init
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
setuser atheme /home/atheme/atheme/bin/atheme-services -n
|
|
|
@ -1,12 +0,0 @@
|
||||||
FROM ubuntu:14.04
|
|
||||||
|
|
||||||
ADD https://repo.tox.im/pubkey.gpg /tox.gpg
|
|
||||||
|
|
||||||
#remove old key
|
|
||||||
RUN apt-key update &&\
|
|
||||||
echo "deb https://repo.tox.im/ nightly main" > /etc/apt/sources.list.d/tox.list &&\
|
|
||||||
cat /tox.gpg | apt-key add - &&\
|
|
||||||
apt-get install -y apt-transport-https && apt-get update -qq &&\
|
|
||||||
apt-get install -y toxic
|
|
||||||
|
|
||||||
CMD toxic
|
|
|
@ -1,15 +0,0 @@
|
||||||
FROM ubuntu:trusty
|
|
||||||
|
|
||||||
RUN echo "deb http://ppa.launchpad.net/nesthib/weechat-stable/ubuntu trusty main " >> /etc/apt/sources.list &&\
|
|
||||||
apt-get update && apt-get -y --force-yes install weechat &&\
|
|
||||||
useradd --create-home xena && echo 'xena:user' | chpasswd
|
|
||||||
|
|
||||||
ENV HOME /home/xena
|
|
||||||
ENV LANGUAGE en_US
|
|
||||||
ENV LC_ALL en_US.UTF-8
|
|
||||||
ENV LANG en_us.utf-8
|
|
||||||
ENV LC_CTYPE en_US.UTF-8
|
|
||||||
ENV TERM screen-256color
|
|
||||||
|
|
||||||
USER xena
|
|
||||||
CMD weechat
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
export TERM=dvtm
|
|
||||||
|
|
||||||
dtach -A /tmp/weechat.dvtm -r winch dvtm 'weechat && killall dtach'
|
|
|
@ -1,13 +0,0 @@
|
||||||
FROM flitter/init
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install cmake libmpdclient-dev git-core ca-certificates -y build-essential gcc make
|
|
||||||
|
|
||||||
RUN git clone https://github.com/notandy/ympd /app/src && \
|
|
||||||
cd /app/src && \
|
|
||||||
mkdir build && cd build && \
|
|
||||||
cmake .. -DCMAKE_INSTALL_PREFIX_PATH=/usr && make && make install
|
|
||||||
|
|
||||||
ADD ympd /etc/service/ympd/run
|
|
||||||
CMD /sbin/my_init
|
|
||||||
|
|
||||||
EXPOSE 8080
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
ympd -h $MPD_PORT_6600_TCP_ADDR
|
|
|
@ -1,30 +0,0 @@
|
||||||
FROM flitter/init
|
|
||||||
|
|
||||||
RUN apt-get update &&\
|
|
||||||
apt-get install -y \
|
|
||||||
libssl-dev \
|
|
||||||
libperl-dev \
|
|
||||||
libicu-dev \
|
|
||||||
pkg-config \
|
|
||||||
tcl8.5-dev \
|
|
||||||
libsasl2-dev \
|
|
||||||
build-essential \
|
|
||||||
g++ \
|
|
||||||
python3-dev &&\
|
|
||||||
useradd --create-home znc
|
|
||||||
|
|
||||||
USER znc
|
|
||||||
WORKDIR /home/znc
|
|
||||||
|
|
||||||
ENV ZNC_VERSION 1.6.1
|
|
||||||
|
|
||||||
RUN mkdir src &&\
|
|
||||||
cd src &&\
|
|
||||||
wget http://znc.in/releases/znc-1.6.1.tar.gz &&\
|
|
||||||
tar xf znc-1.6.1.tar.gz &&\
|
|
||||||
cd znc-1.6.1 &&\
|
|
||||||
./configure --enable-python --prefix /home/znc/run &&\
|
|
||||||
make -j4 &&\
|
|
||||||
make install
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue