Beispiel #1
0
        private void InitList(bool bReadConfig = false)
        {
            if (bReadConfig)
            {
                DB.Instance().ReadConfig();
            }

            ServerList.Items.Clear();
            foreach (ItemInfo info in DB.Instance().listItems)
            {
                ListViewItem item = new ListViewItem(info.strSectionName);
                item.SubItems.Add(info.strType);
                item.SubItems.Add(info.nLocalPort.ToString());
                item.SubItems.Add(info.strLocalIp);
                item.SubItems.Add(info.nRemotePort.ToString());
                item.SubItems.Add(info.strDomain);
                item.SubItems.Add(info.strUseEncryption.ToString().ToLower());
                item.SubItems.Add(info.strUseCompression.ToString().ToLower());
                item.SubItems.Add(info.strRole.ToString());
                item.SubItems.Add(info.strServerName.ToString());
                item.SubItems.Add(info.strSk.ToString());

                ServerList.Items.Add(item);
            }
        }
Beispiel #2
0
        private void AddItem_Click(object sender, System.EventArgs e)
        {
            if (string.IsNullOrEmpty(cNewItemInfo.SectionName))
            {
                MessageBox.Show("必须设置唯一标签");
                return;
            }
            if (cNewItemInfo.IsVisitor)
            {
                if (string.IsNullOrEmpty(cNewItemInfo.ServerName.Trim()))
                {
                    MessageBox.Show("访问模式必须设置访问标签");
                    return;
                }
            }
            cNewItemInfo.Type           = InputAddType.Text;
            cNewItemInfo.LocalPort      = InputAddLoaclPort.Text;
            cNewItemInfo.LocalIp        = InputAddLoaclIP.Text;
            cNewItemInfo.RemotePort     = InputAddRemotePort.Text;
            cNewItemInfo.Domain         = InputAddDomain.Text;
            cNewItemInfo.SectionName    = (Regex.IsMatch(InputAddLoaclPort.Text + InputAddRemotePort.Text, @"[,-]") && !Regex.IsMatch(InputAddSectionName.Text, @"^range:.*")) ? ("range:" + InputAddSectionName.Text) : InputAddSectionName.Text;
            cNewItemInfo.UseEncryption  = CheckAddUseEncryption.Checked;
            cNewItemInfo.UseCompression = CheckAddUseCompression.Checked;
            cNewItemInfo.Sk             = InputAddSk.Text;
            cNewItemInfo.TlsEnable      = CheckAddTlsEnable.Checked;
            cNewItemInfo.IsVisitor      = CheckVisitor.Checked;
            cNewItemInfo.ServerName     = InputAddVisitorSectionName.Text;

            DB.Instance().AddItem(cNewItemInfo);
            cNewItemInfo = null;

            Close();
        }
Beispiel #3
0
        private void InitList(bool bReadConfig = false)
        {
            if (bReadConfig)
            {
                DB.Instance().ReadConfig();
            }

            ServerList.Items.Clear();
            foreach (ItemInfo info in DB.Instance().listItems)
            {
                ListViewItem item = new ListViewItem(info.SectionName);
                item.SubItems.Add(info.Type);
                item.SubItems.Add(info.LocalPort);
                item.SubItems.Add(info.LocalIp);
                item.SubItems.Add(info.RemotePort);
                item.SubItems.Add(info.Domain);
                BooleanItemHandler(ref item, info.UseEncryption);
                BooleanItemHandler(ref item, info.UseCompression);
                BooleanItemHandler(ref item, info.TlsEnable);
                if (DB.Instance().IsVisitorMode(info))
                {
                    info.IsVisitor = true;
                }
                BooleanItemHandler(ref item, info.IsVisitor);
                item.SubItems.Add(info.ServerName);
                ServerList.Items.Add(item);
            }
        }
Beispiel #4
0
 private void DeleteItem_Click(object sender, System.EventArgs e)
 {
     if (MessageBox.Show("确定要删除吗?", "删除条目", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)
     {
         DB.Instance().DelItem(cNewItemInfo.strSectionName);
         Close();
     }
 }
 private void OnConfigDlgLoad(object sender, EventArgs e)
 {
     //初始化显示
     FrpServerIp.Text   = DB.Instance().cServerinfo.strIp;
     FrpServerPort.Text = DB.Instance().cServerinfo.nPort.ToString();
     FrpToken.Text      = DB.Instance().cServerinfo.strToken;
     FrpUser.Text       = DB.Instance().cServerinfo.strUser;
 }
        private void SaveServerConfig_Click(object sender, EventArgs e)
        {
            //MessageBox.Show(FrpServerIp.Text + "\n" + FrpServerPort.Text + "\n" + FrpToken.Text);
            DB.Instance().cServerinfo.strIp = FrpServerIp.Text;
            DB.Instance().cServerinfo.nPort = Convert.ToInt32(FrpServerPort.Text);
            DB.Instance().cServerinfo.strToken = FrpToken.Text;
            DB.Instance().cServerinfo.strUser = FrpUser.Text;

            DB.Instance().SaveConfig();
            Close();
        }
Beispiel #7
0
        private void SaveServerConfig_Click(object sender, EventArgs e)
        {
            //MessageBox.Show(FrpServerIp.Text + "\n" + FrpServerPort.Text + "\n" + FrpToken.Text);
            DB.Instance().cServerinfo.strIp = FrpServerIp.Text;
            DB.Instance().cServerinfo.nPort = Convert.ToInt32(FrpServerPort.Text);
            DB.Instance().cServerinfo.strToken = FrpToken.Text;
            DB.Instance().cServerinfo.strProtocol = InputServerProtocol.SelectedItem.ToString();
            DB.Instance().cServerinfo.nAdminPort = Convert.ToInt32(FrpAdminPort.Text);

            DB.Instance().SaveConfig();
            Close();
        }
Beispiel #8
0
        public void InitShow(string strSectionName = null)
        {
            cNewItemInfo = DB.Instance().GetItem(strSectionName);

            InputAddType.Text              = cNewItemInfo.strType;
            InputAddLoaclPort.Text         = cNewItemInfo.nLocalPort.ToString();
            InputAddLoaclIP.Text           = cNewItemInfo.strLocalIp;
            InputAddRemotePort.Text        = cNewItemInfo.nRemotePort.ToString();
            InputAddDomain.Text            = cNewItemInfo.strDomain;
            CheckAddUseEncryption.Checked  = cNewItemInfo.strUseEncryption;
            CheckAddUseCompression.Checked = cNewItemInfo.strUseCompression;
            InputAddSectionName.Text       = cNewItemInfo.strSectionName;
        }
 private void OnConfigDlgLoad(object sender, EventArgs e)
 {
     //初始化显示
     FrpServerIp.Text   = DB.Instance().cServerinfo.strIp;
     FrpServerPort.Text = DB.Instance().cServerinfo.nPort.ToString();
     FrpToken.Text      = DB.Instance().cServerinfo.strToken;
     FrpUser.Text       = DB.Instance().cServerinfo.strUser;
     FrpAdminPort.Text  = DB.Instance().cServerinfo.nAdminPort.ToString();
     if (DB.Instance().cServerinfo.nAdminPort > 0)
     {
         FrpAdminPort.Enabled = FrpAdmin.Checked = true;
     }
 }
Beispiel #10
0
 private void OnConfigDlgLoad(object sender, EventArgs e)
 {
     //初始化显示
     FrpServerIp.Text   = DB.Instance().cServerinfo.strIp;
     FrpServerPort.Text = DB.Instance().cServerinfo.nPort.ToString();
     FrpToken.Text      = DB.Instance().cServerinfo.strToken;
     InputServerProtocol.SelectedIndex = InputServerProtocol.FindStringExact(DB.Instance().cServerinfo.strProtocol);
     FrpAdminPort.Text = DB.Instance().cServerinfo.nAdminPort.ToString();
     if (DB.Instance().cServerinfo.nAdminPort > 0)
     {
         FrpAdminPort.Enabled = FrpAdmin.Checked = true;
     }
 }
Beispiel #11
0
 private void ReloadFrp()
 {
     if (DB.Instance().cServerinfo.nAdminPort > 0 && (bStatus || sStatus))
     {
         Process frp_reload = new Process();
         frp_reload.StartInfo.FileName               = "frpc.exe";
         frp_reload.StartInfo.Arguments              = " reload -c " + DB.strFileName;
         frp_reload.StartInfo.CreateNoWindow         = true;
         frp_reload.StartInfo.RedirectStandardOutput = true;
         frp_reload.OutputDataReceived              += new DataReceivedEventHandler(MyProcOutputHandler);
         frp_reload.StartInfo.UseShellExecute        = false;
         frp_reload.Start();
         frp_reload.BeginOutputReadLine();
         ProcOutput.AppendText("热加载配置文件..." + "\r\n");
     }
 }
Beispiel #12
0
        private void AddItem_Click(object sender, System.EventArgs e)
        {
            cNewItemInfo.strType           = InputAddType.Text;
            cNewItemInfo.nLocalPort        = Convert.ToInt32(InputAddLoaclPort.Text);
            cNewItemInfo.strLocalIp        = InputAddLoaclIP.Text;
            cNewItemInfo.nRemotePort       = Convert.ToInt32(InputAddRemotePort.Text);
            cNewItemInfo.strDomain         = InputAddDomain.Text;
            cNewItemInfo.strSectionName    = InputAddSectionName.Text;
            cNewItemInfo.strUseEncryption  = CheckAddUseEncryption.Checked;
            cNewItemInfo.strUseCompression = CheckAddUseCompression.Checked;

            DB.Instance().AddItem(cNewItemInfo);
            cNewItemInfo = null;

            Close();
        }
Beispiel #13
0
        private void AddItem_Click(object sender, System.EventArgs e)
        {
            cNewItemInfo.strType           = InputAddType.Text;
            cNewItemInfo.nLocalPort        = InputAddLoaclPort.Text;
            cNewItemInfo.strLocalIp        = InputAddLoaclIP.Text;
            cNewItemInfo.nRemotePort       = InputAddRemotePort.Text;
            cNewItemInfo.strDomain         = InputAddDomain.Text;
            cNewItemInfo.strSectionName    = (Regex.IsMatch(InputAddLoaclPort.Text + InputAddRemotePort.Text, @"[,-]") && !Regex.IsMatch(InputAddSectionName.Text, @"^range:.*")) ? ("range:" + InputAddSectionName.Text) : InputAddSectionName.Text;
            cNewItemInfo.strUseEncryption  = CheckAddUseEncryption.Checked;
            cNewItemInfo.strUseCompression = CheckAddUseCompression.Checked;

            DB.Instance().AddItem(cNewItemInfo);
            cNewItemInfo = null;

            Close();
        }
Beispiel #14
0
        public void InitShow(string strSectionName = null)
        {
            cNewItemInfo = DB.Instance().GetItem(strSectionName);

            InputAddType.Text              = cNewItemInfo.strType;
            InputAddLoaclPort.Text         = cNewItemInfo.nLocalPort.ToString();
            InputAddLoaclIP.Text           = cNewItemInfo.strLocalIp;
            InputAddRemotePort.Text        = cNewItemInfo.nRemotePort.ToString();
            InputAddDomain.Text            = cNewItemInfo.strDomain;
            CheckAddUseEncryption.Checked  = cNewItemInfo.strUseEncryption;
            CheckAddUseCompression.Checked = cNewItemInfo.strUseCompression;
            if (cNewItemInfo.strRole == "visitor")
            {
                CheckAddRoleVisitor.Checked = true;
            }
            else
            {
                CheckAddRoleVisitor.Checked = false;
            }
            InputAddServerName.Text  = cNewItemInfo.strServerName;
            InputAddSK.Text          = cNewItemInfo.strSk;
            InputAddSectionName.Text = cNewItemInfo.strSectionName;
        }
Beispiel #15
0
        public void InitShow(string strSectionName = null)
        {
            cNewItemInfo = DB.Instance().GetItem(strSectionName);

            InputAddType.Text               = cNewItemInfo.Type;
            InputAddLoaclPort.Text          = cNewItemInfo.LocalPort;
            InputAddLoaclIP.Text            = cNewItemInfo.LocalIp;
            InputAddRemotePort.Text         = cNewItemInfo.RemotePort;
            InputAddDomain.Text             = cNewItemInfo.Domain;
            InputAddSk.Text                 = cNewItemInfo.Sk;
            CheckAddUseEncryption.Checked   = cNewItemInfo.UseEncryption;
            CheckAddUseCompression.Checked  = cNewItemInfo.UseCompression;
            CheckAddTlsEnable.Checked       = cNewItemInfo.TlsEnable;
            InputAddSectionName.Text        = cNewItemInfo.SectionName;
            InputAddVisitorSectionName.Text = cNewItemInfo.ServerName;
            if (DB.Instance().IsVisitorMode(cNewItemInfo))
            {
                CheckVisitor.Checked = true;
            }
            else
            {
                CheckVisitor.Checked = false;
            }
        }