как настроить все (осторожно линукс)
Автор: Ярославпопалось в сети
Introduction to a Self Managed Life:
a 13 hour & 28 minute presentation by FUTO software
осторожно очень долго грузится
осторожно линукс
теоретически там можно перевести на ру...
- 1 Preface
- 2 Why Build Your Own Sovereign Cloud?
- 3 Why Build Your Own Router?
- 4 Building Our Own Router
- 4.1 Why pfSense?
- 4.2 Choosing the Right Hardware
- 4.3 Step 1: Downloading pfSense and Preparing a Bootable USB Drive
- 4.4 Step 2: Disable Secure Boot and Install pfSense on the Intel NUC
- 4.5 Step 3: Installing pfSense on the Intel NUC
- 4.6 Step 4: First-Time Configuration of pfSense
- 5 Setting Up FreeDNS for Dynamic DNS
- 6 OpenVPN: Setting up Secure Access from Anywhere
- 6.1 Why OpenVPN? Why do I need this?
- 6.2 Setting up OpenVPN within pfSense for secure access
- 6.3 IPv4 vs IPv4+IPv6 & VPN nightmares:
- 6.4 Why using IPv4 & IPv6 with OpenVPN for this setup is discouraged.
- 6.5 The Practical Solution
- 7 Setting Up pfBlockerNG for Ad-Blocking in pfSense
- 7.1 Why adblock at the router?
- 7.2 Step 1: Measure our Baseline
- 7.3 Step 2: Install pfBlockerNG
- 7.4 Step 3: Configure pfBlockerNG General Settings
- 7.5 Step 4: Set Up DNSBL (DNS Blacklists)
- 7.6 Step 5: Add DNSBL Feeds & IP blocklist feeds (Lists of Ad Domains)
- 7.7 Step 6: Update and Apply Lists
- 7.8 Step 7: Testing and Verifying Ad-Blocking Effectiveness
- 7.9 Step 9: Implement AdGuard DNS
- 7.10 Step 10: Configure the DNS Resolver
- 7.11 Step 11: Verify adblocking from Desktop
- 7.12 Step 13: Verify adblock on mobile via VPN
- 7.13 Step 14: Verify VPN allows connectivity to home network.
- 8 Installing Ubuntu Server with RAID 1, LVM, and LUKS Encryption
- 8.1 Installing Ubuntu Linux
- 8.2 RAID IS NOT A BACKUP!
- 8.3 Step-by-Step Installation Guide
- 8.3.1 1. Prepare the Installation Disk
- 8.3.2 2. Boot from the USB Drive
- 8.3.3 3. Begin the Ubuntu Server Installation
- 8.3.4 4. Configure Network
- 8.3.5 5. Prepare the Drives
- 8.3.5.1 5.1 Format the drives
- 8.3.5.2 5.2 Configure EFI Partitions
- 8.3.5.3 5.3 Create Boot Partitions for RAID
- 8.3.5.4 5.4 Create Root Partitions for RAID
- 8.3.5.5 5.5 Set Up RAID 1 for Root
- 8.3.5.6 5.6 Configure the /boot Partition
- 8.3.5.7 5.7 Set Up LVM on Root RAID
- 8.3.5.8 5.8 Create Encrypted Volume
- 8.3.5.9 5.9. Create Logical Volume for Root
- 8.3.5.10 5.10 Review and Confirm
- 8.3.5.11 5.11 Complete the Installation
- 8.3.5.12 5.12 Reboot & log in
- 8.3.5.13 5.13 Set Up Static IP Mapping in pfSense (Post-Installation)
- 8.3.5.14 Set Up Static IP Mapping in pfSense
- 8.4 Identifying Devices on Your Network
- 9 Why ISC DHCP Matters in pfSense (and How to Set It Up)
- 10 Why I Used Virtual Machines Instead of Docker for Some Parts of My System
- 10.1 FEEL FREE TO SKIP THIS SECTION & SCROLL DOWN TO “Understanding the basics of Docker” section
- 10.2 1. Building My System Piece by Piece
- 10.3 2. Time-Efficient Migration from Physical to Virtual
- 10.4 3. Certain Programs Aren’t Built for Docker
- 10.5 4. Idiotproof backups - the most important one
- 10.6 Why this guide uses virtual machines
- 10.7 You do not have to do anything this way if you don’t want to.
- 11 Understanding the basics of Docker
- 11.1 FEEL FREE TO SKIP THIS SECTION & SCROLL DOWN TO “Configuring Our Server’s Networking for Virtual Machines” section
- 11.2 What Are Dependencies and Why Do They Cause Problems?
- 11.3 Why docker has exploded in popularity for small open source projects
- 11.4 1. How Docker Works
- 11.5 2. What Are Docker Images?
- 11.6 3. What Are Docker Containers?
- 11.7 4. What Are Docker Networks?
- 11.8 5. What Are Docker Volumes?
- 11.9 This seems like a lot
- 12 Configuring Our Server’s Networking for Virtual Machines
- 12.1 What are virtual machines?
- 12.1.1 Step 1: Disable Cloud-Init’s Network Configuration
- 12.1.2 Step 2: Backup the Current Netplan Configuration
- 12.1.3 Step 3: Create a New Netplan Configuration
- 12.1.4 Step 4: Apply the New Configuration
- 12.1.5 Step 5: Test Network Configuration
- 12.1.6 Step 6: Add iptables rules for bridging
- 12.1.7 Step 7: Make iptables Rules Persistent
- 12.1 What are virtual machines?
- 13 Preparing Ubuntu Server for Virtual Machine Management
- 13.1 Step 1: Prepare the Ubuntu Server ISO
- 13.2 Step 2: Update Your System
- 13.3 Step 3: Install Openbox and Virtual Machine Manager
- 13.4 Step 4: Enable and Start Libvirt
- 13.5 Step 5: Add Your User to Necessary Groups
- 13.6 Step 6: Start the GUI
- 13.6.1 6.1(OPTIONAL): Remote Desktop Access with x11vnc and TigerVNC
- 13.6.2 6.2 Installing x11vnc on Ubuntu Server
- 13.6.3 6.3 Set a Password for VNC Authentication
- 13.6.4 6.4 Set x11vnc to Listen on All Interfaces on Port 5920
- 13.6.5 6.5 Installing TigerVNC Viewer on the Client
- 13.6.6 6.6 Connecting to the VNC Server
- 13.7 Step 7: Using Openbox
- 14 Creating a Virtual Machine
- 15 Calendar & Contacts using SoGo within Mailcow
- 15.1 Prerequisites:
- 15.2 Step 1: Prepare Ubuntu Server
- 15.3 Step 2: Install mailcow
- 15.4 Step 3: Access and Configure mailcow
- 15.5 Step 4: Accessing Calendar/Contacts Services
- 15.6 Step 5: Sync Android with mailcow using DAVx⁵
- 15.7 Step 6: Managing Contacts with Mailcow & Android
- 15.7.1 6.1 Finding Your New Mailcow Contacts Account in Android
- 15.7.2 6.2 Adding a Contact in Mailcow and Verifying on Android
- 15.7.3 6.3 Exporting Contacts from Your Old Address Book
- 15.7.4 6.4 Importing Contacts into Your New Mailcow Address Book
- 15.7.5 6.5 Verifying Contacts in Mailcow Web Interface
- 15.8 Step 7: Setting Up and Using Your Mailcow Calendar
- 16 Self Managed Email with Mailcow & Postmark
- 16.1 Why do I need SMTP relay?
- 16.2 Step 1: Setting Up Postmark as an SMTP Relay
- 16.3 Step 2: Configuring Mailcow to use Postmark as SMTP relay
- 16.4 Step 3: Adding a Domain Name & Mailbox to Mailcow
- 16.5 Step 4: Setting up DNS Records in your domain registrar
- 16.6 Step 5: pfSense firewall introduction
- 16.6.1 Lesson 1: Aliases in pfSense
- 16.6.2 Using Aliases for Secure Access
- 16.6.3 Lesson 2: Setting Up pfSense Firewall Rules for a Mail Server
- 16.7 Step 6: Add pfSense Firewall Rules (for real)
- 16.7.1 Rule 1: Forwarding SMTP (Port 25) – the ONLY rule you need if you are using OpenVPN to connect to your mailserver!
- 16.7.2 Rule 2: Forwarding SMTPS (Port 465)
- 16.7.3 Rule 3: Forwarding Submission (Port 587)
- 16.7.4 Rule 4: Forwarding IMAP (Port 143)
- 16.7.5 Rule 5: Forwarding IMAPS (Port 993)
- 16.7.6 Rule 6: Forwarding POP3 (Port 110)
- 16.7.7 Rule 7: Forwarding POP3S (Port 995)
- 16.7.8 Rule 8: Forwarding ManageSieve (Port 4190)
- 16.8 TL;DR of self-hosted email firewall rules:
- 16.9 Step 7: Verify SMTP Relay Setup
- 16.10 Step 8 – Spam controls
- 16.11 Don’t do this
- 17 Home Assistant to control your air conditioners & full smarthome control
- 17.1 What is Home Assistant?
- 17.2 Step 1: Installing Home Assistant
- 17.3 Step 2: Start and Configure Home Assistant
- 17.4 Step 3: Configure Home Assistant with a Static IP
- 17.5 Step 4: Set Up the Venstar Thermostat so Home Assistant can see it
- 17.6 Step 5: Add the Venstar Integration in Home Assistant
- 17.7 Step 6: Configure the Thermostat in Home Assistant
- 17.8 Step 7: Install Home Assistant Application on Your Phone to Adjust POS Thermostat So You Never Have to Touch Its Touchscreen Again
- 18 Home surveillance camera system with alerts:
- 18.1 Step 1: Choosing cameras
- 18.2 Step 2: Setting up the Hikvision Camera from Scratch
- 18.2.1 2.1 Introduction to Hikvision IP issues
- 18.2.2 2.2 Download the SADP Tool
- 18.2.3 2.3 Running SADP to prepare camera for login
- 18.2.4 2.4 Logging into your newfound camera
- 18.2.5 2.5 Configuring a Static IP
- 18.2.6 2.6 Configure a Static Mapping in pfSense
- 18.2.7 2.7 Create a REAL Password for the camera
- 18.2.8 2.8 Change Video Codec to H.264
- 18.2.9 2.9 Finding the URL where we access the camera’s stream
- 18.2.10 2.99 Testing Streams in VLC
- 18.3 Step 3: Installing Docker and Setting Up Frigate with Specific Version 0.13.2
- 18.4 Step 4: Make sure it all works.
- 18.5 Step 5: Get Instant Camera Alerts On Your Phone
- 18.5.1 5.1 Switch gears & go back to Home Assistant
- 18.5.2 5.2 Download and Install HACS
- 18.5.3 5.3 Add Frigate Add-ons to Home Assistant
- 18.5.4 5.4 Add Frigate Integration
- 18.5.5 5.5: Configure Mosquito Broker & MQTT (in that order)
- 18.5.6 5.6 Set Up Frigate Mobile App Notifications
- 18.5.7 5.7 Configure Automations for Camera and Notifications
- 18.6 Step 6: Making Frigate Secure
- 19 Replacing Google Drive, Photos, Docs, Sheets, & Keep
- 19.1 Step 1: Making a new virtual machine
- 19.1.1 What makes this virtual machine installation different from Mailcow’s VM installation?
- 19.1.2 Step 1: Setting up Virtual Machine Manager (virsh)
- 19.1.3 Step 2: Install Ubuntu Server as a Virtual Machine
- 19.1.3.1 2.1 Start the installation process in the virtual machine
- 19.1.3.2 2.2 Configure Static IP Address
- 19.1.3.3 2.3 Partition the virtual “drive”
- 19.1.3.4 2.4 Finalize installation & do not install docker
- 19.1.3.5 2.5 Remove the CDROM
- 19.1.3.6 2.6 Set Up Static IP Mapping in pfSense:
- 19.1.3.7 2.7 Set up this virtual machine to start at boot:
- 19.2 Step 2: Setting up Syncthing for android backups
- 19.2.1 Step 1: Install syncthing
- 19.2.2 Step 2: Setting Up Syncthing as a System Service
- 19.2.3 Step 3: Securing Syncthing’s Web Interface
- 19.2.4 Step 4: Configuring Syncthing Discovery Settings
- 19.2.5 Step 5: Connecting server syncthing to android syncthing
- 19.2.6 Step 6: Configuring Syncthing for Organized Android Backups
- 19.2.7 Step 7: Verify and Test – INSPECT WHAT YOU EXPECT!
- 19.3 Step 3: Installing ONLYOFFICE Workspace and WsgiDAV to replace Google Docs
- 19.3.1 Nextcloud?
- 19.3.2 Moving to OnlyOffice
- 19.3.3 Step 0: Install docker properly.
- 19.3.3.1 Never use Ubuntu’s snap version of docker
- 19.3.3.2 Doesn’t onlyoffice’s install script install docker for me?
- 19.3.3.3 0.1 Update and upgrade your system
- 19.3.3.4 0.2 Check for other Docker installations:
- 19.3.3.5 0.3 Install Docker using official Docker script:
- 19.3.3.6 0.4 Install Docker Compose:
- 19.3.3.7 0.5 Verify the install
- 19.3.3.8 0.6 Set proper permissions:
- 19.3.4 Step 1: Install ONLYOFFICE Workspace Community Edition
- 19.3.5 Step 2: Local file access
- 19.3.6 Step 3: Setting Up a WebDAV Server on GNU/Linux
- 19.4 Step 4: Make sure this works
- 19.5 Step 5 (optional): set up email in onlyoffice
- 19.1 Step 1: Making a new virtual machine
- 20 FreePBX and UniTel SIP Trunking Setup
- 20.1 Introduction
- 20.2 Why Customize Your Phone System?
- 20.3 Step 1: Preparing a FreePBX installation
- 20.3.1 Step 1: Set up a FreePBX virtual machine
- 20.3.1.1 1.1 Download Debian 12 ISO
- 20.3.1.2 1.2 Move the Debian ISO to the Correct Directory
- 20.3.1.3 1.3: Launch Virtual Machine Manager
- 20.3.1.4 1.4 Create a New Virtual Machine
- 20.3.1.5 1.5: Configure VM Resources
- 20.3.1.6 1.6 Set Up Networking
- 20.3.1.7 1.7 Set up FreePBX to start on boot
- 20.3.1.8 1.8 Debian 12 Installation Setup
- 20.3.1.9 1.9 Post-Installation Configuration Test
- 20.3.2 Step 2: Preparing Debian 12 for FreePBX Installation
- 20.3.3 Step 3: Visit FreePBX Web Interface
- 20.3.1 Step 1: Set up a FreePBX virtual machine
- 20.4 Step 3: Configuring UniTel as Phone Service Provider
- 20.5 Step 4: Setting up FreePBX with Unitel phone service
- 20.6 Step 5: Internal Call Handling and Call Routing Setup
- 20.7 Step 6: Define Call Routing
- 20.8 Step 7: Configure IP subnets in FreePBX
- 20.9 Step 8: Setting up a softphone
- 20.10 Step 9: Configuring Voicemail and Email Notifications in FreePBX 17
- 20.11 Step 10: Setting Up pfSense Firewall Rules for FreePBX with UniTel SIP Services
- 20.12 Step 11: Troubleshooting when it doesn’t work. It’s open source, so….
- 20.13 Step 12: Install Lenny on FreePBX 17
- 20.13.1 12.1 Prepare to Access Your FreePBX System
- 20.13.2 12.2 Add Lenny’s Custom Context in Asterisk
- 20.13.3 12.3 Download Lenny’s Sound Files
- 20.13.4 12.4 Create a Custom Destination in FreePBX
- 20.13.5 12.5 Set Lenny as a Destination
- 20.13.6 12.6 Reload things in the terminal.
- 20.13.7 12.7 Sending blocked numbers to Lenny
- 20.14 Step 12: Hiring a virtual receptionist who tells annoying people to “get the fuck outta here!”
- 20.15 Step 13: Get emails with voicemails using Postfix with Postmark SMTP Relay
- 20.15.1 13.1 Configure the FROM Address in FreePBX
- 20.15.2 13.2 Configure user access to voicemail
- 20.15.3 13.3 Configure extension for voicemail
- 20.15.4 13.4 Get Postmark Credentials for SMTP relay
- 20.15.5 13.5 Modify Postfix Configuration
- 20.15.6 13.6 Set Up Authentication
- 20.15.7 13.7 Restart Postfix
- 20.15.8 13.8 Test Configuration
- 20.15.9 Troubleshooting
- 20.15.10 Default /etc/postfix/main.cf config file
- 21 Self-Hosted Bitwarden Password manager:
- 21.1 This is a bad idea.
- 21.2 Step 1: Configure DNS Resolution in pfSense
- 21.3 Step 2: Prepare system for Bitwarden installation:
- 21.4 Step 3: Configure Bitwarden Environment
- 21.4.1 3.1 Create Bitwarden user and set permissions
- 21.4.2 3.2: Create and Configure Bitwarden Directory
- 21.4.3 3.3: Enable Docker Service
- 21.4.4 3.4: Download and Prepare Installation Script
- 21.4.5 3.5: Run the Installation Script
- 21.4.6 3.6 Installation Configuration Notes
- 21.4.7 3.7 Port Configuration
- 21.5 Step 4: Configure Bitwarden Settings
- 21.6 Step 5: Browser Extension Setup
- 22 Setting up ZFS for data storage
- 22.1 How we’re storing our data:
- 22.2 ZFS Encryption:
- 22.3 What’s a ZFS Pool?
- 22.4 Understanding ZFS Redundancy
- 22.5 Step 1: Choose Hard Drives That Won’t Send you to Rossmann Data Recovery using Backblaze Data
- 22.6 Step 1.5: Label your drive bays as you plug them in.
- 22.7 Step 2: Installing ZFS on Ubuntu Server
- 22.8 Step 3: Identify Your Hard Drives in Ubuntu Server
- 22.9 Step 4: Creating an Encrypted ZFS Pool with Single-Drive Redundancy
- 22.10 Step 5: Setting Up ZFS Pool Mount Points and Permissions
- 22.11 Step 6: Setting Up Samba to Share ZFS Pool Directories
- 22.12 Step 7: Connecting to your Samba Share
- 22.13 Security Notes
- 23 Step 7: Backing up virtual machines
- 24 Accessing Your Samba Share from Any Device
- 25 Have your server email you when a hard drive is dying.
- 25.1 Step 1: Setting Up Postfix Email System on Ubuntu Server 24.04
- 25.1.1 1.1 Install Required Packages
- 25.1.2 1.2 Configure Main Postfix Configuration - this is similar to what we did for FreePBX voicemail alerts in the previous section
- 25.1.3 1.3 Set Up SMTP Authentication, and use your usernames/passwords/emails to replace mine
- 25.1.4 1.4 Restart and Test
- 25.1.5 Troubleshooting:
- 25.2 Step 2: Creating Complete ZFS Monitoring Script with Logging
- 25.3 Step 3: Create Cron Job
- 25.4 Step 4: Verify it works again, just because
- 25.5 How to tell if you won:
- 25.6 Step 5: Set up OS RAID Array to email you when there’s a problem as well
- 25.7 Step 6: Backup Strategy
- 25.8 RAID Configuration Recommendations
- 25.9 OS drive backup conclusion:
- 25.1 Step 1: Setting Up Postfix Email System on Ubuntu Server 24.04
- 26 Setting Up Immich: Google Photos/iCloud replacement
- 26.1 What is immich?
- 26.2 Why Immich?
- 26.3 Prerequisites
- 26.3.1 Step 1: Install docker properly.
- 26.3.1.1 Never use Ubuntu’s snap version of docker
- 26.3.1.2 Doesn’t onlyoffice’s install script install docker for me?
- 26.3.1.3 1.1 Update and upgrade your system
- 26.3.1.4 1.2 Check for other Docker installations:
- 26.3.1.5 1.3 Install Docker using official Docker script:
- 26.3.1.6 1.4 Install Docker Compose:
- 26.3.1.7 1.5 Verify the install
- 26.3.1.8 1.6 Set proper permissions:
- 26.3.1 Step 1: Install docker properly.
- 26.4 Step 2: Understand how this will be set up differently from stock setup.
- 26.5 Step 3: Mount a read only samba share of the ZFS pool for Immich onto the androidstuff virtual machine
- 26.6 Step 4: Make your directories
- 26.7 Step 5: Edit docker-compose.yml & Environment File
- 26.8 Step 5: Start the System
- 26.9 If it doesn’t work:
- 26.10 Step 6: Configure Immich
- 26.11 Step 7: Enjoy Immich
- 26.12 Step 8: Install Android App
- 27 Nextcloud Notes to replace Google Keep
- 27.1 Installing Nextcloud for notes
- 27.1.1 Step 1: SSH into the androidstuff virtual machine computer
- 27.1.2 Step 2: Install docker
- 27.1.3 Step 3: Install nextcloud using docker
- 27.2 Access Nextcloud for first time
- 27.3 Installing Nextcloud Android App
- 27.1 Installing Nextcloud for notes
- 28 Setting Up trusted & untrusted WiFi with TP-Link EAP610 & pfSense
- 28.1 Step 1: Understanding the problem. Why do this?
- 28.2 Step 2: PfSense Configuration Guide for Trusted & Untrusted Networks
- 28.3 Step 3: Configure Firewall Rules
- 28.4 Step 4: TP-Link Omada Controller SDN Installation Guide
- 28.4.1 4.0 Optional note for the paranoid(skip ahead if not paranoid)
- 28.4.2 4.1 Prepare the System
- 28.4.3 4.2 Install Java 8 and MongoDB
- 28.4.4 4.3 Find Omada SDN Controller Software on tp-link’s website to download
- 28.4.5 4.4 Install the Omada Controller
- 28.4.6 4.5 Verify it installed & Start the Controller
- 28.5 Step 4.5: VLAN tags
- 28.6 Step 5: Configuring TP-Link EAP610 VLANs in Omada Controller
- 28.7 Step 6: Make sure blocking rules work
- 28.8 Step 1: Installing VLC on Android
- 28.9 Step 2: Adding Samba share as a “favorite”
- 28.10 Step 3: Find your hidden share
- 28.11 Alternative Programs
- 29 Setting Up a GNU/Linux-Based Home Entertainment System
- 29.1 Hooking everything up:
- 29.1.1 Step 1: Connect your computer to your televison with an HDMI cable.
- 29.1.2 Step 2: Hook up your computer’s sound output to your stereo.
- 29.1.2.1 2.1 Analog out from your desktop motherboard or laptop headphone jack.
- 29.1.2.2 2.2 HDMI output from your computer to your TV.
- 29.1.2.3 2.3 HDMI output from your computer to your receiver.
- 29.1.2.4 2.4 Optical output from your computer to your receiver.
- 29.1.2.5 2.5 Basic purchase considerations
- 29.1.3 Step 3: Access Media On Your Samba Share
- 29.1.4 Step 4: Play Media with VLC
- 29.1 Hooking everything up:
- 30 Putting together affordable home hi-fi
- 30.1 Speakers
- 30.2 Debunking Audiophile Myths
- 30.3 Receivers, amps, electronics
- 30.4 Understanding Room Acoustics
- 30.5 Hunting for Deals
- 30.6 Sourcing your content; 4k blurays with the right drive
- 31 Elegant Home Theater PC Setup: for people who don’t want a disorganized mess
- 31.1 Why my setup makes no sense
- 31.2 Setting Up Your Home Theater
- 31.3 Installing LibreELEC operating system with KODI
- 31.3.1 Step 1: Creating a Bootable LibreELEC USB Drive
- 31.3.2 Step 2: Unzip the .gz File
- 31.3.3 Step 3: Create a Bootable USB Drive
- 31.3.4 Windows:
- 31.3.5 macOS or GNU/Linux:
- 31.3.6 Step 3: Set up the Asustor minipc
- 31.3.7 Step 4: Boot into LibreELEC installation and install it
- 31.3.8 Step 5: Install LibreELEC onto the Asustor
- 31.3.9 Step 6: Boot into the LibreELEC system & set it up
- 31.4 Step 7: Adding Media Content to Kodi
- 31.5 Performance Testing with High-Quality Media
- 31.6 Noise Levels and Setup
- 32 “Piracy”
- 32.1 We can’t talk about home theater PCs without delving into Piracy.
- 32.2 The Death of Digital Ownership
- 32.3 Streaming Services: Paying More for Less
- 32.4 Hardware & Format Restrictions
- 32.5 The Broken System of Consumer Protection
- 32.6 A Personal Note: Supporting Content While Rejecting Control
- 32.7 A Nuanced View of Digital Rights & Piracy
- 32.7.1 Legitimate Ownership Issues
- 32.7.2 Corporate Deception & Control
- 32.7.3 Technical Restrictions & Quality Issues
- 32.7.4 Random Shitty Scenarios
- 32.7.5 Indefensible Positions
- 32.7.5.1 13. False Justification
- 32.7.5.2 14. Empty Protests
- 32.7.5.3 15. Simply being an asshole
- 32.7.5.4 16. "I just want free stuff."
- 32.8 Conclusion
- 33 Final Thoughts