├── .DS_Store ├── README.md ├── css └── styles.css ├── guides ├── installing-dat-raspberry-pi.md ├── p2p-publishing.md └── why-self-host.md ├── html └── .DS_Store ├── images ├── beaker.mov ├── beaker.mp4 ├── enoki.png ├── favicon.ico └── newcomputer.png ├── index.html ├── installing-dat-raspberry-pi.html ├── js ├── render.js └── stmd.js ├── p2p-publishing.html └── why-self-host.md.html /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/new-computers/guides/6c514c1dcb21b9b16780d8da20c49c18d61a3b30/.DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Guides for New Computers 2 | 3 | In this repo you can find a collection of guides on how to self host and self publish with p2p tools. Feel free to submit PRs and open issues for ideas or errors you run in to or to suggest a new guide. 4 | 5 | We are also discussing ongoing development of more simple plug & play dat-pi server to improve accessibility of these tools. Please see the discussion in issues for the latest. 6 | 7 | ## Why self host 8 | 9 | P2P publishing enables people to publish content and information to the web from their personal computers without the need of server or centralized platform. This fundamentally changes the relationship people have to the internet by breaking the client server hierarchy and opens the realm of self publishing to everyone. This guides are aimed at helping people participate in this new, independent version of the internet. 10 | 11 | Not sure what Dat is? Watch this talk: https://www.youtube.com/watch?v=YFzr6vSNrrc 12 | -------------------------------------------------------------------------------- /css/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | max-width: 760px; 3 | } 4 | 5 | a{ 6 | color: blue; 7 | } -------------------------------------------------------------------------------- /guides/installing-dat-raspberry-pi.md: -------------------------------------------------------------------------------- 1 | [← back to guides](/) 2 | 3 | # Installing Dat on a Raspberry Pi 4 | 5 | This is a guide to getting Dat running on a Raspberry Pi. Most of the information is already available on [https://docs.datproject.org/install](https://docs.datproject.org/install). Why? see the [notes](#notes). 6 | 7 | If you'd like to help make this process easier, we are working on a plug and play version of this process that includes a front end for managing your dat-pi. [Please see our issues for more discussions.](https://github.com/new-computers/dat-rpi/issues) 8 | 9 | ### Prerequisites 10 | 1. Raspberry Pi B+ or Zero W with the latest version of [Raspian Stretch](https://www.raspberrypi.org/downloads/raspbian/) Desktop with an 8 GB microSD card. 11 | 2. A display, keyboard, mouse. 12 | 3. An internet connection. 13 | 14 | **Note:** If you want to set up a Pi without a display and SSH only - [see the advanced guide below](#advanced). 15 | 16 | ### Setup 17 | 1. Install raspian using [Etcher](https://etcher.io/). This should take about 10-15 minutes. 18 | 2. Boot up your Pi with the display, keyboard and mouse connected. 19 | 3. Configure your Pi by Navigating to Preferences > Raspberry Pi Configuration under the start menu. 20 | - Set your location and timezone 21 | - Set up a new password 22 | - Enable SSH access 23 | - Give your pi a hostname like `dat` 24 | - Connect to wifi 25 | 4. Reboot the Pi 26 | 27 | ### Installing Dat 28 | Continue this section on your main computer with the Pi connected to power and both devices on the same network. 29 | 30 | 1. Open a new terminal session and enter `ssh pi@dat.local`. Make sure to replace `dat` with whatever name you entered above. Type `yes` to continue. 31 | 2. Enter your new password you set up in the previous section. You should now be connected to the Pi. 32 | 3. Enter `sudo apt-get update && sudo apt-get upgrade` to make sure your system is up to date - this will take some time depending on your connection. 33 | 4. We also need to get the latest stable version of node: 34 | - `curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash` 35 | - `source ~/.bashrc` or restart your terminal session 36 | - `nvm install 8` && `nvm use 8` 37 | 5. Now we can install Dat. `npm install -g dat`. If dat throws EACCESS errors try `sudo npm install -g dat`. 38 | 7. Check that dat has been install and can connect with `dat doctor` if you see the following, you should be able to share and peer dats. 39 | ``` 40 | [info] TCP ONLY - success! 41 | [info] UTP ONLY - success! 42 | ... 43 | [info] Your public port was consistent across remote multiple hosts 44 | ``` 45 | - If UTP fails, manually install utp-native `npm install -g utp-native` and run `source ~/.bashrc` 46 | 47 | 48 | ### Using Dat and Next steps 49 | You can now start using Dat from the command line. See the [Dat project docs](https://docs.datproject.org/tutorial#downloading-data) for more details. 50 | 51 | To set up a permanent peer for your Dat urls see [Running a permanent Dat server on a Raspberry Pi](https://docs.datproject.org/server) 52 | 53 | Or to set up custom Dat and http urls for your sites see [Setting up a custom urls with dathttpd](https://github.com/beakerbrowser/dathttpd) 54 | 55 | 56 | ## Notes 57 | 58 | Not sure what Dat is? Watch this talk: https://www.youtube.com/watch?v=YFzr6vSNrrc 59 | 60 | ### Why run Dat on a Pi? 61 | 62 | Dat is a powerful p2p protocol that enables people to publish content and information to the web from their personal computers. This fundamentally changes the relationship people have to the internet by breaking the client server hierarchy and opens the realm of self publishing to everyone. When everyone is a publisher, it becomes important for your content to be available on the internet whether your laptop is on or off. With a Raspberry Pi, you can make sure this content stays online for free as long as you have an internet connection avoiding having to rely on cloud providers to keep our content online. This guide is the starting point for participating in this new, independent version of the internet. 63 | 64 | 67 | 68 | 69 | ## Advanced 70 | 71 | ### Installing the operating system and getting SSH access via Wifi 72 | 1. Install the operating using [Etcher](https://etcher.io/) (reccomended) or noobs. This should take about 10-15 minutes. 73 | 2. If you are using Raspian Stretch Lite you'll need to add a few files to be able to ssh into your pi. 74 | - In a text editor or IDE make a file called wpa_supplicant.conf and add the following lines. Make sure to replace the relevant information for your network: 75 | 76 | ``` 77 | ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev 78 | update_config=1 79 | country=US 80 | 81 | network={ 82 | ssid="network" 83 | psk="password" 84 | } 85 | ``` 86 | - Make another file called `ssh` - leave it empty with no file type 87 | 3. Insert your microSD card into the pi and power it on. The system will take 2-3 minutes to boot. 88 | 4. You should now be able to open your terminal and enter `ssh pi@raspberrypi.local` and log in with the password `raspberry` 89 | - If you get a timeout error you may need to ssh via the IP address. 90 | - To find the IP - log in to your router and check the connected devices. You should see a device called `raspberrypi` with an accompanying IP address you should be able to ssh into the pi with something like `ssh pi@192.168.1.7` 91 | - Open a terminal session on your pi and enter `ifconfig`. You will see a few lines returned. If you connected through wifi one of them will look like this. Find the line that says `inet`. This is your Pi's local IP address. Copy this address because we will use it for the rest of the guide. 92 | 93 | ``` 94 | wlan0: flags=4163 mtu 1500 95 | inet 192.168.0.107 netmask 255.255.255.0 broadcast 192.168.0.255 96 | inet6 fe80::f975:872d:f903:de1f prefixlen 64 scopeid 0x20 97 | ether b8:27:eb:12:78:5f txqueuelen 1000 (Ethernet) 98 | RX packets 1051177 bytes 322927476 (307.9 MiB) 99 | RX errors 0 dropped 0 overruns 0 frame 0 100 | TX packets 1116216 bytes 245818851 (234.4 MiB) 101 | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 102 | ``` 103 | 6. Continue with the [Installing Dat](#installing-dat) part of the guide. 104 | 105 | ## Rename the Pi 106 | 107 | When dealing with multiple connected devices, you won't want to accidentally connect to the wrong one. To change the device's name from `raspberrypi` to something else, edit its name in both of these files: 108 | ``` 109 | sudo nano /etc/hostname 110 | sudo nano /etc/hosts 111 | ``` 112 | 113 | ---- 114 | ### Changelog 115 | ##### 4.5.18 - initial guide published 116 | -------------------------------------------------------------------------------- /guides/p2p-publishing.md: -------------------------------------------------------------------------------- 1 | [← back to guides](/) 2 | 3 | ## Getting started with p2p publishing 4 | 5 | What do you want to publish? Choose: 6 | - I want to publish a single piece of text → [solo](#solo) 7 | - I want to publish a simple blog → [orkl](#orkl) 8 | - I want to publish a full site or a customizable blog → [Enoki](#enoki) 9 | 10 | ### solo 11 | Navigate to [solo-kodedninja.hashbase.io](dat://solo-kodedninja.hashbase.io), click on the three dots in the URL bar and click the __Make editable copy__ button. If you navigate to your new site you can start editing right ahead. 12 | 13 | ### orkl 14 | Navigate to [orkl-kodedninja.hashbase.io](dat://orkl-kodedninja.hashbase.io), click on the three dots in the URL bar and click the __Make editable copy__ button. Navigate to your new site and read the __How to use orkl?__ entry. 15 | 16 | ### Enoki 17 | Please check out [panel.enoki.site](dat://panel.enoki.site) to get started. 18 | 19 | enoki 20 | 21 | ### Beaker 22 | You can also begin publishing through the built in tools with [beaker browser](https://beakerbrowser.com). Here is a quick video that quickly shows how you can make a website in 30 seconds. 23 |