コード例 #1
0
ファイル: vpn.py プロジェクト: zylucifer/fqrouter
import config
import traceback
import urllib2
import fqsocks.httpd

FQROUTER_VERSION = 'UNKNOWN'
LOGGER = logging.getLogger('fqrouter.%s' % __name__)
LOG_DIR = '/data/data/fq.router2/log'
MANAGER_LOG_FILE = os.path.join(LOG_DIR, 'manager.log')
FQDNS_LOG_FILE = os.path.join(LOG_DIR, 'fqdns.log')

nat_map = {}  # sport => (dst, dport), src always be 10.25.1.1
default_dns_server = config.get_default_dns_server()
DNS_HANDLER = fqdns.DnsHandler(
    enable_china_domain=True,
    enable_hosted_domain=True,
    original_upstream=('udp', default_dns_server,
                       53) if default_dns_server else None)


def handle_ping(environ, start_response):
    try:
        LOGGER.info('VPN PONG/%s' % FQROUTER_VERSION)
    except:
        traceback.print_exc()
        os._exit(1)
    start_response(httplib.OK, [('Content-Type', 'text/plain')])
    yield 'VPN PONG/%s' % FQROUTER_VERSION


fqsocks.httpd.HANDLERS[('GET', 'ping')] = handle_ping
コード例 #2
0
ファイル: vpn.py プロジェクト: ruobin/fqrouter
import gevent.socket
import dpkt
import comp_proxy
import traceback
import urllib2

from utils import httpd

FQROUTER_VERSION = 'UNKNOWN'
LOGGER = logging.getLogger('fqrouter.%s' % __name__)
LOG_DIR = '/data/data/fq.router2/log'
MANAGER_LOG_FILE = os.path.join(LOG_DIR, 'manager.log')
FQDNS_LOG_FILE = os.path.join(LOG_DIR, 'fqdns.log')

nat_map = {}  # sport => (dst, dport), src always be 10.25.1.1
DNS_HANDLER = fqdns.DnsHandler(enable_china_domain=True,
                               enable_hosted_domain=True)


def handle_free_internet_connect(environ, start_response):
    start_response(httplib.OK, [('Content-Type', 'text/plain')])
    fqsocks.fqsocks.refresh_proxies()
    return []


def handle_free_internet_disconnect(environ, start_response):
    start_response(httplib.OK, [('Content-Type', 'text/plain')])
    return []


def redirect_tun_traffic(tun_fd):
    while True:
コード例 #3
0
from .proxies.goagent import GoAgentProxy
import httpd
import networking
from .gateways import proxy_client
from .gateways import tcp_gateway
from .gateways import http_gateway
from .pages import lan_device
from .pages import upstream
from . import config_file


__import__('fqsocks.pages')
LOGGER = logging.getLogger(__name__)

dns_pollution_ignored = False
networking.DNS_HANDLER = fqdns.DnsHandler()
reset_force_us_ip_greenlet = None

@httpd.http_handler('GET', 'dns-polluted-at')
def get_dns_polluted_at(environ, start_response):
    global dns_pollution_ignored
    start_response(httplib.OK, [('Content-Type', 'text/plain')])
    if not dns_pollution_ignored and proxy_client.dns_polluted_at > 0:
        dns_pollution_ignored = True
        yield str(proxy_client.dns_polluted_at)
    else:
        yield '0'


@httpd.http_handler('POST', 'force-us-ip')
def handle_force_us_ip(environ, start_response):
コード例 #4
0
import comp_dns
import traceback
import urllib2
import argparse
from utils import httpd

FQROUTER_VERSION = 'UNKNOWN'
LOGGER = logging.getLogger('fqrouter.%s' % __name__)
LOG_DIR = '/data/data/fq.router2/log'
MANAGER_LOG_FILE = os.path.join(LOG_DIR, 'manager.log')
FQDNS_LOG_FILE = os.path.join(LOG_DIR, 'fqdns.log')

nat_map = {}  # sport => (dst, dport), src always be 10.25.1.1
default_dns_server = comp_dns.get_default_dns_server()
DNS_HANDLER = fqdns.DnsHandler(enable_china_domain=True,
                               enable_hosted_domain=True,
                               original_upstream=default_dns_server.split(':')
                               if default_dns_server else '')
is_free_internet_connected = True


def handle_free_internet_connect(environ, start_response):
    global is_free_internet_connected
    is_free_internet_connected = True
    args = comp_proxy.configure([])
    argument_parser = argparse.ArgumentParser()
    argument_parser.add_argument('--proxy', action='append', default=[])
    args, _ = argument_parser.parse_known_args(args)
    for props in args.proxy:
        props = props.split(',')
        prop_dict = dict(p.split('=') for p in props[1:])
        fqsocks.fqsocks.add_proxies(props[0], prop_dict)