diff --git a/.travis.yml b/.travis.yml index 2da5439..2da99d7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,10 @@ -language: python -python: - - 2.6 - - 2.7 -before_install: - - sudo apt-get update -qq - - sudo apt-get install -qq libevent-dev python-gevent - - pip install gevent -script: - - python test.py +language: python +python: + - 2.6 + - 2.7 +before_install: + - sudo apt-get update -qq + - sudo apt-get install -qq libevent-dev python-gevent python-m2crypto + - pip install gevent +script: + - python test.py diff --git a/config.json b/config.json index 25879b1..5c9656b 100644 --- a/config.json +++ b/config.json @@ -1,9 +1,9 @@ { - "server":"localhost", + "server":"0.0.0.0", "server_port":8388, "local_port":1080, "password":"barfoo!", - "timeout":600, + "timeout":300, "method":"table", "local_address":"127.0.0.1", "fast_open":false diff --git a/shadowsocks/utils.py b/shadowsocks/utils.py index 9e2fe14..4da4a8b 100644 --- a/shadowsocks/utils.py +++ b/shadowsocks/utils.py @@ -36,14 +36,20 @@ def find_config(): def check_config(config): + if config.get('local_address', '') in ['0.0.0.0']: + logging.warn('warning: local set to listen 0.0.0.0, which is not safe') if config.get('server', '') in ['127.0.0.1', 'localhost']: - logging.warn('Server is set to "%s", maybe it\'s not correct' % - config['server']) - logging.warn('Notice server will listen at %s:%s' % + logging.warn('warning: server set to listen %s:%s, are you sure?' % (config['server'], config['server_port'])) if (config.get('method', '') or '').lower() == 'rc4': - logging.warn('RC4 is not safe; please use a safer cipher, ' + logging.warn('warning: RC4 is not safe; please use a safer cipher, ' 'like AES-256-CFB') + if (config.get('timeout', 600) or 600) < 100: + logging.warn('warning: your timeout %d seems too short' % + config.get('timeout')) + if (config.get('timeout', 600) or 600) > 600: + logging.warn('warning: your timeout %d seems too long' % + config.get('timeout')) def print_local_help(): diff --git a/test.py b/test.py index 4e2edb1..e2b6f16 100755 --- a/test.py +++ b/test.py @@ -82,9 +82,9 @@ decrypt_table = string.maketrans(encrypt_table, string.maketrans('', '')) for i in range(0, 256): assert(target2[0][i] == ord(encrypt_table[i])) assert(target2[1][i] == ord(decrypt_table[i])) -p1 = Popen(['python', 'shadowsocks/server.py'], shell=False, bufsize=0, stdin=PIPE, +p1 = Popen(['python', 'shadowsocks/server.py', '-c', 'test/config.json'], shell=False, bufsize=0, stdin=PIPE, stdout=PIPE, stderr=PIPE, close_fds=True) -p2 = Popen(['python', 'shadowsocks/local.py'], shell=False, bufsize=0, stdin=PIPE, +p2 = Popen(['python', 'shadowsocks/local.py', '-c', 'test/config.json'], shell=False, bufsize=0, stdin=PIPE, stdout=PIPE, stderr=PIPE, close_fds=True) p3 = None diff --git a/test/config.json b/test/config.json new file mode 100644 index 0000000..42ba376 --- /dev/null +++ b/test/config.json @@ -0,0 +1,10 @@ +{ + "server":"127.0.0.1", + "server_port":8388, + "local_port":1080, + "password":"barfoo!", + "timeout":300, + "method":"aes-256-cfb", + "local_address":"127.0.0.1", + "fast_open":false +}