5 changed files with 75 additions and 0 deletions
@ -0,0 +1 @@ |
|||||
|
up-six.sh |
@ -0,0 +1 @@ |
|||||
|
ip link del he-ipv6 |
@ -0,0 +1,65 @@ |
|||||
|
package main |
||||
|
|
||||
|
import ( |
||||
|
"fmt" |
||||
|
"log" |
||||
|
"os/exec" |
||||
|
"io/ioutil" |
||||
|
"strings" |
||||
|
"math/rand" |
||||
|
"time" |
||||
|
) |
||||
|
|
||||
|
const ( |
||||
|
upFile = "up-six.sh" |
||||
|
downFile = "down-six.sh" |
||||
|
repeatTimer = 120 |
||||
|
) |
||||
|
|
||||
|
func main() { |
||||
|
for true { |
||||
|
fileToExec(downFile) |
||||
|
fileToExec(upFile) |
||||
|
time.Sleep(repeatTimer * time.Second) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
func fileToExec(filename string) { |
||||
|
doCmds := fileToCmd(filename) |
||||
|
for _, currCmd := range doCmds { |
||||
|
actualCmd := "" |
||||
|
if strings.Count(currCmd, "%x") == 1 { |
||||
|
actualCmd = fmt.Sprintf(currCmd, rand.Int() % 65536) |
||||
|
} else if strings.Count(currCmd, "%x") == 2 { |
||||
|
actualCmd = fmt.Sprintf(currCmd, rand.Int() % 65536, rand.Int() % 65536) |
||||
|
} else if strings.Count(currCmd, "%x") == 3 { |
||||
|
actualCmd = fmt.Sprintf(currCmd, rand.Int() % 65536, rand.Int() % 65536, rand.Int() % 65536) |
||||
|
} else if strings.Count(currCmd, "%x") == 4 { |
||||
|
actualCmd = fmt.Sprintf(currCmd, rand.Int() % 65536, rand.Int() % 65536, rand.Int() % 65536, rand.Int() % 65536) |
||||
|
} else if strings.Count(currCmd, "%x") == 5 { |
||||
|
actualCmd = fmt.Sprintf(currCmd, rand.Int() % 65536, rand.Int() % 65536, rand.Int() % 65536, rand.Int() % 65536, rand.Int() % 65536) |
||||
|
} else { |
||||
|
actualCmd = currCmd |
||||
|
} |
||||
|
executeCmd(actualCmd) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
func fileToCmd(filename string) []string { |
||||
|
fileBody, err := ioutil.ReadFile(filename) |
||||
|
if err != nil { |
||||
|
log.Printf("Error while reading file %s\n", filename) |
||||
|
return []string{} |
||||
|
} |
||||
|
cmdArr := strings.Split(string(fileBody), "\n") |
||||
|
return cmdArr |
||||
|
} |
||||
|
|
||||
|
func executeCmd(cmdStr string) { |
||||
|
cmd := exec.Command("bash", "-c", cmdStr) |
||||
|
log.Println(cmdStr) |
||||
|
err := cmd.Run() |
||||
|
if err != nil { |
||||
|
log.Println(err) |
||||
|
} |
||||
|
} |
Binary file not shown.
@ -0,0 +1,8 @@ |
|||||
|
# use configuration from hurricane electric to modify |
||||
|
# up to 5 hex placeholder in ipv6 allowed |
||||
|
|
||||
|
ip tunnel add he-ipv6 mode sit remote 1.2.3.4 local 1.2.3.5 ttl 255 |
||||
|
ip link set he-ipv6 up |
||||
|
ip addr add aaaa:aaa:aa:aaa::%x:%x/64 dev he-ipv6 |
||||
|
ip route add ::/0 dev he-ipv6 |
||||
|
ip -f inet6 addr |
Loading…
Reference in new issue