mirror of
https://github.com/DoTheEvo/selfhosted-apps-docker.git
synced 2026-07-03 14:06:40 +02:00
update
This commit is contained in:
+37
-35
@@ -10,16 +10,19 @@ Forward proxy to avoid websites IP bans.<br>
|
||||
|
||||
* [Official](http://www.squid-cache.org/)
|
||||
* [Github](https://github.com/squid-cache/squid)
|
||||
* [Arch wiki](https://wiki.archlinux.org/title/Squid)
|
||||
|
||||
Caching and forwarding HTTP web proxy.<br>
|
||||
Main use here is being able to access web pages from a different IP than
|
||||
your own in a comfortable way.
|
||||
your own in a comfortable way.<br>
|
||||
Other uses are caching to improve speed and load, and ability to block domains,
|
||||
ads, IPs,...
|
||||
|
||||
Squid is written in C++.
|
||||
|
||||
# Hosting
|
||||
|
||||
Free oracle cloud instance can be used.<br>
|
||||
Free oracle cloud instance can be used to host squid somewhere in the world.<br>
|
||||
[Detailed setup guide here.](https://github.com/DoTheEvo/selfhosted-apps-docker/tree/master/free_cloud_hosting_VPS)
|
||||
|
||||
# Files and directory structure
|
||||
@@ -54,32 +57,6 @@ services:
|
||||
|
||||
# squid.conf
|
||||
|
||||
Minimal config that works.<br>
|
||||
|
||||
For running in docker `max_filedescriptors 1048576` is required, prevents error:<br>
|
||||
*FATAL: xcalloc: Unable to allocate 1073741816 blocks of 432 bytes
|
||||
squid cache terminated abnormally*
|
||||
|
||||
`squid.conf`
|
||||
```php
|
||||
max_filedescriptors 1048576
|
||||
http_port 56566
|
||||
http_access allow all
|
||||
```
|
||||
|
||||
Linux curl command can test if reverse proxy works.
|
||||
|
||||
`curl -x http://666.6.66.6:56566 -L http://archlinux.org`
|
||||
|
||||
# More configuration
|
||||
|
||||
For security I use firewall that allows in connections only from one public IP.
|
||||
Or I would be using VPN. So not much interest in security acl and authorization config.
|
||||
|
||||
Also no interest in caching.
|
||||
So this is just some config with some headers turned off for maybe better hiding
|
||||
of the real IP.
|
||||
|
||||
`squid.conf`
|
||||
```php
|
||||
max_filedescriptors 1048576
|
||||
@@ -95,16 +72,41 @@ follow_x_forwarded_for deny all
|
||||
request_header_access X-Forwarded-For deny all
|
||||
```
|
||||
|
||||
* [arch wiki](https://wiki.archlinux.org/title/Squid)
|
||||
*
|
||||
A minimal config that works.
|
||||
|
||||
# Usage
|
||||
For running in docker, `max_filedescriptors 1048576` is required, prevents error:<br>
|
||||
*FATAL: xcalloc: Unable to allocate 1073741816 blocks of 432 bytes
|
||||
squid cache terminated abnormally*
|
||||
|
||||
FoxyProxy Standard - got version on firefox and chrome.
|
||||
A firewall is used for security, allows in-connections only from one public IP.
|
||||
Otherwise a VPN like wireguard would be used,
|
||||
so not much interest in acl security and authorization provided by the config.<br>
|
||||
Also no interest in caching.<br>
|
||||
So this is just a config with some headers turned off for maybe better hiding
|
||||
of the real IP.
|
||||
|
||||
In config one can setup ip and port and it works.<br>
|
||||
But it also has pattern section where url wildcard can be set and proxy is applied
|
||||
only on those sites.
|
||||
**Testing**
|
||||
|
||||
Linux curl command can test if reverse proxy works.
|
||||
|
||||
`curl -x http://666.6.66.6:56566 -L http://archlinux.org`
|
||||
|
||||
# Setting proxy in browsers
|
||||
|
||||

|
||||
|
||||
Every browser has proxy settings where ip and port can be set and it should
|
||||
work globally for every site. But if only certain domains should go through proxy
|
||||
then thers browsers addons.
|
||||
|
||||
**FoxyProxy Standard**
|
||||
|
||||
* [firefox](https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/)
|
||||
* [chrome](https://chrome.google.com/webstore/detail/foxyproxy-standard/gcknhkkoolaabfmlnjonogaaifnjlfnp)
|
||||
|
||||
In config one can setup the proxy ip and port and then one can enable or disable proxy.<br>
|
||||
But it also has pattern section where url wildcard can be set and proxy
|
||||
is enabled all the time but applies only on sites fitting pattern.
|
||||
|
||||
# Update
|
||||
|
||||
|
||||
Reference in New Issue
Block a user