diff --git a/class-wp-proxy.php b/class-wp-proxy.php
new file mode 100644
index 0000000..a68fd0b
--- /dev/null
+++ b/class-wp-proxy.php
@@ -0,0 +1,324 @@
+load_plugin_textdomain();
+ $options = get_option( 'wp_proxy_options' );
+ if ( $options ) {
+ $this->options = $options;
+ if ( $options['enable'] ) {
+ add_filter( 'pre_http_send_through_proxy', array( $this, 'send_through_proxy' ), 10, 4 );
+ defined( 'WP_PROXY_HOST' ) ? '' : define( 'WP_PROXY_HOST', $options['proxy_host'] );
+ defined( 'WP_PROXY_PORT' ) ? '' : define( 'WP_PROXY_PORT', $options['proxy_port'] );
+ if ( ! empty( $options['username'] ) ) {
+ defined( 'WP_PROXY_USERNAME' ) ? '' : define( 'WP_PROXY_USERNAME', $options['username'] );
+ }
+ if ( ! empty( $options['password'] ) ) {
+ defined( 'WP_PROXY_PASSWORD' ) ? '' : define( 'WP_PROXY_PASSWORD', $options['password'] );
+ }
+ }
+ } else {
+ add_option( 'wp_proxy_options', $this->defualt_options() );
+ }
+ add_action( 'admin_menu', array( $this, 'options_page' ) );
+ add_action( 'admin_init', array( $this, 'register_settings' ) );
+ }
+
+ /**
+ * Main WP_Proxy Instance
+ *
+ * @since 1.0
+ */
+ public static function instance() {
+ if ( is_null( self::$instance ) ) {
+ self::$instance = new self();
+ }
+ return self::$instance;
+ }
+
+ /**
+ * I18n
+ *
+ * @since 1.0
+ */
+ protected function load_plugin_textdomain() {
+ $locale = is_admin() && function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale();
+ $locale = apply_filters( 'plugin_locale', $locale, 'wp-proxy' );
+
+ load_plugin_textdomain( 'wp-proxy', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' );
+ }
+
+ /**
+ * Default options
+ *
+ * @since 1.0
+ */
+ protected function defualt_options() {
+ $options = array();
+ $options['domains'] = '*.wordpress.org';
+ $options['proxy_host'] = '127.0.0.1';
+ $options['proxy_port'] = '1080';
+ $options['username'] = '';
+ $options['password'] = '';
+ $options['enable'] = false;
+ return $options;
+ }
+
+ /**
+ * Add options page, update options
+ *
+ * @since 1.0
+ */
+ public function options_page() {
+ add_options_page( 'WP Proxy', esc_html__( 'WP Proxy', 'wp-proxy' ), 'manage_options', 'wp_proxy', array( $this, 'wp_proxy_option' ) );
+ if ( isset( $_POST['option_page'] ) && 'wp_proxy' === sanitize_text_field( wp_unslash( $_POST['option_page'] ) ) && isset( $_POST['_wpnonce'] ) ) {
+ if ( wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['_wpnonce'] ) ), 'wp_proxy-options' ) ) {
+ if ( isset( $_POST['proxy_host'] ) ) {
+ $wp_proxy_options['proxy_host'] = sanitize_text_field( wp_unslash( $_POST['proxy_host'] ) );
+ }
+ if ( isset( $_POST['proxy_port'] ) ) {
+ $port = abs( sanitize_text_field( wp_unslash( $_POST['proxy_port'] ) ) );
+ if ( 0 === $port || 65535 < $port ) {
+ add_settings_error( 'wp_proxy', 500, esc_html__( 'Wrong port', 'wp-proxy' ), 'error' );
+ $wp_proxy_options['proxy_port'] = $this->options['proxy_port'];
+ } else {
+ $wp_proxy_options['proxy_port'] = intval( wp_unslash( $_POST['proxy_port'] ) );
+ }
+ }
+ if ( isset( $_POST['username'] ) ) {
+ $wp_proxy_options['username'] = sanitize_text_field( wp_unslash( $_POST['username'] ) );
+ }
+ if ( isset( $_POST['password'] ) ) {
+ $wp_proxy_options['password'] = sanitize_text_field( wp_unslash( $_POST['password'] ) );
+ }
+ if ( isset( $_POST['domains'] ) ) {
+ $wp_proxy_options['domains'] = str_replace( ' ', "\n", sanitize_text_field( wp_unslash( $_POST['domains'] ) ) );
+ }
+ if ( isset( $_POST['enable'] ) ) {
+ if ( 'yes' === sanitize_text_field( wp_unslash( $_POST['enable'] ) ) ) {
+ $wp_proxy_options['enable'] = true;
+ } else {
+ $wp_proxy_options['enable'] = false;
+ }
+ }
+ update_option( 'wp_proxy_options', $wp_proxy_options );
+ $this->options = get_option( 'wp_proxy_options' );
+ }
+ }
+ }
+
+ /**
+ * Check URL
+ *
+ * @param string $null null.
+ * @param string $url url.
+ * @param bool $check check result.
+ * @param string $home site home.
+ * @since 1.0
+ */
+ public function send_through_proxy( $null, $url, $check, $home ) {
+ $rules = explode( '\n', $this->options['domains'] );
+ $host = false;
+ if ( ! is_array( $check ) ) {
+ $check = wp_parse_url( $check );
+ }
+ if ( isset( $check['host'] ) ) {
+ $host = $check['host'];
+ }
+ foreach ( $rules as $rule ) {
+ $rule = str_replace( '*.', '(.*)\.', $rule );
+ if ( $rule === $host ) {
+ return true;
+ } elseif ( preg_match( '#' . $rule . '#i', $host ) ) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Settings
+ *
+ * @since 1.0
+ */
+ public function register_settings() {
+ register_setting( 'wp_proxy', 'proxy_config' );
+ add_settings_section(
+ 'wp_proxy_config',
+ '',
+ array(),
+ 'wp_proxy'
+ );
+ add_settings_field(
+ 'proxy_host',
+ esc_html__( 'Proxy Host', 'wp-proxy' ),
+ array( $this, 'proxy_host_callback' ),
+ 'wp_proxy',
+ 'wp_proxy_config'
+ );
+ add_settings_field(
+ 'proxy_port',
+ esc_html__( 'Proxy Port', 'wp-proxy' ),
+ array( $this, 'proxy_port_callback' ),
+ 'wp_proxy',
+ 'wp_proxy_config'
+ );
+ add_settings_field(
+ 'Username',
+ esc_html__( 'Proxy Username', 'wp-proxy' ),
+ array( $this, 'proxy_username_callback' ),
+ 'wp_proxy',
+ 'wp_proxy_config'
+ );
+ add_settings_field(
+ 'password',
+ esc_html__( 'Proxy Password', 'wp-proxy' ),
+ array( $this, 'proxy_password_callback' ),
+ 'wp_proxy',
+ 'wp_proxy_config'
+ );
+ add_settings_field(
+ 'domains',
+ esc_html__( 'Proxy Domains', 'wp-proxy' ),
+ array( $this, 'proxy_domains_callback' ),
+ 'wp_proxy',
+ 'wp_proxy_config'
+ );
+ add_settings_field(
+ 'enable',
+ esc_html__( 'Enable', 'wp-proxy' ),
+ array( $this, 'proxy_enable_callback' ),
+ 'wp_proxy',
+ 'wp_proxy_config'
+ );
+ }
+
+ /**
+ * Show options
+ *
+ * @since 1.0
+ */
+ public function wp_proxy_option() {
+ $wp_proxy_options = get_option( 'wp_proxy_options', $this->defualt_options() );
+ $this->options = $wp_proxy_options; ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: de_DE\n"
+"X-Loco-Version: 2.3.1; wp-5.3.2"
+
+#. Plugin Name of the plugin
+msgid "WordPress Proxy"
+msgstr "WordPress Proxy"
+
+#. Plugin URI of the plugin
+msgid "https://xn--vkuk.org/blog/wp-proxy"
+msgstr "https://xn--vkuk.org/blog/wp-proxy"
+
+#. Description of the plugin
+msgid "manage proxy for WordPress"
+msgstr ""
+
+#. Author of the plugin
+msgid "sleepm"
+msgstr "sleepm"
+
+#: class-wp-proxy.php:106 class-wp-proxy.php:234
+msgid "WP Proxy"
+msgstr "Proxy-Einstellungen"
+
+#: class-wp-proxy.php:115
+msgid "Wrong port"
+msgstr "Falsche Portnummer"
+
+#: class-wp-proxy.php:183
+msgid "Proxy Host"
+msgstr ""
+
+#: class-wp-proxy.php:190
+msgid "Proxy Port"
+msgstr ""
+
+#: class-wp-proxy.php:197
+msgid "Proxy Username"
+msgstr "Benutzername"
+
+#: class-wp-proxy.php:204
+msgid "Proxy Password"
+msgstr "Passwort"
+
+#: class-wp-proxy.php:211
+msgid "Proxy Domains"
+msgstr ""
+
+#: class-wp-proxy.php:218
+msgid "Enable"
+msgstr ""
+
+#: class-wp-proxy.php:256
+msgid "proxy host"
+msgstr ""
+
+#: class-wp-proxy.php:267
+msgid "proxy port"
+msgstr ""
+
+#: class-wp-proxy.php:278
+msgid "username"
+msgstr ""
+
+#: class-wp-proxy.php:289
+msgid "password"
+msgstr ""
+
+#: class-wp-proxy.php:313 class-wp-proxy.php:316
+msgid "yes"
+msgstr "Ja"
+
+#: class-wp-proxy.php:314 class-wp-proxy.php:317
+msgid "no"
+msgstr ""
diff --git a/languages/wp-proxy-ja_JP.mo b/languages/wp-proxy-ja_JP.mo
new file mode 100644
index 0000000..ef09e7e
Binary files /dev/null and b/languages/wp-proxy-ja_JP.mo differ
diff --git a/languages/wp-proxy-ja_JP.po b/languages/wp-proxy-ja_JP.po
new file mode 100644
index 0000000..4d098e0
--- /dev/null
+++ b/languages/wp-proxy-ja_JP.po
@@ -0,0 +1,90 @@
+# Copyright (C) 2019 sleepm
+# This file is distributed under the same license as the WordPress Proxy plugin.
+msgid ""
+msgstr ""
+"Project-Id-Version: WordPress Proxy 1.0.0\n"
+"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp_proxy\n"
+"Language-Team: Japanese (Japan)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2019-12-22T03:28:20+00:00\n"
+"PO-Revision-Date: 2019-12-22 03:53+0000\n"
+"X-Generator: Loco https://localise.biz/\n"
+"X-Domain: wp-proxy\n"
+"Last-Translator: gt <1520667045@qq.com>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: ja_JP\n"
+"X-Loco-Version: 2.3.1; wp-5.3.2"
+
+#. Plugin Name of the plugin
+msgid "WordPress Proxy"
+msgstr "WordPress Proxy"
+
+#. Plugin URI of the plugin
+msgid "https://xn--vkuk.org/blog/wp-proxy"
+msgstr "https://xn--vkuk.org/blog/wp-proxy"
+
+#. Description of the plugin
+msgid "manage proxy for WordPress"
+msgstr ""
+
+#. Author of the plugin
+msgid "sleepm"
+msgstr "sleepm"
+
+#: class-wp-proxy.php:106 class-wp-proxy.php:234
+msgid "WP Proxy"
+msgstr "プロキシ設定"
+
+#: class-wp-proxy.php:115
+msgid "Wrong port"
+msgstr "間違ったポート番号"
+
+#: class-wp-proxy.php:183
+msgid "Proxy Host"
+msgstr "プロキシホスト"
+
+#: class-wp-proxy.php:190
+msgid "Proxy Port"
+msgstr "プロキシポート"
+
+#: class-wp-proxy.php:197
+msgid "Proxy Username"
+msgstr "ユーザー名"
+
+#: class-wp-proxy.php:204
+msgid "Proxy Password"
+msgstr "パスワード"
+
+#: class-wp-proxy.php:211
+msgid "Proxy Domains"
+msgstr ""
+
+#: class-wp-proxy.php:218
+msgid "Enable"
+msgstr "有効にする"
+
+#: class-wp-proxy.php:256
+msgid "proxy host"
+msgstr ""
+
+#: class-wp-proxy.php:267
+msgid "proxy port"
+msgstr ""
+
+#: class-wp-proxy.php:278
+msgid "username"
+msgstr ""
+
+#: class-wp-proxy.php:289
+msgid "password"
+msgstr ""
+
+#: class-wp-proxy.php:313 class-wp-proxy.php:316
+msgid "yes"
+msgstr "はい"
+
+#: class-wp-proxy.php:314 class-wp-proxy.php:317
+msgid "no"
+msgstr "いや"
diff --git a/languages/wp-proxy-ru_RU.mo b/languages/wp-proxy-ru_RU.mo
new file mode 100644
index 0000000..01fa083
Binary files /dev/null and b/languages/wp-proxy-ru_RU.mo differ
diff --git a/languages/wp-proxy-ru_RU.po b/languages/wp-proxy-ru_RU.po
new file mode 100644
index 0000000..252d1e9
--- /dev/null
+++ b/languages/wp-proxy-ru_RU.po
@@ -0,0 +1,87 @@
+# Copyright (C) 2019 sleepm
+# This file is distributed under the same license as the WordPress Proxy plugin.
+msgid ""
+msgstr ""
+"Project-Id-Version: WordPress Proxy 1.0.0\n"
+"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp_proxy\n"
+"Language-Team: Russian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2019-12-21T11:15:37+00:00\n"
+"PO-Revision-Date: 2019-12-22 03:54+0000\n"
+"X-Generator: Loco https://localise.biz/\n"
+"X-Domain: wp-proxy\n"
+"Last-Translator: gt <1520667045@qq.com>\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
+"Language: ru_RU\n"
+"X-Loco-Version: 2.3.1; wp-5.3.2"
+
+#. Plugin Name of the plugin
+msgid "WordPress Proxy"
+msgstr "WordPress Proxy"
+
+#. Plugin URI of the plugin
+msgid "https://xn--vkuk.org/blog/wp-proxy"
+msgstr "https://xn--vkuk.org/blog/wp-proxy"
+
+#. Description of the plugin
+msgid "manage proxy for WordPress"
+msgstr ""
+
+#. Author of the plugin
+msgid "sleepm"
+msgstr "sleepm"
+
+#: class-wp-proxy.php:106 class-wp-proxy.php:234
+msgid "WP Proxy"
+msgstr "Настройки прокси"
+
+#: class-wp-proxy.php:115
+msgid "Wrong port"
+msgstr "Неверный номер порта"
+
+#: class-wp-proxy.php:183
+msgid "Proxy Host"
+msgstr "Прокси хост"
+
+#: class-wp-proxy.php:190
+msgid "Proxy Port"
+msgstr "Порт"
+
+#: class-wp-proxy.php:197
+msgid "Proxy Username"
+msgstr "Имя пользователя"
+
+#: class-wp-proxy.php:204
+msgid "Proxy Password"
+msgstr "Пароль"
+
+#: class-wp-proxy.php:218
+msgid "Enable"
+msgstr "Включить"
+
+#: class-wp-proxy.php:256
+msgid "proxy host"
+msgstr ""
+
+#: class-wp-proxy.php:267
+msgid "proxy port"
+msgstr ""
+
+#: class-wp-proxy.php:278
+msgid "username"
+msgstr ""
+
+#: class-wp-proxy.php:289
+msgid "password"
+msgstr ""
+
+#: class-wp-proxy.php:313 class-wp-proxy.php:316
+msgid "yes"
+msgstr "да"
+
+#: class-wp-proxy.php:314 class-wp-proxy.php:317
+msgid "no"
+msgstr ""
diff --git a/languages/wp-proxy-zh_CN.mo b/languages/wp-proxy-zh_CN.mo
new file mode 100644
index 0000000..e6a9645
Binary files /dev/null and b/languages/wp-proxy-zh_CN.mo differ
diff --git a/languages/wp-proxy-zh_CN.po b/languages/wp-proxy-zh_CN.po
new file mode 100644
index 0000000..c7a8bd0
--- /dev/null
+++ b/languages/wp-proxy-zh_CN.po
@@ -0,0 +1,90 @@
+# Copyright (C) 2019 sleepm
+# This file is distributed under the same license as the WordPress Proxy plugin.
+msgid ""
+msgstr ""
+"Project-Id-Version: WordPress Proxy 1.0.0\n"
+"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp_proxy\n"
+"Language-Team: 简体中文\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2019-12-22T03:28:20+00:00\n"
+"PO-Revision-Date: 2019-12-22 03:42+0000\n"
+"X-Generator: Loco https://localise.biz/\n"
+"X-Domain: wp-proxy\n"
+"Last-Translator: gt <1520667045@qq.com>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: zh_CN\n"
+"X-Loco-Version: 2.3.1; wp-5.3.2"
+
+#. Plugin Name of the plugin
+msgid "WordPress Proxy"
+msgstr "WordPress Proxy"
+
+#. Plugin URI of the plugin
+msgid "https://xn--vkuk.org/blog/wp-proxy"
+msgstr "https://xn--vkuk.org/blog/wp-proxy"
+
+#. Description of the plugin
+msgid "manage proxy for WordPress"
+msgstr "管理 WordPress 代理"
+
+#. Author of the plugin
+msgid "sleepm"
+msgstr "sleepm"
+
+#: class-wp-proxy.php:106 class-wp-proxy.php:234
+msgid "WP Proxy"
+msgstr "代理设置"
+
+#: class-wp-proxy.php:115
+msgid "Wrong port"
+msgstr "端口号错误"
+
+#: class-wp-proxy.php:183
+msgid "Proxy Host"
+msgstr "地址"
+
+#: class-wp-proxy.php:190
+msgid "Proxy Port"
+msgstr "端口"
+
+#: class-wp-proxy.php:197
+msgid "Proxy Username"
+msgstr "用户名"
+
+#: class-wp-proxy.php:204
+msgid "Proxy Password"
+msgstr "密码"
+
+#: class-wp-proxy.php:211
+msgid "Proxy Domains"
+msgstr "要代理的域名"
+
+#: class-wp-proxy.php:218
+msgid "Enable"
+msgstr "是否启用"
+
+#: class-wp-proxy.php:256
+msgid "proxy host"
+msgstr "代理地址"
+
+#: class-wp-proxy.php:267
+msgid "proxy port"
+msgstr "代理端口"
+
+#: class-wp-proxy.php:278
+msgid "username"
+msgstr "无需验证可不填"
+
+#: class-wp-proxy.php:289
+msgid "password"
+msgstr "无需验证可不填"
+
+#: class-wp-proxy.php:313 class-wp-proxy.php:316
+msgid "yes"
+msgstr "是"
+
+#: class-wp-proxy.php:314 class-wp-proxy.php:317
+msgid "no"
+msgstr "否"
diff --git a/languages/wp-proxy-zh_TW.mo b/languages/wp-proxy-zh_TW.mo
new file mode 100644
index 0000000..4e7b3a9
Binary files /dev/null and b/languages/wp-proxy-zh_TW.mo differ
diff --git a/languages/wp-proxy-zh_TW.po b/languages/wp-proxy-zh_TW.po
new file mode 100644
index 0000000..327d151
--- /dev/null
+++ b/languages/wp-proxy-zh_TW.po
@@ -0,0 +1,90 @@
+# Copyright (C) 2019 sleepm
+# This file is distributed under the same license as the WordPress Proxy plugin.
+msgid ""
+msgstr ""
+"Project-Id-Version: WordPress Proxy 1.0.0\n"
+"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp_proxy\n"
+"Language-Team: 繁體中文\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2019-12-22T03:28:20+00:00\n"
+"PO-Revision-Date: 2019-12-22 03:42+0000\n"
+"X-Generator: Loco https://localise.biz/\n"
+"X-Domain: wp-proxy\n"
+"Last-Translator: gt <1520667045@qq.com>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: zh_TW\n"
+"X-Loco-Version: 2.3.1; wp-5.3.2"
+
+#. Plugin Name of the plugin
+msgid "WordPress Proxy"
+msgstr "WordPress Proxy"
+
+#. Plugin URI of the plugin
+msgid "https://xn--vkuk.org/blog/wp-proxy"
+msgstr "https://xn--vkuk.org/blog/wp-proxy"
+
+#. Description of the plugin
+msgid "manage proxy for WordPress"
+msgstr "管理 WordPress 代理"
+
+#. Author of the plugin
+msgid "sleepm"
+msgstr "sleepm"
+
+#: class-wp-proxy.php:106 class-wp-proxy.php:234
+msgid "WP Proxy"
+msgstr "代理設置"
+
+#: class-wp-proxy.php:115
+msgid "Wrong port"
+msgstr "端口號錯誤"
+
+#: class-wp-proxy.php:183
+msgid "Proxy Host"
+msgstr "地址"
+
+#: class-wp-proxy.php:190
+msgid "Proxy Port"
+msgstr "端口"
+
+#: class-wp-proxy.php:197
+msgid "Proxy Username"
+msgstr "用戶名"
+
+#: class-wp-proxy.php:204
+msgid "Proxy Password"
+msgstr "密碼"
+
+#: class-wp-proxy.php:211
+msgid "Proxy Domains"
+msgstr "要代理的域名"
+
+#: class-wp-proxy.php:218
+msgid "Enable"
+msgstr "是否啟用"
+
+#: class-wp-proxy.php:256
+msgid "proxy host"
+msgstr "代理地址"
+
+#: class-wp-proxy.php:267
+msgid "proxy port"
+msgstr "代理端口"
+
+#: class-wp-proxy.php:278
+msgid "username"
+msgstr "無需驗證可不填"
+
+#: class-wp-proxy.php:289
+msgid "password"
+msgstr "無需驗證可不填"
+
+#: class-wp-proxy.php:313 class-wp-proxy.php:316
+msgid "yes"
+msgstr "是"
+
+#: class-wp-proxy.php:314 class-wp-proxy.php:317
+msgid "no"
+msgstr "否"
diff --git a/languages/wp-proxy.pot b/languages/wp-proxy.pot
new file mode 100644
index 0000000..0a9fd89
--- /dev/null
+++ b/languages/wp-proxy.pot
@@ -0,0 +1,90 @@
+# Copyright (C) 2019 sleepm
+# This file is distributed under the same license as the WordPress Proxy plugin.
+msgid ""
+msgstr ""
+"Project-Id-Version: WordPress Proxy 1.0.0\n"
+"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-proxy\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"POT-Creation-Date: 2019-12-22T03:28:20+00:00\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"X-Generator: WP-CLI 2.4.0\n"
+"X-Domain: wp-proxy\n"
+
+#. Plugin Name of the plugin
+msgid "WordPress Proxy"
+msgstr ""
+
+#. Plugin URI of the plugin
+msgid "https://xn--vkuk.org/blog/wp-proxy"
+msgstr ""
+
+#. Description of the plugin
+msgid "manage proxy for WordPress"
+msgstr ""
+
+#. Author of the plugin
+msgid "sleepm"
+msgstr ""
+
+#: class-wp-proxy.php:106
+#: class-wp-proxy.php:234
+msgid "WP Proxy"
+msgstr ""
+
+#: class-wp-proxy.php:115
+msgid "Wrong port"
+msgstr ""
+
+#: class-wp-proxy.php:183
+msgid "Proxy Host"
+msgstr ""
+
+#: class-wp-proxy.php:190
+msgid "Proxy Port"
+msgstr ""
+
+#: class-wp-proxy.php:197
+msgid "Proxy Username"
+msgstr ""
+
+#: class-wp-proxy.php:204
+msgid "Proxy Password"
+msgstr ""
+
+#: class-wp-proxy.php:211
+msgid "Proxy Domains"
+msgstr ""
+
+#: class-wp-proxy.php:218
+msgid "Enable"
+msgstr ""
+
+#: class-wp-proxy.php:256
+msgid "proxy host"
+msgstr ""
+
+#: class-wp-proxy.php:267
+msgid "proxy port"
+msgstr ""
+
+#: class-wp-proxy.php:278
+msgid "username"
+msgstr ""
+
+#: class-wp-proxy.php:289
+msgid "password"
+msgstr ""
+
+#: class-wp-proxy.php:313
+#: class-wp-proxy.php:316
+msgid "yes"
+msgstr ""
+
+#: class-wp-proxy.php:314
+#: class-wp-proxy.php:317
+msgid "no"
+msgstr ""
diff --git a/readme.txt b/readme.txt
new file mode 100644
index 0000000..a340088
--- /dev/null
+++ b/readme.txt
@@ -0,0 +1,7 @@
+# WordPress 代理访问
+Contributors: sleepm
+Tags: proxy
+Requires at least: 3.0.1
+Tested up to: 5.3.2
+Stable tag: 1.0.0
+License: GPLv2 or later
diff --git a/wp-proxy.php b/wp-proxy.php
new file mode 100644
index 0000000..e2709c2
--- /dev/null
+++ b/wp-proxy.php
@@ -0,0 +1,27 @@
+