def main():
    shadowsocks_utils.check_python()

    config = shadowsocks_utils.get_config(True)

    encrypt.init_table(config['password'], config['method'])

    logging.info((config['local_address'], 53) % "starting dns at %s:%d")

    config['dns'] = config.get('dns', '8.8.8.8')

    loop = eventloop.EventLoop()

    udprelay = UDPDNSRelay(config)
    udprelay.add_to_loop(loop)
    tcprelay = TCPDNSRelay(config)
    tcprelay.add_to_loop(loop)

    loop.run()
dataset/ETHPy150Open shadowsocks/ShadowDNS/shadowdns/dnsrelay.py/main/swapped operands of `%`