https://github.com/blocky/socksproxy
A Socks proxy server that when used in conjunction with a vi proxy grants a Nitro enclave network access
https://github.com/blocky/socksproxy
Last synced: 5 months ago
JSON representation
A Socks proxy server that when used in conjunction with a vi proxy grants a Nitro enclave network access
- Host: GitHub
- URL: https://github.com/blocky/socksproxy
- Owner: blocky
- License: mpl-2.0
- Created: 2023-02-06T16:22:03.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-28T19:12:08.000Z (about 2 years ago)
- Last Synced: 2024-06-19T21:55:38.616Z (almost 2 years ago)
- Language: Go
- Size: 13.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SOCKS Proxy
A SOCKS5 server that, when used in conjunction with a
[viproxy](https://github.com/blocky/viproxy), grants networking capabilities to
a program running in a Nitro Server.
The current iteration, however, is coded to either just allow connections to
[Let's Encrypt](https://letsencrypt.org/) for the purpose of getting
self-signed certificates, or it allows all outgoing HTTP connections.
## Usage
The easy way to set up development is to run the server in verbose mode:
go run main.go --verbose
This will start a SOCKS5 proxy on the default port `:1080`. From a different
shell, you can use curl to make a request though the proxy with the following
command:
curl --socks5-hostname localhost:1080 https://acme-v02.api.letsencrypt.org
This command should succeed and return a website.
Next, we can try to make a request that should be blocked:
curl --socks5-hostname localhost:1080 https://example.com
This command should fail with some message such as:
curl: (97) Can't complete SOCKS5 connection to example.com. (2)
Next, let's set up our proxy so that it allows all requests
go run main.go --verbose --fqdn-allow-all
Now, try again, both `curl` requests should now succeed.