Пример #1
0
def parseCommonArgs(parser, cfg, name):
    if (cfg.lc):
        logging.config.fileConfig(cfg.lc)
        log.L = log.Log(level=cfg.d, name=name)
        log.A = log.Audit(level=logging.WARNING)
    elif (cfg.syslog):
        h = logging.handlers.SysLogHandler(address="/dev/log")
        log.L = log.Log(level=cfg.d, name=name, handler=h)
        log.A = log.Audit(handler=h)
    else:
        ah = logging.FileHandler(cfg.a)
        log.L = log.Log(level=cfg.d, name=name)
        log.A = log.Audit(handler=ah)
    config.Config.VERBOSE = cfg.v
    config.Config.CONFIGFILE = cfg.config
    config.Config.SDPFILE = cfg.sdp
    config.Config.d = cfg.d
    config.Config.a = cfg.a
    config.Config.SDPURI = cfg.sdpUri
    config.CONFIG.PIDFILE = cfg.p
    if (config.Config.AUTHIDSFILE == "none"):
        config.Config.T_SAVE = 0
        config.Config.AUTHIDSFILE = ''
    if (cfg.comp=="v3"):
        cfg.mgmtHeader="X-ITNS-MgmtID"
        cfg.authidHeader="X-ITNS-PaymentID"
    elif (cfg.comp=="v3.1"):
        cfg.mgmtHeader="X-LTHN-MgmtID"
        cfg.authidHeader="X-LTHN-PaymentID"
    else:
        log.L.error("Bad compatibility level.")
        sys.exit(2)
    if cfg.sdpUri.endswith('/'):
        cfg.sdpUri = cfg.sdpUri[:-1]
    if not cfg.sdpUri.endswith('/v1'):
        cfg.sdpUri = cfg.sdpUri + '/v1'
    cfg.sdpUri = {'sdp': cfg.sdpUri}
    if cfg.noRun:
        cfg.vpncStandalone = True
        cfg.proxycStandalone = True
    
    # Initialise services
    services.SERVICES = services.Services()

    if (cfg.h):
        helpmsg(parser)
        sys.exit()
Пример #2
0
def searchResult(request):
    service = services.Services()
    template = loader.get_template('searchResult.html')
    response = service.search_series_names(request.POST['search'])
    context = {'response': response}
    return HttpResponse(template.render(request=request, context=context))
Пример #3
0
def main(argv):
    config.CONFIG = config.Config("dummy")
    p = configargparse.getArgumentParser(ignore_unknown_config_file_keys=True,
                                         fromfile_prefix_chars='@')
    util.commonArgs(p)
    p.add_argument('--authid',
                   dest='authId',
                   metavar='AUTHID',
                   required=None,
                   default=None,
                   help='Authentication ID. Use "random" to generate.')
    p.add_argument('--uniqueid',
                   dest='uniqueId',
                   metavar='UNIQUEID',
                   required=None,
                   default=None,
                   help='Unique ID of proxy. Use "random" to generate.')
    p.add_argument(
        '--stunnel-port',
        dest='stunnelPort',
        metavar='PORT',
        required=None,
        default=8187,
        help='Use this stunnel local port for connections over proxy.')
    p.add_argument('--outbound-proxy-host',
                   dest='httpsProxyHost',
                   metavar='HOST',
                   required=None,
                   default=None,
                   help='Use this https proxy host.')
    p.add_argument('--outbound-proxy-port',
                   dest='httpsProxyPort',
                   metavar='PORT',
                   required=None,
                   default=3128,
                   help='Use this https proxy port.')
    p.add_argument('--proxy-port',
                   dest='proxyPort',
                   metavar='PORT',
                   required=None,
                   default=8186,
                   help='Use this port as local bind port for proxy.')
    p.add_argument('--proxy-bind',
                   dest='proxyBind',
                   metavar='IP',
                   required=None,
                   default="127.0.0.1",
                   help='Use this host as local bind for proxy.')
    p.add_argument('--connect-timeout',
                   dest='connectTimeout',
                   metavar='S',
                   required=None,
                   default=30,
                   help='Timeout for connect to service.')
    p.add_argument('--payment-timeout',
                   dest='paymentTimeout',
                   metavar='S',
                   required=None,
                   default=1200,
                   help='Timeout for payment to service.')
    p.add_argument('--exit-on-no-payment',
                   dest='exitNoPayment',
                   action='store_const',
                   const='vpncStandalone',
                   metavar='Bool',
                   required=None,
                   default=None,
                   help='Exit after payment is gone.')
    p.add_argument(
        '--fork-on-connect',
        dest='forkOnConnect',
        action='store_const',
        const='forkOnConnect',
        metavar='Bool',
        required=None,
        default=None,
        help=
        'Fork after successful paid connection. Client will fork into background.'
    )
    p.add_argument('--vpnc-tun',
                   dest='vpncTun',
                   metavar='IF',
                   required=None,
                   default="tun1",
                   help='Use specific tun device for client')
    p.add_argument('--vpnc-mgmt-port',
                   dest='vpncMgmtPort',
                   metavar='PORT',
                   required=None,
                   default="11193",
                   help='Use specific port for local Openvpn mgmt')
    p.add_argument('--proxyc-mgmt-port',
                   dest='proxyMgmtPort',
                   metavar='PORT',
                   required=None,
                   default="11194",
                   help='Use specific port for local Haproxy mgmt')
    p.add_argument(
        '--proxyc-ssl-noverify',
        dest='proxySSLNoVerify',
        action='store_const',
        const='proxySSLNoVerify',
        metavar='Bool',
        required=None,
        default=None,
        help=
        'Do not verify SSL certificate of remote proxy. Dangerous, use only if you know what you are doing!'
    )
    p.add_argument('--vpnc-block-route',
                   dest='vpncBlockRoute',
                   action='store_const',
                   const='vpncBlockRoute',
                   metavar='Bool',
                   required=None,
                   default=None,
                   help='Filter router changes from server')
    p.add_argument('--vpnc-block-dns',
                   dest='vpncBlockDns',
                   action='store_const',
                   const='vpncBlockDns',
                   metavar='Bool',
                   required=None,
                   default=None,
                   help='Filter router DNS server from server')

    p.add('cmd',
          metavar='{list|connect|help}',
          choices=["connect", "list", "help"],
          help='Command to execute.')

    (cfg, args) = p.parse_known_args()
    util.parseCommonArgs(p, cfg, 'lthnvpnc')
    config.Config.CAP = cfg
    config.CONFIG = config.Config("dummy")
    cmd = cfg.cmd
    cfg.O = None
    cfg.L = None

    if (cmd == "help"):
        util.helpmsg(p)
        sys.exit()
    if (cmd == "list"):
        cfg.L = True
        if len(args) > 0:
            for uri in args:
                cfg = parseUri(cfg, uri)

    elif (cmd == "connect"):
        cfg.O = True
        if len(args) == 0:
            log.L.error("Expecting argument to connect!")
            sys.exit(1)
        uri = args[0]
        p = re.search("(.*)%(.*)", uri)
        if (p):
            log.L.error("Complex URI not supported yet :(")
            sys.exit(1)
        cfg = parseUri(cfg, uri)
        if not cfg:
            sys.exit(1)

    if cfg.authId == "_random_":
        cfg.authId = generateAuthId(cfg.serviceId)
    if cfg.uniqueId == "_random_":
        cfg.uniqueId = generateMgmtId()

    config.Config.CAP = cfg

    # Initialise services
    services.SERVICES = services.Services()
    log.A.audit(log.A.START, log.A.SERVICE, "lthnvpnc")
    sdps.SDPS = sdps.SDPList()
    sdps.SDPS.get()

    if (cfg.O):
        if (loadService(cfg.providerid, cfg.serviceId)):
            services.SERVICES.syslog.run()
            services.SERVICES.show()
            sid = services.SERVICES.get(cfg.serviceId)
            sid.enable()
            sid.cfg["uniqueid"] = cfg.uniqueId
            sid.cfg["paymentid"] = cfg.authId
            sdp = sdps.SDPS.getProviderSDP(cfg.providerid)
            atexit.register(sid.stop)
            sid.run()
            sid.connect(sdp)

    elif (cfg.L):
        print("SDP,ProviderId/ServiceId,serviceType,ProviderName,ServiceName")
        for pid in sdps.SDPS.list():
            sdp = sdps.SDPS.getProviderSDP(pid)
            for srv in sdp["services"]:
                sid = srv["id"]
                if srv["type"] == "proxy":
                    endpoint = srv["proxy"][0]["endpoint"]
                    port = srv["proxy"][0]["port"]
                else:
                    endpoint = srv["vpn"][0]["endpoint"]
                    port = srv["vpn"][0]["port"]
                print("%s:%s/%s(%s:%s),%s,%s,%s" %
                      (sdp["provider"]["fqdn"], pid, sid, endpoint, port,
                       srv["type"], sdp["provider"]["name"], srv["name"]))
    else:
        log.L.error("You must specify command (list|connect|show)")
        sys.exit(1)
Пример #4
0
 def Services(self):
     self.servicepack = Toplevel(self)
     self.servicepack.title("Samba Services")
     self.service = services.Services(self.servicepack)