# organized-finger.tac # eg: twistd -ny organized-finger.tac import finger from twisted.internet import protocol, reactor, defer from twisted.spread import pb from twisted.web import resource, server from twisted.application import internet, service, strports from twisted.python import log application = service.Application('finger', uid=1, gid=1) f = finger.FingerService('/etc/users') serviceCollection = service.IServiceCollection(application) internet.TCPServer(79, finger.IFingerFactory(f) ).setServiceParent(serviceCollection) site = server.Site(resource.IResource(f)) internet.TCPServer(8000, site ).setServiceParent(serviceCollection) internet.SSLServer(443, site, finger.ServerContextFactory() ).setServiceParent(serviceCollection) i = finger.IIRCClientFactory(f) i.nickname = 'fingerbot' internet.TCPClient('irc.freenode.org', 6667, i ).setServiceParent(serviceCollection) internet.TCPServer(8889, pb.PBServerFactory(finger.IPerspectiveFinger(f)) ).setServiceParent(serviceCollection)