squid

install

sudo yum -y install squid
sudo systemctl start squid
sudo systemctl enable squid
sudo systemctl status squid

sudo vim /etc/squid/squid.conf

# add following to .conf file to allow your own ip addresses: acl localnet src x.x.x.x

sudo systemctl restart squid

add ingress rule

https://cloud.oracle.com/networking/vcns/

Add ingress rule for destination port 3128 (tcp)

sudo firewall-cmd --permanent --add-port=3128/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

test on my computer

curl -x http://y.y.y.y:3128  -L http://google.com

dante

install

sudo yum install -y dante-server

# on my oracle linux 8 machine it's installed as sockd instead of danted
sockd - v

add ingress rule

https://cloud.oracle.com/networking/vcns/

Add ingress rule for destination port 1080 (tcp)

sudo firewall-cmd --permanent --add-port=1080/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

create user and password to add authentication

sudo useradd -r -s /bin/false your_name
sudo passwd your_name

edit the config

check the available interfaces

# our oracle machine shows enp0s3
ip a

sudo vim /etc/sockd.conf

this is a simple config file

logoutput: stderr
internal: enp0s3 port = 1080
external: enp0s3
socksmethod: username
clientmethod: none
user.privileged: root
user.unprivileged: nobody
# which ips could connect to this server
# a netmask must be provided. for single ip address use /32
client pass {
        from: your_own_ip_address/32 to: 0.0.0.0/0
        log: connect disconnect error ioop
}

# destination ips
socks pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect disconnect error ioop
}

testing

sudo systemctl restart sockd
systemctl status sockd.service

# test
curl -v -x socks5://your_name:your_password@your_ip:1080 http://www.google.com/