+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=obfsproxy
-PKG_VERSION:=0.2.13
-PKG_RELEASE:=3
-
-PYPI_NAME:=$(PKG_NAME)
-PKG_HASH:=1e26c2faef1cfcf856ddf60e9647058a7c78fb0d47f05b58a0f847ed7cc41a66
-
-PKG_LICENSE:=BSD-3-Clause
-PKG_LICENSE_FILES:=LICENSE
-PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
-
-include ../../lang/python/pypi.mk
-include $(INCLUDE_DIR)/package.mk
-include ../../lang/python/python-package.mk
-
-define Package/obfsproxy
- SECTION:=net
- CATEGORY:=Network
- TITLE:=A pluggable transport proxy written in Python
- URL:=https://gitweb.torproject.org/pluggable-transports/obfsproxy.git/
- DEPENDS:= \
- +python-light \
- +python-crypto \
- +python-pyptlib \
- +python-setuptools \
- +python-twisted \
- +python-yaml
- VARIANT:=python
-endef
-
-define Package/obfsproxy/description
-obfsproxy is a tool that attempts to circumvent censorship, by
-transforming the Tor traffic between the client and the bridge. This
-way, censors, who usually monitor traffic between the client and the
-bridge, will see innocent-looking transformed traffic instead of the
-actual Tor traffic.
-endef
-
-define Package/obfsproxy/conffiles
-/etc/config/obfsproxy
-endef
-
-define PyPackage/obfsproxy/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/obfsproxy $(1)/usr/bin/
- $(INSTALL_DIR) $(1)/etc/config
- $(INSTALL_CONF) ./files/obfsproxy.conf $(1)/etc/config/obfsproxy
- $(INSTALL_DIR) $(1)/etc/init.d
- $(INSTALL_BIN) ./files/obfsproxy.init $(1)/etc/init.d/obfsproxy
-endef
-
-$(eval $(call PyPackage,obfsproxy))
-$(eval $(call BuildPackage,obfsproxy))
-$(eval $(call BuildPackage,obfsproxy-src))
+++ /dev/null
-# To use Obfsproxy with Tor, follow the instructions at:
-#
-# https://www.torproject.org/projects/obfsproxy-instructions.html.en
-#
-# instead of setting up a separate instance of Obfsproxy.
-
-config obfsproxy 'obfsproxy'
- # Set to 1 to enable this instance
- option enabled 0
-
- # One of: managed, dummy, b64, obfs2, obfs3, scramblesuit
- option transport 'scramblesuit'
-
- # Shared secret / password
- # For obfs2 (as the shared secret parameter) and scramblesuit only
- option password 'EXAMPLEPASSWORDNOTREAL'
-
- # One of: server, ext_server, client, socks
- option mode 'socks'
-
- # Destination address
- # Required for all modes except 'socks'
- #option dest_host '0.0.0.0'
- #option dest_port '80'
-
- # Extended ORPort authentication cookie file location
- # Required for 'ext_server' mode
- #option ext_cookie_file ''
-
- # Listener address
- option listen_host '127.0.0.1'
- option listen_port '8080'
-
- # Set to log to a file instead of syslog
- #option log_file '/var/log/obfsproxy.log'
-
- # Minimum logging severity
- # One of: error, warning, info, debug
- #option log_min_severity 'info'
-
- # Set to 1 to disable logging
- #option no_log 0
-
- # Set to 1 to disable safe (scrubbed address) logging
- #option no_safe_logging 0
-
- # Run as a different user
- #option user 'nobody'
-
- # Outgoing proxy
- # proxy_scheme is one of: socks4a, socks5, http
- # txsocksx is required for socks4a or socks5
- #option proxy_scheme ''
- #option proxy_username ''
- #option proxy_password ''
- #option proxy_host ''
- #option proxy_port ''
+++ /dev/null
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2016 OpenWrt.org
-
-START=80
-STOP=20
-USE_PROCD=1
-
-PROG=/usr/bin/obfsproxy
-
-append_arg() {
- local cfg="$1"
- local var="$2"
- local opt="$3"
- local def="$4"
- local val
-
- config_get val "$cfg" "$var"
- [ -n "$val" -o -n "$def" ] && procd_append_param command "$opt" "${val:-$def}"
-}
-
-append_bool() {
- local cfg="$1"
- local var="$2"
- local opt="$3"
- local def="$4"
- local val
-
- config_get_bool val "$cfg" "$var" "$def"
- [ "$val" = 1 ] && procd_append_param command "$opt"
-}
-
-append_plain() {
- procd_append_param command "$1"
-}
-
-append_param() {
- local cfg="$1"
- local var="$2"
- local opt="$3"
- local def="$4"
- local val
-
- config_get val "$cfg" "$var"
- [ -n "$val" -o -n "$def" ] && procd_append_param "$opt" "${val:-$def}"
-}
-
-append_proxy_spec() {
- local cfg="$1"
- local scheme_var="$2"
- local username_var="$3"
- local password_var="$4"
- local host_var="$5"
- local port_var="$6"
- local opt="$7"
- local def="$8"
- local scheme
- local username
- local password
- local host
- local port
- local login
- local val
-
- config_get scheme "$cfg" "$scheme_var"
- config_get username "$cfg" "$username_var"
- config_get password "$cfg" "$password_var"
- config_get host "$cfg" "$host_var"
- config_get port "$cfg" "$port_var"
- [ "$username" ] && login="$username${password:+:$password}@"
- [ -n "$scheme" -a -n "$host" -a -n "$port" ] && val="$scheme://$login$host:$port"
- [ -n "$val" -o -n "$def" ] && procd_append_param command "$opt" "${val:-$def}"
-}
-
-append_host_port() {
- local cfg="$1"
- local host_var="$2"
- local port_var="$3"
- local opt="$4"
- local def="$5"
- local host
- local port
- local val
-
- config_get host "$cfg" "$host_var"
- config_get port "$cfg" "$port_var"
- [ -n "$host" -a -n "$port" ] && val="$host:$port"
- [ -n "$val" -o -n "$def" ] && {
- [ "$opt" ] && procd_append_param command "$opt"
- procd_append_param command "${val:-$def}"
- }
-}
-
-start_instance() {
- local cfg="$1"
- local lib_dir="/var/lib/obfsproxy/$cfg"
- local redirect=0
- local enabled
- local user
- local transport
- local password
- local log_min_severity
-
- config_get_bool enabled "$cfg" 'enabled' '0'
- [ "$enabled" = 0 ] && return 1
-
- config_get user "$cfg" 'user' 'root'
- config_get transport "$cfg" 'transport'
- [ "$transport" = "scramblesuit" ] && config_get password "$cfg" 'password'
-
- [ -d "$lib_dir" ] || {
- mkdir -m 0755 -p "$lib_dir/data"
- chmod -R 0700 "$lib_dir"
- }
- [ "$password" ] && {
- echo "$password" > "$lib_dir/secret"
- chmod 0600 "$lib_dir/secret"
- }
- chown -R "$user:" "$lib_dir"
-
- config_get log_min_severity "$cfg" 'log_min_severity'
- [ "$log_min_severity" = "debug" ] && redirect=1
-
- procd_open_instance
-
- procd_set_param command "$PROG" --data-dir "$lib_dir/data" --syslog "obfsproxy($cfg)"
-
- append_arg "$cfg" log_file "--log-file"
- append_arg "$cfg" log_min_severity "--log-min-severity"
- append_bool "$cfg" no_log "--no-log"
- append_bool "$cfg" no_safe_logging "--no-safe-logging"
- append_proxy_spec "$cfg" proxy_scheme proxy_username proxy_password proxy_host proxy_port "--proxy"
-
- append_param "$cfg" transport command
- [ "$transport" = "obfs2" ] && append_arg "$cfg" password "--shared-secret"
- [ "$password" ] && procd_append_param command "--password-file" "$lib_dir/secret"
-
- append_param "$cfg" mode command
- append_host_port "$cfg" dest_host dest_port "--dest"
- append_arg "$cfg" ext_cookie_file "--ext-cookie-file"
-
- append_host_port "$cfg" listen_host listen_port
-
- procd_set_param respawn
- procd_set_param stdout $redirect
- procd_set_param stderr $redirect
- append_param "$cfg" user user
-
- procd_close_instance
-}
-
-service_triggers() {
- procd_add_reload_trigger obfsproxy
-}
-
-start_service() {
- config_load obfsproxy
- config_foreach start_instance obfsproxy
-}
+++ /dev/null
-diff --git a/setup.py b/setup.py
-index 2353a29..9d2a9a9 100644
---- a/setup.py
-+++ b/setup.py
-@@ -21,7 +21,7 @@ setup(
- version=versioneer.get_version(),
- cmdclass=versioneer.get_cmdclass(),
-
-- packages = find_packages(),
-+ packages = find_packages(exclude=['*.test', '*.test.*']),
- entry_points = {
- 'console_scripts': [
- 'obfsproxy = obfsproxy.pyobfsproxy:run'
+++ /dev/null
-diff --git a/setup.py b/setup.py
-index 2353a29..8d3d56d 100644
---- a/setup.py
-+++ b/setup.py
-@@ -27,6 +27,11 @@ setup(
- 'obfsproxy = obfsproxy.pyobfsproxy:run'
- ]
- },
-+ options = {
-+ 'build_scripts': {
-+ 'executable': '/usr/bin/python'
-+ },
-+ },
-
- install_requires = [
- 'setuptools',
+++ /dev/null
-diff --git a/setup.py b/setup.py
-index 2353a29..e04c5f5 100644
---- a/setup.py
-+++ b/setup.py
-@@ -32,7 +32,6 @@ setup(
- 'setuptools',
- 'PyCrypto',
- 'Twisted',
-- 'argparse',
- 'pyptlib >= 0.0.6',
- 'pyyaml'
- ],
+++ /dev/null
-diff --git a/obfsproxy/common/log.py b/obfsproxy/common/log.py
-index bb30296..79193d2 100644
---- a/obfsproxy/common/log.py
-+++ b/obfsproxy/common/log.py
-@@ -1,5 +1,6 @@
- """obfsproxy logging code"""
- import logging
-+import logging.handlers
- import sys
-
- from twisted.python import log
-@@ -50,6 +51,18 @@ class ObfsLogger(object):
-
- self.obfslogger.addHandler(log_handler)
-
-+ def set_syslog(self, progname):
-+ """Set up our logger so that it starts logging to syslog instead."""
-+
-+ # remove the default handler, and add the SysLogHandler:
-+ self.obfslogger.removeHandler(self.default_handler)
-+
-+ log_handler = logging.handlers.SysLogHandler(address='/dev/log')
-+ formatter = logging.Formatter(progname + "[%(process)d]: %(message)s")
-+ log_handler.setFormatter(formatter)
-+
-+ self.obfslogger.addHandler(log_handler)
-+
-
- def set_log_severity(self, sev_string):
- """Update our minimum logging severity to 'sev_string'."""
-diff --git a/obfsproxy/pyobfsproxy.py b/obfsproxy/pyobfsproxy.py
-index 4a2faf6..eaf8a44 100755
---- a/obfsproxy/pyobfsproxy.py
-+++ b/obfsproxy/pyobfsproxy.py
-@@ -42,6 +42,7 @@ def set_up_cli_parsing():
-
- parser.add_argument('-v', '--version', action='version', version=__version__)
- parser.add_argument('--log-file', help='set logfile')
-+ parser.add_argument('--syslog', metavar='PROGNAME', help='use syslog')
- parser.add_argument('--log-min-severity',
- choices=['error', 'warning', 'info', 'debug'],
- help='set minimum logging severity (default: %(default)s)')
-@@ -110,6 +111,8 @@ def consider_cli_args(args):
-
- if args.log_file:
- log.set_log_file(args.log_file)
-+ elif args.syslog:
-+ log.set_syslog(args.syslog)
- if args.log_min_severity:
- log.set_log_severity(args.log_min_severity)
- if args.no_log: