# Running a bridge on a raspberry pi 4

**URL:** https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842
**Category:** Relay Operator
**Created:** [November 23, 2021, 4:08pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842 "2021-11-23T16:08:07Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Iheartcake](https://forum.torproject.org/user_avatar/forum.torproject.org/iheartcake/32/380_2.png) [@Iheartcake](https://forum.torproject.org/u/Iheartcake)
#### Post date: [November 23, 2021, 4:08pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/1 "2021-11-23T16:08:07Z")

</div>

Hello, I bought a raspberry pi 4 8gb with the intention to provide a bridge to the community, that can run 24/7 in my home network and with little power.

_cat /etc/os-release_  
PRETTY\_NAME=“Raspbian GNU/Linux 10 (buster)”

I followed the instructions here:

> **[Tor Project | Debian / Ubuntu](https://community.torproject.org/relay/setup/bridge/debian-ubuntu/)**
>
> Defend yourself against tracking and surveillance. Circumvent censorship. | Debian / Ubuntu

_tor --version_  
Tor version 0.3.5.15 (This is supposed to be higher ?!)

When trying to run  
_sudo systemctl enable --now tor@default_  
Ill get:

> The unit files have no installation config (WantedBy=, RequiredBy=, Also=,  
> Alias= settings in the [Install] section, and DefaultInstance= for template  
> units). This means they are not meant to be enabled using systemctl.
> 
> Possible reasons for having this kind of units are:  
> • A unit may be statically enabled by being symlinked from another unit’s  
> .wants/ or .requires/ directory.  
> • A unit’s purpose may be to act as a helper for some other unit which has  
> a requirement dependency on it.  
> • A unit may be started when needed via activation (socket, path, timer,  
> D-Bus, udev, scripted systemctl call, …).  
> • In case of template units, the unit is meant to be enabled with some  
> instance name specified.

_ls /lib/systemd/system | grep tor_  
alsa-restore.service  
tor@default.service  
tor.service  
tor@.service

I tried the same on my ubuntu desktop VERSION=“18.04.6 LTS (Bionic Beaver)” to compare things. I get the same error and the tor version is even older. I didnt forget to run apt update both times.

---

<div class="post-metadata">

### Author: ![invoked](https://forum.torproject.org/user_avatar/forum.torproject.org/invoked/32/296_2.png) [@invoked](https://forum.torproject.org/u/invoked)
#### Post date: [November 23, 2021, 6:11pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/2 "2021-11-23T18:11:37Z")

</div>

Did you follow the instructions here:

[https://support.torproject.org/apt/tor-deb-repo/](https://support.torproject.org/apt/tor-deb-repo/)

---

<div class="post-metadata">

### Author: ![Iheartcake](https://forum.torproject.org/user_avatar/forum.torproject.org/iheartcake/32/380_2.png) [@Iheartcake](https://forum.torproject.org/u/Iheartcake)
#### Post date: [November 23, 2021, 7:29pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/3 "2021-11-23T19:29:35Z")

</div>

No thank you, would be great to mention this here: [Tor Project | Debian / Ubuntu](https://community.torproject.org/relay/setup/bridge/debian-ubuntu/)

So as of  
_dpkg --print-architecture_  
armhf

Ill have to decide to either build from source or choose a different os.  
Ill report back here.

---

<div class="post-metadata">

### Author: ![HackerNCoder](https://forum.torproject.org/user_avatar/forum.torproject.org/hackerncoder/32/56_2.png) [@HackerNCoder](https://forum.torproject.org/u/HackerNCoder)
#### Post date: [November 23, 2021, 7:29pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/4 "2021-11-23T19:29:53Z")

</div>

tor@default.service has tor.service as it’s multi-instance-master, tor.service takes care of all the tor instances. You want `sudo systemctl enable --now tor`

---

<div class="post-metadata">

### Author: ![inFlamaTor.io](https://forum.torproject.org/letter_avatar_proxy/v4/letter/i/67e7ee/32.png) [@inFlamaTor.io](https://forum.torproject.org/u/inFlamaTor.io)
#### Post date: [November 23, 2021, 8:49pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/5 "2021-11-23T20:49:57Z")

</div>

Hello guys, do you know if there is some way to run bridges on old phones. I have some and tried using them as http servers with root and they all worked, but I can not get information about running bridges on them. Thanks

---

<div class="post-metadata">

### Author: ![bodybagger](https://forum.torproject.org/user_avatar/forum.torproject.org/bodybagger/32/377_2.png) [@bodybagger](https://forum.torproject.org/u/bodybagger)
#### Post date: [November 23, 2021, 8:50pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/6 "2021-11-23T20:50:03Z")

</div>

> [@Iheartcake](#):
>
> dpkg --print-architecture

There is an arm64 version of debian for raspberry pi.  
I have it installed on mine and running a bridge successfully without a compile from source.  
It’s here - [Index of /raspios\_arm64/images/raspios\_arm64-2020-08-24](https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-08-24/)

---

<div class="post-metadata">

### Author: ![bodybagger](https://forum.torproject.org/user_avatar/forum.torproject.org/bodybagger/32/377_2.png) [@bodybagger](https://forum.torproject.org/u/bodybagger)
#### Post date: [November 23, 2021, 8:50pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/7 "2021-11-23T20:50:07Z")

</div>

Sorry, most recent version of buster here  
[https://downloads.raspberrypi.org/raspios\_arm64/images/raspios\_arm64-2021-05-28/](https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2021-05-28/)

(there’s a few 64 bit images at that link, I’m sure you will figure it out)

---

<div class="post-metadata">

### Author: ![invoked](https://forum.torproject.org/user_avatar/forum.torproject.org/invoked/32/296_2.png) [@invoked](https://forum.torproject.org/u/invoked)
#### Post date: [November 23, 2021, 9:23pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/8 "2021-11-23T21:23:18Z")

</div>

> [@bodybagger](#):
>
> There is an arm64 version of debian for raspberry pi.

I don’t mean to pick nits, but Raspbian/RaspiOS is _ **not** _ Debian-- just the same that Ubuntu is not Debian. The builds/repos are different and Raspbian has even gotten architecture naming screwed up (see: armhf on Raspbian is not the same thing as armhf on Debian) … this has led to people trying to use Debian packages from Raspbian and finding out they don’t work.

I’m not sure about Raspi’s packaging of tor, but I know that Ubuntu’s repo has not been good about keeping up. In the case of Ubuntu it’s certainly better to use Tor Project’s repo until Ubuntu establishes a better track record of updating tor.

If the only intent for the rpi4 target is to run a bridge, Debian with Tor Project’s repo seems like the best bet. Unless there’s something drastically wrong with Debian on Raspberry Pis that I’m not aware of.

---

<div class="post-metadata">

### Author: ![Iheartcake](https://forum.torproject.org/user_avatar/forum.torproject.org/iheartcake/32/380_2.png) [@Iheartcake](https://forum.torproject.org/u/Iheartcake)
#### Post date: [November 23, 2021, 11:42pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/9 "2021-11-23T23:42:20Z")

</div>

Thank you, yes I wanted to go for the raspberry 64 bit os, but rather bullseye I think.

---

<div class="post-metadata">

### Author: ![Iheartcake](https://forum.torproject.org/user_avatar/forum.torproject.org/iheartcake/32/380_2.png) [@Iheartcake](https://forum.torproject.org/u/Iheartcake)
#### Post date: [November 24, 2021, 3:55pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/10 "2021-11-24T15:55:12Z")

</div>

So, I now use arm64  
PRETTY\_NAME=“Debian GNU/Linux 11 (bullseye)”  
NAME=“Debian GNU/Linux”  
VERSION\_ID=“11”  
VERSION=“11 (bullseye)”

When trying to apt update Im getting:

`E: The repository 'https://deb.torproject.org/torproject.org bullseye Release' does not have a Release file.`

But its there and the codename is most likely correct. 🤔

---

<div class="post-metadata">

### Author: ![invoked](https://forum.torproject.org/user_avatar/forum.torproject.org/invoked/32/296_2.png) [@invoked](https://forum.torproject.org/u/invoked)
#### Post date: [November 24, 2021, 4:19pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/11 "2021-11-24T16:19:45Z")

</div>

> [@Iheartcake](#):
>
> _E: The repository ‘[Index of /torproject.org](https://deb.torproject.org/torproject.org) bullseye Release’ does not have a Release file._

Maybe this [https://unix.stackexchange.com/questions/371890/debian-the-repository-does-not-have-a-release-file](https://unix.stackexchange.com/questions/371890/debian-the-repository-does-not-have-a-release-file) will help you.

Full disclosure: I do not run any debian/debian-derived systems currently.

---

<div class="post-metadata">

### Author: ![HackerNCoder](https://forum.torproject.org/user_avatar/forum.torproject.org/hackerncoder/32/56_2.png) [@HackerNCoder](https://forum.torproject.org/u/HackerNCoder)
#### Post date: [November 24, 2021, 4:39pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/12 "2021-11-24T16:39:55Z")

</div>

There is a bullseye: [https://deb.torproject.org/torproject.org/dists/bullseye/](https://deb.torproject.org/torproject.org/dists/bullseye/), there is a Release file in it. What is your apt source for [deb.torproject.org](http://deb.torproject.org)?

---

<div class="post-metadata">

### Author: ![Iheartcake](https://forum.torproject.org/user_avatar/forum.torproject.org/iheartcake/32/380_2.png) [@Iheartcake](https://forum.torproject.org/u/Iheartcake)
#### Post date: [November 24, 2021, 4:45pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/13 "2021-11-24T16:45:20Z")

</div>

Thank you, but it was much more dumb, I was supposed to replace` <DISTRIBUTION> to bullseye, not <bullseye>` 🙈 🙈 …

Alright, now I got version 0.4.6.8.

But even before adding the repository manually, I could have installed  
tor | 0.4.5.10-1~deb11u1  
unlike before when I used the raspios buster armhf release.

---

<div class="post-metadata">

### Author: ![meskio](https://forum.torproject.org/user_avatar/forum.torproject.org/meskio/32/26_2.png) [@meskio](https://forum.torproject.org/u/meskio)
#### Post date: [November 24, 2021, 5:51pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/14 "2021-11-24T17:51:49Z")

</div>

If docker is an option there is a docker image for arm64:  
[https://community.torproject.org/relay/setup/bridge/docker/](https://community.torproject.org/relay/setup/bridge/docker/)

---

<div class="post-metadata">

### Author: ![bodybagger](https://forum.torproject.org/user_avatar/forum.torproject.org/bodybagger/32/377_2.png) [@bodybagger](https://forum.torproject.org/u/bodybagger)
#### Post date: [November 24, 2021, 10:44pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/15 "2021-11-24T22:44:01Z")

</div>

Just a little bit nit picky, but I feelz ya!  
I didn’t really want to get into the distro thing just trying to help out someone do what I just did, but I was running 10 and not 11 as I already had the unit doing other _stuff_ on my LAN.

---

<div class="post-metadata">

### Author: ![bodybagger](https://forum.torproject.org/user_avatar/forum.torproject.org/bodybagger/32/377_2.png) [@bodybagger](https://forum.torproject.org/u/bodybagger)
#### Post date: [November 24, 2021, 10:55pm UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/16 "2021-11-24T22:55:51Z")

</div>

Nice one, I’ve been looking around the site and based on some of the posts I’ve seen I think I may consider getting BSD running on another Pi4 and patch that to my 2nd WAN link for another bridge. A project for the Christmas break, possibly.

---

<div class="post-metadata">

### Author: ![Iheartcake](https://forum.torproject.org/user_avatar/forum.torproject.org/iheartcake/32/380_2.png) [@Iheartcake](https://forum.torproject.org/u/Iheartcake)
#### Post date: [November 25, 2021, 11:10am UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/17 "2021-11-25T11:10:58Z")

</div>

Thank you alot !

---

<div class="post-metadata">

### Author: ![Iheartcake](https://forum.torproject.org/user_avatar/forum.torproject.org/iheartcake/32/380_2.png) [@Iheartcake](https://forum.torproject.org/u/Iheartcake)
#### Post date: [November 25, 2021, 11:19am UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/18 "2021-11-25T11:19:42Z")

</div>

So far I stuck with

```auto
Unable to find IPv4 address for ORPort 443. You might want to specify IPv6Only to it or set an explicit address or set Address.

```

I used the flag IPv4Only, otherwise I would get the same message but telling me it couldnt find ipv6 address and I might want to specify IPv4Only.

This didnt help me:  
[https://www.reddit.com/r/TOR/comments/lkkzf1/tor\_bridge\_cannot\_find\_ipv4\_address/](https://www.reddit.com/r/TOR/comments/lkkzf1/tor_bridge_cannot_find_ipv4_address/)

I also deactivated ipv6 in my os for that.

I there any common thing I need to set in my router when setting up a relay ?  
Ipv6 is deactivated by default in my router, but I dont know what else to consider doing that so I wanted to ignore it first. I dont like activating things I dont actually comprehend.

---

<div class="post-metadata">

### Author: ![gus](https://forum.torproject.org/user_avatar/forum.torproject.org/gus/32/16_2.png) [@gus](https://forum.torproject.org/u/gus)
#### Post date: [November 25, 2021, 11:32am UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/19 "2021-11-25T11:32:33Z")

</div>

If your relay is running on a internal net, you need to setup port forwarding. Check this [https://portforward.com/](https://portforward.com/) for directions on how to port forward with your NAT/router device.

If you have only a dynamic IP address, maybe you should run a Standalone snowflake proxy: [Tor Project | Standalone Snowflake proxy](https://community.torproject.org/relay/setup/snowflake/standalone/)

---

<div class="post-metadata">

### Author: ![Iheartcake](https://forum.torproject.org/user_avatar/forum.torproject.org/iheartcake/32/380_2.png) [@Iheartcake](https://forum.torproject.org/u/Iheartcake)
#### Post date: [November 25, 2021, 11:59am UTC](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842/20 "2021-11-25T11:59:57Z")

</div>

> If your relay is running on a internal net, you need to setup port forwarding. Check this [https://portforward.com/](https://portforward.com/) for directions on how to port forward with your NAT/router device.

Thanks I found that in my router but wasnt sure If I actually need to do something there.

> If you have only a dynamic IP address, maybe you should run a Standalone snowflake proxy: [Tor Project | Standalone Snowflake proxy](https://community.torproject.org/relay/setup/snowflake/standalone/)

Doesnt every common home network user have only a dynamic public ip address ?  
I checked my isp, its a thing only available for office contracts.  
I havent seen it changes for a couple days now, I dont know the lifecycle but its not like every hour.

Why cant tor check if there is a new public ip and if yes restart all steps and re-release the server automatically on the same identity ?  
When bridges are blacklisted for whatever reason, dont they need to restart with a new address anyways ?

[Next page](https://forum.torproject.org/t/running-a-bridge-on-a-raspberry-pi-4/842.md?page=2)
