IRC Server met MySQL authenticatie

Pagina: 1
Acties:

  • Noxious
  • Registratie: Juli 2002
  • Laatst online: 22-01 19:11
Ik wil een bestaande IRC server aanpassen zodat deze MySQL authenticatie mogelijk maakt (volgens mij zijn er geen die dit standaard hebben).

Wat ik precies wil:
- de server moet draaien op Ubuntu 6.04 (huidige versie) en 8.04 (geplande upgrade)
- de server moet connecten naar een bestaande MySQL database waar o.a. Username en Password (als md5) staan opgeslagen
- de server moet bij het inloggen uit deze tabel een geldige username/password combinatie krijgen en anders de verbinding met de client verbreken (en optioneel bannen na x pogingen, maar da's van later zorg)
- afhankelijk van rechten in deze tabel moeten sommige users automatisch OP/HOP/V enz krijgen in channels

Ik heb alleen nog mijn vraagtekens bij de volgende zaken:
- het liefste zou ik nickchanges niet toestaan, ik weet alleen niet of dat mogelijk is, anders moeten de clients aangepast worden maar blijft het een risico
- hoe zit het met de OP/HOP/V, kan een server dat zomaar op basis van instellingen of heb je daar nog aanvullende services voor nodig
- is er een server die dit standaard kan, ik heb er met veel gegoogle nog niet een gevonden
- zal iedere client dit zomaar accepten, ik weet niet of dit standaardfunctionaliteit is, is een password on connect wel mogelijk bij IRC of volgens het IRC protocol
- kan ik dit eventheel niet op een andere manier oplossen (zie verderop mogelijke alternatieven)

De server gaat gebruikt worden:
- via een webbased chat, simpel java ding oid met wat extra's en een fancy custom theme
- een op maat geschreven uitgebreide client die de communicatie met eventuele botjes voor bijv. het opvragen van foto's van anderen uit een profiel op de site afhandelt zonder dat de user daar iets van merkt en een soort buddy list kan bijhouden van mensen die online zijn uit je vriendenlijst voor direct 1 op 1 kletsen a la msn (deze client is er nog niet en moet ook nog ontwikkeld worden, liefst multiplatform)
- door beheerders/moderators via bijv. mirc, xchat, enz

Mogelijke alternatieven:
- gebruikmaken van een ander systeem, er zijn wel wat in flash geschreven grappen maar die zijn niet goedkoop en stellen soms bizarre eisen aan de omgeving waar het op gaat draaien. daarnaast is het beheer vaak onhandig en heb ik geen flauw idee of deze oplossingen wel veilig en betrouwbaar zijn
- 'standaard' IRC met een invite-only channel, waar mensen in een globaal channel komen, daar een user en password naar een bodje whisperen en dan geinvite worden. ik heb wat ervaring met het schrijven van botjes in PHP (als standalone) maar daar blijft het dan ook bij. deze zijn nou ook niet extreem stabiel
- een zelfgeschreven baksel in PHP+Ajax wat echter heel veel werk gaat worden, waarschijnlijk zeker in het begin en ik heb het gevoel dat dit altijd een crime blijft in beheer, waar ik liever van iets als IRC gebruik zou maken wat zich al bewezen heeft qua performance, beheer, easy of use en de rest van de meuk. daarnaast heb ik nog geen flauw idee hoe ik zoiets zou moeten maken.

Heeft iemand een ideetje welke kant ik op moet gaan? Mocht het uitkomen bij een IRC server die desnoods customized is, dan zal ik natuurlijk alle source/scripts/enz sharen, kan me voorstellen dat meer mensen dit interessant vinden ;) Alvast bedankt!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 17-12-2025

curry684

left part of the evil twins

Anope gebruikt gewoon MySQL?

[ Voor 6% gewijzigd door curry684 op 04-03-2009 20:22 ]

Professionele website nodig?


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:04

Creepy

Tactical Espionage Splatterer

Aangezien je in PRG je topic opent: pak de source en begin gewoon? Nickchanges eruit halen lijkt me vrij simpel. De meeste IRC servers hebben IRC services nodig voor zaken als nicks registeren e.d., kijk daarvoor eens naar bijv. anope,die MySQL ondersteuning heeft.

* Creepy mept Curry

[ Voor 4% gewijzigd door Creepy op 04-03-2009 20:24 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Noxious
  • Registratie: Juli 2002
  • Laatst online: 22-01 19:11
Anope is een NickServ/ChanServ en meer ding. Daarmee kan ik niet mensen actief weigeren als ze niet inloggen. Dit kan ik natuurlijk een botje laten doen maar liever laat ik dit allemaal afhandelen door de server zelf, vandaar de vraag of dat mogelijk is, ik kan nergens vinden dat het niet mogelijk is, maar kom ook nergens iets tegen wat er gebruik van maakt.
Nickchanges kan ik wel uit de source halen uiteraard, maar gaat een IRC client dan niet flippen? Is zoiets niet te disablen?

Alvast bedankt in ieder geval :) ik ga even verder lezen op de Anope wiki, echter als er iemand nog ideetjes heeft graag!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 17-12-2025

curry684

left part of the evil twins

code:
1
/mode #mychannel +R

Blokkeert unregistered users in Bahamut, Unreal en Ultimate - je bent echt geen nieuw wiel aan het uitvinden ;)

Professionele website nodig?


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Dit wiel is inderdaad niet nieuw-- Planet deed 't heel lang (doet 't nog steeds?) op hun chat.planet.nl server als je niet vanaf een planet IP kwam.

Ik zeg uit m'n hoofd dat de ircd-II server modules kan laden om dit soort gein mogelijk te maken. Nickchanges verbieden is overigens een kwestie van het NICK commando aanpassen zodat 'ie niets meer uitvoert als er al een nick bekend is.

Password bij connecten is sowieso onderdeel van het IRC-protocol trouwens. PASS commando.

[ Voor 10% gewijzigd door CyBeR op 04-03-2009 20:42 ]

All my posts are provided as-is. They come with NO WARRANTY at all.


  • Joshua
  • Registratie: Juli 2005
  • Laatst online: 19-01 20:46
Anope heeft (nog) geen real-time MySQL support. ;)
De MySQL database wordt alleen gelezen bij het opstarten.
CyBeR schreef op woensdag 04 maart 2009 @ 20:39:
Dit wiel is inderdaad niet nieuw-- Planet deed 't heel lang (doet 't nog steeds?) op hun chat.planet.nl server als je niet vanaf een planet IP kwam.

Ik zeg uit m'n hoofd dat de ircd-II server modules kan laden om dit soort gein mogelijk te maken. Nickchanges verbieden is overigens een kwestie van het NICK commando aanpassen zodat 'ie niets meer uitvoert als er al een nick bekend is.
Moet de channelmode +N kun je nickchanges blokkeren. Je zou dan eventueel de channelmode +R kunnen gebruiken zodat mensen dan niet meer kunnen joinen als hun nick niet geregristreerd is.

[ Voor 50% gewijzigd door Joshua op 04-03-2009 20:43 ]


  • Noxious
  • Registratie: Juli 2002
  • Laatst online: 22-01 19:11
Dat klinkt wel goed, nu nog een nickserv zoeken vinden die MySQL gebruikt en realtime leest uit de database zodat nieuwe users gelijk kunnen inloggen :)

+NR zou het dan worden

Iemand een idee? :P

Edit: Is dit niet een beter plan? :P

http://wiki.inspircd.org/Modules/sqlauth

[ Voor 25% gewijzigd door Noxious op 04-03-2009 21:27 ]


  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Aangezien dit een programmeer forum is vraag ik mij af waarom je Anope (open source) niet aanpast zodat deze realtime users controleert? Daarnaast zag ik dat Anope alleen al op hun eigen website 138 modules aanbieden. Ik kan bijna niet geloven dat er geen module bij zit (zoals 'ns_restrictreg') die bijna doet wat je wilt.

Voor kant en klare oplossingen zit je op het verkeerde forum.

If it isn't broken, fix it until it is..


  • Noxious
  • Registratie: Juli 2002
  • Laatst online: 22-01 19:11
Fijn dat je de al geplaatste reply's ook even leest Niemand_Anders ;)

Ik weet dat ik voor kant en klare oplossingen hier niet goed zit, dat zit je namelijk nergens. Echter heb ik er ook nergens om gevraagd, is het wel? Anders mag je me het uiteraard aanwijzen. Ik neem aan dat uit mijn OP toch al blijkt dat ik aardig onderzoek heb gedaan.

Je reactie over Anope snap ik, maar die is al meerdere keren geplaatst en zoals je ziet niet afdoende voor mijn situatie aangezien ik totaal geen anonieme users wil. Dit is met een losstaande IRC Service niet zomaar mogelijk maar vereist aanpassingen of modules voor een IRC Server.

Zoals je ook kunt zien heb ik die inmiddels (zelf, jawel, ik zoek ook) gevonden, dus mijn probleem is in feite al opgelost. Ik vraag alleen of iemand daar nog haken en ogen aan ziet die ik eventueel mis.

Toch bedankt voor je reactie ;)

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:04

Creepy

Tactical Espionage Splatterer

Dan tik ik toch je topic even door richting Windows Servers en Server-software aangezien het nu echt alleen maar oer de serer software gaat en niks meer te maken heeft met zelf ontwikkelen.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Noxious schreef op woensdag 04 maart 2009 @ 20:28:
Nickchanges kan ik wel uit de source halen uiteraard, maar gaat een IRC client dan niet flippen? Is zoiets niet te disablen?
Nee, want de client veranderd zijn eigen nick niet, pas op het moment dat er door de server wordt gemeld dat user x een andere naam heeft. Dat is ook de manier waarop bijvoorbeeld NickServ een ongeauthoriseerde nickname weer kan afpakken :)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 17-12-2025

curry684

left part of the evil twins

Erkens schreef op donderdag 05 maart 2009 @ 12:32:
[...]

Nee, want de client veranderd zijn eigen nick niet, pas op het moment dat er door de server wordt gemeld dat user x een andere naam heeft. Dat is ook de manier waarop bijvoorbeeld NickServ een ongeauthoriseerde nickname weer kan afpakken :)
En hoe /sanick e.d. werken. De client dient een verzoek in - het is aan de server of die het authoriseert. Je zit natuurlijk ook met het punt dat je niet mag nickchangen naar een bestaande nick, daarom moet client altijd op bevestiging server wachten.

Professionele website nodig?


  • Noxious
  • Registratie: Juli 2002
  • Laatst online: 22-01 19:11
Ah, vandaar dat het met +N dus te disablen is :) nu nog InspIRCd draaiende krijgen op Ubuntu 6.04, ik hoopte op een DEB maar helaas ;)

Alvast bedankt iedereen O+
Pagina: 1