Ejemplo n.º 1
0
        answer.gid = config.user[1]
        answer.config = proxyConfig
        answer.key = config.key
        answer.mode = MODE
    except Exception,e:
        exception(e)
        error("We cannot answer an init query.")
        return False
    return True
ipc.onQuery('init', ipcOnQueryInit)

# ---------- initialize proxy processes

for proxyName in config.listProxies():
    proxyCommand = config.getProxyInitParameters(proxyName, ipc, args.debug)
    processes.new(proxyName, proxyCommand)

# ---------- drop root privileges

dropRoot(coreConfig.uid, coreConfig.gid)

##############################################################################

# register exit function, and start IO loop

reads = [ipc, tun] # for `select` function

def doExit(signum, frame):
    global reads, processes 
    info("Exit now.")
    # first close TUN devices
Ejemplo n.º 2
0
        '-l', str(proxyConfig["client"]["port"]),       # local port(entrance)
        '-m', ENCRYPTION_METHOD,                        # encryption method
    ]
elif 's' == queried['mode']: # SERVER mode
    sscmd = [
        proxyConfig["server"]["bin"],                   # shadowsocks-libev
        '-U',                                           # UDP relay only
        '-k', sharedsecret,                             # key
        '-s', proxyConfig["server"]["ip"],              # server host
        '-p', str(proxyConfig["server"]["port"]),       # server port
        '-m', ENCRYPTION_METHOD,                        # encryption method
    ]
else:
    sys.exit(127)

procmgr.new('shadowsocks', sscmd)
    

##############################################################################

proxySocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

if 's' == queried["mode"]:
    proxySocket.bind(('127.0.0.1', forwardToPort))
    proxyPeer = None                  # not knowing where to send data back
else:
    # send to local tunnel entrance
    proxyPeer = ('127.0.0.1', proxyConfig["client"]["port"])

##############################################################################