mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 16:59:12 +00:00
feat(irc): support optional SASL and NickServ auth (#511)
* feat(irc): support SASL and NickServ auth * feat(irc): add missing fields * feat(irc): support SASL and NickServ auth * feat(irc): add missing fields * feat(irc): add validation * feat(indexers): unify and set required values * feat(irc): add postgres migrations * feat(irc): use nick as handlerkey * feat(irc): use account for nickserv * fix(irc): pg db migration
This commit is contained in:
parent
4ef0408f33
commit
4bf023d030
65 changed files with 1404 additions and 631 deletions
|
@ -26,7 +26,7 @@ func NewIrcRepo(log logger.Logger, db *DB) domain.IrcRepo {
|
|||
|
||||
func (r *IrcRepo) GetNetworkByID(ctx context.Context, id int64) (*domain.IrcNetwork, error) {
|
||||
queryBuilder := r.db.squirrel.
|
||||
Select("id", "enabled", "name", "server", "port", "tls", "pass", "invite_command", "nickserv_account", "nickserv_password").
|
||||
Select("id", "enabled", "name", "server", "port", "tls", "pass", "nick", "auth_mechanism", "auth_account", "auth_password", "invite_command").
|
||||
From("irc_network").
|
||||
Where("id = ?", id)
|
||||
|
||||
|
@ -38,20 +38,21 @@ func (r *IrcRepo) GetNetworkByID(ctx context.Context, id int64) (*domain.IrcNetw
|
|||
|
||||
var n domain.IrcNetwork
|
||||
|
||||
var pass, inviteCmd sql.NullString
|
||||
var nsAccount, nsPassword sql.NullString
|
||||
var pass, nick, inviteCmd sql.NullString
|
||||
var account, password sql.NullString
|
||||
var tls sql.NullBool
|
||||
|
||||
row := r.db.handler.QueryRowContext(ctx, query, args...)
|
||||
if err := row.Scan(&n.ID, &n.Enabled, &n.Name, &n.Server, &n.Port, &tls, &pass, &inviteCmd, &nsAccount, &nsPassword); err != nil {
|
||||
if err := row.Scan(&n.ID, &n.Enabled, &n.Name, &n.Server, &n.Port, &tls, &pass, &nick, &n.Auth.Mechanism, &account, &password, &inviteCmd); err != nil {
|
||||
return nil, errors.Wrap(err, "error scanning row")
|
||||
}
|
||||
|
||||
n.TLS = tls.Bool
|
||||
n.Pass = pass.String
|
||||
n.Nick = nick.String
|
||||
n.InviteCommand = inviteCmd.String
|
||||
n.NickServ.Account = nsAccount.String
|
||||
n.NickServ.Password = nsPassword.String
|
||||
n.Auth.Account = account.String
|
||||
n.Auth.Password = password.String
|
||||
|
||||
return &n, nil
|
||||
}
|
||||
|
@ -103,7 +104,7 @@ func (r *IrcRepo) DeleteNetwork(ctx context.Context, id int64) error {
|
|||
|
||||
func (r *IrcRepo) FindActiveNetworks(ctx context.Context) ([]domain.IrcNetwork, error) {
|
||||
queryBuilder := r.db.squirrel.
|
||||
Select("id", "enabled", "name", "server", "port", "tls", "pass", "invite_command", "nickserv_account", "nickserv_password").
|
||||
Select("id", "enabled", "name", "server", "port", "tls", "pass", "nick", "auth_mechanism", "auth_account", "auth_password", "invite_command").
|
||||
From("irc_network").
|
||||
Where("enabled = ?", true)
|
||||
|
||||
|
@ -123,20 +124,21 @@ func (r *IrcRepo) FindActiveNetworks(ctx context.Context) ([]domain.IrcNetwork,
|
|||
for rows.Next() {
|
||||
var net domain.IrcNetwork
|
||||
|
||||
var pass, inviteCmd sql.NullString
|
||||
var nsAccount, nsPassword sql.NullString
|
||||
var pass, nick, inviteCmd sql.NullString
|
||||
var account, password sql.NullString
|
||||
var tls sql.NullBool
|
||||
|
||||
if err := rows.Scan(&net.ID, &net.Enabled, &net.Name, &net.Server, &net.Port, &tls, &pass, &inviteCmd, &nsAccount, &nsPassword); err != nil {
|
||||
if err := rows.Scan(&net.ID, &net.Enabled, &net.Name, &net.Server, &net.Port, &tls, &pass, &nick, &net.Auth.Mechanism, &account, &password, &inviteCmd); err != nil {
|
||||
return nil, errors.Wrap(err, "error scanning row")
|
||||
}
|
||||
|
||||
net.TLS = tls.Bool
|
||||
net.Pass = pass.String
|
||||
net.Nick = nick.String
|
||||
net.InviteCommand = inviteCmd.String
|
||||
|
||||
net.NickServ.Account = nsAccount.String
|
||||
net.NickServ.Password = nsPassword.String
|
||||
net.Auth.Account = account.String
|
||||
net.Auth.Password = password.String
|
||||
|
||||
networks = append(networks, net)
|
||||
}
|
||||
|
@ -149,7 +151,7 @@ func (r *IrcRepo) FindActiveNetworks(ctx context.Context) ([]domain.IrcNetwork,
|
|||
|
||||
func (r *IrcRepo) ListNetworks(ctx context.Context) ([]domain.IrcNetwork, error) {
|
||||
queryBuilder := r.db.squirrel.
|
||||
Select("id", "enabled", "name", "server", "port", "tls", "pass", "invite_command", "nickserv_account", "nickserv_password").
|
||||
Select("id", "enabled", "name", "server", "port", "tls", "pass", "nick", "auth_mechanism", "auth_account", "auth_password", "invite_command").
|
||||
From("irc_network").
|
||||
OrderBy("name ASC")
|
||||
|
||||
|
@ -169,20 +171,21 @@ func (r *IrcRepo) ListNetworks(ctx context.Context) ([]domain.IrcNetwork, error)
|
|||
for rows.Next() {
|
||||
var net domain.IrcNetwork
|
||||
|
||||
var pass, inviteCmd sql.NullString
|
||||
var nsAccount, nsPassword sql.NullString
|
||||
var pass, nick, inviteCmd sql.NullString
|
||||
var account, password sql.NullString
|
||||
var tls sql.NullBool
|
||||
|
||||
if err := rows.Scan(&net.ID, &net.Enabled, &net.Name, &net.Server, &net.Port, &tls, &pass, &inviteCmd, &nsAccount, &nsPassword); err != nil {
|
||||
if err := rows.Scan(&net.ID, &net.Enabled, &net.Name, &net.Server, &net.Port, &tls, &pass, &nick, &net.Auth.Mechanism, &account, &password, &inviteCmd); err != nil {
|
||||
return nil, errors.Wrap(err, "error scanning row")
|
||||
}
|
||||
|
||||
net.TLS = tls.Bool
|
||||
net.Pass = pass.String
|
||||
net.Nick = nick.String
|
||||
net.InviteCommand = inviteCmd.String
|
||||
|
||||
net.NickServ.Account = nsAccount.String
|
||||
net.NickServ.Password = nsPassword.String
|
||||
net.Auth.Account = account.String
|
||||
net.Auth.Password = password.String
|
||||
|
||||
networks = append(networks, net)
|
||||
}
|
||||
|
@ -232,10 +235,10 @@ func (r *IrcRepo) ListChannels(networkID int64) ([]domain.IrcChannel, error) {
|
|||
|
||||
func (r *IrcRepo) CheckExistingNetwork(ctx context.Context, network *domain.IrcNetwork) (*domain.IrcNetwork, error) {
|
||||
queryBuilder := r.db.squirrel.
|
||||
Select("id", "enabled", "name", "server", "port", "tls", "pass", "invite_command", "nickserv_account", "nickserv_password").
|
||||
Select("id", "enabled", "name", "server", "port", "tls", "pass", "nick", "auth_mechanism", "auth_account", "auth_password", "invite_command").
|
||||
From("irc_network").
|
||||
Where("server = ?", network.Server).
|
||||
Where("nickserv_account = ?", network.NickServ.Account)
|
||||
Where("auth_account = ?", network.Auth.Account)
|
||||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
|
@ -247,10 +250,11 @@ func (r *IrcRepo) CheckExistingNetwork(ctx context.Context, network *domain.IrcN
|
|||
|
||||
var net domain.IrcNetwork
|
||||
|
||||
var pass, inviteCmd, nickPass sql.NullString
|
||||
var pass, nick, inviteCmd sql.NullString
|
||||
var account, password sql.NullString
|
||||
var tls sql.NullBool
|
||||
|
||||
err = row.Scan(&net.ID, &net.Enabled, &net.Name, &net.Server, &net.Port, &tls, &pass, &inviteCmd, &net.NickServ.Account, &nickPass)
|
||||
err = row.Scan(&net.ID, &net.Enabled, &net.Name, &net.Server, &net.Port, &tls, &pass, &nick, &net.Auth.Mechanism, &account, &password, &inviteCmd)
|
||||
if err == sql.ErrNoRows {
|
||||
// no result is not an error in our case
|
||||
return nil, nil
|
||||
|
@ -260,8 +264,10 @@ func (r *IrcRepo) CheckExistingNetwork(ctx context.Context, network *domain.IrcN
|
|||
|
||||
net.TLS = tls.Bool
|
||||
net.Pass = pass.String
|
||||
net.Nick = nick.String
|
||||
net.InviteCommand = inviteCmd.String
|
||||
net.NickServ.Password = nickPass.String
|
||||
net.Auth.Account = account.String
|
||||
net.Auth.Password = password.String
|
||||
|
||||
return &net, nil
|
||||
}
|
||||
|
@ -269,10 +275,11 @@ func (r *IrcRepo) CheckExistingNetwork(ctx context.Context, network *domain.IrcN
|
|||
func (r *IrcRepo) StoreNetwork(network *domain.IrcNetwork) error {
|
||||
netName := toNullString(network.Name)
|
||||
pass := toNullString(network.Pass)
|
||||
nick := toNullString(network.Nick)
|
||||
inviteCmd := toNullString(network.InviteCommand)
|
||||
|
||||
nsAccount := toNullString(network.NickServ.Account)
|
||||
nsPassword := toNullString(network.NickServ.Password)
|
||||
account := toNullString(network.Auth.Account)
|
||||
password := toNullString(network.Auth.Password)
|
||||
|
||||
var err error
|
||||
var retID int64
|
||||
|
@ -286,9 +293,11 @@ func (r *IrcRepo) StoreNetwork(network *domain.IrcNetwork) error {
|
|||
"port",
|
||||
"tls",
|
||||
"pass",
|
||||
"nick",
|
||||
"auth_mechanism",
|
||||
"auth_account",
|
||||
"auth_password",
|
||||
"invite_command",
|
||||
"nickserv_account",
|
||||
"nickserv_password",
|
||||
).
|
||||
Values(
|
||||
network.Enabled,
|
||||
|
@ -297,9 +306,11 @@ func (r *IrcRepo) StoreNetwork(network *domain.IrcNetwork) error {
|
|||
network.Port,
|
||||
network.TLS,
|
||||
pass,
|
||||
nick,
|
||||
network.Auth.Mechanism,
|
||||
account,
|
||||
password,
|
||||
inviteCmd,
|
||||
nsAccount,
|
||||
nsPassword,
|
||||
).
|
||||
Suffix("RETURNING id").
|
||||
RunWith(r.db.handler)
|
||||
|
@ -317,10 +328,11 @@ func (r *IrcRepo) StoreNetwork(network *domain.IrcNetwork) error {
|
|||
func (r *IrcRepo) UpdateNetwork(ctx context.Context, network *domain.IrcNetwork) error {
|
||||
netName := toNullString(network.Name)
|
||||
pass := toNullString(network.Pass)
|
||||
nick := toNullString(network.Nick)
|
||||
inviteCmd := toNullString(network.InviteCommand)
|
||||
|
||||
nsAccount := toNullString(network.NickServ.Account)
|
||||
nsPassword := toNullString(network.NickServ.Password)
|
||||
account := toNullString(network.Auth.Account)
|
||||
password := toNullString(network.Auth.Password)
|
||||
|
||||
var err error
|
||||
|
||||
|
@ -332,9 +344,11 @@ func (r *IrcRepo) UpdateNetwork(ctx context.Context, network *domain.IrcNetwork)
|
|||
Set("port", network.Port).
|
||||
Set("tls", network.TLS).
|
||||
Set("pass", pass).
|
||||
Set("nick", nick).
|
||||
Set("auth_mechanism", network.Auth.Mechanism).
|
||||
Set("auth_account", account).
|
||||
Set("auth_password", password).
|
||||
Set("invite_command", inviteCmd).
|
||||
Set("nickserv_account", nsAccount).
|
||||
Set("nickserv_password", nsPassword).
|
||||
Set("updated_at", time.Now().Format(time.RFC3339)).
|
||||
Where("id = ?", network.ID)
|
||||
|
||||
|
|
|
@ -36,14 +36,16 @@ CREATE TABLE irc_network
|
|||
port INTEGER NOT NULL,
|
||||
tls BOOLEAN,
|
||||
pass TEXT,
|
||||
nick TEXT,
|
||||
auth_mechanism TEXT,
|
||||
auth_account TEXT,
|
||||
auth_password TEXT,
|
||||
invite_command TEXT,
|
||||
nickserv_account TEXT,
|
||||
nickserv_password TEXT,
|
||||
connected BOOLEAN,
|
||||
connected_since TIMESTAMP,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE (server, port, nickserv_account)
|
||||
UNIQUE (server, port, nick)
|
||||
);
|
||||
|
||||
CREATE TABLE irc_channel
|
||||
|
@ -589,4 +591,28 @@ CREATE INDEX indexer_identifier_index
|
|||
ALTER TABLE filter
|
||||
ADD COLUMN use_regex_release_tags BOOLEAN DEFAULT FALSE;
|
||||
`,
|
||||
`ALTER TABLE irc_network
|
||||
RENAME COLUMN nickserv_account TO auth_account;
|
||||
|
||||
ALTER TABLE irc_network
|
||||
RENAME COLUMN nickserv_password TO auth_password;
|
||||
|
||||
ALTER TABLE irc_network
|
||||
ADD nick TEXT;
|
||||
|
||||
ALTER TABLE irc_network
|
||||
ADD auth_mechanism TEXT DEFAULT 'SASL_PLAIN';
|
||||
|
||||
ALTER TABLE irc_network
|
||||
DROP CONSTRAINT irc_network_server_port_nickserv_account_key;
|
||||
|
||||
ALTER TABLE irc_network
|
||||
ADD CONSTRAINT irc_network_server_port_nick_key
|
||||
UNIQUE (server, port, nick);
|
||||
|
||||
UPDATE irc_network
|
||||
SET nick = irc_network.auth_account;
|
||||
|
||||
UPDATE irc_network
|
||||
SET auth_mechanism = 'SASL_PLAIN';`,
|
||||
}
|
||||
|
|
|
@ -36,14 +36,16 @@ CREATE TABLE irc_network
|
|||
port INTEGER NOT NULL,
|
||||
tls BOOLEAN,
|
||||
pass TEXT,
|
||||
nick TEXT,
|
||||
auth_mechanism TEXT,
|
||||
auth_account TEXT,
|
||||
auth_password TEXT,
|
||||
invite_command TEXT,
|
||||
nickserv_account TEXT,
|
||||
nickserv_password TEXT,
|
||||
connected BOOLEAN,
|
||||
connected_since TIMESTAMP,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE (server, port, nickserv_account)
|
||||
UNIQUE (server, port, nick)
|
||||
);
|
||||
|
||||
CREATE TABLE irc_channel
|
||||
|
@ -909,4 +911,52 @@ CREATE INDEX indexer_identifier_index
|
|||
ALTER TABLE filter
|
||||
ADD COLUMN use_regex_release_tags BOOLEAN DEFAULT FALSE;
|
||||
`,
|
||||
`
|
||||
CREATE TABLE irc_network_dg_tmp
|
||||
(
|
||||
id INTEGER
|
||||
primary key,
|
||||
enabled BOOLEAN,
|
||||
name TEXT not null,
|
||||
server TEXT not null,
|
||||
port INTEGER not null,
|
||||
tls BOOLEAN,
|
||||
pass TEXT,
|
||||
nick TEXT,
|
||||
auth_mechanism TEXT,
|
||||
auth_account TEXT,
|
||||
auth_password TEXT,
|
||||
invite_command TEXT,
|
||||
connected BOOLEAN,
|
||||
connected_since TIMESTAMP,
|
||||
created_at TIMESTAMP default CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP default CURRENT_TIMESTAMP,
|
||||
unique (server, port, nick)
|
||||
);
|
||||
|
||||
INSERT INTO irc_network_dg_tmp(id, enabled, name, server, port, tls, pass, nick, auth_mechanism, auth_account, auth_password, invite_command,
|
||||
connected, connected_since, created_at, updated_at)
|
||||
SELECT id,
|
||||
enabled,
|
||||
name,
|
||||
server,
|
||||
port,
|
||||
tls,
|
||||
pass,
|
||||
nickserv_account,
|
||||
'SASL_PLAIN',
|
||||
nickserv_account,
|
||||
nickserv_password,
|
||||
invite_command,
|
||||
connected,
|
||||
connected_since,
|
||||
created_at,
|
||||
updated_at
|
||||
FROM irc_network;
|
||||
|
||||
DROP TABLE irc_network;
|
||||
|
||||
ALTER TABLE irc_network_dg_tmp
|
||||
RENAME TO irc_network;
|
||||
`,
|
||||
}
|
||||
|
|
|
@ -14,9 +14,18 @@ type IrcChannel struct {
|
|||
Monitoring bool `json:"monitoring"`
|
||||
}
|
||||
|
||||
type NickServ struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
Password string `json:"password,omitempty"`
|
||||
type IRCAuthMechanism string
|
||||
|
||||
const (
|
||||
IRCAuthMechanismNone IRCAuthMechanism = "NONE"
|
||||
IRCAuthMechanismSASLPlain IRCAuthMechanism = "SASL_PLAIN"
|
||||
IRCAuthMechanismNickServ IRCAuthMechanism = "NICKSERV"
|
||||
)
|
||||
|
||||
type IRCAuth struct {
|
||||
Mechanism IRCAuthMechanism `json:"mechanism,omitempty"`
|
||||
Account string `json:"account,omitempty"`
|
||||
Password string `json:"password,omitempty"`
|
||||
}
|
||||
|
||||
type IrcNetwork struct {
|
||||
|
@ -27,8 +36,9 @@ type IrcNetwork struct {
|
|||
Port int `json:"port"`
|
||||
TLS bool `json:"tls"`
|
||||
Pass string `json:"pass"`
|
||||
Nick string `json:"nick"`
|
||||
Auth IRCAuth `json:"auth,omitempty"`
|
||||
InviteCommand string `json:"invite_command"`
|
||||
NickServ NickServ `json:"nickserv,omitempty"`
|
||||
Channels []IrcChannel `json:"channels"`
|
||||
Connected bool `json:"connected"`
|
||||
ConnectedSince *time.Time `json:"connected_since"`
|
||||
|
@ -42,8 +52,9 @@ type IrcNetworkWithHealth struct {
|
|||
Port int `json:"port"`
|
||||
TLS bool `json:"tls"`
|
||||
Pass string `json:"pass"`
|
||||
Nick string `json:"nick"`
|
||||
Auth IRCAuth `json:"auth,omitempty"`
|
||||
InviteCommand string `json:"invite_command"`
|
||||
NickServ NickServ `json:"nickserv,omitempty"`
|
||||
CurrentNick string `json:"current_nick"`
|
||||
PreferredNick string `json:"preferred_nick"`
|
||||
Channels []ChannelWithHealth `json:"channels"`
|
||||
|
|
|
@ -15,11 +15,14 @@ source: custom
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Pass key
|
||||
help: "Your passkey"
|
||||
regex: /([\da-z]{32})
|
||||
|
||||
- name: uid
|
||||
type: secret
|
||||
required: true
|
||||
label: User ID
|
||||
help: "Your User ID"
|
||||
regex: /(\d+)
|
||||
|
@ -34,12 +37,19 @@ irc:
|
|||
announcers:
|
||||
- ACiD-BaBy
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,10 +15,13 @@ source: gazelle
|
|||
settings:
|
||||
- name: authkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Auth key
|
||||
help: Right click DL on a torrent and get the authkey.
|
||||
|
||||
- name: torrent_pass
|
||||
type: secret
|
||||
required: true
|
||||
label: Torrent pass
|
||||
help: Right click DL on a torrent and get the torrent_pass.
|
||||
|
||||
|
@ -32,22 +35,30 @@ irc:
|
|||
announcers:
|
||||
- Voyager
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user-bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your main user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "Voyager autobot USERNAME IRCKey"
|
||||
required: false
|
||||
default: "Voyager autobot USERNAME IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with Voyager.
|
||||
help: Invite auth with Voyager. Replace USERNAME with site nick and set IRCKEY.
|
||||
|
||||
parse:
|
||||
type: multi
|
||||
|
|
|
@ -15,6 +15,7 @@ source: gazelle
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: PassKey
|
||||
help: Settings -> Account -> Passkey.
|
||||
|
||||
|
@ -28,22 +29,30 @@ irc:
|
|||
announcers:
|
||||
- Satsuki
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user|autodl
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user|autodl
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "/msg Satsuki enter #announce {AB username} ircKey"
|
||||
default: "Satsuki enter #announce USERNAME IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with Satsuki, animebytes.tv/irc
|
||||
help: Invite auth with Satsuki, animebytes.tv/irc. Replace USERNAME and IRCKEY.
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -15,6 +15,7 @@ source: UNIT3D (F3NIX)
|
|||
settings:
|
||||
- name: rsskey
|
||||
type: secret
|
||||
required: true
|
||||
label: RSS key
|
||||
help: "Go to your profile, My Security, RSS Key and copy RSS key."
|
||||
|
||||
|
@ -29,22 +30,30 @@ irc:
|
|||
- Willie
|
||||
- Millie
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. MUST follow format user|autodl
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user|autodl
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "Millie announce ircKey"
|
||||
default: "Millie announce IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with Millie.
|
||||
help: Invite auth with Millie. Replace IRCKEY.
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Pass key
|
||||
help: "Your passkey"
|
||||
regex: /([\da-z]{32})
|
||||
|
@ -29,12 +30,19 @@ irc:
|
|||
announcers:
|
||||
- BHD-bot
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: rsskey
|
||||
type: secret
|
||||
required: true
|
||||
label: RSS key
|
||||
help: "The rsskey in your RSS feed link"
|
||||
|
||||
|
@ -28,12 +29,19 @@ irc:
|
|||
announcers:
|
||||
- Tracer
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Ask staff to unlock it!
|
||||
- name: nickserv.password
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -16,14 +16,19 @@ source: gazelle
|
|||
settings:
|
||||
- name: authkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Auth key
|
||||
help: Right click DL on a torrent and get the authkey.
|
||||
|
||||
- name: torrent_pass
|
||||
type: secret
|
||||
required: true
|
||||
label: Torrent pass
|
||||
help: Right click DL on a torrent and get the torrent_pass.
|
||||
|
||||
- name: api_key
|
||||
type: secret
|
||||
required: true
|
||||
label: API Key
|
||||
help: Username -> Edit Profile -> API
|
||||
|
||||
|
@ -49,12 +54,19 @@ irc:
|
|||
announcers:
|
||||
- Barney
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user|autodl
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user|autodl
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,7 +15,8 @@ source: UNIT3D
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
label: Passkey
|
||||
required: true
|
||||
label: RSS key
|
||||
help: "Go to your profile tab under safety, copy RSS Key (RID)"
|
||||
|
||||
irc:
|
||||
|
@ -28,22 +29,30 @@ irc:
|
|||
announcers:
|
||||
- DBBot
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user|autodl
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "DBBot announce ircKey"
|
||||
default: "DBBot announce IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with DBBot.
|
||||
help: Invite auth with DBBot. Replace IRCKEY with your key.
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -15,6 +15,7 @@ source: gazelle
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: PassKey
|
||||
help: Settings -> Security -> Passkey.
|
||||
|
||||
|
@ -28,16 +29,24 @@ irc:
|
|||
announcers:
|
||||
- ENDOR
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user|autodl
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user|autodl
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "ENDOR !invite USERNAME IRCKEY"
|
||||
|
|
|
@ -15,10 +15,13 @@ source: gazelle
|
|||
settings:
|
||||
- name: authkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Auth key
|
||||
help: Right click DL on a torrent and get the authkey.
|
||||
|
||||
- name: torrent_pass
|
||||
type: secret
|
||||
required: true
|
||||
label: Torrent pass
|
||||
help: Right click DL on a torrent and get the torrent_pass.
|
||||
|
||||
|
@ -32,12 +35,19 @@ irc:
|
|||
announcers:
|
||||
- "^Wizard^"
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot. Must have staff permission first.
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot. Must have staff permission first.
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,10 +15,13 @@ source: gazelle
|
|||
settings:
|
||||
- name: authkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Auth key
|
||||
help: Right click DL on a torrent and get the authkey.
|
||||
|
||||
- name: torrent_pass
|
||||
type: secret
|
||||
required: true
|
||||
label: Torrent pass
|
||||
help: Right click DL on a torrent and get the torrent_pass.
|
||||
|
||||
|
@ -32,12 +35,19 @@ irc:
|
|||
announcers:
|
||||
- TheGimp
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user|bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user|bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "The passkey in your profile."
|
||||
|
||||
|
@ -28,12 +29,19 @@ irc:
|
|||
announcers:
|
||||
- Announce
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_dl
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_dl
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
|
|
|
@ -13,10 +13,13 @@ source: gazelle
|
|||
settings:
|
||||
- name: uid
|
||||
type: text
|
||||
required: true
|
||||
label: User ID
|
||||
help: Create rss link at https://www.fuzer.me/getrss.php and find at &u=11111
|
||||
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: PassKey
|
||||
help: Create rss link at https://www.fuzer.me/getrss.php and find at &torrent_pass=...
|
||||
|
||||
|
@ -30,15 +33,22 @@ irc:
|
|||
announcers:
|
||||
- Fuzer
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
- name: nickserv.password
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: A password of your choice to be used for the bot identification. Save it!
|
||||
help: NickServ password
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -16,14 +16,19 @@ source: gazelle
|
|||
settings:
|
||||
- name: authkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Auth key
|
||||
help: Right click DL on a torrent and get the authkey.
|
||||
|
||||
- name: torrent_pass
|
||||
type: secret
|
||||
required: true
|
||||
label: Torrent pass
|
||||
help: Right click DL on a torrent and get the torrent_pass.
|
||||
|
||||
- name: api_key
|
||||
type: secret
|
||||
required: true
|
||||
label: API Key
|
||||
help: Username -> Edit / Settings -> API Keys
|
||||
|
||||
|
@ -49,22 +54,30 @@ irc:
|
|||
announcers:
|
||||
- Vertigo
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user|bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user|bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "Vertigo ENTER #GGn-Announce USERNAME IRCKey"
|
||||
default: "Vertigo ENTER #GGn-Announce USERNAME IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with Vertigo.
|
||||
help: Invite auth with Vertigo. Replace USERNAME and IRCKEY.
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: rsskey
|
||||
type: secret
|
||||
required: true
|
||||
label: RSS key
|
||||
help: "Go to My Panel and then Change PID. It will show the PID, but don't click it!"
|
||||
|
||||
|
@ -28,12 +29,19 @@ irc:
|
|||
announcers:
|
||||
- hdspace
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
|
|
|
@ -16,10 +16,12 @@ source: xbtit
|
|||
settings:
|
||||
- name: key
|
||||
type: secret
|
||||
required: true
|
||||
label: RSS key
|
||||
help: "Generate a RSS feed and copy key from URL"
|
||||
- name: token
|
||||
type: secret
|
||||
required: true
|
||||
label: RSS Token
|
||||
help: "Generate a RSS feed and copy token from URL"
|
||||
|
||||
|
@ -33,12 +35,19 @@ irc:
|
|||
announcers:
|
||||
- HoboLarry
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user-bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user-bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: Copy the passkey from your profile page
|
||||
|
||||
|
@ -28,22 +29,30 @@ irc:
|
|||
announcers:
|
||||
- midgards
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user|autodl
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user|autodl
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "midgards announce IRCKey"
|
||||
default: "midgards announce IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with the key from https://hdbits.org/bot_invite.php
|
||||
help: Invite auth with the key from https://hdbits.org/bot_invite.php. Replace IRCKEY.
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -13,10 +13,13 @@ source: gazelle
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: PassKey
|
||||
help: Right click download on a torrent and get the passkey.
|
||||
|
||||
- name: authkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Auth key
|
||||
help: Right click download on a torrent and get the authkey.
|
||||
|
||||
|
@ -30,22 +33,30 @@ irc:
|
|||
announcers:
|
||||
- HeBoT
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: "Bot nick. Make sure you follow the naming scheme: username|bot"
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: "NickServ account name. Make sure you follow the naming scheme: HebitsNickname|bot"
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your main user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
help: A password of your choice to be used for the bot identification. Save it!
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "HeBoT !invite IRCKey"
|
||||
default: "HeBoT !invite IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: "Replace IRCKey with: Edit Profile -> Access Settings -> IRC Key"
|
||||
help: "Replace IRCKEY with: Edit Profile -> Access Settings -> IRC Key"
|
||||
|
||||
parse:
|
||||
type: multi
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "Go to https://immortalseed.me/getrss.php to get the RSS feed link and extract passkey from secret_key"
|
||||
regex: '[\?&;]secret_key=([\da-fA-F]{32})'
|
||||
|
@ -29,15 +30,21 @@ irc:
|
|||
announcers:
|
||||
- thoth
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: nickserv.password
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
|
@ -46,7 +53,7 @@ irc:
|
|||
default: "immortal invite USERNAME IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with immortal.
|
||||
help: Invite auth with immortal. Replace USERNAME and IRCKEY.
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "Go to your profile and copy your passkey"
|
||||
|
||||
|
@ -28,12 +29,19 @@ irc:
|
|||
announcers:
|
||||
- Metal
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -16,6 +16,7 @@ source: unknown
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "Copy the passkey from your details page."
|
||||
|
||||
|
@ -30,12 +31,19 @@ irc:
|
|||
- IPT
|
||||
- FunTimes
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_autodl
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_autodl
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
|
|
|
@ -1,61 +1,69 @@
|
|||
---
|
||||
#id: Milkie
|
||||
name: Milkie
|
||||
identifier: milkie
|
||||
description: Milkie is a private torrent tracker for GENERAL.
|
||||
language: en-us
|
||||
urls:
|
||||
- https://www.milkie.cc
|
||||
privacy: private
|
||||
protocol: torrent
|
||||
supports:
|
||||
- irc
|
||||
- rss
|
||||
source: custom
|
||||
settings:
|
||||
- name: apikey
|
||||
type: secret
|
||||
label: Api key
|
||||
help: "Go to your profile and copy your Api key from settings"
|
||||
regex: /([a-zA-Z0-9\+])
|
||||
|
||||
irc:
|
||||
network: P2P-Network
|
||||
server: irc.p2p-network.net
|
||||
port: 6697
|
||||
tls: true
|
||||
channels:
|
||||
- "#milkie-announce"
|
||||
announcers:
|
||||
- the_cow
|
||||
- the_cow1
|
||||
- the_cow2
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
parse:
|
||||
type: single
|
||||
lines:
|
||||
- test:
|
||||
- "{tv} :: The.Great.Xmas.Show.S00E00.1080p.WEB.H264-TEST :: [1080p, web] :: https://milkie.cc/browse/xxxxxxxxxxxx"
|
||||
pattern: '{(.*)}\s::\s(.*)\s::\s\[(.*)\]\s::\s(https?\:\/\/[^\/]+\/)browse\/(.*)'
|
||||
vars:
|
||||
- category
|
||||
- torrentName
|
||||
- releaseTags
|
||||
- baseUrl
|
||||
- torrentId
|
||||
|
||||
match:
|
||||
torrenturl: "{{ .baseUrl }}api/v1/torrents/{{ .torrentId }}/torrent?key={{ .apikey }}"
|
||||
encode:
|
||||
- apikey
|
||||
---
|
||||
#id: Milkie
|
||||
name: Milkie
|
||||
identifier: milkie
|
||||
description: Milkie is a private torrent tracker for GENERAL.
|
||||
language: en-us
|
||||
urls:
|
||||
- https://www.milkie.cc
|
||||
privacy: private
|
||||
protocol: torrent
|
||||
supports:
|
||||
- irc
|
||||
- rss
|
||||
source: custom
|
||||
settings:
|
||||
- name: apikey
|
||||
type: secret
|
||||
required: true
|
||||
label: Api key
|
||||
help: "Go to your profile and copy your Api key from settings"
|
||||
regex: /([a-zA-Z0-9\+])
|
||||
|
||||
irc:
|
||||
network: P2P-Network
|
||||
server: irc.p2p-network.net
|
||||
port: 6697
|
||||
tls: true
|
||||
channels:
|
||||
- "#milkie-announce"
|
||||
announcers:
|
||||
- the_cow
|
||||
- the_cow1
|
||||
- the_cow2
|
||||
settings:
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
parse:
|
||||
type: single
|
||||
lines:
|
||||
- test:
|
||||
- "{tv} :: The.Great.Xmas.Show.S00E00.1080p.WEB.H264-TEST :: [1080p, web] :: https://milkie.cc/browse/xxxxxxxxxxxx"
|
||||
pattern: '{(.*)}\s::\s(.*)\s::\s\[(.*)\]\s::\s(https?\:\/\/[^\/]+\/)browse\/(.*)'
|
||||
vars:
|
||||
- category
|
||||
- torrentName
|
||||
- releaseTags
|
||||
- baseUrl
|
||||
- torrentId
|
||||
|
||||
match:
|
||||
torrenturl: "{{ .baseUrl }}api/v1/torrents/{{ .torrentId }}/torrent?key={{ .apikey }}"
|
||||
encode:
|
||||
- apikey
|
||||
|
|
|
@ -15,10 +15,13 @@ source: gazelle
|
|||
settings:
|
||||
- name: authkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Auth key
|
||||
help: Right click DL on a torrent and get the authkey.
|
||||
|
||||
- name: torrent_pass
|
||||
type: secret
|
||||
required: true
|
||||
label: Torrent pass
|
||||
help: Right click DL on a torrent and get the torrent_pass.
|
||||
|
||||
|
@ -32,12 +35,19 @@ irc:
|
|||
announcers:
|
||||
- Jarvis
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: cookie
|
||||
type: secret
|
||||
required: true
|
||||
label: Cookie (mam_id)
|
||||
help: "Check how to get cookies in your browser and find the mam_id cookie. Changes monthly"
|
||||
|
||||
|
@ -28,12 +29,19 @@ irc:
|
|||
announcers:
|
||||
- MouseBot
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot. Use main nick here.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -14,6 +14,7 @@ source: unknown
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "Check a torrent download link. key='value' is your passkey."
|
||||
|
||||
|
@ -27,13 +28,19 @@ irc:
|
|||
announcers:
|
||||
- nCore
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user|autodl
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user|autodl
|
||||
|
||||
- name: nickserv.password
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
|
@ -41,10 +48,10 @@ irc:
|
|||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "NBOT !invite <KEY>"
|
||||
default: "NBOT !invite IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with the key from https://ncore.pro/irc.php
|
||||
help: Invite auth with the key from https://ncore.pro/irc.php. Replace IRCKEY
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -15,10 +15,13 @@ source: gazelle
|
|||
settings:
|
||||
- name: authkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Auth key
|
||||
help: Right click DL on a torrent and get the authkey.
|
||||
|
||||
- name: torrent_pass
|
||||
type: secret
|
||||
required: true
|
||||
label: Torrent pass
|
||||
help: Right click DL on a torrent and get the torrent_pass.
|
||||
|
||||
|
@ -32,24 +35,30 @@ irc:
|
|||
announcers:
|
||||
- DRADIS
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Like user|bot
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user|bot
|
||||
|
||||
- name: nickserv.password
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "Muffit bot #nbl-announce USERNAME IRCKey"
|
||||
default: "Muffit bot #nbl-announce USERNAME IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with Muffit.
|
||||
help: Invite auth with Muffit. Replace USERNAME and IRCKEY.
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "Copy passkey from a download link"
|
||||
|
||||
|
@ -28,12 +29,19 @@ irc:
|
|||
announcers:
|
||||
- NB
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Use primary nick or ask staff to allow grouped nick.
|
||||
- name: nickserv.password
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,10 +15,13 @@ source: gazelle
|
|||
settings:
|
||||
- name: authkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Auth key
|
||||
help: Right click DL on a torrent and get the authkey.
|
||||
|
||||
- name: torrent_pass
|
||||
type: secret
|
||||
required: true
|
||||
label: Torrent pass
|
||||
help: Right click DL on a torrent and get the torrent_pass.
|
||||
|
||||
|
@ -32,22 +35,30 @@ irc:
|
|||
announcers:
|
||||
- Udon
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user|bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user|bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "Udon KNOCK oppaitime-announce [username] [irckey]"
|
||||
default: "Udon KNOCK oppaitime-announce USERNAME IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with Udon. Replace [username] site username and [irckey] with your IRC key.
|
||||
help: Invite auth with Udon. Replace USERNAME site username and IRCKEY with your IRC key.
|
||||
|
||||
# Categories
|
||||
# Movies
|
||||
|
|
|
@ -15,6 +15,7 @@ source: gazelle
|
|||
settings:
|
||||
- name: torrent_pass
|
||||
type: text
|
||||
required: true
|
||||
label: Torrent pass
|
||||
help: Right click DL on a torrent and get the torrent_pass.
|
||||
|
||||
|
@ -28,22 +29,30 @@ irc:
|
|||
announcers:
|
||||
- hermes
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user|bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user|bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "hermes enter #announce USERNAME IRCKey"
|
||||
default: "hermes enter #announce USERNAME IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with Hermes.
|
||||
help: Invite auth with Hermes. Replace USERNAME and IRCKEY.
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -15,10 +15,13 @@ source: gazelle
|
|||
settings:
|
||||
- name: authkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Auth key
|
||||
help: Right click DL on a torrent and get the authkey.
|
||||
|
||||
- name: torrent_pass
|
||||
type: secret
|
||||
required: true
|
||||
label: Torrent pass
|
||||
help: Right click DL on a torrent and get the torrent_pass.
|
||||
|
||||
|
@ -32,12 +35,19 @@ irc:
|
|||
announcers:
|
||||
- "PB-Announcer"
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot.
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "Copy your passkey from the RSS feed"
|
||||
|
||||
|
@ -28,13 +29,19 @@ irc:
|
|||
announcers:
|
||||
- PS-Info
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: nickserv.password
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
@ -42,10 +49,10 @@ irc:
|
|||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "PS-Info pass <IRC_KEY>"
|
||||
default: "PS-Info pass IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with PS-Info. Replace <IRC_KEY> with your IRC key.
|
||||
help: Invite auth with PS-Info. Replace IRCKEY with your IRC key.
|
||||
|
||||
|
||||
parse:
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: rsskey
|
||||
type: secret
|
||||
required: true
|
||||
label: RSS key
|
||||
help: "Go to your profile and copy your RSS key"
|
||||
|
||||
|
@ -28,13 +29,19 @@ irc:
|
|||
announcers:
|
||||
- PT-BOT
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: nickserv.password
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
@ -42,10 +49,10 @@ irc:
|
|||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "PT-BOT invite IRC_KEY"
|
||||
default: "PT-BOT invite IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with PT-BOT. Replace IRC_KEY with your IRC key.
|
||||
help: Invite auth with PT-BOT. Replace IRCKEY with your IRC key.
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -1,61 +1,69 @@
|
|||
---
|
||||
#id: tracker69
|
||||
name: PreToMe
|
||||
identifier: pretome
|
||||
description: PreToMe (PTM) is 0Day/General ratioless tracker with very good speed & Pretime.
|
||||
language: en-us
|
||||
urls:
|
||||
- https://pretome.info/
|
||||
privacy: private
|
||||
protocol: torrent
|
||||
supports:
|
||||
- irc
|
||||
- rss
|
||||
source: custom
|
||||
settings:
|
||||
- name: rsskey
|
||||
type: secret
|
||||
label: RSS key
|
||||
help: "Copy your RSS key from the RSS feed"
|
||||
regex: /([\da-fA-F]{32})
|
||||
|
||||
irc:
|
||||
network: PreToMe
|
||||
server: irc.pretome.info
|
||||
port: 6697
|
||||
tls: true
|
||||
channels:
|
||||
- "#announce"
|
||||
announcers:
|
||||
- PTMbot
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
parse:
|
||||
type: single
|
||||
lines:
|
||||
- test:
|
||||
- "tehFire: [Applications|Windows] Chen went to the Mall :: preGAP: 1m and 32s :: https://pretome.info/details.php?id=696969"
|
||||
- "[Movies|x264] Orlando.Bloom.Had.A.Cow-ze0s :: preGAP: P2P source :: https://pretome.info/details.php?id=646321"
|
||||
- "tehFIRE: [TV|XviD] Royal.Institution.Christmas.Lectures.2009.Part2.WS.PDTV.XviD-WATERS :: preGAP: 1m and 9s :: https://pretome.info/details.php?id=127107"
|
||||
- "tehFIRE: [TV|x264] Newsreaders.S01E05.HDTV.x264-2HD https://pretome.info/details.php?id=333951"
|
||||
pattern: '\[([^\]]+)\] ([^:]+)(?: :: [^:]+:.* :: )?(https?\:\/\/[^\/]+).*id=(\d+)'
|
||||
vars:
|
||||
- category
|
||||
- torrentName
|
||||
- baseUrl
|
||||
- torrentId
|
||||
|
||||
match:
|
||||
torrenturl: "{{ .baseUrl }}/download.php/{{ .torrentId }}/{{ .rsskey }}/{{ .torrentName }}.torrent"
|
||||
encode:
|
||||
- torrentName
|
||||
---
|
||||
#id: tracker69
|
||||
name: PreToMe
|
||||
identifier: pretome
|
||||
description: PreToMe (PTM) is 0Day/General ratioless tracker with very good speed & Pretime.
|
||||
language: en-us
|
||||
urls:
|
||||
- https://pretome.info/
|
||||
privacy: private
|
||||
protocol: torrent
|
||||
supports:
|
||||
- irc
|
||||
- rss
|
||||
source: custom
|
||||
settings:
|
||||
- name: rsskey
|
||||
type: secret
|
||||
required: true
|
||||
label: RSS key
|
||||
help: "Copy your RSS key from the RSS feed"
|
||||
regex: /([\da-fA-F]{32})
|
||||
|
||||
irc:
|
||||
network: PreToMe
|
||||
server: irc.pretome.info
|
||||
port: 6697
|
||||
tls: true
|
||||
channels:
|
||||
- "#announce"
|
||||
announcers:
|
||||
- PTMbot
|
||||
settings:
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
parse:
|
||||
type: single
|
||||
lines:
|
||||
- test:
|
||||
- "tehFire: [Applications|Windows] Chen went to the Mall :: preGAP: 1m and 32s :: https://pretome.info/details.php?id=696969"
|
||||
- "[Movies|x264] Orlando.Bloom.Had.A.Cow-ze0s :: preGAP: P2P source :: https://pretome.info/details.php?id=646321"
|
||||
- "tehFIRE: [TV|XviD] Royal.Institution.Christmas.Lectures.2009.Part2.WS.PDTV.XviD-WATERS :: preGAP: 1m and 9s :: https://pretome.info/details.php?id=127107"
|
||||
- "tehFIRE: [TV|x264] Newsreaders.S01E05.HDTV.x264-2HD https://pretome.info/details.php?id=333951"
|
||||
pattern: '\[([^\]]+)\] ([^:]+)(?: :: [^:]+:.* :: )?(https?\:\/\/[^\/]+).*id=(\d+)'
|
||||
vars:
|
||||
- category
|
||||
- torrentName
|
||||
- baseUrl
|
||||
- torrentId
|
||||
|
||||
match:
|
||||
torrenturl: "{{ .baseUrl }}/download.php/{{ .torrentId }}/{{ .rsskey }}/{{ .torrentName }}.torrent"
|
||||
encode:
|
||||
- torrentName
|
||||
|
|
|
@ -16,18 +16,25 @@ source: gazelle
|
|||
settings:
|
||||
- name: authkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Auth key
|
||||
help: Right click DL on a torrent and get the authkey.
|
||||
|
||||
- name: torrent_pass
|
||||
type: secret
|
||||
required: true
|
||||
label: Torrent pass
|
||||
help: Right click DL on a torrent and get the torrent_pass.
|
||||
|
||||
- name: api_user
|
||||
type: secret
|
||||
required: true
|
||||
label: API User
|
||||
help: Edit profile -> Security -> Generate new api keys
|
||||
|
||||
- name: api_key
|
||||
type: secret
|
||||
required: true
|
||||
label: API Key
|
||||
help: Edit profile -> Security -> Generate new api keys
|
||||
|
||||
|
@ -57,22 +64,30 @@ irc:
|
|||
announcers:
|
||||
- Hummingbird
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user|autodl
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user|autodl
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "Hummingbird ENTER USERNAME IRCKey #ptp-announce-dev"
|
||||
default: "Hummingbird ENTER USERNAME IRCKEY #ptp-announce-dev"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with Hummingbird.
|
||||
help: Invite auth with Hummingbird. Replace USERNAME and IRCKEY.
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: rsskey
|
||||
type: secret
|
||||
required: true
|
||||
label: RSS key
|
||||
help: "Copy your RSS key from the RSS feed"
|
||||
regex: /([\da-fA-F]{20})
|
||||
|
@ -29,12 +30,19 @@ irc:
|
|||
announcers:
|
||||
- _PussyBot_
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
|
|
|
@ -16,14 +16,19 @@ source: gazelle
|
|||
settings:
|
||||
- name: authkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Auth key
|
||||
help: Right click DL on a torrent and get the authkey.
|
||||
|
||||
- name: torrent_pass
|
||||
type: secret
|
||||
required: true
|
||||
label: Torrent pass
|
||||
help: Right click DL on a torrent and get the torrent_pass.
|
||||
|
||||
- name: api_key
|
||||
type: secret
|
||||
required: true
|
||||
label: API Key
|
||||
help: Settings -> Account Settings -> API Keys - Generate new api keys. Scope (User, Torrents)
|
||||
|
||||
|
@ -49,22 +54,30 @@ irc:
|
|||
announcers:
|
||||
- Drone
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user-autodl
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user-autodl
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "Drone enter #red-announce USERNAME IRCKey"
|
||||
default: "Drone enter #red-announce USERNAME IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with Drone.
|
||||
help: Invite auth with Drone. Replace USERNAME and IRCKEY.
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "Go to User CP, User CP Home and copy the passkey"
|
||||
|
||||
|
@ -31,12 +32,19 @@ irc:
|
|||
- retroflix-announcer2
|
||||
- retroflix-announcer3
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "Copy the passkey from a download link"
|
||||
|
||||
|
@ -28,16 +29,24 @@ irc:
|
|||
announcers:
|
||||
- RevoTT
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_autodl
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_autodl
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "RevoTT !invite USERNAME PASSKEY"
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "Go to https://scenehd.org/getrss.php and extract your Passkey"
|
||||
|
||||
|
@ -28,12 +29,19 @@ irc:
|
|||
announcers:
|
||||
- SceneHD
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
|
@ -41,10 +49,10 @@ irc:
|
|||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "SceneHD .invite <IRC_KEY> #annnonce"
|
||||
default: "SceneHD .invite IRCKEY #annnonce"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with SceneHD. Replace <IRC_KEY> with your IRC key
|
||||
help: Invite auth with SceneHD. Replace IRCKEY with your IRC key
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -14,6 +14,7 @@ source: unknown
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: PassKey
|
||||
help: Copy the passkey from your profile
|
||||
|
||||
|
@ -27,12 +28,19 @@ irc:
|
|||
announcers:
|
||||
- speedapp-announcer
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your main user and bot.
|
||||
|
||||
- name: nickserv.password
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -23,12 +23,19 @@ irc:
|
|||
announcers:
|
||||
- "Katou"
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account.
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your main user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,6 +15,7 @@ source: rartracker
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "Copy the passkey from the /rss page."
|
||||
|
||||
|
@ -28,12 +29,19 @@ irc:
|
|||
announcers:
|
||||
- SuperBits
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user-bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user-bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: cookie
|
||||
type: secret
|
||||
required: true
|
||||
label: Cookie
|
||||
help: "Check how to get cookies in your browser and find the uid and pass cookies. Example: uid=1234; pass=asdf12347asdf13"
|
||||
|
||||
|
@ -28,16 +29,24 @@ irc:
|
|||
announcers:
|
||||
- ByteMe
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user-bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user-bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "erica letmeinannounce USERNAME IRCKEY"
|
||||
|
|
|
@ -1,60 +1,68 @@
|
|||
---
|
||||
#id: torrentday
|
||||
name: TorrentDay
|
||||
identifier: torrentday
|
||||
description: TorrentDay (TD) is a private torrent tracker for GENERAL.
|
||||
language: en-us
|
||||
urls:
|
||||
- https://www.torrentday.com
|
||||
privacy: private
|
||||
protocol: torrent
|
||||
supports:
|
||||
- irc
|
||||
- rss
|
||||
source: custom
|
||||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
label: Passkey
|
||||
help: "Create a RSS Link to find out your PASSKEY"
|
||||
|
||||
irc:
|
||||
network: TorrentDay
|
||||
server: irc.torrentday.com
|
||||
port: 6697
|
||||
tls: true
|
||||
channels:
|
||||
- "#td.announce"
|
||||
announcers:
|
||||
- TD_Announce
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. username_autodl
|
||||
- name: nickserv.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
parse:
|
||||
type: single
|
||||
lines:
|
||||
- test:
|
||||
- "[Movie/4K] This is a Movie 2160p UHD BluRay x265-TEST - https://www.torrentday.com/details.php?id=0000000 - 5.83 GB"
|
||||
- "[Movie/4K] This is a Movie 2160p UHD BluRay x265-TEST FREELEECH - https://www.torrentday.com/details.php?id=0000000 - 5.83 GB"
|
||||
pattern: '\[([^\]]*)] (.*?)\s*(FREELEECH)*\s*-\s+(https?\:\/\/[^\/]+).*[&\?]id=(\d+)\s*- (.*)'
|
||||
vars:
|
||||
- category
|
||||
- torrentName
|
||||
- freeleech
|
||||
- baseUrl
|
||||
- torrentId
|
||||
- torrentSize
|
||||
|
||||
match:
|
||||
torrenturl: "{{ .baseUrl }}/download.php/{{ .torrentId }}/{{ .torrentName }}.torrent?torrent_pass={{ .passkey }}"
|
||||
encode:
|
||||
- torrentName
|
||||
---
|
||||
#id: torrentday
|
||||
name: TorrentDay
|
||||
identifier: torrentday
|
||||
description: TorrentDay (TD) is a private torrent tracker for GENERAL.
|
||||
language: en-us
|
||||
urls:
|
||||
- https://www.torrentday.com
|
||||
privacy: private
|
||||
protocol: torrent
|
||||
supports:
|
||||
- irc
|
||||
- rss
|
||||
source: custom
|
||||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "Create a RSS Link to find out your PASSKEY"
|
||||
|
||||
irc:
|
||||
network: TorrentDay
|
||||
server: irc.torrentday.com
|
||||
port: 6697
|
||||
tls: true
|
||||
channels:
|
||||
- "#td.announce"
|
||||
announcers:
|
||||
- TD_Announce
|
||||
settings:
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_autodl
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
parse:
|
||||
type: single
|
||||
lines:
|
||||
- test:
|
||||
- "[Movie/4K] This is a Movie 2160p UHD BluRay x265-TEST - https://www.torrentday.com/details.php?id=0000000 - 5.83 GB"
|
||||
- "[Movie/4K] This is a Movie 2160p UHD BluRay x265-TEST FREELEECH - https://www.torrentday.com/details.php?id=0000000 - 5.83 GB"
|
||||
pattern: '\[([^\]]*)] (.*?)\s*(FREELEECH)*\s*-\s+(https?\:\/\/[^\/]+).*[&\?]id=(\d+)\s*- (.*)'
|
||||
vars:
|
||||
- category
|
||||
- torrentName
|
||||
- freeleech
|
||||
- baseUrl
|
||||
- torrentId
|
||||
- torrentSize
|
||||
|
||||
match:
|
||||
torrenturl: "{{ .baseUrl }}/download.php/{{ .torrentId }}/{{ .torrentName }}.torrent?torrent_pass={{ .passkey }}"
|
||||
encode:
|
||||
- torrentName
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "Go to your profile and copy the PID (passkey)"
|
||||
|
||||
|
@ -28,12 +29,19 @@ irc:
|
|||
announcers:
|
||||
- TDBot
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: rsskey
|
||||
type: secret
|
||||
required: true
|
||||
label: RSS key
|
||||
help: "Go to your profile and copy your RSS key"
|
||||
regex: /([\da-fA-F]{20})
|
||||
|
@ -29,12 +30,19 @@ irc:
|
|||
announcers:
|
||||
- _AnnounceBot_
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,6 +15,7 @@ source: unknown
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: PassKey
|
||||
help: "Home -> RSS -> Extract PassKey from URL"
|
||||
|
||||
|
@ -28,12 +29,19 @@ irc:
|
|||
announcers:
|
||||
- "|TN|"
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user|bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. E.g. user|bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -1,63 +1,72 @@
|
|||
---
|
||||
#id: TorrentSeeds
|
||||
name: TorrentSeeds
|
||||
identifier: torrentseeds
|
||||
description: TorrentSeeds (TS) is a GENERAL/0-DAY tracker with great pretimes.
|
||||
language: en-us
|
||||
urls:
|
||||
- https://torrentseeds.org
|
||||
privacy: private
|
||||
protocol: torrent
|
||||
supports:
|
||||
- irc
|
||||
- rss
|
||||
source: UNIT3D
|
||||
settings:
|
||||
- name: rsskey
|
||||
type: secret
|
||||
label: Rss key
|
||||
help: "Click on your nick / Go to Security / Copy the RID (RSS Key) and paste it here."
|
||||
|
||||
irc:
|
||||
network: Torrentseeds.org
|
||||
server: irc.torrentseeds.org
|
||||
port: 6697
|
||||
tls: true
|
||||
channels:
|
||||
- "#announce"
|
||||
announcers:
|
||||
- torrentseeds
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "Cerberus identify USERNAME IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with Cerberus. Replace USERNAME and IRCKEY
|
||||
|
||||
parse:
|
||||
type: single
|
||||
lines:
|
||||
- test:
|
||||
- "New: This.Is.A.New.show.S00E00.720p.WEB.H264-Test .:. Category: TV/HD .:. Size: 364.82 MB .:. URL: https://www.torrentseeds.org/details.php?id=000000 .:. Uploaded by: George."
|
||||
pattern: 'New: (.*) \.:\. Category: (.*) \.:\. Size: (.*) \.:\. URL: (https?\:\/\/[^\/]+).*\/(\d{6,9}) \.:\. Uploaded by: (.*)\.'
|
||||
vars:
|
||||
- torrentName
|
||||
- category
|
||||
- torrentSize
|
||||
- baseUrl
|
||||
- torrentId
|
||||
- uploader
|
||||
|
||||
match:
|
||||
torrenturl: "{{ .baseUrl }}/torrent/download/{{ .torrentId }}.{{ .rsskey }}"
|
||||
---
|
||||
#id: TorrentSeeds
|
||||
name: TorrentSeeds
|
||||
identifier: torrentseeds
|
||||
description: TorrentSeeds (TS) is a GENERAL/0-DAY tracker with great pretimes.
|
||||
language: en-us
|
||||
urls:
|
||||
- https://torrentseeds.org
|
||||
privacy: private
|
||||
protocol: torrent
|
||||
supports:
|
||||
- irc
|
||||
- rss
|
||||
source: UNIT3D
|
||||
settings:
|
||||
- name: rsskey
|
||||
type: secret
|
||||
required: true
|
||||
label: RSS key
|
||||
help: "Click on your nick / Go to Settings / Security / Copy the RID (RSS Key) and paste it here."
|
||||
|
||||
irc:
|
||||
network: Torrentseeds.org
|
||||
server: irc.torrentseeds.org
|
||||
port: 6697
|
||||
tls: true
|
||||
channels:
|
||||
- "#announce"
|
||||
announcers:
|
||||
- torrentseeds
|
||||
settings:
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "Cerberus identify USERNAME PID"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with Cerberus. Replace USERNAME and PID (passkey).
|
||||
|
||||
parse:
|
||||
type: single
|
||||
lines:
|
||||
- test:
|
||||
- "New: This.Is.A.New.show.S00E00.720p.WEB.H264-Test .:. Category: TV/HD .:. Size: 364.82 MB .:. URL: https://www.torrentseeds.org/details.php?id=000000 .:. Uploaded by: George."
|
||||
pattern: 'New: (.*) \.:\. Category: (.*) \.:\. Size: (.*) \.:\. URL: (https?\:\/\/[^\/]+).*\/(\d{6,9}) \.:\. Uploaded by: (.*)\.'
|
||||
vars:
|
||||
- torrentName
|
||||
- category
|
||||
- torrentSize
|
||||
- baseUrl
|
||||
- torrentId
|
||||
- uploader
|
||||
|
||||
match:
|
||||
torrenturl: "{{ .baseUrl }}/torrent/download/{{ .torrentId }}.{{ .rsskey }}"
|
||||
|
|
|
@ -15,6 +15,7 @@ source: unknown
|
|||
settings:
|
||||
- name: api_key
|
||||
type: secret
|
||||
required: true
|
||||
label: Api-Key
|
||||
help: "Generate an apikey with download scope and copy it. Profileinstellungen -> API-Keys -> API-Key erzeugen"
|
||||
|
||||
|
@ -28,16 +29,24 @@ irc:
|
|||
announcers:
|
||||
- Synd1c4t3
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user-bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user-bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "Synd1c4t3 invite IRCKEY"
|
||||
|
|
|
@ -15,6 +15,7 @@ source: unknown
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "Go to https://www.trancetraffic.com/links.php, click on RSS Feed and copy your passkey from the url."
|
||||
|
||||
|
@ -28,12 +29,19 @@ irc:
|
|||
announcers:
|
||||
- TranceTraffic
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user|autodl
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user|autodl
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
|
|
|
@ -15,10 +15,13 @@ source: gazelle
|
|||
settings:
|
||||
- name: authkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Auth key
|
||||
help: Right click DL on a torrent and get the authkey.
|
||||
|
||||
- name: torrent_pass
|
||||
type: secret
|
||||
required: true
|
||||
label: Torrent pass
|
||||
help: Right click DL on a torrent and get the torrent_pass.
|
||||
|
||||
|
@ -33,22 +36,30 @@ irc:
|
|||
- UHDBot
|
||||
- cr0nusbot
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user|autodl
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: true
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user|autodl
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: true
|
||||
label: NickServ Password
|
||||
help: NickServ password
|
||||
|
||||
- name: invite_command
|
||||
type: secret
|
||||
default: "UHDBot invite IRCKey"
|
||||
default: "UHDBot invite IRCKEY"
|
||||
required: true
|
||||
label: Invite command
|
||||
help: Invite auth with UHDBot.
|
||||
help: Invite auth with UHDBot. Replace IRCKEY.
|
||||
|
||||
parse:
|
||||
type: single
|
||||
|
|
|
@ -15,6 +15,7 @@ source: custom
|
|||
settings:
|
||||
- name: passkey
|
||||
type: secret
|
||||
required: true
|
||||
label: Passkey
|
||||
help: "Go to your profile and copy your Passkey"
|
||||
|
||||
|
@ -28,12 +29,19 @@ irc:
|
|||
announcers:
|
||||
- Announce
|
||||
settings:
|
||||
- name: nickserv.account
|
||||
- name: nick
|
||||
type: text
|
||||
required: true
|
||||
label: Nick
|
||||
help: Bot nick. Eg. user_bot
|
||||
|
||||
- name: auth.account
|
||||
type: text
|
||||
required: false
|
||||
label: NickServ Account
|
||||
help: NickServ account. Make sure to group your user and bot. Eg. user_bot
|
||||
- name: nickserv.password
|
||||
help: NickServ account. Make sure to group your user and bot.
|
||||
|
||||
- name: auth.password
|
||||
type: secret
|
||||
required: false
|
||||
label: NickServ Password
|
||||
|
|
|
@ -153,13 +153,10 @@ func (h *Handler) Run() error {
|
|||
subLogger := zstdlog.NewStdLoggerWithLevel(h.log.With().Logger(), zerolog.TraceLevel)
|
||||
|
||||
h.client = &ircevent.Connection{
|
||||
Nick: h.network.NickServ.Account,
|
||||
User: h.network.NickServ.Account,
|
||||
RealName: h.network.NickServ.Account,
|
||||
Nick: h.network.Nick,
|
||||
User: h.network.Auth.Account,
|
||||
RealName: h.network.Auth.Account,
|
||||
Password: h.network.Pass,
|
||||
SASLLogin: h.network.NickServ.Account,
|
||||
SASLPassword: h.network.NickServ.Password,
|
||||
SASLOptional: true,
|
||||
Server: addr,
|
||||
KeepAlive: 4 * time.Minute,
|
||||
Timeout: 2 * time.Minute,
|
||||
|
@ -170,6 +167,15 @@ func (h *Handler) Run() error {
|
|||
Log: subLogger,
|
||||
}
|
||||
|
||||
if h.network.Auth.Mechanism == domain.IRCAuthMechanismSASLPlain {
|
||||
if h.network.Auth.Account != "" && h.network.Auth.Password != "" {
|
||||
h.client.SASLLogin = h.network.Auth.Account
|
||||
h.client.SASLPassword = h.network.Auth.Password
|
||||
h.client.SASLOptional = true
|
||||
h.client.UseSASL = true
|
||||
}
|
||||
}
|
||||
|
||||
if h.network.TLS {
|
||||
h.client.UseTLS = true
|
||||
h.client.TLSConfig = &tls.Config{InsecureSkipVerify: true}
|
||||
|
@ -226,7 +232,7 @@ func (h *Handler) Run() error {
|
|||
func (h *Handler) isOurNick(nick string) bool {
|
||||
h.m.RLock()
|
||||
defer h.m.RUnlock()
|
||||
return h.network.NickServ.Account == nick
|
||||
return h.network.Nick == nick
|
||||
}
|
||||
|
||||
func (h *Handler) isOurCurrentNick(nick string) bool {
|
||||
|
@ -440,7 +446,7 @@ func (h *Handler) handleNickServ(msg ircmsg.Message) {
|
|||
if contains(msg.Params[1], "invalid parameters", "help identify") {
|
||||
h.log.Debug().Msgf("NOTICE nickserv invalid: %v", msg.Params)
|
||||
|
||||
if err := h.client.Send("PRIVMSG", "NickServ", fmt.Sprintf("IDENTIFY %v %v", h.network.NickServ.Account, h.network.NickServ.Password)); err != nil {
|
||||
if err := h.client.Send("PRIVMSG", "NickServ", fmt.Sprintf("IDENTIFY %v %v", h.network.Auth.Account, h.network.Auth.Password)); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
@ -455,9 +461,9 @@ func (h *Handler) authenticate() bool {
|
|||
return true
|
||||
}
|
||||
|
||||
if !h.saslauthed && h.network.NickServ.Password != "" {
|
||||
if !h.saslauthed && h.network.Auth.Password != "" {
|
||||
h.log.Trace().Msg("on connect not authenticated and password not empty: send nickserv identify")
|
||||
if err := h.NickServIdentify(h.network.NickServ.Password); err != nil {
|
||||
if err := h.NickServIdentify(h.network.Auth.Password); err != nil {
|
||||
h.log.Error().Stack().Err(err).Msg("error nickserv")
|
||||
return false
|
||||
}
|
||||
|
|
|
@ -88,7 +88,7 @@ func (s *service) StartHandlers() {
|
|||
|
||||
// use network.Server + nick to use multiple indexers with different nick per network
|
||||
// this allows for multiple handlers to one network
|
||||
s.handlers[handlerKey{network.Server, network.NickServ.Account}] = handler
|
||||
s.handlers[handlerKey{network.Server, network.Nick}] = handler
|
||||
s.lock.Unlock()
|
||||
|
||||
s.log.Debug().Msgf("starting network: %+v", network.Name)
|
||||
|
@ -112,7 +112,7 @@ func (s *service) StopHandlers() {
|
|||
|
||||
func (s *service) startNetwork(network domain.IrcNetwork) error {
|
||||
// look if we have the network in handlers already, if so start it
|
||||
if existingHandler, found := s.handlers[handlerKey{network.Server, network.NickServ.Account}]; found {
|
||||
if existingHandler, found := s.handlers[handlerKey{network.Server, network.Nick}]; found {
|
||||
s.log.Debug().Msgf("starting network: %+v", network.Name)
|
||||
|
||||
if !existingHandler.client.Connected() {
|
||||
|
@ -138,7 +138,7 @@ func (s *service) startNetwork(network domain.IrcNetwork) error {
|
|||
// init new irc handler
|
||||
handler := NewHandler(s.log, network, definitions, s.releaseService, s.notificationService)
|
||||
|
||||
s.handlers[handlerKey{network.Server, network.NickServ.Account}] = handler
|
||||
s.handlers[handlerKey{network.Server, network.Nick}] = handler
|
||||
s.lock.Unlock()
|
||||
|
||||
s.log.Debug().Msgf("starting network: %+v", network.Name)
|
||||
|
@ -155,7 +155,7 @@ func (s *service) startNetwork(network domain.IrcNetwork) error {
|
|||
|
||||
func (s *service) checkIfNetworkRestartNeeded(network *domain.IrcNetwork) error {
|
||||
// look if we have the network in handlers, if so restart it
|
||||
if existingHandler, found := s.handlers[handlerKey{network.Server, network.NickServ.Account}]; found {
|
||||
if existingHandler, found := s.handlers[handlerKey{network.Server, network.Nick}]; found {
|
||||
s.log.Debug().Msgf("irc: decide if irc network handler needs restart or updating: %+v", network.Server)
|
||||
|
||||
// if server, tls, invite command, port : changed - restart
|
||||
|
@ -192,17 +192,17 @@ func (s *service) checkIfNetworkRestartNeeded(network *domain.IrcNetwork) error
|
|||
return nil
|
||||
}
|
||||
|
||||
if handler.NickServ.Account != network.NickServ.Account {
|
||||
if handler.Nick != network.Nick {
|
||||
s.log.Debug().Msg("changing nick")
|
||||
|
||||
if err := existingHandler.NickChange(network.NickServ.Account); err != nil {
|
||||
s.log.Error().Stack().Err(err).Msgf("failed to change nick %q", network.NickServ.Account)
|
||||
if err := existingHandler.NickChange(network.Nick); err != nil {
|
||||
s.log.Error().Stack().Err(err).Msgf("failed to change nick %q", network.Nick)
|
||||
}
|
||||
} else if handler.NickServ.Password != network.NickServ.Password {
|
||||
} else if handler.Auth.Password != network.Auth.Password {
|
||||
s.log.Debug().Msg("nickserv: changing password")
|
||||
|
||||
if err := existingHandler.NickServIdentify(network.NickServ.Password); err != nil {
|
||||
s.log.Error().Stack().Err(err).Msgf("failed to identify with nickserv %q", network.NickServ.Account)
|
||||
if err := existingHandler.NickServIdentify(network.Auth.Password); err != nil {
|
||||
s.log.Error().Stack().Err(err).Msgf("failed to identify with nickserv %q", network.Nick)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -291,7 +291,7 @@ func (s *service) RestartNetwork(ctx context.Context, id int64) error {
|
|||
|
||||
func (s *service) restartNetwork(network domain.IrcNetwork) error {
|
||||
// look if we have the network in handlers, if so restart it
|
||||
if existingHandler, found := s.handlers[handlerKey{network.Server, network.NickServ.Account}]; found {
|
||||
if existingHandler, found := s.handlers[handlerKey{network.Server, network.Nick}]; found {
|
||||
s.log.Info().Msgf("restarting network: %v", network.Name)
|
||||
|
||||
if existingHandler.client.Connected() {
|
||||
|
@ -396,14 +396,15 @@ func (s *service) GetNetworksWithHealth(ctx context.Context) ([]domain.IrcNetwor
|
|||
Port: n.Port,
|
||||
TLS: n.TLS,
|
||||
Pass: n.Pass,
|
||||
Nick: n.Nick,
|
||||
Auth: n.Auth,
|
||||
InviteCommand: n.InviteCommand,
|
||||
NickServ: n.NickServ,
|
||||
Connected: false,
|
||||
Channels: []domain.ChannelWithHealth{},
|
||||
ConnectionErrors: []string{},
|
||||
}
|
||||
|
||||
handler, ok := s.handlers[handlerKey{n.Server, n.NickServ.Account}]
|
||||
handler, ok := s.handlers[handlerKey{n.Server, n.Nick}]
|
||||
if ok {
|
||||
handler.m.RLock()
|
||||
|
||||
|
@ -484,7 +485,7 @@ func (s *service) DeleteNetwork(ctx context.Context, id int64) error {
|
|||
|
||||
// Remove network and handler
|
||||
//if err = s.StopNetwork(network.Server); err != nil {
|
||||
if err = s.StopAndRemoveNetwork(handlerKey{network.Server, network.NickServ.Account}); err != nil {
|
||||
if err = s.StopAndRemoveNetwork(handlerKey{network.Server, network.Nick}); err != nil {
|
||||
s.log.Error().Stack().Err(err).Msgf("could not stop and delete network: %v", network.Name)
|
||||
return err
|
||||
}
|
||||
|
@ -524,7 +525,7 @@ func (s *service) UpdateNetwork(ctx context.Context, network *domain.IrcNetwork)
|
|||
|
||||
} else {
|
||||
// take into account multiple channels per network
|
||||
err := s.StopAndRemoveNetwork(handlerKey{network.Server, network.NickServ.Account})
|
||||
err := s.StopAndRemoveNetwork(handlerKey{network.Server, network.Nick})
|
||||
if err != nil {
|
||||
s.log.Error().Stack().Err(err).Msgf("could not stop network: %+v", network.Name)
|
||||
return errors.New("could not stop network: %v", network.Name)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue