3
def deploy(telnetPort=23, sshPort=22, webPort=80,
5
manholePort=9987, manholeUser='admin', manholePassword='password',
11
# Set up an Application and some cred goo
12
from twisted.application import service
13
from twisted.cred import portal, checkers
15
application = service.Application("Imagination")
16
svc = service.IServiceCollection(application)
19
from twisted.application import internet
21
from imagination.wiring.telnet import TextFactory
23
telnetServer = internet.TCPServer(telnetPort, TextFactory(actorTemplate))
24
telnetServer.setServiceParent(svc)
27
from imagination.wiring.ssh import ConchFactory
29
conchServer = internet.TCPServer(sshPort, ConchFactory(actorTemplate))
30
conchServer.setServiceParent(svc)
33
from nevow import appserver, guard, liveevil, inevow
34
from imagination.wiring import web
37
def requestAvatar(self, avatarId, mind, *interfaces):
38
return inevow.IResource, web.WebPage(actorTemplate), lambda:None
40
webServer = internet.TCPServer(
44
portal.Portal(AnonRealm(), (checkers.AllowAnonymousAccess(), )),
45
mindFactory=liveevil.LiveEvil))).setServiceParent(svc)
49
from twisted.manhole import service as mhservice
50
from twisted.spread import pb
52
mhsvc = mhservice.Service(True)
53
#mhsvc.namespace['store'] = st
55
mhrealm = mhservice.Realm(mhsvc)
56
mhpt = portal.Portal(mhrealm, [
57
checkers.InMemoryUsernamePasswordDatabaseDontUse(**{manholeUser: manholePassword})
59
serverFactory = pb.PBServerFactory(mhpt, True)
60
manholeServer = internet.TCPServer(manholePort, serverFactory, interface="localhost")
61
manholeServer.setServiceParent(svc)