Giter Site home page Giter Site logo

xthemeorg / xtheme Goto Github PK

View Code? Open in Web Editor NEW
19.0 11.0 8.0 12.44 MB

Xtheme IRC Services (a feature-packed, modern fork of atheme IRC Services)

Home Page: https://github.com/XthemeOrg/Xtheme

License: Other

Makefile 0.93% Shell 0.99% Perl 5.93% C 81.86% PHP 6.31% Python 0.01% Ruby 0.02% XS 0.48% M4 3.24% Perl 6 0.02% Rust 0.20% sed 0.01%
irc irc-services irc-networks atheme xtheme-irc-services swi c xtheme web-panel xthemeorg

xtheme's Introduction

Xtheme

Xtheme is a set of services for IRC networks designed for large IRC networks with high scalability requirements. It is relatively mature software, with some code and design derived from another package called Atheme and Shrike.

Xtheme's behavior is tunable using modules and a highly detailed configuration file. Almost all behavior can be changed at deployment time just by editing the configuration.

If you are running this code from Git, you should read GIT-Access for instructions on how to fully check out the Xtheme tree, as it is spread across many repositories.

Basic build instructions for the impatient

Whatever you do, make sure you do not install Xtheme into the same location as the source. Xtheme will default to installing in $HOME/xtheme, so make sure you plan accordingly for this.

$ git submodule update --init
$ ./configure
$ make
$ make install

If you're still lost, read INSTALL or GIT-Access for hints. Help is also available on the Xtheme IRC Services Wiki

IRC Support

  • IRC irc.IRC4Fun.net #Xtheme
  • IRC chat.Freenode.net #Xtheme

SWI (services web interface) Web Panel for Xtheme

If you are interested in having a Services Web Interface (or Services Web Panel), SWI IS compatible with Xtheme and other Atheme forks, and is available at: http://www.Xtheme.org/swi/ or https://github.com/XthemeOrg/SWI/

Stay up-to-date with XthemeOrg

For News, Updates and Security Advisories, please subscribe to the XthemeOrg News mailing list at: https://xtheme.org/org-tools/newsletter

links / contact

xtheme's People

Contributors

aaronmdjones avatar adam- avatar aji avatar alyx avatar attilamolnar avatar binki avatar dwfreed avatar elizafox avatar errietta avatar grawity avatar heartmender avatar irydacea avatar jdhore avatar jillest avatar kaniini avatar marienz avatar maxteufel avatar mrbenc avatar mrflea avatar ori-sky avatar pippijn avatar rburchell avatar renegade334 avatar rixcho avatar sariyamelody avatar shutterquick avatar sinistar7 avatar staticfox avatar svetlana-t avatar viatsko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xtheme's Issues

Channel Flag for Suspended users (P)

Xtheme 7.4.0 Channel Access Suspension Flag (P).

It appears that the Atheme Group contemplated this idea (given that most Services packages have channel access suspensions) and it appears commented out in some areas.

I am currently playing with the functionality, but have gone with channel suspension flag P which would allow channel Founders to suspend users rather than removing their flags during corrective actions for a duration of time or until manually removed.

Discussion, feedback?

New Suggestion For Nickserv Hold Command

Current Situation: when admin set hold a nick, all nick in the same group will get hold.

Suggestion:

  1. Hold command can be add for single nick. Other nick in the same group will not get the flags or it can have function to turn group hold on/off
  2. Display/show who added the hold flags in the Nickserv INFO: Flags: hold added by Maro on ....

Show last-success upon identifying

(Referenced atheme/atheme#454 - Show last-success upon identifying - by @Gryllida)

Upon successfully identifying, Atheme notifies users about number of failed identify attempts, and hostmask of the last such failed identify attempt. However, no information about last successful identify attempt is shown. The only way for users to know that their account was compromised is either by

  • noticing that the password changed, or
  • running an INFO command before each IDENTIFY command by hand.
    This situation leaves users unaware of successful account issues which did not involve password changes.

There should be some means for the user to know where (at least one) successful identify attempt is from. This should be information about either

  • 1 last successful identify hostmask, or
  • a list of several last hostmasks the user identified from (like Gmail, screenshot included)

I agree. Adding a last successful login would be helpful. I am not sure (at this time) about adding a list, as I think the last successful login would suffice.

MODULE REQUEST : Chanserv CHECKBAN

Syntax: CHECKBAN channel

This command tells you why you are banned from a channel.

dwarf unable to join channel (address is banned)

-ChanServ- The ban guest_!_@* set by Dwarf prevents you from joining #dwarf.

MODULE REQUEST: ChanServ FREEZE

NOTE: This module was requested by Maro in #Xtheme without a GitHub account.

ChanServ > Freeze

(Allow a channel to be used, but "suspend" all access on channel.)
Intentions: Allows network staff (of smaller networks) to "suspend" all access on a channel without forcibly closing it. (and thus dis-allowing use of the channel)

I would like to get more discussion on this -- if anyone has an opinion. While I can see the use for such a module, is it really a beneficial option or a burden to network staff?

MODULE REQUEST: ChanServ MVOICE/MOP

NOTE: This module was requested by Maro in #Xtheme without a GitHub account.

ChanServ > MVOICE / MOP

(Mass voice and/or Mass op a channel)
*Intentions: Allows channel operators to mass voice or mass op a channel. *

I would like to get more discussion on this -- if anyone has an opinion. While I can't see the use for such a module, would this be useful or just command bloat?

Some ./configure flags dont work

The following ./configure options dont seem to work / have any effect:

./configure --datarootdir=/usr/share/xtheme --docdir=/usr/share/doc/xtheme

just though you should know.

immune not working

Hello..
I use inspircd2.0.20 and use xtheme 7.3.1
I already set immune..
But normal user can !kick oper..
Can u fix it?

  • immune - require whatever ircd usermode is needed for kick

  •         immunity (this is the default);
    

    immune_level = immune;

Chanserv -> MKICK -> #channel

Evacuates a channel completely by kicking everyone out, banning !@* (everyone), setting mode +i (invite only) and +l 1. When MKICKing a channel, you cannot UNBAN or INVITE yourself back into the channel.

Masskicks are limited to one an hour, and are only available to SOP's and Founders.

/ns sendpass failed

Hello..
My user lost password.. i already /ns sendpass exco
But email send failed
Can u fix it?

I already set

mta = "/usr/sbin/sendmail";

* GLOBOPS: From services.******: sendemail(): email for selangorselangor@staff.****** type setpass to exco [email protected]
-NickServ-: Email send failed.

Ns list forbidden

I suggest xtheme should have forbidden list such as frozen list in the /msg NickServ HELP LIST. Currently we cant track which nick has been forbid and list of them

Suggested command : /ns list forbidden

MODULE REQUEST: Chanserv USERINFO #channel activate/reject

  1. User who have +f or SOP in Channel can simple add USERINFO for other user who have access but not with +f or SOP. They can simple add anything they like in the USERINFO
  2. User who have access but not with +f or SOP cant delete/reject the USERINFO that have been added
  3. I would like to suggest that USERINFO should have command activate/reject and user have choice to select the best USERINFO for them

ChanServ Rejoin after Freeze..

Hello..i have issue..
Chanserv rejoin after freeze..
If user join.. chanserv rejoin..

***GLOBOPS: From services.int: selangor froze the channel �#A� (Take Over Issue).
Join: ChanServ [services.int]
Mode: [+o ChanServ] by *.int
-ChanServ-: #A is now frozen.
Mode: [-o A] by ChanServ
Part: ChanServ [[email protected]] [Leaving]
Part: A [[email protected]]
Join: A [-vk7.l33.1.103.IP]
Join: ChanServ [services.int]
Mode: [+o ChanServ] by *.int
Part: ChanServ [[email protected]] [Leaving]
Join: Rawang [-vk8.l33.1.113.IP]
Join: ChanServ [services.int]
Mode: [+o ChanServ] by *.int
Part: ChanServ [[email protected]] [Leaving]
Join: Guest47955 [-vk7.l36.1.133.IP]
Join: ChanServ [services.int]
Mode: [+o ChanServ] by *.int
Part: ChanServ [[email protected]] [Leaving]

Remove AdminServ from contrib

As it is, XthemeOrg/adminserv is only compatible with IRC networks running charybdis.

It is proposed that some AdminServ functionality be moved into core (OperServ & NickServ as applicable) such as the WHOWAS and WHOIS command, then remove XthemeOrg/adminserv and move it to legacy.

To Do (More may come)

  • Protocol/Inspircd: Add RPL_WHOWAS_* numerics to inspircd protocol
  • Protocol/unreal: Add RPL_WHOWAS_* numerics to unreal protocol
  • Protocol/unreal4: Add RPL_WHOWAS_* numerics to unreal4 protocol
  • Protocol/charybdis: Add RPL_WHOWAS_* numerics to charybdis protocol
  • Move functionality for WHOWAS to OperServ, requiring the user:auspex privilege.
  • Move functionality for WHOIS to NickServ, not showing channel lists (or at least +s or +p channels).
  • Remove XthemeOrg/adminserv from contrib modules.

/ns sendpass failed

hello Austin ..
i have problem ..
i already upgrade services xtheme 7.3.3
i already set
mta = "/usr/sbin/sendmail";

went i use /ns sendpass selangor

[19:26] @Operserv sendemail(): email for selangor(selangor@staff/selangor) (120.140.67.209) type setpass to a [email protected]
[19:26] @nickserv Selangor SENDPASS: a (change key)
[19:26] -NickServ- The password change key for a has been sent to the corresponding email address.
[19:26] @Operserv sendemail_waited(): email for [email protected] failed

InfoServ post | list

InfoServ post and list has a different date and time display as per the NickServ ChanServ info etc etc date and time display.

If InfoServ could be made to have the post and list date and time display in-line with Services.

Services has it as:

Jun 01 00:00:00 2015

nickserv/identify: show (when applicable) SOPER class

It would be nifty to be able to not only see that a Services Operator has identified to their account (SOPER) but also what class or access they have. Currently, it just shows their nick and their account nickname.

REQUEST: Show Modifier/Setter in Flags output

NOTE: This was requested by Maro in #Xtheme without a GitHub account.

ChanServ > Flags (Enhancement)

(Show Modifier/Setter in FLAGS output)
Intentions: Allows network users to see who set or modified the flags of a user in FLAGS output, similar to other services packages.

suggestion to make flags list more organized

Currently the flags list is so massive and i would like to suggest that:

  1. Flags list should be list accordingly by rank/power/flags. User has more flags should be at the top following by others
  2. +b list should be at the bottom with a separate line (/cs flags list)
  3. Make it short because each line are too long

Current:

Entry Nickname/Host Flags
-ChanServ- 1 Maro +AFORaefhioqrstv (FOUNDER) (#lala) [modified 1y 7w 4d ago, on Nov 09 14:34:54 2014 +0000 by xyz]

Suggestion:

Entry Nickname/Host Flags
-ChanServ- 1 Maro +AFORaefhioqrstv (FOUNDER) (#lala) [modified 1y 7w 4d ago, by xyz]

Nickserv Watch : /msg NickServ WATCH <ADD|DEL|LIST> [nick]

  • Allows you to view and modify your NickServ watch list.
  • You will be notified when a user on your watch list connects to IRC.
    Syntax:
    WATCH ADD
    WATCH DEL
    WATCH LIST
  • WATCH ADD adds the specified nick to your watch list. WATCH DEL deletes the specified nick from your nick list. WATCH LIST displays your watch list.

reset Services database Entity ID number

This would be quite nice is to reset the Services database Entity ID umber.

When you register a nick or group you get an Entity ID number AAAAA AAAAB etc etc.

When a nick or group gets dropped, it would be quite nice to reset the database Entity ID number.

-- F gets dropped to reset it back to F instead of next one G
-- C and E get dropped to re-sort it back in order. A B C D E F

Instead of missing / skipping the ones dropped.

Could be done automatically or an option in xtheme.conf or OperServ command to reset it back.

Or another thought an option to sort the Entity ID number into alphabetical order / date order.

ChanServ MODERATE oversight..

ChanServ MODERATE Issue

When the user requesting the registration of the channel either goes offline, reconnects, or simply logs out of NickServ and a Services Operator activates the channel, ChanServ does not join the channel.

ChanServ should join the channel as soon as the channel is activated (if GUARD is set by default according to configuration)

setup error when i do -- make

ptasks.c: In function 'handle_stats':
ptasks.c:143: error: 'mowgli_eventloop_timer_t' has no member named 'deadline'
../buildsys.mk:319: recipe for target 'ptasks.lib.o' failed
gmake[1]: *** [ptasks.lib.o] Error 1
buildsys.mk:120: recipe for target 'libathemecore' failed
gmake: *** [libathemecore] Error 2
*** [.DEFAULT] Error code 2
untitled

MODULE REQUEST : Chanserv Set ProtectOP

SET PROTECTOP prevents channel operators from being deoped by anyone of
lower access level. For example: If a AOP, tried to kick a SOP, they would NOT be able to.

Command Syntax:

/msg ChanServ Set #channel ProtectOP on|off

-ChanServ- Flags : ProtectOP

MemoServ sendops | sendgroup

MemoServ sendops and sendgroup displays the channel name and group name as:

channel message

!group message

It would look a lot nicer having the channel name and group name up the top:

From Nick, for #channel | for !group

like how the others do it.

ENHANCEMENT: ChanFix NOFIX

ChanFix > NOFIX

(Makes ChanFix essentially ignore a channel as far as automatic and manual fixes)
*Intentions: Allows services operators to exclude channels from ChanFix support. (such as Channels that violate Network AUPs, Channels that opt-out of ChanFix support, etc.) *

services database missing +e for channel founder

The services database services.db does not have +e for the channel founder and does not say Founder as the flags name and access list says Founder as < Custom >

flags #channel displays Founder as (#channel) [modified ...]
access #channel list as < Custom >

xtheme.conf flags for founder: founder = "+AFORaefhioqrstv";
services.db: +AFORfiorstv
(using mixin no halfops protect owner)

AOP and SOP displays it as AOP and SOP in flags and access list.

When you take out +e for Founder in xtheme.conf, flags and access list displays it correctly as Founder as the name.

xtheme.motd unavailable

Hello, i already install xtheme 7.30 .. but why xtheme.motd unvailable ?

I already include "etc/xtheme.motd"

But still unavailable..

Thanks.

MODULE REQUEST : ChanServ MDEOP

same like DALnet server

ChanServ > MDEOP

-ChanServ- ***** ChanServ Help *****
-ChanServ- Command - MDEOP
-ChanServ- Usage - MDEOP
-ChanServ- Removes operator status from all users on the named channel.
-ChanServ- Limited to channel AutoOps and above.
-ChanServ- You cannot mass deop a channel with higher ranking ops in it than you.
-ChanServ- Example:
-ChanServ- /msg ChanServ MDEOP #channel
-ChanServ- ***** End of Help *****

NOTE: This command would be added to ChanServ CLEAR, if implemented. (e.g. /chanserv CLEAR #channelname OPS)

  • Definitely up for more discussion of this feature request before (if) it is implemented. Request modified as far as text and appearance. Factual information has not been changed or removed.

ChanServ help flags - slow to respond

When doing ChanServ help flags - it is slow to respond. It brings up half the help file and then waits for a minute or longer and does the rest.

All other help commands are fine and displays them instantly.

on mIRC and Kiwi IRC, and checked with another user which is the same on their end.

-ChanServ- ***** ChanServ Help *****
-ChanServ- Help for FLAGS:
-ChanServ-  
-ChanServ- The FLAGS command allows for the granting/removal of channel
-ChanServ- privileges on a more specific, non-generalized level. It
-ChanServ- supports nicknames, groups and hostmasks as targets.
-ChanServ-  
-ChanServ- When only the channel argument is given, a listing of
-ChanServ- permissions granted to users will be displayed.
-ChanServ-  
-ChanServ- Syntax: FLAGS <#channel>
-ChanServ-  
-ChanServ- Otherwise, an access entry is modified. A modification may be
-ChanServ- specified by a template name (changes the access to the
-ChanServ- template) or a flags change (starts with + or -). See the
-ChanServ- TEMPLATE help entry for more information about templates.
-ChanServ-  
-ChanServ- If you are not a founder, you may only manipulate flags you
-ChanServ- have yourself, and may not edit users that have flags you
-ChanServ- don't have. For this purpose, +v grants the ability to grant
-ChanServ- +V, +o grants the ability to grant +O, and +r grants the
-ChanServ- ability to grant +b.
-ChanServ-  
-ChanServ- If the LIMITFLAGS option is set for the channel, this is
-ChanServ- restricted further, see help for SET LIMITFLAGS.
-ChanServ-  
-ChanServ-  
-ChanServ-  
-ChanServ- If you do not have +f you may still remove your own access
-ChanServ- with -*.
-ChanServ-  
-ChanServ- Syntax: FLAGS <#channel> [nickname|hostmask|group template]

waits for a minute or longer

-ChanServ- Syntax: FLAGS <#channel> [nickname|hostmask|group flag_changes]
-ChanServ-  
-ChanServ- Permissions:
-ChanServ-     +v - Enables use of the voice/devoice commands.
-ChanServ-     +V - Enables automatic voice.
-ChanServ-     +o - Enables use of the op/deop commands.
-ChanServ-     +O - Enables automatic op.
-ChanServ-     +s - Enables use of the set command.
-ChanServ-     +i - Enables use of the invite and getkey commands.
-ChanServ-     +r - Enables use of the kick, kickban, ban and unban commands.
-ChanServ-     +R - Enables use of the recover, sync and clear commands.
-ChanServ-     +f - Enables modification of channel access lists.
-ChanServ-     +t - Enables use of the topic and topicappend commands.
-ChanServ-     +A - Enables viewing of channel access lists.
-ChanServ-     +F - Grants full founder access.
-ChanServ-     +b - Enables automatic kickban.
-ChanServ-     +P - Suspends the user of any access or privileges.
-ChanServ-     +e - Exempts from +b and enables unbanning self.
-ChanServ-  
-ChanServ- The special permission +* adds all permissions except +b, +P and +F.
-ChanServ- ***** End of Help *****

REQUEST: Show Modifier/Setter in SOP/AOP/VOP/HOP output

-ChanServ- SOP list for #channel :
-ChanServ- 1: user1 (not logged in) - added by Sinistar (1y 2w 3d)
-ChanServ- 2: user2 (logged in) - added by Sinistar (2w 3d 4h)
-ChanServ- Total of 2 entries in SOP list of #channel.

This module will look simple, short, clean and easy to channel management to monitor channel access list.

MODULE REQUEST: Bring back ChanServ SET FOUNDER

NOTE: This module was requested by Maro in #Xtheme without a GitHub account.

ChanServ > SET FOUNDER (Removed in Atheme 7.2.5)

(Allow channel founders the ability to change Founders without Services or IRC Operator intervention.)

I also think this command is still useful. Though the command was removed in Atheme 7.2.5, I would still welcome it back, especially since requested.

MODULE REQUEST : NickServ Set MFORWARD [on|off] [<nick>]

This command will redirect all memos arriving to the nickname you are using to a new nickname that you specify. You need to be identified to both nicknames in order to enable this command. If you set MFORWARD OFF it will stop forwarding memos for the nick you are using. You cannot turn MFORWARD on if you have NOMEMO set on.

/msg nickserv set mforward on User1

/msg nickserv set mforward off

MODULE REQUEST : NickServ Set BlockSendPass On / Off

I would like to request modules /NickServ Set Blocksendpass On / Off

same like
-NickServ- BLOCKSENDPASS Blocks non-IRCOps from doing a SENDPASS on your account

if i set /ns set blocksendpass on
-NickServ- The BLOCKSENDPASS flag has been set for account selangor

and if i set /ns set blocksendpass off
-NickServ- The BLOCKSENDPASS flag has been removed for account selangor

if i use /ns sendpass mohdschizo
-NickServ- This operation could not be performed on mohdschizo because they have BLOCKSENDPASS enabled.

and at /ns info mohdschizo
-NickServ- Flags : HideMail, NeverOp, NeverGroup, NoGreet, BlockSendpass

BotServ's caller on ACT/SAY should be optionally broadcasted

Referencing a similar issue reported to the upstream atheme/atheme#487 reported by @glolol

On larger community with many ops, it is very easy for one op to start abusing BotServ with little or no accountability to who's doing so. Perhaps there could be a prefixsay channel option that botserv/bottalk registers, so that if enabled, messages going through /bs say/act are prefixed with the caller's account: [user1] Announcement

The only workaround I can see is to stop using BotServ entirely on the affected channels, as not everyone has snoop channel or modunload access. But that sort of ruins the point of configurable bots in the first place.

It should be optional (per-channel) to show the caller of the SAY/ACT commands (not by default)

MODULE REQUEST : Chanserv Set MEMOLEVEL

Usage: SET # MEMOLEVEL [VOP|AOP|SOP|FOUNDER]

-ChanServ- Flags : MEMOLEVEL(AOP)


This setting has a default of VOP when you register a room. You can however change the memolevel. A room memo is a memo sent to every registered nick in any of the room's lists or to everyone in a specified list such as AOP. This command lets you restrict who can send them to the people of your room.

Memos are useful for announcing policies or information everyone in the room might need. For example, if you do not add AOPs often, you could send a memo to the entire room informing them of a new AOP.

ChanFix: ChanFix does not fix certain channels

Even with the un-registered channels NOT having NOFIX set on their channel, ChanFix is ignoring some channels and looping during the attempted fix with just removing modes, but never restoring ops.

Some contrib modules are still using kline_sts

Some modules in contrib are still using kline_sts, which is not optimal. They should be patched to use kline_add.

(This also allows them to be saved to AKILLs, allowing easiear management of their hits)

This should be fixed before Xtheme v7.4.0 is released.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.