DALnet XFLAGs FAQ ================= Version 1.7.0 Last revised by Fredfred (Fredfred at dal.net) and h (AHFR at Email.com) on 2018-12-29 Originally written by h (AHFR at Email.com) on 2018-10-05 Copyright (C) 2018 by the DALnet IRC Network Please direct any comments or feedback about this document (only! no help requests!) to docs@dal.net. If you need help on issues not covered in this document, please see the information at http://help.dal.net/. Introduction ------------ A common question on DALnet is: "How can I stop floodbots from attacking my channel?". This document attempts to help stop or at least minimize the flooding. It explains the new eXtended flags command and how it exactly works, and why it might be needed in the channel. Contents -------- 1 * What is XFLAG? 2 * Do I need XFLAG? 3 * How to check a channel eXtended flags 4 * What is the XFLAG Command? 4.1 Join connect time 4.2 Talk connect time 4.3 Talk Join time 4.4 Notice 4.5 CTCP 4.6 Part Messages 4.7 Quit Messages 4.8 Changing Nicknames 4.9 Encoding/Unicodes 4.10 VPNs 4.11 Shells 4.12 Exempt Opped 4.13 Exempt Voiced 4.14 Exempt Identd 4.15 Exempt Registered Nicks 4.16 Exempt Invited Users 4.17 Exempt Webirc Users 4.18 Automsg 4.19 Hide Mode Lists 4.20 User Verbose 5 * Special XFLAG 5.1 Recommended 5.2 Default 6 * Frequently Asked Questions 7 * Conclusion 1 * What is XFLAG? ------------------ The XFLAG is a command that prevents floodbots or annoying users from abusing your channel with unwanted messages or notices. The extended channel flags can be set by the managers or the founder only. *NOTE:* This feature can help you to avoid attackers from abusing your channel, and it can make your channel more secured. For more information please read the article https://www.dal.net/kb/view.php?kb=414 2 * Do I need XFLAG? -------------------- In most cases, the answer is "no". DALnet's Channel modes are designed to prevent floodbots from joining your channel and stop them from their misbehavior. In fact, you can still set your channel to +RM. Read more about channel modes in http://docs.dal.net/docs/modes.html. There are many options and values for extended flags in your channel, and they are all going to be explained one by one in this FAQ. We will also show you how to set your channel XFLAG to the recommended options which will protect your channel from being abused, or reset it to default option. Please check our special eXtended Flags at section 5 3 * How to check a channel eXtended flags ----------------------------------------- To check a channel XFLAG, you will need to be at least an AOp to issue the command. XFLAG COMMAND: " /msg ChanServ@services.dal.net XFLAG <#channel-name> " Below is an example of what the XFLAG INFO request may return as an information for the channel #docsteam: -ChanServ- XFLAGs for the channel #docsteam: -ChanServ- JOIN_CONNECT_TIME: 30 -ChanServ- TALK_CONNECT_TIME: 0 -ChanServ- TALK_JOIN_TIME: 60 -ChanServ- NO_NOTICE: On -ChanServ- NO_CTCP: On -ChanServ- NO_PART_MSG: On -ChanServ- NO_QUIT_MSG: On -ChanServ- NO_NICK_CHANGE: Off -ChanServ- NO_UTF8: On -ChanServ- NO_VPNS: Off -ChanServ- NO_SHELLS: On -ChanServ- HIDE_MODE_LISTS: On -ChanServ- EXEMPT_OPPED: On -ChanServ- EXEMPT_VOICED: On -ChanServ- EXEMPT_IDENTD: On -ChanServ- EXEMPT_REGISTERED: On -ChanServ- EXEMPT_INVITES: On -ChanServ- EXEMPT_WEBIRC: On -ChanServ- AUTOMSG: On -ChanServ- USER_VERBOSE: Off -ChanServ- End of list. NOTE:In this example, users will only be able to join the channel after being online for 30 seconds and will only be able to talk on the channel after 60 seconds (+r'ed users and users with identd will be exempted from both, while voiced+opped users will be exempted from the 30 seconds delay). In fact, you can use a recommended eXtended flags, for more information please check section 5. 4 * What is the XFLAG Command? ------------------------------ SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " You can set an option and value to extend the security for your channel, and here is an example of JOIN_CONNECT_TIME and NO_NOTICE all in a row: EXAMPLE: " /msg ChanServ@services.dal.net XFLAG <#docsteam> " For more information about how to add in a row "/msg ChanServ@services.dal.net XFLAG HELP". 4.1 * Join connect time ----------------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: Number of seconds the user must be online in DALnet network to be able to join your channel. For example, if you want users to stay 10 seconds in a queue before they join your channel, you need to change the word VALUE to 10. 4.2 * Talk connect time ----------------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: Number of seconds the user must be online in DALnet network to be able to talk on your channel. For example, if you want users to wait 30 seconds before they talks in your channel, you need to change the word VALUE to 30. 4.3 * Talk Join time -------------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: Number of seconds the user must be on the channel to be able to talk on your channel. For example, if you want users to be muted for 15 seconds after they join your channel, you need to change the word VALUE to 15. 4.4 * Notice ------------ SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: You will prevent anyone from sending notices to your channel. 4.5 * CTCP ---------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: You will prevent users from sending CTCP to check other users info like ping, time, version, userinfo or clientinfo on your channel. 4.6 * Part Messages ------------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: Part messages from users that leave the channel will not be shown to the users who are in your channel. 4.7 * Quit Messages ------------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: You will not see any quit message from quitting users in your channel unless you turn this option OFF. 4.8 * Changing Nicknames ------------------------ SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: Users will not be allowed to change their nicks while this option is set to ON. 4.9 * Encoding/Unicodes ----------------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: All messages with strange characters (Hebrew/Arabic/UTF8) are suppressed in channel when this option is set to ON. 4.10 * VPNs ----------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: No connections from public VPN services will be allowed when you set this option to ON. A virtual private network (VPN) is a technology that creates a safe and encrypted connection over a less secure network. 4.11 * Shells ------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: If this option is set ON, no connections from shell providers will be allowed in the channel. A shell is used to connect to DALnet with a remote hosts using the connection from the shell provider. 4.12 * Exempt Opped ------------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: You can exempt your ops from other channel XFLAG options you have set. 4.13 * Exempt Voiced -------------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: You can exempt voiced users from your channel XFLAG options you have set. 4.14 * Exempt Identd -------------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: Your users with ident ON will be exempted from your channel XFLAG options you have set. 4.15 * Exempt Registered Nicks ------------------------------ SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: Users with the umode +r will be exempted from your channel XFLAG options you have set. 4.16 * Exempt Invited Users --------------------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: Users with the channelmode +I will be exempted from your channel XFLAG options you have set. 4.17 * Exempt Webirc Users -------------------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: Users who connect to DALnet via the webirc will be exempted from other channel XFLAG options you have set. 4.18 * Automsg -------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: Users will get a pre-defined greetmsg ("This channel is protected due to abuse, you may need to wait X seconds before being able to talk!") when they join the channel, if you have set the mode ON. 4.19 * Hide Mode Lists ---------------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: This mode will hide the following mode-lists from all non-ops of your channel when its set ON: +b/+I/+e . 4.20 * User Verbose ------------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: If this mode is set, it will send failed command messages to #channel-relay. 4.20.1 * What is #channel-relay ? When the option USER_VERBOSE is set to ON, failed messages and failed join attempts to your channel will be relayed to #channel-relay. If #channel-relay is NOT registered, then only AOP+ of the main #channel and IRC Operators can join #channel-relay. If #channel-relay IS registered, then it works like a normal channel and anyone can join unless RESTRICT is set to on and/or mode/MLOCK restrictions (+i, +k, etc.) are on. #channel-relay can only be registered by the founder of the main #channel. 5 * Special XFLAG ----------------- DALnet has designed special flags for the channels that are being flooded. In fact, you can also set your own desired options with the special eXtended flags. 5.1 * Recommended ----------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: Recommended option will stop unwanted users who join your channel for flooding from talking for 30 seconds and will prevent them from sending any notice or ctcps to channel users. Exempted from that are opped, voiced, registered and invited users. All those options can be set using this one command. 5.2 * Default ------------- SYNTAX: " /msg ChanServ@services.dal.net XFLAG <#channel> " INFORMATION: This option will reset all eXtended flags to off and 0. 6 * Frequently Asked Questions ------------------------------ In Sunday, the 25th of November 2018, DALnet planned for services training session about the new DALnet Services features!. The session was about XFLAG and others features that were not released yet. At the end of the session, DALnet did a Frequently Asked Questions session, and in this section you will read some of users questions Q: What works best for JOIN_CONNECT_TIME and is the value in seconds? A: /ChanServ XFLAG #channel JOIN_CONNECT_TIME:30 and Yes its in seconds. Q: Can we change GREETMSG? A: No, you can only use a default premade greeting with the following command. /ChanServ XFLAG #channel AUTOMSG:ON Q: Is there a maximum integer value for any of the time settings? A: Any number between 0 to 2592000 should be fine Q: Does blocking CTCP also block CTCP ACTION (aka a /me command)? A: Yes, NO_CTCP also blocks actions (/me something) Q: What about the channels that the founders and managers are away. How can the ops set these commands to prevent flooders? A: A channel must have a founder set, you should be able to send a memo to the founder. If you can't reach the founder at all, join #OperHelp and we will try to help you. Q: Could add a help to show what RECOMMENDED does, assuming it will change A: The recommended feature currently enables the following xflags: NO_NOTICE:ON, NO_CTCP:ON, NO_PART_MSG:ON, NO_QUIT_MSG:ON, EXEMPT_OPPED:ON, EXEMPT_VOICED:ON, EXEMPT_REGISTERED:ON, EXEMPT_INVITES:ON, HIDE_MODE_LISTS:ON, AUTOMSG:ON, TALK_JOIN_TIME:30 Q: What could XFLAG do, that my bot can't? A: It adds more tools to help you prevent thousands of drones from thousands of IP addresses from joining your channel, instead of just being limited to things like setting mode +R (registered nicks only). Q: Can I use the RECOMMENDED option for XFLAG and turn off EXEMPT_IDENTD ? A: Yes. You can do /ChanServ XFLAG #channel RECOMMENDED and then tweak the options. Q: With the no_ctcp, it blocks someone from user info, is that valid only for as long as that person is in the channel? A: No, it doesn't block private ctcps. It only prevents /ctcp request to the channel, i.e. /ctcp #channel ping NOTE: Here is the link of the session https://www.dal.net/kb/view.php?kb=430. 7 * Conclusion -------------- During a huge flood, this feature will minimize the flood effect on channels. These flags will be controlled by DALnet services, and will be available to all channels and IRC Operator will be able to check the channel flags. ---------------------------------------------------------------------- IRC: /server irc.dal.net 7000 (also port 6667) The Web: http://www.dal.net/ DALnet Help: http://help.dal.net/ IRC FTP: ftp://ftp.dal.net/ Network! Email: help at dal.net (help), docs at dal.net (help documents), suggest at dal.net (suggestions and comments)