Why i should make a hidden-service for my RPC endpoint ?
Because it gives you a private and secure access to your node.
Step 1: modify torrc to activate the hidden-service
In your terminal, install Tor and modify your configuration using nano
sudo apt install tor
sudo nano /etc/tor/torrc
Now, in the hidden-service section, remove the hashtags to activate your hidden-service, replace the defaults ports for 18081 (the default port number used for the RPC) and save the file.
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 18081 127.0.0.1:18081
Step 2: restart Tor & get the hidden-service
Restart the service and then open the "hostname" file to get your hidden service.
sudo service tor start
sudo nano /var/lib/tor/hidden_service/hostname
Step 3: start your monero node
Bind the localhost interface with the --rpc-bind-ip arg of monerod.
./monerod --rpc-bind-ip 127.0.0.1
Step 4: connect your wallet to your node
Use FeatherWallet, go in the network-settings, in the proxy tab add a Tor SOCKS5 proxy (127.0.0.1:9050), check the only connect to .onions and start a bundled Tor router boxes.
Now in the nodes tab, add (your_hidden_service).onion:18081 as your remote-node and you can now use your node over Tor !