Version 1.7.0
Last revised by Fredfred (Fredfred@dal.net) and h (AHFR@Email.com) on 2018年12月29日
Originally written by h (AHFR@Email.com) on 2018年10月05日
Copyright © 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.
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.
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
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
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.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel option:value [...] option:value
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 JOIN_CONNECT_TIME:10 NO_NOTICE:ON
For more information about how to add in a row /msg ChanServ@services.dal.net XFLAG HELP.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel JOIN_CONNECT_TIME:VALUE
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.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel TALK_CONNECT_TIME:VALUE
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.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel TALK_JOIN_TIME:VALUE
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.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel NO_NOTICE:ON/OFF
Information: You will prevent anyone from sending notices to your channel.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel NO_CTCP:ON/OFF
Information: You will prevent users from sending CTCP to check other users info like ping, time, version, userinfo or clientinfo on your channel.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel NO_PART_MSG:ON/OFF
Information: Part messages from users that leave the channel will not be shown to the users who are in your channel.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel NO_QUIT_MSG:ON/OFF
Information: You will not see any quit message from quitting users in your channel unless you turn this option OFF.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel NO_NICK_CHANGE:ON/OFF
Information: Users will not be allowed to change their nicks while this option is set to ON.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel NO_UTF8:ON/OFF
Information: All messages with strange characters (Hebrew/Arabic/UTF8) are suppressed in channel when this option is set to ON.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel NO_VPNS:ON/OFF
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.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel NO_SHELLS:ON/OFF
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.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel EXEMPT_OPPED:ON/OFF
Information: You can exempt your ops from other channel XFLAG options you have set.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel EXEMPT_VOICED:ON/OFF
Information: You can exempt voiced users from your channel XFLAG options you have set.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel EXEMPT_IDENTD:ON/OFF
Information: Your users with ident ON will be exempted from your channel XFLAG options you have set.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel EXEMPT_REGISTERED:ON/OFF
Information: Users with the umode +r will be exempted from your channel XFLAG options you have set.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel EXEMPT_INVITES:ON/OFF
Information: Users with the channelmode +I will be exempted from your channel XFLAG options you have set.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel EXEMPT_WEBIRC:ON/OFF
Information: Users who connect to DALnet via the webirc will be exempted from other channel XFLAG options you have set.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel AUTOMSG:ON/OFF
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.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel HIDE_MODE_LISTS:ON/OFF
Information: This mode will hide the following mode-lists from all non-ops of your channel when its set ON: +b/+I/+e .
Syntax: /msg ChanServ@services.dal.net XFLAG #channel USER_VERBOSE:ON/OFF
Information: If this mode is set, it will send failed command messages to #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.
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.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel RECOMMENDED
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.
Syntax: /msg ChanServ@services.dal.net XFLAG #channel DEFAULT
Information: This option will reset all eXtended flags to off and 0.
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
A: /ChanServ XFLAG #channel JOIN_CONNECT_TIME:30 and Yes its in seconds.
A: No, you can only use a default premade greeting with the following command. /ChanServ XFLAG #channel AUTOMSG:ON
A: Any number between 0 to 2592000 should be fine
A: Yes, NO_CTCP also blocks actions (/me something)
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.
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
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).
A: Yes. You can do /ChanServ XFLAG #channel RECOMMENDED and then tweak the options.
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.
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.