# YouTube-Proxy mit Squid3



## Viperdriver2000 (23. Dez. 2014)

Hi,
An meinem DSL Anschluss gibt es immer wieder Probleme mit Youtube.
Also dachte ich mir mache ich auf meinem rootserver einen Squid3 proxy für youtube. Nur für mich mit User PW auth.

Das ganze habe ich anhand dieser Anleitung gemacht.

```
Die Installation ist mit folgenden Schritten recht schnell erledigt:

Zunächst solltet ihr euren frisch aufgesetzten Server auf den neusten Stand bringen. Das geht am einfachsten in einer Debian-Umgebung mit dem Befehl:
apt-get update && apt-get upgrade
Ist das getan erfolgt auch schon die Installation von Squid. Zudem installiert ihr euch euren favorisierten Editor, bei mir ist es nano:
apt-get install squid3 nano
Im nächsten Schritt geht es auch schon an die Konfiguration. Legt zunächst ein Passwort fest, indem ihr als erstes eine leere Datei passwd in /etc/squid3 erstellt:
touch /etc/squid3/passwd
Dann noch die erforderlichen Berechtigungen setzen..

chmod o+r /etc/squid3/passwd
..um anschließend mit htpasswd ein valide passwd-Datei zu erstellen:

htpasswd /etc/squid3/passwd DeinBenutzername
Nun bearbeitet ihr die automatisch erstellte Konfigrationsdatei des Squid-Proxys, zu finden unter /etc/squid3/my.conf:
nano /etc/squid3/my.conf
Fügt in dieser Datei bitte den folgenden Konfig.-Code an. Er beschreibt wie ihr euch später mit dem Proxy authentifizieren werdet und schaltet in der letzten Zeile diese neue Konfiguration frei.

# TAG: auth_param
auth_param basic realm my proxy
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd
acl ncsa_users proxy_auth REQUIRED
# TAG: http_access
http_access allow ncsa_users
Diese Konfiguration muss noch zum Abschluss in der Haupt-Konfig.-Datei /etc/squid3/squid.conf (am besten ganz oben) eingebunden werden:

include /etc/squid3/my.conf
Jetzt noch den Squid starten:
service squid3 start
```
Das ganze ging einfach und ohne Problem.
Leider funktioniert das ganze aber nicht 
Bzw es funktioniert schon...aber nur wenn ich es ohne die auth mache.
Ich also

```
# TAG: http_access
http_access allow ncsa_users
```
in

```
# TAG: http_access
http_access allow all
```
ändere.
Aber das ist ja nicht die Lösung...


```
tail -f /var/log/squid3/access.log
1419368614.636     93 79.195.xxx.4 TCP_DENIED/407 4193 GET http://web.de/ viperdriver2000 NONE/- text/html
1419368620.394      0 79.195.xxx.4 TCP_DENIED/407 4193 GET http://web.de/ viperdriver2000 NONE/- text/html
1419368625.678      0 79.195.xxx.4 TCP_DENIED/407 4193 GET http://web.de/ viperdriver2000 NONE/- text/html
1419368667.807      0 79.195.xxx.4 TCP_DENIED/407 4193 GET http://web.de/ viperdriver2000 NONE/- text/html
1419368777.459      1 79.195.xxx.4 TCP_DENIED/407 4193 GET http://web.de/ viperdriver2000 NONE/- text/html
1419370200.176    150 79.195.xxx.4 TCP_DENIED/407 4193 GET http://web.de/ viperdriver2000 NONE/- text/html
1419370207.398     15 79.195.xxx.4 TCP_DENIED/407 4193 GET http://web.de/ viperdriver2000 NONE/- text/html
```


```
squid3 -k parse
2014/12/23 22:46:32| Processing Configuration File: /etc/squid3/squid.conf (depth 0)
2014/12/23 22:46:32| Processing: include /etc/squid3/my.conf
2014/12/23 22:46:32| Processing Configuration File: /etc/squid3/my.conf (depth 1)
2014/12/23 22:46:32| Processing: auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd
2014/12/23 22:46:32| Processing: auth_param basic children 5
2014/12/23 22:46:32| Processing: auth_param basic realm Squid proxy
2014/12/23 22:46:32| Processing: auth_param basic credentialsttl 2 hours
2014/12/23 22:46:32| Processing: auth_param basic casesensitive off
2014/12/23 22:46:32| Processing: acl ncsa_users proxy_auth REQUIRED
2014/12/23 22:46:32| Processing: http_access allow ncsa_users
2014/12/23 22:46:32| Processing: acl manager proto cache_object
2014/12/23 22:46:32| Processing: acl localhost src 127.0.0.1/32 ::1
2014/12/23 22:46:32| Processing: acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
2014/12/23 22:46:32| Processing: acl SSL_ports port 443
2014/12/23 22:46:32| Processing: acl Safe_ports port 80         # http
2014/12/23 22:46:32| Processing: acl Safe_ports port 21         # ftp
2014/12/23 22:46:32| Processing: acl Safe_ports port 443                # https
2014/12/23 22:46:32| Processing: acl Safe_ports port 70         # gopher
2014/12/23 22:46:32| Processing: acl Safe_ports port 210                # wais
2014/12/23 22:46:32| Processing: acl Safe_ports port 1025-65535 # unregistered ports
2014/12/23 22:46:32| Processing: acl Safe_ports port 280                # http-mgmt
2014/12/23 22:46:32| Processing: acl Safe_ports port 488                # gss-http
2014/12/23 22:46:32| Processing: acl Safe_ports port 591                # filemaker
2014/12/23 22:46:32| Processing: acl Safe_ports port 777                # multiling http
2014/12/23 22:46:32| Processing: acl CONNECT method CONNECT
2014/12/23 22:46:32| Processing: http_access allow manager localhost
2014/12/23 22:46:32| Processing: http_access deny manager
2014/12/23 22:46:32| Processing: http_access deny !Safe_ports
2014/12/23 22:46:32| Processing: http_access deny CONNECT !SSL_ports
2014/12/23 22:46:32| Processing: http_access allow localhost
2014/12/23 22:46:32| Processing: http_port 3128
2014/12/23 22:46:32| Processing: coredump_dir /var/spool/squid3
2014/12/23 22:46:32| Processing: refresh_pattern ^ftp:          1440    20%     10080
2014/12/23 22:46:32| Processing: refresh_pattern ^gopher:       1440    0%      1440
2014/12/23 22:46:32| Processing: refresh_pattern -i (/cgi-bin/|\?) 0    0%      0
2014/12/23 22:46:32| Processing: refresh_pattern .              0       20%     4320
2014/12/23 22:46:32| Processing: cache_effective_user proxy
2014/12/23 22:46:32| Processing: cache_effective_group proxy
```


```
root@server:~# ll /usr/lib/squid3/ncsa_auth
-rwxr-xr-x 1 root root 27K Aug 28 08:43 /usr/lib/squid3/ncsa_auth
root@server:~# ll /etc/squid3/passwd
-rw-r--r-- 1 600 root 88 Dez 23 22:05 /etc/squid3/passwd
```


```
root@server:~# ps fauwx |grep squid
root     15527  0.0  0.0   5636   552 pts/2    S+   22:46   0:00  |   \_ tail -f /var/log/squid3/access.log
root     15877  0.0  0.0   9900   892 pts/5    S+   22:49   0:00      \_ grep squid
root     12459  0.0  0.0  49960  1832 ?        Ss   22:29   0:00 /usr/sbin/squid3 -YC -f /etc/squid3/squid.conf
proxy    12463  0.0  0.3  86964 14628 ?        S    22:29   0:00  \_ (squid) -YC -f /etc/squid3/squid.conf
root     12464  0.0  0.0  17288   648 ?        S    22:29   0:00      \_ (ncsa_auth) /etc/squid3/passwd
root     12465  0.0  0.0  17156   408 ?        S    22:29   0:00      \_ (ncsa_auth) /etc/squid3/passwd
root     12466  0.0  0.0  17156   404 ?        S    22:29   0:00      \_ (ncsa_auth) /etc/squid3/passwd
root     12467  0.0  0.0  17156   404 ?        S    22:29   0:00      \_ (ncsa_auth) /etc/squid3/passwd
root     12468  0.0  0.0  17156   404 ?        S    22:29   0:00      \_ (ncsa_auth) /etc/squid3/passwd
```
vielleicht kann mir ja jemand helfen oder mir Tipps geben.

EDIT:
Ich habe als username und passwort was leichtes genommen somit kann ich mich dabei nicht vertun 
EDIT2:
Der Server ist nach dieser Anleitung installiert.
http://www.howtoforge.com/perfect-server-debian-wheezy-apache2-bind-dovecot-ispconfig-3

Danke & Gruß
Vip


----------



## F4RR3LL (23. Dez. 2014)

Ich hab zwar keine direkte Lösung zu deinem Problem, aber evtl eine indirekte, ich nutze auch den Squid um von meinem Canada Server aus Youtube zu nutzen.
Da mich dieser Auth allerdings gestört hat, lasse ich Squid nur an localhost lauschen und gehe übers VPN drauf. Das klappt wunderbar.

Gruß Sven


----------



## Viperdriver2000 (23. Dez. 2014)

mh okay. das wäre ne Option. 
Aber eigentlich nicht das was ich will bzw ich will den step dazwischen nicht. 
ohne vpn könnten das evtl. dann noch andere freunde von mir nutzen die probs mit yt haben...

Aber danke für den tip

Gruß
Vip


----------



## F4RR3LL (23. Dez. 2014)

Bei mir nutzen es auch meine Verwandten und ein paar Freunde. Vorteil. Jeder bekommt seinen eigenen VPN Key und wenn ich wen runter haben will..lösch ich den Key, fertig.


----------



## Viperdriver2000 (24. Dez. 2014)

mh...ich würde es gerne ohne vpn zum fliegen bekommen ^^


----------



## F4RR3LL (24. Dez. 2014)

Da kann ich dann leider nicht weiter helfen, da ich mich mit Squid nicht weiter als nötig befasst habe. 
Aber sollte ja eigentlich kein Problem sein. Wird bestimmt noch von wem anders die passende Lösung kommen 

Gruß Sven


----------



## nowayback (24. Dez. 2014)

wäre es möglich, das durch das importieren deiner /etc/squid3/my.conf oben in der /etc/squid3/squid.conf zu einem späteren Zeitpunkt überschrieben wird und es daher nicht funktioniert?


----------



## F4RR3LL (24. Dez. 2014)

Aber dann dürfte sein "http_access allow all" aber auch nicht funktionieren, bzw würde durch die Überschreibung von Haus aus funktionieren.
Aber der Teil ist definitiv weiter hinten in der config nochmal vorhanden.


----------



## Viperdriver2000 (24. Dez. 2014)

Ich nutze die komplette orginal conf. (nur http_access deny all, wurde gelöscht)
ich habe dann per include meine Optionen dazu geholt.
Ich habe nix gefunden was so aussieht als wenn es wieder was verbietet.
"squid3 -k parse" sollte doch eigentlich zeigen was geladen wird oder?
Ich habe die my.conf nochmal angepasst

```
cat /etc/squid3/my.conf
# TAG: auth_param
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd
#auth_param basic children 5
auth_param basic realm Squid proxy
#auth_param basic credentialsttl 2 hours
#auth_param basic casesensitive off

#  TAG: acl
acl ncsa_users proxy_auth REQUIRED
acl meineip src 79.195.0.0/24

# TAG: http_access
http_access allow ncsa_users
http_access allow meineip
```
Aber auch mit der acl zur src komme ich nicht weiter.


```
root@server:/etc/squid3# /usr/lib/squid3/ncsa_auth /etc/squid3/passwd

ERR

ERR
^C
```
soll das so aussehen? die "ERR" kamen nur durch "Enter" drücken zustande.


----------

