Giter Club home page Giter Club logo

ipv6-proxy-server's People

Contributors

theodikes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ipv6-proxy-server's Issues

Add support for allow/deny

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

netmask problem

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

IP v6 issues

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.

Is there any way to use this project with a fixed list of IPs?

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.

network/interface instead of netplan

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?

Two Ethernet

i have two Ethernet, one ip4 and one ipv6 when creating a networkless proxy. Is there any way to create a proxy?

Add the ability to display information about the current proxy server

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:

  • subnet: 48
  • proxy-count: 20
  • authorization-details: username2:password2 (If not set, output: random/not set)
  • proxies-type: socks5
  • rotating-interval: 2
  • etc.

Random login/password

Please implement the generation of random logins and passwords for each proxy and for a certain number of proxies.

Proposal: script for IPv4 proxy

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.

Uninstalling a proxy server

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.

Adding new features

Hello, can you add the ability to rotate the proxy with each proxy request?

rotate entire subnet

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.

subnet /80

Hello, and how to use it with the /80 IPv6 subnet? What should I add to the script for this?

Optimization of proxy rotation process

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.

502 Bad Gateway Error

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>

Curl problem

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?

Use External IP Address Only

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]

Authorization does not work

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

wsl2 support

Hi, im running in wsl2 and get this error, i notice that /etc/network/interfaces only available in real linux, not wsl2, do you know how to fix?
image

After runing script all my cronjobs stop working

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.