clowwindy 11 years ago
parent
commit
04d4db1f0b
  1. 2
      .travis.yml
  2. 4
      config.json
  3. 14
      shadowsocks/utils.py
  4. 4
      test.py
  5. 10
      test/config.json

2
.travis.yml

@ -4,7 +4,7 @@ python:
- 2.7 - 2.7
before_install: before_install:
- sudo apt-get update -qq - sudo apt-get update -qq
- sudo apt-get install -qq libevent-dev python-gevent - sudo apt-get install -qq libevent-dev python-gevent python-m2crypto
- pip install gevent - pip install gevent
script: script:
- python test.py - python test.py

4
config.json

@ -1,9 +1,9 @@
{ {
"server":"localhost", "server":"0.0.0.0",
"server_port":8388, "server_port":8388,
"local_port":1080, "local_port":1080,
"password":"barfoo!", "password":"barfoo!",
"timeout":600, "timeout":300,
"method":"table", "method":"table",
"local_address":"127.0.0.1", "local_address":"127.0.0.1",
"fast_open":false "fast_open":false

14
shadowsocks/utils.py

@ -36,14 +36,20 @@ def find_config():
def check_config(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']: if config.get('server', '') in ['127.0.0.1', 'localhost']:
logging.warn('Server is set to "%s", maybe it\'s not correct' % logging.warn('warning: server set to listen %s:%s, are you sure?' %
config['server'])
logging.warn('Notice server will listen at %s:%s' %
(config['server'], config['server_port'])) (config['server'], config['server_port']))
if (config.get('method', '') or '').lower() == 'rc4': 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') '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(): def print_local_help():

4
test.py

@ -82,9 +82,9 @@ decrypt_table = string.maketrans(encrypt_table, string.maketrans('', ''))
for i in range(0, 256): for i in range(0, 256):
assert(target2[0][i] == ord(encrypt_table[i])) assert(target2[0][i] == ord(encrypt_table[i]))
assert(target2[1][i] == ord(decrypt_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) 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) stdout=PIPE, stderr=PIPE, close_fds=True)
p3 = None p3 = None

10
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
}
Loading…
Cancel
Save