35 lines
900 B
Python
35 lines
900 B
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
from __future__ import absolute_import, division, print_function, \
|
|
with_statement
|
|
|
|
import os
|
|
import sys
|
|
import logging
|
|
|
|
path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
sys.path.insert(0, path)
|
|
from shadowsocks.eventloop import EventLoop
|
|
from shadowsocks.tcprelay import TcpRelay, TcpRelayServerHandler
|
|
from shadowsocks.asyncdns import DNSResolver
|
|
|
|
|
|
FORMATTER = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
|
|
LOGGING_LEVEL = logging.INFO
|
|
logging.basicConfig(level=LOGGING_LEVEL, format=FORMATTER)
|
|
|
|
LISTEN_ADDR = ('0.0.0.0', 9000)
|
|
|
|
|
|
def main():
|
|
loop = EventLoop()
|
|
dns_resolver = DNSResolver()
|
|
relay = TcpRelay(TcpRelayServerHandler, LISTEN_ADDR,
|
|
dns_resolver=dns_resolver)
|
|
dns_resolver.add_to_loop(loop)
|
|
relay.add_to_loop(loop)
|
|
loop.run()
|
|
|
|
if __name__ == '__main__':
|
|
main()
|