theodikes / ipv6-proxy-server Goto Github PK
View Code? Open in Web Editor NEWIPv6 backconnect proxy server /64 and /48 subnet for any debian-based distro
License: MIT License
IPv6 backconnect proxy server /64 and /48 subnet for any debian-based distro
License: MIT License
Make it possible to set allow/deny rules during proxy installation
https://arc.net/l/quote/sigmpoqc
Example of use, allow proxy access to specific hosts
3proxy/3proxy#347 (comment)
The installation may look like this
./ipv6-proxy-server.sh -s 48 -c 500 -u user -p pass -r 5 --allow "* * google.com,*.google.com,*.gstatic.com"
./ipv6-proxy-server.sh -s 48 -c 500 -u user -p pass -r 5 --deny "* * google.com,*.google.com,*.gstatic.com"
Also add the set allow/deny list to the output of the command
./ipv6-proxy-server.sh --info
Hello
I am using /64 prefix but script generates
inet6 addr: xxxx:xxxx:xxx:x:3d39:42ca:3c4f:b41f/128 Scope:Global
isn't it supposed to be
inet6 addr: xxxx:xxxx:xxx:x:3d39:42ca:3c4f:b41f/64 Scope:Global
Hi,
Thank you for this great script. But there are some things out there, if you know, please answer them for me because I'm just an end user, not a Cloud or network expert.
This script runs fine on an Ubuntu VPS from Vultr provider but if they find out I run multiple proxies on the VPS, they will ban my account.
So I want to run this script on another provider's VPS like Linode or Digital Ocean, but unfortunately it cannot be used because v6 IPs when created, they cannot be accessed from the internet, specifically I can not ping v6 IPs created by your script.
Is there some network configuration that needs to be changed?
Thanks.
I have an Oracle VPS, but I can't associate an entire IPv6 block to it, I can only define multiple fixed IPs.
So my idea would be to associate a few dozen v6 ips in this vps, store them in a list and inject them into the project so that it rotates between them.
Would it be possible to do this?
If the script does not currently have this capability, could you tell me where in the script the IP that will be used is chosen? So I can try to modify the code for my specific use.
2024-03-01 22:50:40 (34.2 MB/s) - ‘ipv6-proxy-server.sh’ saved [26405/26405]
IPv6 interface is enabled
IPv6 global address is allocated on server successfully
Error: /etc/network/interfaces has no inet6 (IPv6) configuration.
It's because i use a /etc/network/interfaces
How to solve?
i have two Ethernet, one ip4 and one ipv6 when creating a networkless proxy. Is there any way to create a proxy?
I suggest adding a similar argument that will output information with which parameters the current proxy server was started.
Example
Input
./ipv6-proxy-server.sh -s 48 -c 20 -u username2 -p password2 -t socks5 -r 2
Check info
./ipv6-proxy-server.sh -info
Output:
Please implement the generation of random logins and passwords for each proxy and for a certain number of proxies.
Originally I was going to suggest implementing IPv4 proxy creation in the current script, but realized it would be better to create a separate script.
The parameters that will be required are:
--proxies-type
- http
or socks5
. Default http
, if no value provided
--username
--password
- if you specify neither username not password, proxy will run without authentication.
--port
- 3128
- default for http, 1080
is the default for socks5.
--random
- creates random username and password for proxy
--allowed-hosts
--denied-hosts
--uninstall
--info
Example of proxy installation
./ipv4-proxy-server.sh --random --allowed-hosts google.com,*.google.com
Example of received proxy
http://180.113.14.28:3128@YifEgk:DviEjs
During installation I recommend to check for busy port and if it is busy, to stop the script with error text output. This will be useful if there are already installed proxies on this port on the server via scripts from other developers.
Make a backup of current configs before installing.
Add a command that will uninstall the proxy and rollback to the configs from the backup to get the same server state that was before the proxy was installed.
Hello, can you add the ability to rotate the proxy with each proxy request?
I would like the IP to change with each request, many people have it like this and I don't know how they did it, but it is wonderful to use the entire subnet, is there any idea, if you have something, I can pay you for the work. I would like to use the entire subnet without interruptions, a lot of people has it like this.
[root@Flippant-VM ~]# ./ipv6-proxy-server.sh -s 64 -c 100 -u username -p password -t http -r 10
IPv6 interface is enabled
Error: IPv6 global address is not allocated on server, allocate it or contact your VPS/VDS support.
uh can someone please help me😭
Hello, and how to use it with the /80 IPv6 subnet? What should I add to the script for this?
I propose to optimize the process of proxy rotation.
In proxy-startup.sh
implement the following condition:
IF 3proxy instances > 1 THEN delete all*, create a new one ELSE write the ID of the current instance into a variable, create a new one, delete the previous one.
Thanks to this, we will avoid proxy downtime during rotation, because tests have shown that if there are >1 instances, 3proxy uses a random instance for each request.
* - checking for >1 instances is needed in case there was an unexpected error that left 2 instances active and we will simply delete them during the next rotation.
I have a vultr server.
I always get 502 Bad Gateway error.
I tried connection in python.
sudo ufw allow 30000 is done.
run command:
./ipv6-proxy-server.sh -s 64 -c 100 -u username -p password -t http -d
output:
IPv6 proxy server started successfully. Backconnect IPv4 is available from <ip>:30000:username:password to <ip>:30099:username:password via http protocol
import requests
proxies = {'http': 'http://username:password@<ip>:30000', 'https': 'http://username:password@<ip>:30000'}
print(requests.get('http://ip-api.com/json/', proxies=proxies).content)
output:
<html>
<head>
<title>502 Bad Gateway</title>
</head>
<body>
<h2>502 Bad Gateway</h2>
<h3>Host Not Found or connection failed</h3>
</body>
</html>
What is the reason for this error, friends? Vultr
Error: /etc/network/interfaces has no inet6 (IPv6) configuration.
Very Thank You
root@Legion5:/home/luanon404# ./ipv6-proxy-server.sh -s 64 -c 10000 -t http -r 0
IPv6 interface is enabled
IPv6 global address is allocated on server successfully
Network interfaces for IPv6 configured correctly
Test ping google.com using IPv6 successfully
IPv6 network sysctl data configured successfully
All required packages installed successfully
Downloading proxy server source...
Proxy server source code downloaded successfully
Start building proxy server execution file from source...
Proxy server builded successfully
Error: curl package not installed and cannot parse valid IP from interface info
Proxy startup script added to cron autorun successfully
UFW protection disabled, ports for backconnect proxy opened successfully
IPv6 proxy server started successfully. Backconnect IPv4 is available from :30000 to :39999 via http protocol
You can copy all proxies (with credentials) in this file: /root/proxyserver/backconnect_proxies.list
Error: curl package not installed and cannot parse valid IP from interface info
You can see Test ping google.com using IPv6 successfully
is done without curl error, but the last one Error: curl package not installed and cannot parse valid IP from interface info
error, is that important? do you have any suggest?
I'm encountering an issue where the 3proxy.cfg file is being populated with a Private IP, leading to an error message:
"Service not started on line: 14
Command: 'socks' failed with code 40, line 14."
Line 14 has the following format:
proxy -6 -n -a -p30000 -i[ExternalIP] [PrivateIP] -e[IPv6]
Instead of the required:
proxy -6 -n -a -p30000 -i[ExternalIP] -e[IPv6]
It seems to me that it is possible to simplify the script and, above all, the configuration file by following these changes in 3proxy. 3proxy/3proxy#639 .
Grettings
Please add the option to specify the network interface number.
The server used is on aeza.net
The proxies are installed using the command
./ipv6-proxy-server.sh -s 48 -c 500 -u user -p pass -r 5
cat /root/proxyserver/3proxy/3proxy.cfg
daemon
nserver 1.1.1.1
maxconn 200
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
setgid 65535
setuid 65535
auth none
proxy -6 -n -a -p30000 -i_IP4 -e_IPV6
...
cat /root/proxyserver/proxy-startup.sh
immutable_config_part="daemon
nserver 1.1.1.1
maxconn 200
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
setgid 65535
setuid 65535"
auth_part="auth none"
if [ 0 = true ]; then
auth_part="auth strong
users user:CL:pass
allow user"
fi;
dedent immutable_config_part;
dedent auth_part;
...
Both requests work, even though the login/password was specified when the proxy was set up.
curl -x IP:30000 -U user:pass https://ifconfig.co
curl -x IP:30000 https://ifconfig.co
you can support subnet 56?
Outdated for newer VMS / DEDIS
Hi
On my VPS I use aapanel to manage the server. (https://www.aapanel.com). When I run your script, all crontab jobs stop working. Only run the 3proxy server works. In order for them to work again, I have to enter the aapanel in the Cron section, enter the edition of each of my tasks and click Save. Then they start working again. Can it be fixed somehow? Thanks for the helpful script.
Hi, can you add IPv6 rotation functionality by curl request? For example, like here https://blog.vpsville.ru/blog/howto/243.html
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.