about summary refs log tree commit diff
path: root/content/sw-notes/socks-proxy.md
blob: c1accf03cbb3e4aab3ebe43749fe3d3775e04b29 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
---
title: "SOCKS Proxy via SSH"
date: 2023-06-05
lang: en
categories: [software, guide]
tags: [tips, guide, "SOCKS proxy"]
translationKey: "socks-proxy"
---

[SOCKS (RFC 1928)][socks] is a protocol that can be, as said in the
RFC itself, used for firewall traversal, or some other types of network
blocking.

If you have a remote server that you can <abbr>SSH</abbr> to, setting up a
SOCKS connection is dead simple:

```sh
ssh -D [port] [host]
```

where `[host]` is the host name you specified in the <abbr>SSH</abbr> config
file.

How to get your software to direct its connection through this proxy depends on
the program.  For example, in Firefox, you have to go to the setting and set it
in the network settings---use your server's address and the port you used
earlier.  In Chromium and similar forks, add
`--proxy-server="socks5://host:port"` to the parameter in the command line.
Read more on the instruction for [Firefox][guide-fox] and
[Chromium][guide-chrom] on their respective websites.

[socks]: https://www.rfc-editor.org/rfc/rfc1928
[guide-fox]: https://support.mozilla.org/en-US/kb/connection-settings-firefox
[guide-chrom]: https://www.chromium.org/developers/design-documents/network-stack/socks-proxy/