Advertisement
Guest User

Untitled

a guest
Jul 18th, 2017
423
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.10 KB | None | 0 0
  1. # This is a sample configuration file for PyLink. You'll likely want to rename it to pylink.yml
  2. # and begin your configuration there.
  3.  
  4. # Note: lines starting with a "#" are comments and will be ignored.
  5. # Note 2: Use SPACES, NOT tabs to indent, or you will get parser errors on start!
  6.  
  7. bot:
  8. # Sets nick, user/ident, and real name.
  9. nick: IFPyLink
  10. ident: ifpylink
  11. realname: IRCFreakz PyLink Service Client
  12.  
  13. # Server description (shown in /links, /whois, etc.)
  14. serverdesc: IRCFreakz PyLink Server
  15.  
  16. # Sets the default fantasy command prefix for calling commands inside channels
  17. # (requires fantasy plugin).
  18. prefix: "&"
  19.  
  20. # Determines whether the bot will reply to commands prefixed with its nick
  21. # (case sensitive and requires the fantasy plugin).
  22. respondtonick: true
  23.  
  24. # Custom fantasy command prefixes for other service bots if they are loaded
  25. # (requires fantasy plugin).
  26. prefixes:
  27. games: "@"
  28.  
  29. # Determines whether hideoper modes should be respected in WHOIS replies.
  30. # Defaults to true if not specified.
  31. whois_use_hideoper: true
  32.  
  33. # Determines whether extended WHOIS replies should be sent to users with
  34. # +B set (marked as a bot). For better security, it is recommended to leave this off.
  35. whois_show_extensions_to_bots: false
  36.  
  37. # Determines whether PyLink service clients should protect themselves from
  38. # kicks, kills, etc. using IRCd-side servprotect modes. For this to work
  39. # properly, this usually requires that PyLink be U-Lined. This defaults to
  40. # False.
  41. protect_services: false
  42.  
  43. # Determines how long plugins should wait (in seconds) before flushing their
  44. # databases to disk. Defaults to 300 seconds. Changes here require a reload
  45. # of all database-enabled plugins to take effect.
  46. save_delay: 300
  47.  
  48. login:
  49. accounts:
  50. Jason:
  51.  
  52. permissions:
  53. # Permissions are described in more detail in example-permissions.yml, if you want to
  54. # customize permissions further.
  55.  
  56. # Replace ABC123 with your PyLink account name (configured above)
  57. # in order to give yourself admin access.
  58. "$pylinkacc:Jason":
  59. - "*"
  60.  
  61. servers:
  62. # Please note: these are only EXAMPLE link blocks. You should edit them and
  63. # remove ones that you don't need in your config.
  64.  
  65. # Short name for the network. This is used for relay's nick suffixes, the
  66. # network plugin's (dis)connect commands, and various other places internally.
  67. # CHANGE THIS to some abbreviation representing your network; usually
  68. # something 3-5 characters should be good.
  69. IRCF:
  70.  
  71. # Server IP, port, and passwords. The ip: field also supports resolving
  72. # hostnames.
  73. ip: 158.69.219.219
  74. port: 7201
  75. recvpass: "LiNkFrEaKz"
  76. sendpass: "LiNkFrEaKz"
  77.  
  78. # Set the bind host, useful for multi-homed hosts.
  79. bindhost: 158.69.219.219
  80.  
  81. # The full network name, used by plugins.
  82. netname: "IRCFreakz"
  83.  
  84. # Hostname we will use to connect to the remote server
  85. hostname: "pylink.ircfreakz.net"
  86.  
  87. # SID - required for TS6 and TS6-like servers. This must be three characters:
  88. # the first char must be a digit [0-9], and the remaining two chars may
  89. # be either uppercase letters [A-Z] or digits.
  90. sid: "0PY"
  91.  
  92. # SID range - the range of SIDs PyLink is allowed to use to generate
  93. # server IDs. On TS6, this should be a combination of digits, letters,
  94. # and #'s. Each # denotes a range (0-9A-Z) of characters that can be
  95. # used by PyLink to generate appropriate SIDs. You will want to make
  96. # sure no other servers are using this range.
  97. # There must be at least one # in this entry.
  98. sidrange: "8##"
  99.  
  100. # Autojoin channels. Comment this line out if you don't want service bots
  101. # to join any channels by default.
  102. channels: ["#services"]
  103.  
  104. # Sets the protocol module to use for this network - see the README for a
  105. # list of supported IRCds.
  106. protocol: "inspircd"
  107.  
  108. # Sets autoconnect delay - comment this out or set the value below 1 to
  109. # disable autoconnect entirely.
  110. autoconnect: 30
  111.  
  112. # Sets the ping frequency in seconds (i.e. how long we should wait between
  113. # sending pings to our uplink). When more than two consecutive pings are missed,
  114. # PyLink will disconnect with a ping timeout. This defaults to 90 if not set.
  115. pingfreq: 90
  116.  
  117. # If enabled, this opts this network out of relay IP sharing: this network
  118. # will not have its users' IPs sent across the relay, and it will not see any
  119. # IPs of other networks' users.
  120. #relay_no_ips: true
  121.  
  122. # Sets the max nick length for the network. It is important that this is
  123. # set correctly, or PyLink might introduce a nick that is too long and
  124. # cause netsplits! This defaults to 30 if not set.
  125. maxnicklen: 30
  126.  
  127. # Toggles SSL for this network. Defaults to False if not specified.
  128. ssl: true
  129.  
  130. # Optional SSL cert/key to pass to the uplink server.
  131. ssl_certfile: cert.pem
  132. ssl_keyfile: key.pem
  133.  
  134. # Optionally, you can set this option to verify the SSL certificate
  135. # fingerprint of your uplink.
  136. ssl_fingerprint: "b834a97b6adb6dac704c39d837f5a87f"
  137.  
  138. # This sets the hash type for the fingerprint (md5, sha1, sha256, etc.)
  139. # Valid values include md5 and sha1-sha512, though others may be
  140. # supported depending on your system: see
  141. # https://docs.python.org/3/library/hashlib.html
  142. # This setting defaults to sha256.
  143. #ssl_fingerprint_type: md5
  144.  
  145. ts6net:
  146. ip: ::1
  147.  
  148. # Determines whether IPv6 should be used for this connection. Should the ip:
  149. # above be a hostname instead of an IP, this will also affect whether A records
  150. # (no IPv6) or AAAA records (IPv6) will be used in resolving it.
  151. ipv6: yes
  152.  
  153. port: 7000
  154. recvpass: "abcd"
  155. sendpass: "abcd"
  156. hostname: "pylink.example.com"
  157. sid: "8PY"
  158. netname: "some TS6 network"
  159. sidrange: "8P#"
  160.  
  161. protocol: "ts6"
  162. autoconnect: 0
  163.  
  164. # Note: /'s in nicks are automatically converted to |'s for TS6
  165. # networks (charybdis, etc.), since they don't allow "/" in nicks.
  166. separator: "|"
  167.  
  168. # The following options are specific to TS6 servers:
  169. # Toggles owner (+y), admin (+a), and halfop (+h) support for
  170. # shadowircd/elemental-ircd.
  171. # This defaults to off for the best compatibility.
  172. use_owner: false
  173. use_admin: false
  174. use_halfop: false
  175.  
  176. # Toggles support of shadowircd/elemental-ircd specific channel modes:
  177. # +T (no notice), +u (hidden ban list), +E (no kicks), +J (blocks kickrejoin),
  178. # +K (no repeat messages), +d (no nick changes), and user modes:
  179. # +B (bot), +C (blocks CTCP), +D (deaf), +V (no invites), +I (hides WHOIS channel list)
  180. use_elemental_modes: false
  181.  
  182. unrealnet:
  183. ip: 1.2.3.4
  184. port: 8067
  185.  
  186. # Received and sent passwords. For passwordless links using SSL fingerprints, simply set
  187. # these two fields to "*" and enable SSL with a cert and key file.
  188. recvpass: "coffee"
  189. sendpass: "tea"
  190. #ssl: true
  191. #ssl_certfile: mycert.pem
  192. #ssl_keyfile: mycert.pem
  193.  
  194. hostname: "pylink.example.com"
  195. sid: "2PY"
  196. netname: "This should match your UnrealIRCd config"
  197. sidrange: "8##"
  198. channels: []
  199. protocol: "unreal"
  200. autoconnect: 0
  201.  
  202. # You can also define network-specific nicks and idents for various service
  203. # bots, using the configuration options "servicename_nick" and "servicename_ident".
  204. #pylink_nick: MagicServ
  205. #pylink_ident: magicserv
  206. #games_nick: MagicGames
  207. #games_ident: magicgames
  208.  
  209. nefarious:
  210. ip: somenet.ddns.local
  211. #ipv6: false
  212. port: 45454
  213. recvpass: "recv"
  214. sendpass: "send"
  215. hostname: "pylink.midnight.vpn"
  216.  
  217. # For P10, the SID and SID range options are just numbers. Make sure nothing
  218. # else is using the range you're reserving for PyLink.
  219. sid: 50
  220. sidrange: "100-150"
  221. channels: ["#lounge"]
  222. protocol: nefarious
  223. autoconnect: 0
  224. netname: "Nefarious test server"
  225.  
  226. # The following options are specific to Nefarious servers.
  227. # Halfop is optional in Nefarious. This should match your IRCd configuration.
  228. use_halfop: false
  229.  
  230. # Determines whether account-based cloaks should be used (someone.users.yournet.org
  231. # format). This should match your IRCd configuration:
  232. # ENABLE this if HOST_HIDING_STYLE is set to either 1 or 3.
  233. use_account_cloaks: true
  234.  
  235. # The cloak suffix to be used for account-based cloaks. This **MUST** match your
  236. # IRCd configuration if use_account_cloaks is enabled.
  237. cloak_suffix: "users.yournet.org"
  238.  
  239. # Determines whether account-based cloaks should be used for opers
  240. # (someone.opers.yournet.org format). If use_account_cloaks is disabled,
  241. # this will have no effect. This should match your IRCd configuration:
  242. use_oper_account_cloaks: true
  243.  
  244. # The cloak suffix to be used for IRCop account-based cloaks. This **MUST** match your
  245. # IRCd configuration if use_oper_account_cloaks is enabled.
  246. oper_cloak_suffix: "staff.yournet.org"
  247.  
  248. # Determines whether UnrealIRCd-style hashed-host cloaks will be used.
  249. # This should match your IRCd configuration:
  250. # ENABLE this if HOST_HIDING_STYLE is set to either 2 or 3.
  251. use_hashed_cloaks: true
  252.  
  253. # Determines whether extended accounts should be used for this network.
  254. # This **MUST** match the EXTENDED_ACCOUNTS setting in your IRCd configuration.
  255. # Disable this if you are using X3, and leave it on for any other service package
  256. # (atheme, etc.)
  257. use_extended_accounts: true
  258.  
  259. # Sample Clientbot configuration, if you want to connect PyLink as a bot to relay somewhere
  260. # (or do other bot things).
  261. magicnet:
  262. ip: 1.2.3.4
  263. port: 6697
  264.  
  265. # Server password (optional). Some networks also forward this to NickServ, so you can
  266. # use it to log in on connect.
  267. #sendpass: "wastedbytes103"
  268.  
  269. channels: ["#this-works-as-usual"]
  270. protocol: "clientbot"
  271.  
  272. # You can set any clientbot-specific nicks and idents here if you wish. They default to
  273. # the nick/ident specified in the bot: config block if not given.
  274. pylink_nick: pybot
  275. #pylink_ident: pybot
  276.  
  277. # SSL options. Certfile and keyfile are optional, but can be used for CertFP/SASL external
  278. # if supported.
  279. ssl: true
  280. #ssl_certfile: mycert.pem
  281. #ssl_keyfile: mycert.pem
  282.  
  283. # SASL login: for mechanisms, only EXTERNAL (SSL cert) and PLAIN (username and password)
  284. # are supported so far.
  285. # SASL PLAIN requires the sasl_username and sasl_password options to be set, while
  286. # SASL EXTERNAL requires ssl, ssl_certfile, and ssl_keyfile to work.
  287. #sasl_mechanism: "PLAIN"
  288. #sasl_username: "mIRCsKripterz"
  289. #sasl_password: "DownLoaditn00b!!!"
  290.  
  291. # Defines the SASL timeout - this defaults to 15 seconds.
  292. #sasl_timeout: 15
  293.  
  294. # If this option is enabled, the bot will attempt SASL authentication even after it's
  295. # connected, as services become available throughout netsplits and reconnects.
  296. # Note: This requires an IRC server capable of IRCv3.2 cap-notify and sasl:
  297. # InspIRCd 3.x and charybdis 4+ (and derivatives) are some compatible examples (as of 2016-12-19)
  298. #sasl_reauth: true
  299.  
  300. # Autoconnect works like usual.
  301. autoconnect: 0
  302.  
  303. # Message throttling: when set to a non-zero value, only one message will be sent every X
  304. # seconds. If your bot is constantly running into Excess Flood errors, raising this to
  305. # something like 0.5 or 1.0 should help. Defaults to 0.01 if not set.
  306. throttle_time: 0.3
  307.  
  308. # Clientbot also supports auto perform, using raw IRC messages.
  309. #autoperform:
  310. # - "NOTICE somebody :hello, i've connected"
  311.  
  312. # Determines whether oper statuses should be tracked on this Clientbot network. This
  313. # defaults to False for the best security, since oper status may allow more access to the
  314. # entire PyLink service than what's desired, even when PyLink is only connected as a bot.
  315. track_oper_statuses: false
  316.  
  317. # Plugins to load (omit the .py extension)
  318. plugins:
  319. # Commands plugin: Provides simple commands for things like checking login
  320. # status, and showing info on users and channels.
  321. - commands
  322.  
  323. # Networks plugin: Allows you to manage connections to networks while
  324. # PyLink is running.
  325. - networks
  326.  
  327. # Ctcp plugin: handles basic CTCP replies (VERSION, etc).
  328. - ctcp
  329.  
  330. # Oper commands plugin: Provides a subset of network management commands.
  331. # (KILL, JUPE, etc.)
  332. # Note: these commands will be made available to anyone who's opered on your
  333. # network, so make sure your opers are trustworthy!
  334. - opercmds
  335.  
  336. # Bots plugin: Allows you to manipulate pseudo-clients (bots) on networks.
  337. - bots
  338.  
  339. # Relay plugin: Server-side (like Janus) relay plugin. See the relay: block
  340. # below for configuration.
  341. - relay
  342.  
  343. # Relay Clientbot support: this allows channel messages and events like
  344. # JOIN, PART, KICK, etc. to relay over networks using Clientbot. You will
  345. # want this loaded if you're using PyLink as a relay bot.
  346. - relay_clientbot
  347.  
  348. # Fantasy plugin: Allows you to trigger commands in channels by PyLink's
  349. # nick or configurable prefix characters.
  350. - fantasy
  351.  
  352. # Changehost plugin: Automatically changes the hostmask (i.e. sets vHosts) on
  353. # matching users as they connect. This requires the changehost: block
  354. # to be configured correctly below.
  355. - changehost
  356.  
  357. # Automode plugin: allows assigning channel access to specific hostmasks or
  358. # exttargets. See https://github.com/GLolol/PyLink/blob/master/docs/automode.md
  359. # for a usage guide.
  360. - automode
  361.  
  362. # Servermaps plugin: displays network /map's from the PyLink server's perspective.
  363. - servermaps
  364.  
  365. logging:
  366. # This configuration block defines targets that PyLink should log commands,
  367. # errors, etc., to.
  368.  
  369. # This sets the level for STDOUT logging, which is always enabled. Valid
  370. # settings include DEBUG, INFO, WARNING, ERROR, and CRITICAL: see
  371. # https://docs.python.org/3/library/logging.html#logging-levels for details.
  372. stdout: INFO
  373.  
  374. channels:
  375. # Logs to channels on the specified networks.
  376. # Make sure that the main PyLink client is also configured to join your
  377. # log channel in the "channels:" block for the relevant networks.
  378.  
  379. # Note: Log messages are forwarded over relay, so you will get duplicate
  380. # messages if you add log blocks for more than one channel in one
  381. # relay.
  382.  
  383. # Note 2: DEBUG logging is not supported here: any log level settings
  384. # below INFO be automatically raised to INFO.
  385.  
  386. IRCF:
  387. "#services":
  388. loglevel: INFO
  389.  
  390. files:
  391. # Logs to file targets. These will be placed in the log/ folder in the
  392. # PyLink directory, with a filename based on the current instance name
  393. # and the target name: instancename-targetname.log
  394.  
  395. # When running with ./pylink, this will create log/pylink-errors.log
  396. # When running with ./pylink someconf.yml, this will create log/someconf-errors.log
  397. "errors":
  398. loglevel: ERROR
  399.  
  400. # Ditto above. When running with ./pylink, it will use log/pylink-commands.log
  401. # When running with ./pylink someconf.yml, this will create log/someconf-commands.log
  402. "commands":
  403. loglevel: INFO
  404.  
  405. # Uncomment this to enable debug logging. This is only needed if you're developing for
  406. # PyLink or are requested to enable this when reporting a bug.
  407. #"debug":
  408. # loglevel: DEBUG
  409.  
  410. #filerotation:
  411. # Configures optional log file rotation. When enabled, PyLink will create rotate files
  412. # in the format pylink-commands.log, pylink-commands.log.1, pylink-commands.log.2, etc.
  413. # If either max_bytes or backup_count is 0, log rotation will be disabled.
  414.  
  415. # Max amount of bytes per file, before rotation is done. Defaults to 50 MiB (52428800 bytes).
  416. #max_bytes: 52428800
  417.  
  418. # Amount of backups to make. Defaults to 5.
  419. #backup_count: 5
  420.  
  421. changehost:
  422. # This block configures the Changehost plugin. You don't need this if you
  423. # aren't using it.
  424.  
  425. # Sets the networks where Changehost should be enabled. Please note: changehost does NOT support
  426. # arbitrarily cloaking clients introduced by PyLink (e.g. relay clients), as doing so would make
  427. # ban matching impossible. In these cases, it is the remote admin's job to turn on cloaking on
  428. # their IRCd!
  429. enabled_nets:
  430. - IRCF
  431.  
  432. # Sets the networks where Changehost hosts should be enforced: that is, any attempts
  433. # by the user or other services to overwrite a host will be reverted.
  434. #enforced_nets:
  435. # - inspnet
  436.  
  437. # Sets the masks that Changehost enforcement should ignore: these can be users with certain
  438. # hosts, exttargets, etc.
  439. enforce_exceptions:
  440. - "*!*@yournet/staff/*"
  441. #- "$account"
  442.  
  443. # Determines whether Changehost rules should also match the host portion of a mask by IP and
  444. # real hosts. These default to false.
  445. #match_ip: false
  446. #match_realhosts: false
  447.  
  448. # This sets the hostmasks that Changehost should look for. Whenever someone
  449. # with a matching nick!user@host connects, their host will be set to the
  450. # text defined. The following substitutions are available here:
  451. # $uid, $ts (time of connection), $nick, $realhost, $ident, and $ip.
  452. # Invalid characters in hosts are replaced with a "-".
  453. # Also, make sure you quote each entry so the YAML parser treats them as
  454. # raw strings.
  455. hosts:
  456.  
  457. # Here are some examples. Note that to keep your users' details
  458. # private, you should probably refrain from using $ip or $realhost,
  459. # in these hostmasks, unless cloaking is already disabled.
  460. # "*!GLolol@*.yournet.com": "$nick.opers.yournet.com"
  461. # "*!*@localhost": "some-server.hostname"
  462.  
  463. # Freenode-style masks are possible with this (though without the
  464. # hashing)
  465. # "*!*@bnc-server.yournet.com": "yournet/bnc-users/$ident"
  466. # "*!*@ircip?.mibbit.com": "$ident.$realhost"
  467. # "WebchatUser*!*@*": "webchat/users/$ident"
  468.  
  469. relay:
  470. # This block defines various options for the Relay plugin. You don't need this
  471. # if you aren't using it.
  472.  
  473. # Determines whether remote opers will have user mode +H (hideoper) set on
  474. # them. This has the benefit of lowering the oper count in /lusers and
  475. # /stats (P|p), but only on IRCds that support it. This defaults to true
  476. # if not set.
  477. hideoper: true
  478.  
  479. # Determines whether real IPs should be sent across the relay. You should
  480. # generally have a consensus with your linked networks on whether this should
  481. # be turned on. You will see other networks' user IP addresses, and they
  482. # will see yours. Individual networks can also opt out of IP sharing
  483. # both ways by defining "relay_no_ips: true" in their server block.
  484. show_ips: false
  485.  
  486. # Determines whether NickServ login info should be shown in the /whois output for
  487. # relay users.
  488. # Valid options include "all" (show this to everyone), "opers" (show only to
  489. # opers), and "none" (disabled). Defaults to none if not specified.
  490. whois_show_accounts: all
  491.  
  492. # Determines whether the origin server should be shown in the /whois output for
  493. # relay users.
  494. # Valid options include "all" (show this to everyone), "opers" (show only to
  495. # opers), and "none" (disabled). Defaults to none if not specified.
  496. whois_show_server: opers
  497.  
  498. # Determines whether the servers disconnecting in a netsplit should be shown when
  499. # relaying quits due to a netsplit. Defaults to False.
  500. show_netsplits: false
  501.  
  502. # Sets the default Relay separator. Defaults to / if not specified. The "separator"
  503. # option in server blocks override this if specified.
  504. separator: "/"
  505.  
  506. # Determines whether all nicks will be tagged by default, instead of only when a
  507. # nick collision happens. It is HIGHLY RECOMMENDED that you enable this, unless you're
  508. # absolutely sure NO ONE will be using the same nick on 2 or more networks in your
  509. # relay.
  510. # This defaults to True if not specified. Disabling this option is currently
  511. # experimental.
  512. tag_nicks: true
  513.  
  514. # If tag_nicks is False, this specifies a list of NICK globs that network
  515. # tags should be added for anyways (e.g. network services).
  516. forcetag_nicks:
  517. - "*Serv"
  518.  
  519. # This determines whether private messages & notices will be forwarded over Clientbot relay,
  520. # and whether the 'rpm' command will be allowed from Clientbot networks. This defaults to
  521. # False.
  522. allow_clientbot_pms: false
  523.  
  524. # Sets the suffix that relay subservers should use. Defaults to "relay" (as in net1.relay,
  525. # net2.relay, etc.) if not specified.
  526. #server_suffix: "relay.yournet.net"
  527.  
  528. # Sets whether Clientbot mode sync will be enabled. Valid options:
  529. # "full" - Sync bans, ban/invite exceptions, prefix modes, and all RFC1459-standard modes. The
  530. # bot will need op in the Clientbot channel for this to work both ways.
  531. # "half" - Sync only bans, ban/invite exceptions, and prefix modes. The bot will need op in the
  532. # Clientbot channel for this to work both ways.
  533. # "none" - Turns off mode sync. This is the default.
  534. #
  535. # Note: when mode sync is enabled and the bot is opped, CLAIM protection will be enforced across
  536. # Clientbot links as well. This means that the bot will try to revert any mode changes by non-ops
  537. # or services not in the channel. The workaround is to add all Clientbot networks to the CLAIM
  538. # list of any affected channels.
  539. #
  540. #clientbot_modesync: none
  541.  
  542. games:
  543. # Sets the nick of the Games service, if you're using it. This defaults to "games" if not defined.
  544. nick: Games
  545.  
  546. automode:
  547. # Sets the nick of the Automode service, if you're using it. This defaults to "automode" if not defined.
  548. nick: Automode
  549.  
  550. # For each service, you can also specify what prefix modes you want the service bot to join channels with.
  551. # Setting this to op (+o) for Automode makes it appear more like a standard IRC service, and lessens
  552. # the risk of mode overrides being dropped.
  553. joinmodes: 'o'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement