How to set up smartphones and PCs. Informational portal
  • home
  • news
  • Proxy server from any computer with any system. Create a proxy server

Proxy server from any computer with any system. Create a proxy server

Good afternoon friends, many of you are thinking about how to set up your individual proxy servers for social networks, search engines or for some other purpose. Many may have tried to raise their own proxies, but the result was unsuccessful, today I want to tell you how, using the example of one of the many services, you can set up proxies for personal use, the cost of which will vary from 80 rubles, if you raise at least 5 proxy, and with each new proxy, the price for 1 proxy will only decrease. So if you raise 20 proxies, the price will be only 58 rubles. So let's get started.

Registering a server in the Gigspace service and ordering additional ip

First of all, we need to rent a server in the Gigspace.ru service, for this we go to >> link<< Нажимаем кнопку «Заказать» под VDS.

After that, we are redirected to the order page, but since their system has not been brought to mind, we need to re-go to the page: http://gigspace.ru/vds_msk.php and select a tariff plan on this page.

After clicking, we will be redirected to the registration page in the system as a new client. Select the type of client - "New client".

We fill out the registration form, I will not demonstrate filling out the form, since you only need to enter your data there, I think that anyone can handle filling out the form if they are looking for the topic of raising their own proxies.

After filling, select the very first tariff plan, the name of which GiGv-1 M1(230 RUB/month)

Below we indicate that the server will be without a domain name and click the "Next" button.

Next, choose the payment period, I always pay for a month of use, because sometimes there is no need to order a proxy for a longer period, but if you pay for a longer period, you will get a discount. We put a tick in front of the item “Additional IP (50 rubles / month)”, indicate the number of ips that we need, these ips will be our proxy servers, I indicate the number 5, since the ip data will be enough for me now, you you can order another quantity. We don't need a backup. Next, enter the promo code. if received. For my subscribers, I provide a promo code for a 5% discount, but only after a personal contact with me by mail: [email protected] with subject line PROMO CODE Gigspace. Then click on the "Next" button.

At the third step of placing an order, write in the comment: " Good afternoon! I would like to use additional ip-addresses as a proxy for working in social networks“Well, or something like that. If you do not write that ip will be used to proxy traffic, then you will need to make additional gestures to configure them

After clicking on the button, we are redirected to the payment method selection page, I always prefer to pay via WebMoney or Yandex Money, so I choose WebMoney. And you already choose at your discretion, QIWI, Yandex Money, WebMoney and payment using Roboxchange (Robokassa) are available.

Next, we go through the standard procedure for paying the bill through the selected system and wait for about 10 minutes - 24 hours, it all depends on the time the service was ordered. In this regard, Gigspace is slow, but the prices for services do not bite. As soon as your virtual server is created, you will receive an email notification about the creation of the server.

Setting up proxy servers using the putty terminal

Now let's get to the fun part - setting up proxy servers. We received a message in the mail about the successful creation of the server, now we are interested in the access data to the server via the SSH protocol, which came to us in the mail.

And a program for connecting to the server via the SSH protocol, which is called Putty, you can download it from the following >> link<<

After you have downloaded the archive with the program, extract the archive and run the file called "PUTTY.exe". Enter the ip address in the "Host Name" field and click "Open".

Now in the input window we enter the login that came to your mail and password, you need to enter the password in Putty by pressing the Shift + Insert keys, when entering the password, it will not be displayed at all, keep this in mind, after entering the password, press "Enter".

Upon successful password entry, a line will appear #

If it doesn't appear, re-enter the password by pressing Shift+Insert.

Now we need to find out our ip addresses, for this we go to the mail again and find the following content in the message.

Now, on the contrary, a list of all the ip-addresses that you ordered should appear, if this list is not there, write to the ticket, they sometimes forget to connect additional ip, although this was only once during the work with gigspace. After the additional ip is connected, the list will be displayed.

Since I am connecting an additional 5 ip, I will have 1 main ip in the list and 5 of my additional ones, i.e. we will be able to raise 6 proxies in total.

Now we return to the putty console again, first of all we enter the command ifconfig to determine if additional ip addresses are connected to the server's network card. If we see after entering the device command venet0:0, venet0:1, etc., then the hoster has configured the ordered ip addresses connected to the network card, if this is not there, then you can connect manually using the command: ifconfig eth0:1 xxx.xxx.xxx.xxx 255.255.255.0 up, where xxx.xxx.xxx.xxx is one of your ip-addresses, similarly we send commands for all available ip, while changing the last digit in eth0:1 to eth0:2, eth0:3, etc.

After we made sure that the ip addresses are connected to the network card, we need to install the epel repository for further software installation 3proxy to configure a proxy server, since these hosters provide centos 5 OS, the repository installation command will be as follows: rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm. After installation, the following will be displayed in the console:

Now install the software for configuring 3proxy traffic proxying, for this we execute the command: yum install 3proxy -y. We are waiting for the installation to finish.

Install a convenient nano text editor, you can use the standard one, but I prefer the nano editor. We execute the command: yum install nano.

Let's make a backup of the 3proxy config with the command: mv /etc/3proxy.cfg /etc/3proxy.cfg.back.

Now let's edit the 3proxy config, which will be responsible for the work of our proxies. So, we execute the command: nano /etc/3proxy.cfg. An empty file will open in front of us. I prefer setting up a proxy with login and password authorization, so I will demonstrate how to set up a proxy with login and password authorization. Insert the following lines at the beginning of the file by pressing Shift+Insert:

daemon
auth strong
users username:CL:pass
flush
server 8.8.8.8
nscache 65536
timeouts 1 5 30 60 180 1800 15 60

design auth strong is responsible for authorization by login and password, with further use of the proxy, username and pass are the login and password by which you want the proxy to be available. :CL: no need to touch!

If you want to configure authorization by ip, instead of auth strong we write: auth uniquely. Delete the users… line and add the ip-addresses trusted for the proxy by writing the following lines: allow*xxx.xxx.xxx.xxx. Where xxx.xxx.xxx.xxx is a trusted IP address. You can also set several ip-addresses and logins with passwords for the proxy.

Now let's move on to setting up the proxies themselves, for you I have prepared an excel file, which you can download from >> link<<, чтобы упростить работы с прописыванием прокси в конфиге. Http прокси прописываются следующим образом в конфиге:

proxy -n -a -p8050 -i192.168.0.1 -e192.168.0.1

Where you can specify any port, from 1 to 65535, you already prescribe the port at your discretion, for security reasons I advise you to use values ​​​​over 10000. 192.168.0.1 is one of your ip-addresses connected to the server that you will use as proxy.

Socks proxies are written like this:

socks -p1000 -i192.168.0.1 -e192.168.0.1

Similarly, you set your port, your ip is also yours.

Using the excel file that you downloaded above, you can quickly make the constructions necessary for the config by writing your ip addresses instead of xxx.xxx.xxx.xxx, be sure to replace the ports, and specify the logins and passwords for the proxy, copy the existing structures from the "http result" and "socks result" columns, and paste them into the config.

The final config will look like this:

Now press ctrl+x to save the config and press Y to confirm saving the file and then press Enter.

That's it, our config is ready, we write the information to the startup file by running the command: chkconfig 3proxy on

We start 3proxy with the command: service 3proxy start

We check if our proxies work, I use the Mozilla Firefox browser to check, for this we open the Browser, go to "Settings" -\u003e "Advanced" -\u003e "Network" -\u003e "Configure", select "Manual proxy server settings", enter one of our ip and the port that you have registered, apply the settings. Now let's try to go to any site. When the proxy authorization window appears, I congratulate you, you have configured everything. The window should appear something like this.

Now close the console with the command exit or just on the cross of the window and we are satisfied with the configured proxies, friends! 😉

Conclusion

Today I showed you how to set up your own proxy servers to work anonymously on the Internet. I must say right away that there are a lot of hosters in addition to gigspace, but I liked these hosters precisely because they provide a reasonable price for additional ip and servers that work stably.

If you set up your proxies with other hosters, this manual is partially suitable for you, if you have any questions with the settings, you can contact this post in the comments, I think I can help you solve your questions.

Don't forget to subscribe to the blog and share this post on social networks! Stop paying intermediaries, make your own proxies for less! And on the market, proxy prices are now biting, I assure you. 😉

Many users who want to surf the Internet safely are eager to learn how to find out their proxy server - ip address and port. How to do it and why is it needed? The importance and non-triviality of the question raised is explained by the appointment of a proxy. Its main task is to hide the user's personal IP by replacing it with another address.

Most often, this service is in demand in the field of SMM, where you need to log in under different accounts on social networks from one computer. This reduces the risk of blocking accounts to zero and does not arouse suspicion on the part of moderators. Sometimes they use . To illustrate the issue raised, remember the cases when you went to a foreign site with the desire to watch a video or use the services, but a warning appeared that viewing was limited for your region. Such situations arise all the time, but due to the lack of knowledge in the question of how to find out your proxy server and port, these problems can seem unsolvable. Moreover, it significantly impoverishes the user's ability to obtain useful information that could be obtained with the appropriate knowledge.

Dedicated proxies are used by many people. The goals can be very different: from individual use and viewing of blocked web resources, to the corporate segment, where the use of a huge number of proxies is considered the norm. But, at the same time, not everyone can find the answer: how to find out the proxy server that is currently being used. Let's try to consider the most effective options with which you can easily find out all the necessary information.

How to find out the proxy server address - the first way

Second way

Figuratively speaking, it is not always necessary to "climb the mountain" to reach the desired destination. Sometimes you need to be smart and tactfully get around the “mountain”. The answer, how to find out the proxy address, can be obtained in the simplest way. All you need is to contact the system administrator who maintains the local network. He will have the competence to look at the proxy and transfer it to you. The difficulty is that not everyone can find out how to contact the system administrator. To solve this problem, we recommend contacting more knowledgeable people. They will tell you where to call to contact the administrator.

Third way

In the control panel of your computer, find and open the "Network Neighborhood" item. In it, click "show network connections" and then "local network connections". Right click on it and select properties. In the window that opens, you need to find the Internet protocol TPC\IP. Again we select "properties". If there is a checkmark next to “automatically obtain an ip address”, then no dedicated proxy is involved, if there are numbers (for example, 10.0.0.20), then this will be the address of the desired proxy.

How to find the proxy port

In addition to the address and password, many users may be interested in the question of how to find out the proxy port. This is another parameter that is used when working with your . As a rule, standard values ​​for the port are used: 8080, 80, etc. Only in rare cases is the value different. The port address can be viewed in a browser by following the steps above. Its value is entered next to the ip address. The working port on which your proxy actually connects must match the declared value in the system or browser settings, otherwise your Internet connection will not work.

They will speed up work with SEO software and social networks.

Now let's learn how you can create an HTTP proxy server. A proxy server is an intermediary between the user and the Internet. Let's say that your local network has a server that is connected to the Internet by a dedicated channel. In order for all computers to gain access, you need to install an intermediary server through which local computers will access the global network.

A proxy server can mask IP addresses, and only the server's address will be visible on the Internet, because requests will be made on its behalf. In addition, modern servers can cache information and thus save incoming traffic.

In this chapter, we will create a proxy server that will mask the address (all requests will be made on behalf of the server), but without the possibility of caching. Thus, the connection will be transparent.

So, let's move on to practice and learn how everything works from the inside. First you need to decide on the technology used. What to choose - locks, waits via select or Windows events? In our program, when the user requests to download a site, we will need to get that site from the server and pass it to the user. This will take a lot of time, and if you use events, other users will not be able to work at the moment.

To implement parallel work, we need to use threads and create our own instance for each connection. At first glance, this seems complicated, but now we will see that everything is much simpler than it seems.

Now let's move on to the implementation. Create a new project. We need three input fields on the form:

The port on which our server will run and wait for a connection from the client; the port of the external proxy server, if ours needs to redirect requests to another server. Thus, we will be able to build a chain of different proxy servers;

External proxy address.

In addition, you need a button, by pressing which the proxy server will be launched. We will not lay down the possibility of stopping, although this operation consists in simply stopping the server thread.

An example of the main form of the future program is shown in Fig. 5.9.

Rice. 5.9. Form of future proxy server

We will place the loading of the WinSock network library on the OnCreate event for the main form:

procedure THTTPProxyForm.FormCreate(Sender- TObject). var wData- WSADATA: begin if WSAStartup(MAKEWORDd.l). wData)<>0 then begin MessageBox(0. "Can't load WinSock". "Error". 0): exit:

end: end:

By clicking the Start button, you need to start the proxy server. To do this, we will create a separate thread, and in it we will wait for a connection from the client, so as not to delay the work of the main form. There will be no locks in the program.

Procedure THTTPProxyForm.bnStartClick(Sender: TObject). var st: TServerThread: begin st:= TServerThread.Create(true). st iLocal Port:" StrToIntDef(edPort.Text. 8088): st.iExtProxyPort -= StrToIntDef(edExtProxyPort Text. 8080): st.sExtProxyAddr:= edExtProxyAddr.Text: st.Resume: end:

The server thread will need information about which port to run on and where the next server is located. That is why we write this information to public server variables so that they are stored locally. It makes no sense to access the main form from the thread, because in the future you can run two proxy servers on different ports with little to no code modification.

Now let's look at the server thread implementation. To create it, execute the File New Other menu command (for Delphi 6 and lower version, it is enough to select File New). You will see a dialog box for specifying the element to be created. Select Thread Object and click OK. A dialog box for entering the thread name should appear. Enter TServerThread and click OK.

You can see the complete source code (only without the familiar TestFuncError and TestWinSockError routines) in Listing 5.10.

Listing 5.10. TServerThread thread code

Unit ServerThreadUnit. interface uses Classes, winsock, windows; type TServerThread = class(TThread) private (Private declarations) protected procedure Execute: override: public i Local Port. i ExtProxyPort:Integer; sExtProxyAddr:String: end: implementation uses ClientThreadUnit:

procedure TestWinSockError(S:String): begin // The code for this procedure is familiar to us, so it has been truncated to save space

function TestFuncErrordErr:Integer: FuncName:String):Boolean; begin // The code for this function is familiar to us, so it has been truncated to save space

end; procedure TServerThread.Execute;

Listing 5.10 (continued) var sServerListen. stClientSocket: TSOCKET: local-addr-sockaddMn: ct: TCIientThread; begi n

// Create a socket

SServerListen:= socket(AF_INET. SOCK_STREAM, 0);

if SServerListen = INVALID_SOCKET then begin MessageBox(0. "Error creating socket". "Error". 0): exit:

// Filling in the address structure localaddr.sin_addr.s_addr:= htonl(INADDR_ANY): localaddr.sin_family:= AF_INET; localaddr.sin_port:= htonsdLocal Port):

// Associate a socket with a local address

If TestFuncError(bind(sServerListen. localaddr. sizeof(localaddr)) "bind") then exit:

// Start listening

If TestFuncError(listen(sServerListen. 4), "Listen") then exit:

// Loop processing connections from the client

while true do begin // Accept connection

StClientSocket:= accept(sServerListen, nil. nil): if StClientSocket = INVALID.S0CKET then continue: i

// Create a thread to communicate with the client ct:= TClientThread.Create(true): ct.stClient:" StClientSocket: ct iExtProxyPort:= iExtProxyPort: ct sExtProxyAddr:= sExtProxyAddr; ct Resume:

end: end; end.

In the pub! i c added three variables: i Local Port, iExtProxyPort of type Integer and sExtProxyAddr of type String. We already used these variables when we looked at the thread creation code, here you can see how they are declared.

The main server thread code is located in the Execute procedure. First, a socket is created and it starts listening for connections on the port specified by the user.

In an infinite while loop, incoming connections are accepted. If a valid socket is received, another thread of type TClientThread is created. In this thread, there will be direct communication between the client and the server. The stream will act as an intermediary for the client to access web pages. The code for the TClientThread thread is shown in Listing 5-11.

Listing 5.11. A thread that mediates between the client and the web

Unit ClientThreadUnit.

interface uses

classes, winsock. sysutils. windows: type TClientThread = class(TThread) private (Private declarations) protected procedure Execute: override; public iExtProxyPort: Integer; sExtProxyAddr: String: stClient: TSocket: end:

implementation (TClientThread) function LookupName(name: String): TInAddr; begin // Name detection function that we are familiar with

// Send string function

Procedure SendStr(s: TSocket: str: String): begin TempStr:= str+#13+#10: CopyMemory(@sRecvBuff. PCharCTempStr). Length(TempStr)); send(s.sRecvBuff.Length(TempStr).0); end; procedure TClientThread.Execute: var Buff: array of char: iPort: Integer: sRequest. sHost: String: server_addr: sockaddMn: continuation &

Listing 5.11 (continued) sock_server- TSocket: iMode. iSize:Integer-rfds:TFDSET. begin ///////////////////////////////////////////////////////////// /////////// RecvCstClient. buff. 1024.0):

SRequest:= String(Buff).

// No header if sRequest = "" then begin CIoseSocket(stCl i ent). exit, end:

////////////////////////////

// Define the server address and port

//////////////////////////// sHost:= Copy (sRequest. PosCHost: ". sRequest). 255): Delete(sHost. Pos (#13. sHost), 255); Delete(sHost. 1, 6); iPort:= St rToIntDef(Copy (sHost. PosC:". sHost)+l. 255). 80): Delete(sHost.PosC:". sHost).255):

// If host is not found, then an error

If sHost = "" then. begin SendStr(stClient. "HTTP/1.0 400 Invalid header received from browser"); CIoseSocket(stClient); exit: end;

// If there is an external proxy, then redirect to it

If sExtProxyAddr<>" then begin iPort:= iExtProxyPort; sHost:= SExtProxyAddr; end:

sock_server-:= socket(AF_INET. S0CK_STREAM. 0): // Looking for a proxy server

Server_addr.sin_addr.s_addr:= htonl(INADDR_ANY): server_addr sin_family:= AF_INET: server_addr.sin_port .= htons(iPort): server_addr.sin_addr:= LookupName(sHost); one

// Connect to the server

If connect(sock_server. server_addr. sizeof(server_addr)) = SOCKETJRROR then begin SendStr(stClient. "404 Host Not Found"); exit; end; iMode:= 1: setsockopt(sock_server. IPPR0T0_TCP. TCPJODELAY. @iMode. sizeof (integer)).

// Redirect the request to the server or another "proxy" send(sock_server. buff, strlen(buff).0):

// Now we work as an intermediary between the client and the server. // passing the requested data while true do begin // Add sockets to the waiting set FD_ZERO(rfds): FD_SET(stClient, rfds): FD_SET(sock_server. rfds); if (select(0. Orfds. nil. nil. ml)< 0) then exit; // Если пришел запрос от клиента. // то перенаправляем серверу if (FD_ISSET(stClient. rfds)) then begin iSize = recv(stClient. buff, sizeof(buff). 0); if iSize=-l then break; Send(sock_server. buff. iSize. 0); continue: end:

// If the data came from the server.

// then redirect to the client

If (FD_ISSET(sock_server, rfds)) then begin iSize:= recv(sock_server, buff. sizeof(buff). 0):

// The server has already sent everything if iSize = 0 then exit:

Listing 5.11 (continued) SencKstClient. buff. iSize. 0): continue:

end; end: CloseSocket(stClі ent): CloseSocket(sock_server): end: end.

For the proxy server, the most interesting thing is hidden in the TClientThread, and now we will look at it in detail. The only thing missing from this listing is the familiar LookupName function.

So, when a client connects to a proxy server, it sends a standard HTTP request to get some file. We read this header using the recv function. The header looks like this:

GET http://VAAo.vr-onl1ne.rU/HTTP/l.0 Accept: image/gif. image/x-xbitmap. image/jpegs. */* Accept-Language: ru User-Agent: Mozilla/4.0 (compatible: MSIE 6.0: windows NT 5.2: .NET CLR 1.1.4322) Host: www.vr-online.ru Proxy-Connection-Keep-Alive

Until we delve into the essence of the request and the commands contained here, the main thing for us now is the host line. It contains the address of the server from which you want to receive data and return it to the client. In this case, this is www.vr-onlin.ru. The address is known, it remains to find out the port. By default, web servers run on port 80, but if not, then the web server address will be specified as follows: www.vr-online.ru:Port. After the colon, the port number is indicated, and we must take this nuance into account.

So, having received the header, we begin to select the host name from it:

SHost:= Copy(sRequest, Pos("Host: ". sRequest). 255): Delete(sHost. Pos(#13. sHost). 255); Delete(sHost. 1. 6);

Now we separate the port number, if it is specified:

IPort:= StrToIntDef(Copy(sHost. PosC:". sHost)+l. 255). 80); Delete(sHost. PosC:". sHost), 255):

If the port is not specified, the StrToIntDef function will throw an error and return the default value, which is 80.

Be sure to check: if the sHost variable after parsing the header is equal to an empty string, then the server address is not specified or specified incorrectly. In this case, we must return an error. This can be done like this:

SendStr(stClі ent. "HTTP/1.0 400 Invalid header received from browser");

After sending the error, we close the socket and exit the stream.

Now we check: if an external "proxy" is specified, then we replace the address and port of the server with the parameters of the external proxy server. In this case, we simply have to forward the request received from the client to this server.

In principle, if there is an external proxy server, then there was no point in determining the server address. But I do it anyway and I advise you, because in the future you may need to redirect. For example, if a user requests a page from the site www.sex.ru, then our proxy server will determine this and be able to redirect the request to another server. To do this, it is enough to change the value of the sHost variable and slightly correct the request that came from the client.

Having determined the necessary parameters, we create a new socket that will be used to communicate with the external server (regardless of whether it is another proxy server or the web server itself).

Having created a new socket and connected to the server, we immediately put it into asynchronous mode in this way:

iMode:= 1: setsockopt(sock_server.IPPROTOJCP.TCP_NODELAY.OiMode.sizeof(integer)):

The setsockopt function in this case is similar in purpose to the socket ioctl discussed in Chapter 4. It puts the socket into a faster mode of operation, which allows you to not wait and accumulate data, but immediately receive and forward them. Thus, we minimize delays, and the server or client is engaged in accumulation.

After switching the socket to the desired mode, we redirect the request from the client to the web server (or the next proxy server) and start an infinite loop. This cycle will be the mediator. Here, data is expected from the client and server and sent to each other. If empty data has arrived, then this means that the connection is completed and the loop is interrupted. All open sockets are closed when the procedure exits.

As you can see, a proxy server is just an intermediary that forwards packets between the client and the server. Try to add the ability to view what is sent between the client and the server, and you will see that the server sends only the text content of the document to the client's request. After that, the browser parses the received document, and if it finds pictures or other additional information (sound files, flash videos, etc.), then an additional request is made to receive this data. Thus, the browser receives only the data it needs and can save traffic.

I also want to draw your attention to the fact that the port numbers in the source code are set to 8080 by default. This is due to the fact that my network is configured through a proxy server. If you use DialUp, then you need to specify empty lines as the port of the external "proxy" and the address.

To test the example, run our program and server. Then open Internet Explorer (or another browser) and set it to use a proxy server. To do this, execute the menu command Tools Internet Options, and in the dialog box that appears (Fig. 5.10), go to the Connection tab.

Rice. 5.10. Browser settings

Click the Network Settings button, and a new dialog box will open in front of you (Fig. 5.11).


Rice. 5.11. Setting up a proxy server

In the Proxy server area, select the Use a proxy server check box and specify the address and port. If you're running the server on your local machine, you can use 127.0.0.1, but I recommend using a real address to make sure the example works.

NOTE ---1 The source code for the example discussed here is located on the CD-ROM in the directory 50urse5\sp05\N"GTPRroxy.

If you need a proxy, then below you will find, in my opinion, the best way to create a proxy. What is a proxy server for? Very simple, here are some possible answers to this question:

1. Imagine that you are sitting in a hotel or cafe with free WiFi. Where is the guarantee that WiFi is not deployed by scammers who are waiting for some sucker to start transmitting his bank card data via WiFi or enter logins and passwords to his personal pages. There are two ways here, either not to use free WiFi for work and shopping, or to use a proxy through which data will be transmitted in encrypted form.

2. Hiding your real IP address. Sometimes this is necessary to maintain anonymity.

3. You received a search engine ban due to frequent requests. For example, if Yandex often asks if you are a robot or a human.

There are 2 options to find a proxy server: find a service (paid or free) or create your own proxy server. Here we will not consider the first option, because. there is no guarantee that a log is not written on the server (probability of losing personal data, bank card data, logins and passwords). Below we will consider the second option: creating your own proxy server.

1. Find hosting with SSH support

If you are a webmaster, then you probably already have an SSH-enabled hosting. If not, then search the Internet for an inexpensive hosting that supports SSH. There are hosting providers who are ready to offer the hosting we need for about $ 1 per month. You can also find overseas hosting, but it will be a little more expensive. If you search better, you can find free options, but I think the paid ones will work more reliably.

2. Run the PuTTY program

Once you have hosted with SSH, you need PuTTY to create a local proxy server. You can download the program for free from the official website of the program: www.putty.org.

3. Set up the PuTTY program

After starting the program, you will see a window with settings. In the Host Name field, enter the domain address or IP address of your server. In the Port field, enter the port, usually 22.

Now go to the Connection->SSH->Tunnels category. Here you need to add a port. To do this, in the Source port field, enter the port for the future local proxy server, for example, 8888. Select the Dinamic option and click the Add button. After that, the port will appear in the Forwarded ports field - line D8888.

In order not to do this lengthy procedure every time you start, you need to save the current settings. To do this, return to the Session category, enter a name for your settings in the Saved Sessions field, for example, "myhost.ru proxy" and click the Save button. Your settings will then appear in the list below. Now, the next time you start the program, you can select your settings from this list and click on the Load button.

4. Open a session

After setting up the program, you can open a session. This will create a local proxy server. To do this, click on the Open button.

If you are connecting to a server for the first time, then PuTTY will notify you that it does not have information about this server. I strongly recommend that you connect to your server through a reliable known network for the first time, in this case click on the Yes button. If you see this message when connecting through an unknown free hotspot, it's best not to continue connecting and click Cancel.



5. Proxy is ready!

After you have entered your login and password, information about the server will appear on the screen, and your proxy will be available at 127.0.0.1:8888 or localhost:8888. At the end of the work, the black window of the PuTTY program can be closed, agreeing with the warning.

6. Setting up the browser and other programs

To use the created local proxy server in the browser, you need to configure the connection through the SOCKS5 proxy server by specifying the settings 127.0.0.1:8888 or localhost:8888 . Other programs are configured in a similar way. Let's take Internet Explorer 10 as an example.

Select "Internet Options" from the menu.


In the window that appears, select the "Connections" tab and click on the "Network settings" button on it.

In the "Configure LAN Settings" window, check the "Use a proxy server..." checkbox (in in the future, to quickly turn the proxy on and off, you can simply uncheck or set this checkbox) and click on the "Advanced" button.

In the "Proxy settings" window, specify only item 4. Clear the rest of the fields so that the browser does not get confused.

Now close all windows by clicking on the "OK" buttons. Your browser is ready to work through a proxy.

7. Verification

To check and make sure that you really access the Internet through the server, go in your browser to the page of one of the services that determine your IP address. For example, internet.yandex.ru or a more detailed 2IP service. Compare the IP address with the disabled and enabled proxy server.

Need a proxy? Where to get it, such a need often arises. Internet users often notice this in their daily work. Why do you need to hide the ip address:

Maintaining your anonymity. (It can be useful if you use the Internet for certain business sectors).

Parsing the search engine you got a ban. For example, “Are you a robot, a frequent question of the Yandex search engine?”. Or Rapidshara.com interferes with the easy use of its services.

Here are a few options for finding a proxy (socks) server: make a purchase, parse the server yourself, or create it yourself. The first 2 options are not particularly suitable, because. when buying a proxy, we do not know if the login is written (you can also lose your personal data, icq or mail).

Proxies that are in the public domain - public, usually stay for no more than a day. So I think option 3 is more preferable, or rather, we'll just create our own server and it's free. In order to complete this task, you need to follow a few simple steps.

1) We open a search engine that is convenient for you, and look for hosting with ssh support - not expensive. In the Russian segment, you can easily find about a dozen hosters who will sell hosting with ssh support for just $1. A foreign ip address will cost more than $5 per month. But if you need a completely freebie, then there are many hostings that will provide you with a test version for free. You just need to search well.

2) As a result, you have an account with ssh, while we forget about it. For the next step, we need some software to work with ssh. If you have ever used the command line in nix systems, you know about putty, but if you haven’t met, then it’s not scary, just download the program.

3) Run putty and configure for our server: Enter the IP address of your server or domain in HostName. The Port field is usually 21, which is the default for ssh. On the Connection -> Ssh -> Tunnels tab, (Add new forwarded port) - you need to add a new port (. Source Port, select the port that the proxy will use on our computer. Dynamic must be selected and click on the add button. As a result, in Forwarded Port you should see a D81 entry.

4) We are looking for and click on the open button. In the black window, first enter your username, then, of course, the password (if nothing appears during the password entry process, then this is normal).

5) Well, in principle, it's ready - the proxy at 127.0.0.1:81 is yours. You can reap the fruits of your labor. Moreover, the method, if not in all cases is free, then at least always economical.

And one more thing - as soon as you open an ssh session, in the browser proxy settings, you need to enter localhost (127.0.0.1) and the port and not in HTTP-Proxy, namely in SOCKS5.

Top Related Articles