⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shareinternet.class~

📁 ShareInternet源代码,是用红旗4.1的Gambas开发的,如果没有安装Gambas的话
💻 CLASS~
字号:
' Gambas class filePUBLIC Content AS StringPUBLIC jcwk AS Boolean PUBLIC i AS Integer PUBLIC outputwk AS String PUBLIC wkmz AS String PUBLIC wkipym AS String PUBLIC firstopen AS Boolean PUBLIC FUNCTION changefromfile(thefilepath AS String ,strwantchange AS String ,strchangeto AS String) AS String   DIM intweizhi AS Integer   DIM strqian AS String   DIM strhou AS String   DIM strjieguo AS String   DIM thefile AS String   DIM thetext AS String   thefile= file.Load (thefilepath)  thetext=thefile  intweizhi = Instr(thetext,strwantchange)  IF intweizhi=0 THEN     RETURN thetext  ENDIF  strqian=Left(thetext,intweizhi-1)  strhou=Right(thetext,Len(thetext)-intweizhi - Len(strwantchange))   strjieguo = strqian & strchangeto & gb.NewLine  & strhou     file.Save (thefilepath,strjieguo)      RETURN strjieguo   ENDPUBLIC FUNCTION chkip(wkipym AS String) AS String   DIM a AS String DIM i AS Integer a=""i=1DO WHILE (Mid(wkipym,i,1)) <> "/"   a=a & Mid(wkipym,i,1)   i=i+1LOOPRETURN a  ENDPUBLIC SUB Process_Read()  DIM sLine AS String  DIM achar AS String  DIM aa AS Integer    LINE INPUT #LAST, sLine  Content = Content & sLine  txtoutput.Text = txtoutput.Text & sline & gb.NewLine   '检测网卡    IF jcwk=TRUE THEN       sline=Trim(sline)     IF Instr(sline,"eth")=1 THEN        thewk.Text =thewk.Text & "eth" & Trim(Mid(sline,4,2) & "-")             ENDIF          IF Instr(sline,"inet addr")=1 THEN        sline=Mid(sline,11)        aa=1        achar=Mid(sline,aa,1)        DO WHILE achar<>"B" AND aa < 16           thewk.text=thewk.text & achar           aa=aa+1           achar=Mid(sline,aa,1)        LOOP                thewk.Text = Trim(thewk.Text) & "/" &  Mid(sline,Instr(sline,"Mask")+5)      IF Mid(thewk.Text,1,3)="eth" THEN         cbowk.Add(thewk.Text)         cbowk1.Add(thewk.Text)      ENDIF        thewk.Text =""             ENDIF       ENDIFIF firstopen=TRUE AND cbowk.Count > 0 THEN   wkmz=Trim(Mid(cbowk.Text,1,Instr(cbowk.Text,"-")-1))   wkipym=Trim(Mid(cbowk.Text ,Instr(cbowk.Text,"-")+1))   firstopen=FALSEENDIF      ENDPUBLIC SUB cmdbegin2_Click()    DIM baradd AS Float         jcwk=FALSE        baradd=1/20    probar.Value =0    probar.Visible =TRUE        labqy.Text ="正在启用Internet连接共享,请稍候......"    labqy.Visible =TRUE        Wait(1)    EXEC ["service","iptables","restart"] WAIT FOR READ    probar.Value =probar.Value + baradd    Wait(1)    EXEC ["depmod","-a"] WAIT FOR READ    probar.Value =probar.Value + baradd    Wait(1)    EXEC [ "sysctl", "-w","net.ipv4.ip_forward=1" ]  WAIT FOR READ    probar.Value =probar.Value + baradd    Wait(1)    EXEC ["modprobe","ip_tables"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)    EXEC ["modprobe","ip_nat_ftp"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)    EXEC ["iptables","-F"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)    EXEC ["iptables","-t","nat","-F"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)    EXEC ["iptables","-P","INPUT","ACCEPT"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)     EXEC ["iptables","-P","OUTPUT","ACCEPT"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)      EXEC ["iptables","-P","FORWARD","ACCEPT"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)     EXEC ["iptables","-t","nat","-P","POSTROUTING","ACCEPT"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)    EXEC ["iptables","-t","nat","-P","PREROUTING","ACCEPT"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)   EXEC ["iptables","-t","nat","-P","OUTPUT","ACCEPT"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)   EXEC ["iptables","-A","FORWARD","-s",wkipym,"-j","ACCEPT"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)   EXEC ["iptables","-t","nat","-I","POSTROUTING","-s",wkipym,"-j","MASQUERADE"] WAIT FOR READ     probar.Value =probar.Value + baradd    Wait(1)    EXEC ["iptables","--list"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1) IF chk2.Value = TRUE THEN    EXEC ["service","iptables","save"] WAIT FOR READ    probar1.Value =probar1.Value + baradd    Wait(1)         changefromfile("/etc/sysctl.conf","net.ipv4.ip_forward = 0","net.ipv4.ip_forward = 1")    probar1.Value =probar1.Value + baradd    Wait(1)    EXEC ["chkconfig","iptables","reset"] WAIT FOR READ    probar1.Value =probar1.Value + baradd    Wait(1)ENDIF     probar.Value =1     labqy.Text ="已经启用Internet连接共享,只要您把内网客户机的网关设置为" & chkip(wkipym) & ",客户机就可以通过本机共享上网了。"       message("已经启用Internet连接共享")    probar.Visible =FALSE   ENDPUBLIC SUB cmdend2_Click()     DIM baradd AS Float     labqy.Text ="正在停用Internet连接共享,请稍候......"    labqy.Visible =TRUE    probar.Value =0    probar.Visible =TRUE    baradd=1/3    Wait(1)         EXEC [ "sysctl", "-w","net.ipv4.ip_forward=0" ]  WAIT FOR READ    probar.Value =probar.Value + baradd    Wait(1)        EXEC ["iptables","-t","nat","-F"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)         EXEC ["iptables","-F"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)               probar.Value =1    labqy.Text ="已经停用Internet连接共享。如果您之前曾设置为开机时自动启用Internet连接共享连接,那么电脑重新启动时将会自动启用连接共享。"       message("已经停用Internet 连接共享。")    probar.Visible =FALSE  ENDPUBLIC SUB Button1_Click()   jcwk=TRUE   cbowk.Clear    cbowk1.Clear    EXEC [ "ifconfig" ]  WAIT FOR READENDPUBLIC SUB Form_Open()     firstopen=TRUE     thewk.Text =""     jcwk=TRUE      EXEC [ "ifconfig" ]  WAIT FOR READ     ENDPUBLIC SUB cbowk_change()   cbowk1.Text =cbowk.Text    wkmz=Trim(Mid(cbowk.Text,1,Instr(cbowk.Text,"-")-1))   wkipym=Trim(Mid(cbowk.Text ,Instr(cbowk.Text,"-")+1))ENDPUBLIC SUB cbowk1_change()   cbowk.Text =cbowk1.Text       wkmz=Trim(Mid(cbowk1.Text,1,Instr(cbowk1.Text,"-")-1))   wkipym=Trim(Mid(cbowk1.Text ,Instr(cbowk1.Text,"-")+1))ENDPUBLIC SUB cmdbegin1_Click()        DIM baradd AS Float         jcwk=FALSE        baradd=1/18    probar1.Value =0    probar1.Visible =TRUE        labqy1.Text ="正在启用Internet连接共享,请稍候......"    labqy1.Visible =TRUE        Wait(1)    EXEC ["service","iptables","restart"] WAIT FOR READ    probar1.Value =probar1.Value + baradd    Wait(1)    EXEC ["depmod","-a"] WAIT FOR READ    probar1.Value =probar1.Value + baradd    Wait(1)    EXEC [ "sysctl", "-w","net.ipv4.ip_forward=1" ]  WAIT FOR READ    probar1.Value =probar1.Value + baradd    Wait(1)    EXEC ["modprobe","ip_tables"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)    EXEC ["modprobe","ip_nat_ftp"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)    EXEC ["iptables","-F"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)    EXEC ["iptables","-t","nat","-F"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)    EXEC ["iptables","-P","INPUT","ACCEPT"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)       EXEC ["iptables","-P","OUTPUT","ACCEPT"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)      EXEC ["iptables","-P","FORWARD","ACCEPT"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)      EXEC ["iptables","-t","nat","-P","POSTROUTING","ACCEPT"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)    EXEC ["iptables","-t","nat","-P","PREROUTING","ACCEPT"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)   EXEC ["iptables","-t","nat","-P","OUTPUT","ACCEPT"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)   EXEC ["iptables","-A","FORWARD","-s",wkipym,"-j","ACCEPT"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)    EXEC ["iptables","-t","nat","-I","POSTROUTING","-o","ppp0","-j","MASQUERADE"] WAIT FOR READ     probar1.Value =probar1.Value + baradd     Wait(1)       EXEC ["iptables","--list"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)  IF chk1.Value = TRUE THEN    EXEC ["service","iptables","save"] WAIT FOR READ        probar1.Value =probar1.Value + baradd     Wait(1)         changefromfile("/etc/sysctl.conf","net.ipv4.ip_forward = 0","net.ipv4.ip_forward = 1")     probar1.Value =probar1.Value + baradd     Wait(1)         EXEC ["chkconfig","iptables","reset"] WAIT FOR READ    probar1.Value =probar1.Value + baradd    Wait(1)     ENDIF       probar1.Value =1     labqy1.Text ="已经启用Internet连接共享,只要您把内网客户机的网关设置为" & chkip(wkipym) & ",客户机就可以通过本机共享上网了。"       message("已经启用Internet连接共享")    probar1.Visible =FALSE   ENDPUBLIC SUB cmdquit_Click()  ME.Close ENDPUBLIC SUB Button5_Click()  ME.Close ENDPUBLIC SUB cmdjcwk1_Click()   jcwk=TRUE   cbowk.Clear    cbowk1.Clear    EXEC [ "ifconfig" ]  WAIT FOR READENDPUBLIC SUB cmdend1_Click()    DIM baradd AS Float     labqy1.Text ="正在停用Internet连接共享,请稍候......"    labqy1.Visible =TRUE    probar1.Value =0    probar1.Visible =TRUE    baradd=1/3    Wait(1)                EXEC [ "sysctl", "-w","net.ipv4.ip_forward=0" ]  WAIT FOR READ    probar1.Value =probar1.Value + baradd    Wait(1)        EXEC ["iptables","-t","nat","-F"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)         EXEC ["iptables","-F"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)               probar1.Value =1    labqy1.Text ="已经停用Internet连接共享。如果您之前曾设置为开机时自动启用Internet连接共享连接,那么电脑重新启动时将会自动启用连接共享。"       message("已经停用Internet 连接共享。")    probar1.Visible =FALSE ENDPUBLIC SUB cmddel2_Click()    DIM baradd AS Float     labqy.Text ="正在删除Internet连接共享,请稍候......"    labqy.Visible =TRUE    probar.Value =0    probar.Visible =TRUE    baradd=1/5    Wait(1)        changefromfile("/etc/sysctl.conf","net.ipv4.ip_forward = 1","net.ipv4.ip_forward = 0")     probar.Value =probar.Value + baradd     Wait(1)        EXEC ["iptables","-t","nat","-F"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)         EXEC ["iptables","-F"] WAIT FOR READ    probar.Value =probar.Value + baradd     Wait(1)                   EXEC ["service","iptables","save"] WAIT FOR READ     probar.Value =probar.Value + baradd     Wait(1)         EXEC [ "sysctl", "-w","net.ipv4.ip_forward=0" ]  WAIT FOR READ    probar.Value =probar.Value + baradd    Wait(1)                  probar.Value =1    labqy.Text ="已经删除Internet连接共享,如果您之前曾设置为开机时自动启用Internet连接共享连接,那么该设置也被删除,电脑重新启动时将不会再自动启用连接共享。"       message("已经删除Internet连接共享。")    probar.Visible =FALSEENDPUBLIC SUB cmddel1_Click()     DIM baradd AS Float     labqy1.Text ="正在删除Internet连接共享,请稍候......"    labqy1.Visible =TRUE    probar1.Value =0    probar1.Visible =TRUE    baradd=1/5    Wait(1)        changefromfile("/etc/sysctl.conf","net.ipv4.ip_forward = 1","net.ipv4.ip_forward = 0")     probar1.Value =probar1.Value + baradd     Wait(1)        EXEC ["iptables","-t","nat","-F"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)         EXEC ["iptables","-F"] WAIT FOR READ    probar1.Value =probar1.Value + baradd     Wait(1)                   EXEC ["service","iptables","save"] WAIT FOR READ     probar1.Value =probar1.Value + baradd     Wait(1)         EXEC [ "sysctl", "-w","net.ipv4.ip_forward=0" ]  WAIT FOR READ    probar1.Value =probar1.Value + baradd    Wait(1)              probar1.Value =1    labqy1.Text ="已经删除Internet连接共享,如果您之前曾设置为开机时自动启用Internet连接共享连接,那么该设置也被删除,电脑重新启动时将不会再自动启用连接共享。"       message("已经删除Internet连接共享。")    probar1.Visible =FALSEEND

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -