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 )
4.5. [EEPSITES ](#eepsites )
4.6. [IRC ](#irc )
4.7. [TORRENTS ](#torrents )
4.7.1 [DOWNLOADING ](#downloading )
4.7.2 [CREATING ](#creating )
4.7.3 [CONFIGURATION ](#configuration )
2019-02-20 21:49:01 +00:00
2019-02-20 21:35:55 +00:00
2019-02-20 21:27:28 +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
2019-02-20 21:27:28 +00:00
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
### 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 00:14:59 +00:00
You can stop the program from inside the web interface.
2019-02-20 21:50:11 +00:00
### EEPSITES
2019-02-20 21:49:01 +00:00
Configuration to browse I2P eepsites. To be used with GNU IceCat.
* 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".
Address Book is a list of eepsites.
* Your own eepsite is already active but invisible, the directory located at
`~/.i2p/eepsite/docroot/`
* The I2P Tunnel Manager contains the setting of your eepsite
### 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>`