Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Тут скорее вопрос, как с вдс сделать перенаправление трафика)Как вариант, вырезать отсюда прокси-слайдер. Тут он есть.
L2scripts_IO_24Protocol_infinite odyssey
такая реализация у меня есть. я спрашиваю именно техническую часть как сделать сам прокси сервер.Как вариант, вырезать отсюда прокси-слайдер. Тут он есть.
L2scripts_IO_24Protocol_infinite odyssey
По мимо всего прочего, надо как то передавать ип клиента а не машины в игру)такая реализация у меня есть. я спрашиваю именно техническую часть как сделать сам прокси сервер.
есть ведь хостинги которые продают защиту от ддоса которая проксирует айпи аддресс вот как мне сделать так чтоб когда я иду например к серверу с ip 2.2.2.2:7777 он отправил меня на 3.3.3.3:7777
Я ничего не понимаю.такая реализация у меня есть. я спрашиваю именно техническую часть как сделать сам прокси сервер.
есть ведь хостинги которые продают защиту от ддоса которая проксирует айпи аддресс вот как мне сделать так чтоб когда я иду например к серверу с ip 2.2.2.2:7777 он отправил меня на 3.3.3.3:7777
Что то типо такого? Ловим пакеты от клиента на одной тачке, и прокидываем их на другую.такая реализация у меня есть. я спрашиваю именно техническую часть как сделать сам прокси сервер.
есть ведь хостинги которые продают защиту от ддоса которая проксирует айпи аддресс вот как мне сделать так чтоб когда я иду например к серверу с ip 2.2.2.2:7777 он отправил меня на 3.3.3.3:7777
О, можно в личку сорсы поглядеть для общего развития?Что то типо такого? Ловим пакеты от клиента на одной тачке, и прокидываем их на другую.
Забыл на первой дописать, там где стрелочка это куда клиента гонять
Сори, это пакетник для Блесса, пилю в привате) Могу объяснить как сделать такой по аналогииО, можно в личку сорсы поглядеть для общего развития?
О, можно в личку сорсы поглядеть для общего развития?
package main
import (
"bytes"
"encoding/hex"
"flag"
"fmt"
"io"
"log"
"net"
)
var localAddr *string = flag.String("l", "localhost:9999", "local address")
var remoteAddr *string = flag.String("r", "localhost:80", "remote address")
func proxyConn(conn *net.TCPConn) {
rAddr, err := net.ResolveTCPAddr("tcp", *remoteAddr)
if err != nil {
panic(err)
}
rConn, err := net.DialTCP("tcp", nil, rAddr)
if err != nil {
panic(err)
}
defer rConn.Close()
buf := &bytes.Buffer{}
for {
data := make([]byte, 256)
n, err := conn.Read(data)
if err != nil {
panic(err)
}
buf.Write(data[:n])
if data[0] == 13 && data[1] == 10 {
break
}
}
if _, err := rConn.Write(buf.Bytes()); err != nil {
panic(err)
}
log.Printf("sent:\n%v", hex.Dump(buf.Bytes()))
data := make([]byte, 1024)
n, err := rConn.Read(data)
if err != nil {
if err != io.EOF {
panic(err)
} else {
log.Printf("received err: %v", err)
}
}
log.Printf("received:\n%v", hex.Dump(data[:n]))
}
func handleConn(in <-chan *net.TCPConn, out chan<- *net.TCPConn) {
for conn := range in {
proxyConn(conn)
out <- conn
}
}
func closeConn(in <-chan *net.TCPConn) {
for conn := range in {
conn.Close()
}
}
func main() {
flag.Parse()
fmt.Printf("Listening: %v\nProxying: %v\n\n", *localAddr, *remoteAddr)
addr, err := net.ResolveTCPAddr("tcp", *localAddr)
if err != nil {
panic(err)
}
listener, err := net.ListenTCP("tcp", addr)
if err != nil {
panic(err)
}
pending, complete := make(chan *net.TCPConn), make(chan *net.TCPConn)
for i := 0; i < 5; i++ {
go handleConn(pending, complete)
}
go closeConn(complete)
for {
conn, err := listener.AcceptTCP()
if err != nil {
panic(err)
}
pending <- conn
}
}
Окей, спасибоСори, это пакетник для Блесса, пилю в привате) Могу объяснить как сделать такой по аналогии
Вырезал все секретное, чекни личку)