mayfrost-guides/COMMUNICATION.md

361 lines
11 KiB
Markdown
Raw Normal View History

2019-02-20 21:35:55 +00:00
# COMMUNICATION
Here lies several ways to communicate through different networks.
1. [BROWSER](#browser)
1.1. [GNU ICECAT](#gnu-icecat)
1.2. [ADDONS](#addons)
2019-02-20 21:54:31 +00:00
1.3. [ABOUT CONFIG](#about-config)
2019-02-20 21:35:55 +00:00
2. [E-MAIL](#e\-mail)
2.1. [E-MAIL STORAGE FORMATS](#gnu-icecat)
2.2. [MUTTRC](#addons)
3. [USENET](#usenet)
2019-02-20 21:49:01 +00:00
4. [I2P](#i2p)
4.1. [INSTALLATION](#installation)
2019-02-27 00:01:30 +00:00
4.2. [I2PD](#i2pd)
4.3. [REMOTE ACCESS](#remote-access)
4.4. [BASIC COMMANDS](#basic-commands)
2019-03-01 03:38:11 +00:00
4.5. [BROWSING I2P EEPSITES](#browsing-i2p-eepsites)
4.6. [YOUR OWN EEPSITE](#your-own-eepsite)
4.7. [IRC](#irc)
4.8. [TORRENTS](#torrents)
4.8.1 [DOWNLOADING](#downloading)
4.8.2 [CREATING](#creating)
4.8.3 [CONFIGURATION](#configuration)
2019-02-20 21:49:01 +00:00
2019-02-20 21:35:55 +00:00
## BROWSER
### GNU ICECAT
* Download from http://ftpmirror.gnu.org/gnuzilla/
* Unpack the tarball
* As ROOT, copy and rename the folder as /opt/icecat
* ln -s /opt/icecat/icecat /usr/bin/icecat
### ADDONS
These addons worked excellent to cover any fingerprinting, until Mozilla decided to break things since Firefox 52.
* (Cross-)Site Request, Anti-XSS, Trackers, Referer, Cookies: [uMatrix](https://addons.mozilla.org/en-US/firefox/addon/umatrix/)
* Security Settings: [Privacy Settings](https://addons.mozilla.org/en-US/firefox/addon/privacy-settings/)
* User-Agent: [Random Agent Spoofer](https://github.com/dillbyrne/random-agent-spoofer), [User-Agent JS Fixer](http://legacycollector.org/firefox-addons/378075/index.html)
* Plugin Enumeration: [Disable plugin enum](https://github.com/dillbyrne/random-agent-spoofer/issues/283) (see Mechazawa's script, and install with greasemonkey)
* Content Delivery Blocker: [Decentraleyes](https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/)
* URI Leak: [No Resource URI Leak](https://notabug.org/desktopd/no-resource-uri-leak)
* Canvas-Fingerprinting: [Canvas Defender](https://addons.mozilla.org/en-US/firefox/addon/no-canvas-fingerprinting/)
* SSL (strict HTTPS): [HTTPS by default](https://addons.mozilla.org/en-US/firefox/addon/https-by-default/)
* URL Deobfuscator: [Pure URL](https://addons.mozilla.org/en-US/firefox/addon/pure-url/)
* Google Redirection: [Google search link fix](https://addons.mozilla.org/en-US/firefox/addon/google-search-link-fix/)
2019-02-20 21:54:31 +00:00
### ABOUT CONFIG
These tips prevent overflow your root directory or getting constantly write and delete to try and kill your drive.
* Go to _about\:config_
* Put a 0 to everything that can write to the disk.
* Limit ram memory and also turn off syncing ect.
* Make it read only.
* If you need to save things have a seperate chroot with a seperate physical drive and make that your downloads folder.
## E-MAIL
TODO:
* Set cock.li
* Configure mutt
* Create account.
* Set mutiple accounts
* Send mail
* Send attachment
* To cancel an action in mutt hit CTRL+g
* Use notmuch
* set i2p-bote
### E-MAIL STORAGE FORMATS
* MAILDIR = several files
* MBOX = one file for everything
### MUTTRC
Example config with cock.li and gmail. Not quite complete but can work if tweaked.
```
#---------------------------------------
# ~/.mutt/muttrc settings mutt 1.5.20
#---------------------------------------
#
#---------------------------------------
# One-Time Previous Steps
#---------------------------------------
# Generate keys with proper user
# $ gpg --gen-key
#
# Make proper directory with file:
# $ mkdir ~/.mutt && touch ~/.mutt/.passwd
#
# Put the following inside ~/.mutt/.passwd:
# set cock_pass="password"
# set gmail_pass="password"
#
# Encrypt with proper user:
# $ gpg -r USER1 -e ~/.mutt/.passwd
# $ shred ~/.mutt/.passwd
# $ rm -f ~/.mutt/.passwd
#
#---------------------------------------
# Process the password file first (the "|" pipes to Mutt)
#---------------------------------------
#source "gpg -d ~/.mutt/.passwd.gpg |"
#
#---------------------------------------
# Account Hooks
#---------------------------------------
account-hook . 'unset imap_user imap_pass' # unset first!
account-hook 'imaps://mail.cock.li:993/' "\
set imap_user=USER1@cock.li imap_pass=`cat ~/.mutt/.cock ` " # imap_pass=$my_cock_pass "
#account-hook 'imaps://USER2@imap.gmail.com/' "\
# set imap_user=USER2 imap_pass=$my_gmail_pass "
#
#----------------------------------------
# Folders, mailboxes and folder hooks
#----------------------------------------
#
# Setup for USER1:
#----------------------------------------
set folder = imaps://mail.cock.li:993/
mailboxes =Inbox =Sent =Junk =Trash
folder-hook 'imaps://mail.cock.li:993' " \
set folder=imaps://mail.cock.li:993/ \
record=+Sent \
smtp_url=smtps://$imap_user@mail.cock.li:465 \
signature=~/.mutt/USER1.sig \
from='USER1 <USER1@cock.li> ' \
realname='USER1' "
#
#----------------------------------------
# Setup for USER2:
#----------------------------------------
#set folder="imaps://USER2@imap.gmail.com/"
#mailboxes =INBOX =[Gmail]/Drafts =[Gmail]/'Sent Mail' =[Gmail]/Spam
#folder-hook 'imaps://USER2@imap.gmail.com' " \
# set folder=imaps://USER2@imap.gmail.com/ \
# postponed=+[Gmail]/Drafts \
# record=+[Gmail]/'Sent Mail' \
# smtp_url=smtps://USER2@smtp.gmail.com \
# smtp_pass=$my_gmail_pass \
# signature=~/.mutt/USER2.sig \
# from='USER2 <USER2@gmail.com> ' \
# realname='USER2' "
#
#----------------------------------------
# Macros to make life easier
#----------------------------------------
macro index <esc>1 "y1<return><return>" # ESC+1 takes to first INBOX
#macro index <esc>2 "y5<return><return>" # ESC+2 takes to the second
#
#---------------------------------------
# Mail-check preferences
#---------------------------------------
set timeout=60 #Check for mail every minute
set mail_check=5
#
#---------------------------------------
# Set preferred editor
#---------------------------------------
set editor='vim + -c "set textwidth=72" -c "set wrap" -c "set nocp" -c "?^$"'
# EOF
```
## USENET
The software used is __slrn__ ( with __slrnpull__ and + __slrnface__).
* 1. Create slrn.rc:
```
set username "desired_username"
set hostname "desired_hostname.invalid"
set replyto "some_name <email@example.com>"
charset display utf8
charset outgoing utf8
setkey group "set_prefix_argument(4); () = select_group();" " "
```
* 2. Set $NNTPSERVER to usenet provider (set in config file):
`NNTPSERVER='server_name' && export NNTPSERVER`
* 3. Set $EDITOR to preferred text editor (set in slrn.rc file):
`set editor_command "vim '+set tw=72' +%d '%s'"`
* 4. Create .jnewsrc
`touch .jnewsrc`
* 5. Create configuration
`slrn --create`
* 6. Download a list of newsgroups
`slrn -d`
2019-02-20 21:49:01 +00:00
## I2P
2019-03-01 02:58:35 +00:00
__I2P__ is a darknet like __Tor__ but with more services like e-mail, IRC, torrents, and others. Once you install it you can configure it by its web interface at http://localhost:7657/home.
2019-02-20 21:49:01 +00:00
### INSTALLATION
* Make directory that will contain I2P
2019-03-01 00:12:30 +00:00
`mkdir ~/.i2p`
2019-02-20 21:49:01 +00:00
* Go to directory
2019-03-01 00:12:30 +00:00
`cd ~/.i2p`
2019-02-20 21:49:01 +00:00
* Download (replace <VERSION> with the newest version)
`wget -c https://download.i2p2.de/releases/<VERSION>/i2pinstall_<VERSION>.jar`
* Run the installer (and select options like the current path)
`java -jar i2pinstall_<VERSION>.jar -console`
To uninstall simply delete the directory.
2019-02-27 00:01:30 +00:00
### I2PD
__I2PD__ is a version of __I2P__ based on C++ instead of Java. Currently with limited support (no torrents). Therefore is __OPTIONAL__ and its funtion is separated from the rest of the guide.
* Dependencies:
```
libboost
cmake
make
```
* Download.
`git clone https://github.com/PurpleI2P/i2pd.git`
* Go to directory.
`cd i2pd/build`
* Build.
```
cmake
make
```
* Install
```
mkdir $HOME/.i2pd
cp i2pd $HOME/.i2pd
cp -R contrib/certificates $HOME/.i2pd
cp contrib/i2pd.conf $HOME/.i2pd
cd $HOME/.i2pd
ulimit -n 4096 # optional file limit
```
* To run:
```
cd $HOME/.i2pd
./i2pd --datadir .
```
* To stop:
`kill -INT $( cat /var/run/i2pd/i2pd.pid )`
2019-02-26 23:46:22 +00:00
### REMOTE ACCESS
To access your I2P router from another computer.
2019-03-01 00:12:30 +00:00
* On ~/.i2p/clients.config replace
2019-02-26 23:46:22 +00:00
`clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/`
* with
`clientApp.0.args=7657 ::1,127.0.0.1,<REMOTE_IP> ./webapps/`
* where <REMOTE_IP> is the IP of the computer running I2P.
* Restart I2P.
2019-02-20 21:49:01 +00:00
### BASIC COMMANDS
* See status
2019-03-01 00:12:30 +00:00
`~/.i2p/i2prouter status`
2019-02-20 21:49:01 +00:00
* Start
2019-03-01 00:12:30 +00:00
`~/.i2p/i2prouter start`
2019-02-20 21:49:01 +00:00
* Stop
2019-03-01 00:12:30 +00:00
`~/.i2p/i2prouter stop`
2019-02-20 21:49:01 +00:00
* Stop nicely
2019-03-01 00:12:30 +00:00
`~/.i2p/i2prouter graceful`
2019-03-01 00:14:59 +00:00
* __NOTE__: In case you get an error, instead of all the above commands, you'll be able to start I2P using the next:
2019-03-01 00:12:30 +00:00
`~/.i2p/runplain.sh`
2019-02-20 21:49:01 +00:00
2019-03-01 02:58:35 +00:00
You can stop the program from inside the [web interface](http://localhost:7657/home).
2019-03-01 00:14:59 +00:00
2019-03-01 03:38:11 +00:00
### BROWSING I2P EEPSITES
Configuration to browse I2P eepsites. To be used with GNU IceCat. Make sure your list of peers is seeded on the web interface configuration page. _Address Book_ is a list of eepsites.
2019-02-20 21:49:01 +00:00
2019-03-01 03:38:11 +00:00
_OPTION A_
2019-02-20 21:49:01 +00:00
* Go to "Preferences -> Advanced -> Network -> Connection (Settings)"
* Check "Manual proxy configuration"
* Fill with the address
`127.0.0.1 and port 4444 for HTTP`
`127.0.0.1 and port 4445 for HTTPS`
`127.0.0.1 and port 4444 for FTP`
* In the "No proxy for" add:
`localhost, 127.0.0.1`
* Mark "Proxy DNS when using SOCKS".
2019-03-01 03:38:11 +00:00
_OPTION B_
* Download FoxyProxy.
* Click on the FoxyProxy icon.
* Click on "Add New Proxy".
* On the "General" tab add I2P as the name.
* Go to "Proxy Details" tab.
* In "Host or IP Address" field add _127.0.0.1_.
* In the "Port" field _4444_.
* Click on the "URL Patterns" tab.
* In the "Pattern Name" field add as I2P.
* In the "URL pattern" field enter _\*.i2p\*_.
* Click "OK".
* Right click on the FoxyProxy icon.
* Select "Use proxies baed on their predefined patterns".
### YOUR OWN EEPSITE
* Your own eepsite is already active but invisible, the directory located at:
2019-02-20 21:49:01 +00:00
`~/.i2p/eepsite/docroot/`
2019-03-01 03:38:11 +00:00
* The I2P Tunnel Manager contains the setting of your eepsite.
2019-02-20 21:49:01 +00:00
### IRC
* Add the I2P network
`/server add -network i2p localhost 6668`
* Connect
`/connect i2p`
* Save configuration
`/save`
* From now on, to connect simply type
`/connect i2p`
2019-02-26 23:46:22 +00:00
### TORRENTS
Normal torrents and i2p torrents are used with different clients. Can't use a regular torrent from a normal tracker.
#### DOWNLOADING
* Visit a tracker like http://tracker2.postman.i2p and search for the torrent.
2019-02-26 23:50:38 +00:00
_OPTION A_:
2019-02-26 23:46:22 +00:00
* Place your mouse cursor over the magnet icon, right click to disply the menu and click “Copy Link Location".
* Go to i2psnark in browser (http://localhost:7657/i2psnark/).
* Paste the magnet URL on the field "From URL"
* Start the torrent.
2019-02-26 23:50:38 +00:00
_OPTION B_:
2019-02-26 23:46:22 +00:00
* Download the .torrent file.
* Move torrent file it to destination ~/.i2p/i2psnark/.
* Go to i2psnark in browser or refresh page (http://localhost:7657/i2psnark/).
* Start the torrent
#### CREATING
* Place data in i2psnark directory.
`mv <TORRENT_DATA> ~/.i2p/i2psnark/`
* Go to i2psnark in browser or refresh page (http://localhost:7657/i2psnark/).
* Fill in the fields.
`Data to seed: ~/.i2p/i2psnark/<TORRENT_DATA>`
`Tracker: <SELECT_TRACKER>`
* Create torrent by clicking on "Create Torrent".
* Start the torrent.
2019-02-26 23:50:38 +00:00
#### CONFIGURATION
To automatically start torrents once they are added:
* Go to “Configuration”.
* Select “Auto start”.
* Select “Save configuration”.
To change more settings, like download destination for example:
* Edit configuration file.
`vi ~/.i2p/i2psnark.config.d/i2psnark.config`
* Change field ("i2psnark.dir").
`i2psnark.dir=<DOWNLOAD_DIRECTORY>`