mirror of https://github.com/pissnet/pissircd.git
650 lines
23 KiB
Plaintext
650 lines
23 KiB
Plaintext
/* Arquivo de configuração para o UnrealIRCd 6
|
|
* OBSERVAÇÃO: Este arquivo utiliza a tradução Português do Brasil (pt-br).
|
|
*
|
|
* Apenas copie este arquivo para seu diretório conf/ e renomeie-o para
|
|
* 'unrealircd.conf' e siga este arquivo de configuração linha a linha (e altere-o!)
|
|
*
|
|
* Importante: Todas as linhas, exceto { e } terminam com ;
|
|
* Isto é muito importante, visto que se você esquecer um ; em algum lugar,
|
|
* a checagem do arquivo de configuração irá criticar e o arquivo não será processado!
|
|
* Se esta é sua primeira experiência com o arquivo de configuração do UnrealIRCd
|
|
* então nós recomendamos fortemente que você se dedique um pouco para ler sobre a sintaxe,
|
|
* isto levará apenas alguns minutos e o ajudará consideravelmente:
|
|
* https://www.unrealircd.org/docs/Configuration#Configuration_file_syntax
|
|
*
|
|
* Documentação completa do UnrealIRCd 6 (bem extensa!):
|
|
* https://www.unrealircd.org/docs/UnrealIRCd_6_documentation
|
|
*
|
|
* Questões Frequentes:
|
|
* https://www.unrealircd.org/docs/FAQ
|
|
*
|
|
*/
|
|
|
|
/* Este é um comentário, todo o texto aqui será ignorado (comentário de tipo #1) */
|
|
// Este também é um comentário, e esta linha será ignorada (comentário de tipo #2)
|
|
# Este também é um comentário, e novamente esta linha será ignorada (comentário de tipo #3)
|
|
|
|
/* O UnrealIRCd faz um intenso uso dos Módulos, que permitem que você personalize completamente
|
|
* o conjunto de recursos que você deseja habilitar no UnrealIRCd.
|
|
* Veja: https://www.unrealircd.org/docs/Modules
|
|
*
|
|
* Utilizando o include abaixo, nós instruímos o IRCd a ler o arquivo
|
|
* 'modules.default.conf' que carregará mais de 150 módulos
|
|
* que vem com o UnrealIRCd. Em outras palavras: Isso simplesmente irá carregar
|
|
* todos os recursos disponíveis no UnrealIRCd.
|
|
* Se você está configurando o UnrealIRCd pela primeira vez, nós sugerimos que você
|
|
* o use. Então, quando tudo estiver configurado e rodando, você poderá retornar
|
|
* e personalizar a lista (se você desejar).
|
|
*/
|
|
include "modules.default.conf";
|
|
|
|
/* Agora vamos incluir alguns outros arquivos de configuração também:
|
|
* - help/help.conf para nosso sistema de ajuda /HELPOP
|
|
* - badwords.conf para os modos de usuário e canal +G
|
|
* - spamfilter.conf como um exemplo para filtragem de spam
|
|
* (comentado)
|
|
* - operclass.default.conf contém algumas boas classes de operadores que
|
|
* você pode usar em seus blocos de operadores.
|
|
*/
|
|
include "help/help.conf";
|
|
include "badwords.conf";
|
|
//include "spamfilter.conf";
|
|
include "operclass.default.conf";
|
|
include "snomasks.default.conf";
|
|
|
|
/* Carrega por padrão o módulo de cloaking em SHA256 (implementado em 2021): */
|
|
loadmodule "cloak_sha256";
|
|
/* Ou carrega o antigo módulo de clocking em MD5 que veio do UnrealIRCd 3.2/4/5: */
|
|
//loadmodule "cloak_md5";
|
|
|
|
/* Este é o bloco me { } que basicamente diz quem somos.
|
|
* Ele define o nome do nosso servidor, algumas linhas informativas e um "sid" único.
|
|
* O id do servidor (sid) precisa iniciar com um dígito numérico seguido por dois dígitos numéricos
|
|
* ou alfanuméricos de A à Z. O sid precisa ser único para a sua rede de IRC (cada servidor
|
|
* deve ter seu próprio sid).
|
|
*/
|
|
me {
|
|
name "irc.exemplo.org";
|
|
info "Servidor ExemploNET";
|
|
sid "001";
|
|
}
|
|
|
|
/* O bloco admin { } define quem os usuário verão quando eles digitarem /ADMIN.
|
|
* Normalmente contém infomações de como eles podem contatar o administrador.
|
|
*/
|
|
admin {
|
|
"Bob Smith";
|
|
"bob";
|
|
"email@exemplo.org";
|
|
}
|
|
|
|
/* Clientes e servidores são colocados no bloco class { }, e os definimos aqui.
|
|
* Blocos Class consistem nos seguintes itens:
|
|
* - pingfreq: com que frequência será efetuado ping em um usuário / servidor (em segundos)
|
|
* - connfreq: quantas vezes tentamos nos conectar a este servidor (em segundos)
|
|
* - sendq: o tamanho máximo da fila para uma conexão
|
|
* - recvq: o recebimento máximo da fila para uma conexão (controle de flood)
|
|
*/
|
|
|
|
/* Classe Client padrão, com valores de limites aceitáveis */
|
|
class clients
|
|
{
|
|
pingfreq 90;
|
|
maxclients 1000;
|
|
sendq 200k;
|
|
recvq 8000;
|
|
}
|
|
|
|
/* Uma classe Especial para IRCOps com valores de limites mais altos */
|
|
class opers
|
|
{
|
|
pingfreq 90;
|
|
maxclients 50;
|
|
sendq 1M;
|
|
recvq 8000;
|
|
}
|
|
|
|
/* Classe Server padrão, com valores de limites aceitáveis */
|
|
class servers
|
|
{
|
|
pingfreq 60;
|
|
connfreq 15; /* tenta se conectar a cada 15 segundos */
|
|
maxclients 10; /* máximo de servidores */
|
|
sendq 20M;
|
|
}
|
|
|
|
/* Blocos allow definem quais classe clients podem se conectar a este servidor.
|
|
* Isto permite que você adicione uma senha ao servidor ou restrinja o acesso ao servidor
|
|
* apenas por IPs específicos. Você também pode configurar o máximo de conexões
|
|
* permitidas por IP.
|
|
* Veja também: https://www.unrealircd.org/docs/Allow_block
|
|
*/
|
|
|
|
/* Permite todos entrarem, mas apenas 3 conexões simultâneas por IP */
|
|
allow {
|
|
mask *;
|
|
class clients;
|
|
maxperip 3;
|
|
}
|
|
|
|
/* Exemplo de um bloco especial allow em um IP específico:
|
|
* Requer que usuários neste IP conectem por uma senha. Se a senha
|
|
* estiver correta, então permite 20 conexões simultâneas deste IP.
|
|
*/
|
|
allow {
|
|
mask 192.0.2.1;
|
|
class clients;
|
|
password "alguma_senha_secreta";
|
|
maxperip 20;
|
|
}
|
|
|
|
/* Blocos oper definem os Operadores de IRC.
|
|
* Operadores de IRC são pessoas com "privilégios extras" comparado a outros,
|
|
* eles podem por exemplo dar /KILL (derrubar) outras pessoas, iniciar uma conexão com server,
|
|
* dar /JOIN (entrar) em canais ainda que eles estejam banidos, etc.
|
|
*
|
|
* Para mais informações sobre como se tornar um IRCOp e como executar
|
|
* tarefas administrativas, veja: https://www.unrealircd.org/docs/IRCOp_guide
|
|
*
|
|
* Para obter mais detalhes sobre o bloco oper { } , veja
|
|
* https://www.unrealircd.org/docs/Oper_block
|
|
*/
|
|
|
|
/* Aqui está um exemplo de um bloco oper para o 'bobsmith'
|
|
* Você DEVE alterar isto!!
|
|
*/
|
|
oper bobsmith {
|
|
class opers;
|
|
mask *@*;
|
|
|
|
/* Tecnicamente você pode deixar as senhas de oper em texto puro no arquivo de configuração, mas
|
|
* isto é ALTAMENTE DESENCORAJADO. No lugar disso, você deve gerar uma senha hasheada:
|
|
* No *NIX, execute: ./unrealircd mkpasswd
|
|
* No Windows, execute: "C:\Program Files\UnrealIRCd 6\bin\unrealircdctl" mkpasswd
|
|
* ... e então cole a senha no campo abaixo:
|
|
*/
|
|
password "$argon2id..etc..";
|
|
/* Veja https://www.unrealircd.org/docs/Authentication_types para
|
|
* mais informações, incluindo formas melhores de autenticação
|
|
* como por exemplo o 'certfp', e como gerar hashes no Windows.
|
|
*/
|
|
|
|
/* Permissões de oper são definidos no bloco 'operclass'.
|
|
* Veja https://www.unrealircd.org/docs/Operclass_block
|
|
* O UnrealIRCd vem com um número padrão de blocos, leia
|
|
* o artigo acima para ver a lista completa. Nós escolhemos o 'netadmin' aqui.
|
|
*/
|
|
operclass netadmin;
|
|
swhois "é o Administrador da Rede";
|
|
vhost netadmin.exemplo.org;
|
|
}
|
|
|
|
/* Blocos listen definem as portas onde o servidor irá escutar.
|
|
* Em outras palavras: as portas que os clientes e servidores podem usar
|
|
* para se conectar a este servidor.
|
|
*
|
|
* Sintaxe:
|
|
* listen {
|
|
* {
|
|
* ip <ip>;
|
|
* port <port>;
|
|
* options {
|
|
* <options....>;
|
|
* }
|
|
* }
|
|
*/
|
|
|
|
/* Porta padrão 6667 do IRC */
|
|
listen {
|
|
ip *;
|
|
port 6667;
|
|
}
|
|
|
|
/* Porta padrão 6697 do IRC sob tunel SSL/TLS */
|
|
listen {
|
|
ip *;
|
|
port 6697;
|
|
options { tls; }
|
|
}
|
|
|
|
/* Porta especial padrão para uso de servidores sob tunel SSL/TLS para vincular a outros servidores */
|
|
listen {
|
|
ip *;
|
|
port 6900;
|
|
options { tls; serversonly; }
|
|
}
|
|
|
|
/* OBSERVAÇÃO: Se você está em uma shell IRCd com múltiplos IPs e você usa
|
|
* os blocos listen { } acima, então você provavelmente receberá o erro
|
|
* 'Address already in use' e o IRCd não iniciará.
|
|
* Isto significa que você DEVE colocar em escuta um IP específico no lugar do '*', como por exemplo:
|
|
* listen { ip 1.2.3.4; port 6667; }
|
|
* Claro, substituindo o IP pelo IP que foi fornecido a você.
|
|
*/
|
|
|
|
/*
|
|
* Blocos link permitem que você vincule múltiplos servidores uns aos outros para formar uma rede.
|
|
* Veja https://www.unrealircd.org/docs/Tutorial:_Linking_servers
|
|
*/
|
|
link hub.exemplo.org
|
|
{
|
|
incoming {
|
|
mask *@alguma_coisa;
|
|
}
|
|
|
|
outgoing {
|
|
bind-ip *; /* ou especificar um IP */
|
|
hostname hub.exemplo.org;
|
|
port 6900;
|
|
options { tls; }
|
|
}
|
|
|
|
/* Nós usamos a impressão digital SPKI do outro servidor para autenticação.
|
|
* Abra uma shell no OUTRO SERVIDOR e execute o comando abaixo para obter a impressão digital:
|
|
* No *NIX, execute: ./unrealircd spkifp
|
|
* No Windows, execute: "C:\Program Files\UnrealIRCd 6\bin\unrealircdctl" spkifp
|
|
*/
|
|
password "AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUV=" { spkifp; }
|
|
|
|
class servers;
|
|
}
|
|
|
|
/* O Bloco link para o services é muito mais simples.
|
|
* Para mais informações sobre o que são o Services,
|
|
* leia https://www.unrealircd.org/docs/Services
|
|
*/
|
|
link services.exemplo.org
|
|
{
|
|
incoming {
|
|
mask 127.0.0.1;
|
|
}
|
|
|
|
password "me_altere";
|
|
|
|
class servers;
|
|
}
|
|
|
|
/* U-lines dão a outros servidores (ainda) mais poderes/comandos.
|
|
* Se você usa o services, você DEVE adicioná-los aqui. Você deve adicionar o
|
|
* nome do servidor do services no bloco ulines { } no arquivo de configuração
|
|
* em todo servidor UnrealIRCd da sua rede.
|
|
* IMPORTANTE: Jamais insira o nome do servidor do UnrealIRCd aqui,
|
|
* é apenas para o Services!
|
|
*/
|
|
ulines {
|
|
services.exemplo.org;
|
|
}
|
|
|
|
/* Aqui você pode adicionar uma senha (apenas para IRCOps) para os comandos /DIE e /RESTART.
|
|
* Isto para que se tenha uma pouco mais de proteção contra reinicio acidental
|
|
* do servidor e ele seja derrubado inadvertidante.
|
|
*/
|
|
drpass {
|
|
restart "reiniciar";
|
|
die "matar";
|
|
}
|
|
|
|
/* O bloco log define o que deve ser registrado (logado) e em qual arquivo.
|
|
* Leia também https://www.unrealircd.org/docs/Log_block
|
|
*/
|
|
|
|
/* Este é um bom padrão, ele registra tudo, exceto
|
|
* coisas de depuração e comandos join/part/kick.
|
|
*/
|
|
log {
|
|
source {
|
|
all;
|
|
!debug;
|
|
!join.LOCAL_CLIENT_JOIN;
|
|
!join.REMOTE_CLIENT_JOIN;
|
|
!part.LOCAL_CLIENT_PART;
|
|
!part.REMOTE_CLIENT_PART;
|
|
!kick.LOCAL_CLIENT_KICK;
|
|
!kick.REMOTE_CLIENT_KICK;
|
|
}
|
|
destination {
|
|
file "ircd.log" { maxsize 100M; }
|
|
}
|
|
}
|
|
|
|
/* Com o "aliases" você pode criar um atalho como /ALGUMACOISA para enviar uma mensagem para
|
|
* algum usuário ou bot. Eles são usados normalmente por services.
|
|
*
|
|
* Nós temos um arquivo com um número pré-definido de atalhos, confira o diretório alias/ .
|
|
* Como exemplo, aqui nós incluímos todos os atalhos utilizados pelo services anope.
|
|
*/
|
|
include "aliases/anope.conf";
|
|
|
|
/* Bane nicks para que eles não sejam utilizados por usuários comuns */
|
|
ban nick {
|
|
mask "*C*h*a*n*S*e*r*v*";
|
|
reason "Reservado para Services";
|
|
}
|
|
|
|
/* Bane um IP
|
|
* Observe que você normalmente usa /KLINE, /GLINE e /ZLINE para isto.
|
|
*/
|
|
ban ip {
|
|
mask 195.86.232.81;
|
|
reason "Te odeio";
|
|
}
|
|
|
|
/* Bane um servidor - se observarmos este servidor vinculado a alguém, então o expulsaremos */
|
|
ban server {
|
|
mask pedro.usp.br;
|
|
reason "Caia fora daqui.";
|
|
}
|
|
|
|
/* Bane um usuário - mas você normalmente usa /KLINE ou /GLINE para isso */
|
|
ban user {
|
|
mask *usuariotroll@*.saturn.bbn.com;
|
|
reason "Idiota";
|
|
}
|
|
|
|
/* Este tipo de banimento permite que clientes sejam banidos com base no seu nome real (realname)
|
|
* ou campo 'gecos'.
|
|
*/
|
|
ban realname {
|
|
mask "Time Swat";
|
|
reason "FORCAOSTENSIVA";
|
|
}
|
|
|
|
ban realname {
|
|
mask "sub7server";
|
|
reason "sub7";
|
|
}
|
|
|
|
/* Exceções de banimento e TKL. Permite que você crie exceções a usuários/IPs a um
|
|
* KLINE, GLINE, etc.
|
|
* Se você é um IRCOp com IP estático (e não há ninguém não confiável utilizando este IP),
|
|
* então nós sugerimos que você seja adicionado aqui. Desta forma, você sempre poderá entrar
|
|
* mesmo se acidentalmente você colocar um *LINE em si mesmo.
|
|
*/
|
|
|
|
/* Exceções de banimento de tipo 'all' protegem você de GLINE, GZLINE, QLINE, SHUN */
|
|
except ban {
|
|
mask *@192.0.2.1;
|
|
type all;
|
|
}
|
|
|
|
/* Isto permite que clientes do IRCCloud não tenham restrição de IP por conexão
|
|
* e também cria exceção a eles de flood por conexão.
|
|
*/
|
|
except ban {
|
|
mask *.irccloud.com;
|
|
type { maxperip; connect-flood; }
|
|
}
|
|
|
|
/* deny dcc permite você possa banir nomes de arquivos transferidos por DCC */
|
|
deny dcc {
|
|
filename "*sub7*";
|
|
reason "Possível Virus Sub7";
|
|
}
|
|
|
|
/* deny channel permite a você banir um canal (por máscara) */
|
|
deny channel {
|
|
channel "*warez*";
|
|
reason "Warez é ilegal";
|
|
class "clients";
|
|
}
|
|
|
|
/* VHosts (Hosts Virtuais) permite aos usuários adquirirem um vhost diferente.
|
|
* Veja https://www.unrealircd.org/docs/Vhost_block
|
|
*/
|
|
|
|
/* Exemplo de vhost que você pode usar. No IRC digite: /VHOST teste teste
|
|
* OBSERVAÇÃO: apenas pessoas com o host 'unrealircd.com' podem usá-lo, então
|
|
* tenha certeza de modificar o vhost::mask antes de seu teste.
|
|
*/
|
|
vhost {
|
|
vhost eu.odeio.microsefrs.com;
|
|
mask *@unrealircd.com;
|
|
login "teste";
|
|
password "teste";
|
|
}
|
|
|
|
/* Blocos blacklist irão consultar um serviço externo de blacklist
|
|
* sempre que um usuário se conectar, para saber se seu endereço de IP é conhecido
|
|
* por ataques de drone, como uma máquina hackeada, etc.
|
|
* Documentação: https://www.unrealircd.org/docs/Blacklist_block
|
|
* Ou apenas dê uma olhada nos blocos abaixo.
|
|
*/
|
|
|
|
/* DroneBL é provavelmente o serviço de blacklist mais popular usada por servidores de IRC.
|
|
* Veja https://dronebl.org/ para ler a documentação e
|
|
* o significado dos tipos de resposta. No momento em que este arquivo foi escrito, nós usamos os tipos:
|
|
* 3: IRC Drone, 5: Flooder, 6: Drone ou bot de spam desconhecido,
|
|
* 7: Drone de DDoS, 8: Proxy SOCKS, 9: Proxy HTTP, 10: ProxyChain,
|
|
* 11: Proxy de página web, 12: Resolvedor de DNS aberto, 13: Atacantes de força bruta,
|
|
* 14: Proxy Wingate público, 15: Roteador/Gateway comprometido,
|
|
* 16: Virus que tentam conseguir root.
|
|
*/
|
|
blacklist dronebl {
|
|
dns {
|
|
name dnsbl.dronebl.org;
|
|
type record;
|
|
reply { 3; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; }
|
|
}
|
|
action gline;
|
|
ban-time 24h;
|
|
reason "Proxy/Drone detectado. Confira https://dronebl.org/lookup?ip=$ip para detalhes.";
|
|
}
|
|
|
|
/* EFnetRBL, veja https://rbl.efnetrbl.org/ para ler a documentação
|
|
* e o significado dos tipos de resposta.
|
|
* No momento em que este arquivo foi escrito: 1 é proxy público, 4 é TOR, 5 é drones/flooders.
|
|
*
|
|
* OBSERVAÇÃO: Se você deseja permitir proxies TOR no seu servidor, então
|
|
* você precisa remover o '4;' abaixo da seção reply.
|
|
*/
|
|
blacklist efnetrbl {
|
|
dns {
|
|
name rbl.efnetrbl.org;
|
|
type record;
|
|
reply { 1; 4; 5; }
|
|
}
|
|
action gline;
|
|
ban-time 24h;
|
|
reason "Proxy/Drone/TOR detectado. Confira https://rbl.efnetrbl.org/?i=$ip para detalhes.";
|
|
}
|
|
|
|
/* Você pode incluir outros arquivos de configuração */
|
|
/* include "klines.conf"; */
|
|
|
|
/* Configuração da Rede */
|
|
set {
|
|
network-name "ExemploNET";
|
|
default-server "irc.exemplo.org";
|
|
services-server "services.exemplo.org";
|
|
stats-server "stats.exemplo.org";
|
|
help-channel "#ajuda";
|
|
cloak-prefix "Clk";
|
|
prefix-quit "Saindo";
|
|
|
|
/* Chaves cloak devem ser a mesma em todos os servidores da rede.
|
|
* Eles são usados para geração de hosts mascarados e devem ser mantidos em segredo.
|
|
* As chaves devem ser 3 strings (ou mais) de 80 caracteres randômicos
|
|
* e devem se constituir de letras minúsculas (a-z), maiúsculas (A-Z) e números (0-9).
|
|
* No *NIX, você pode executar './unrealircd gencloak' na sua shell para que o
|
|
* UnrealIRCd gere 3 strings randômicas para você.
|
|
* No Windows, você pode executar "C:\Program Files\UnrealIRCd 6\bin\unrealircdctl" gencloak
|
|
*/
|
|
cloak-keys {
|
|
"Oozahho1raezoh0iMee4ohvegaifahv5xaepeitaich9tahdiquaid0geecipahdauVaij3zieph4ahi";
|
|
"adicione a outra";
|
|
"adicione a outra";
|
|
}
|
|
}
|
|
|
|
/* Configurações específicas do servidor */
|
|
|
|
set {
|
|
kline-address 'definir.o.endereco.de.email'; /* e-mail ou URL exibido quando um usuário é banido */
|
|
modes-on-connect "+ixw"; /* quando os usuários conectam, esses modos de usuário é atribuído a eles */
|
|
modes-on-oper "+xws"; /* quado alguém se torna IRCOp, esses modos de usuário é atribuído a ele */
|
|
modes-on-join "+nt"; /* modos de canal padrão, quando um novo canal é criado */
|
|
oper-auto-join "#opers"; /* IRCOps entram automaticamente neste canal */
|
|
options {
|
|
hide-ulines; /* esconde U-lines do /MAP e /LINKS */
|
|
show-connect-info; /* exibe a mensagem "looking up your hostname" ao se conectar */
|
|
}
|
|
|
|
maxchannelsperuser 10; /* número máximo de canais que um usuário pode entrar com /JOIN */
|
|
|
|
/* O tempo mínimo que um usuário precisa estar conectado antes de ser permitido
|
|
* utilizar a mensagem de QUIT. Isto irá ajudar no combate a SPAM.
|
|
*/
|
|
anti-spam-quit-message-time 10s;
|
|
|
|
/* Ou simplesmente defina um quit estático, de forma que qualquer motivo de /QUIT seja ignorado */
|
|
/* static-quit "Cliente saindo"; */
|
|
|
|
/* static-part faz com que o mesmo acima aconteça ao comando /PART */
|
|
/* static-part yes; */
|
|
|
|
/* Proteção contra Flood:
|
|
* Há uma série de configurações para isso, e a maioria delas tem bons padrões.
|
|
* Veja https://www.unrealircd.org/docs/Set_block#set::anti-flood
|
|
*/
|
|
anti-flood {
|
|
}
|
|
|
|
/* Configurações para filtragem de SPAM */
|
|
spamfilter {
|
|
ban-time 1d; /* duração padrão de um ban *LINE definido pelo filtro de spam */
|
|
ban-reason "Spam/Propaganda"; /* motivo padrão */
|
|
virus-help-channel "#help"; /* canal utilizado para usar em uma ação de 'virus de canal' */
|
|
/* except "#help"; exceção de canal ao filtro de spam */
|
|
}
|
|
|
|
/* Restringindo certos comandos
|
|
* Veja https://www.unrealircd.org/docs/Set_block#set::restrict-commands
|
|
*/
|
|
restrict-commands {
|
|
list {
|
|
except {
|
|
connect-time 60; /* após 60 segundos, o usuário pode usar o comando /LIST */
|
|
identified yes; /* ou imediatamente, se estiver identificado ao services */
|
|
reputation-score 24; /* ou se tiver um score de reputação maior ou igual a 24 */
|
|
}
|
|
}
|
|
invite {
|
|
except {
|
|
connect-time 120;
|
|
identified yes;
|
|
reputation-score 24;
|
|
}
|
|
}
|
|
/* Somando a possibilidade de restringir qualquer comando,
|
|
* também existem 4 tipos especiais
|
|
* que você pode restringir. Eles são "private-message",
|
|
* "private-notice", "channel-message" e "channel-notice".
|
|
* Eles estão todos comentados neste exemplo:
|
|
*/
|
|
//private-message {
|
|
// except { connect-time 10; }
|
|
//}
|
|
//private-notice {
|
|
// except { connect-time 10; }
|
|
//}
|
|
}
|
|
}
|
|
|
|
/*
|
|
* A seguir será configurado o limite de conexão para "unknown users".
|
|
*
|
|
* Quando o UnrealIRCd detecta um número elevado de usuários conectando de um endereço IP
|
|
* que nunca viu antes, então conexões do novo IP são rejeitadas quando estiverem
|
|
* acima da taxa abaixo especificada. Por exemplo, na taxa 10:60 apenas 10 usuários por minuto podem conectar
|
|
* por este IP que nunca foi visto antes. Endereços de IP conhecidos sempre podem entrar,
|
|
* independente da taxa definida. O mesmo para usuários que se conectam via SASL.
|
|
*
|
|
* Leia também https://www.unrealircd.org/docs/Connthrottle para detalhes.
|
|
* Ou apenas continue lendo a configuração abaixo:
|
|
*/
|
|
|
|
set {
|
|
connthrottle {
|
|
/* Primeiro nós configuramos quais usuários serão excluídos
|
|
* das restrições. Estes usuários sempre conseguirão acessar.
|
|
* Por padrão, entra como exceção usuários identificados com o services
|
|
* com um score igual ou maior a 24. Um score 24 significa que
|
|
* este IP foi conectado a esta rede por pelo menos 2 horas em algum momento
|
|
* no mês passado (ou no mínimo por 1 hora se registrado).
|
|
* Nós também permitimos usuários que se identificaram através do services via
|
|
* SASL para passar por cima destas restrições.
|
|
*/
|
|
except {
|
|
reputation-score 24;
|
|
identified yes;
|
|
/* Para mais informações, leia
|
|
* https://www.unrealircd.org/docs/Mask_item
|
|
*/
|
|
}
|
|
|
|
/* Novos usuários são todos os usuários que não pertencem
|
|
* ao grupo known-users. Eles são considerados "novos" e no
|
|
* caso de um número elevado de novos usuários se conectando,
|
|
* eles serão sujeiros ao limite de taxa de conexão.
|
|
* Por padrão a taxa é 20 novos usuários locais por minuto
|
|
* e 30 novos usuários globais por minuto.
|
|
*/
|
|
new-users {
|
|
local-throttle 20:60;
|
|
global-throttle 30:60;
|
|
}
|
|
|
|
/* Esta seção configura quando este módulo não será ativado.
|
|
* As configurações padrão desabilitarão o módulo quando:
|
|
* - O módulo reputation esteja em execução a menos de
|
|
* uma semana. Se estiver rodando há menos de 1 semana, então ainda temos
|
|
* dados insuficientes para considerar quem é um "known user" (usuário conhecido).
|
|
* - O servidor acabou de ser inicializado (primeiros 3 minutos).
|
|
*/
|
|
disabled-when {
|
|
reputation-gathering 1w;
|
|
start-delay 3m;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* HISTÓRICO DE CANAL:
|
|
* UnrealIRCd possui modo de canal +H que pode ser usado pelos usuários para recuperar
|
|
* o histórico do canal antes deles terem entrado. Para informações gerais
|
|
* sobre esta funcionalidade, leia https://www.unrealircd.org/docs/Channel_history
|
|
*
|
|
* Os limites do histórico podem ser configurados pelo set::history. Os padrões são
|
|
* provavelmente bons para você, mas se você estiver em um sistema com pouca memória
|
|
* ou tem centenas de canais, então você pode querer verificar esses padrões novamente. Leia
|
|
* https://www.unrealircd.org/docs/Set_block#set::history
|
|
* para ver as opções disponíveis.
|
|
*
|
|
* Além disso, você pode definir um "histórico de canal persistente", o que
|
|
* significa que o histórico do canal é armazenado de modo criptografado no disco e é preservado
|
|
* entre os reinícios do servidor. Leia
|
|
* https://www.unrealircd.org/docs/Set_block#Persistent_channel_history
|
|
* A funcionalidade de histórico persistente NÃO é habilitado por padrão porque você
|
|
* precisa configurar o Bloco secret { } para ele antes. A seguir um exemplo simples
|
|
* de senhas armazenadas diretamente no arquivo de configuração:
|
|
* Para obter uma melhor segurança, leia https://www.unrealircd.org/docs/Secret_block
|
|
* como formas alternativas para não armazenar senhas diretamente no arquivo de configuração.
|
|
*/
|
|
//secret historydb { password "algumasenha"; }
|
|
//set { history { channel { persist yes; db-secret "historydb"; } } }
|
|
|
|
/* Finalmente, você pode querer ter um MOTD (Mensagem do Dia), isto pode ser
|
|
* feito criando um arquivo de texto 'ircd.motd' no seu diretório conf/ .
|
|
* O texto dentro deste arquivo será exibido aos usuários ao se conectarem.
|
|
* Para mais informações, veja https://www.unrealircd.org/docs/MOTD_and_Rules
|
|
*/
|
|
|
|
/*
|
|
* Problemas ou precisa de ajuda?
|
|
* 1) https://www.unrealircd.org/docs/
|
|
* 2) https://www.unrealircd.org/docs/FAQ <- responde a 80% das suas perguntas!
|
|
* 3) Se ainda assim você está enfrentando problemas, você pode obter ajuda em:
|
|
* - Fóruns: https://forums.unrealircd.org/
|
|
* - IRC: irc.unrealircd.org (SSL na porta 6697) / #unreal-support
|
|
* Observe que pedimos que você leia a documentação e as perguntas frequentes (FAQ) primeiro!
|
|
*/
|