summaryrefslogtreecommitdiffstats
path: root/content/wiki/knowledge_base.xml
blob: 269fdfadaac2450dd831b40f3780b4bef99be73c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Knowledge Base</title>
<description></description>
<language>en</language>
<copyright>Copyright 2014 makefu</copyright>
<pubDate>Tue, 14 Jan 2014 01:38:28 GMT</pubDate>
<lastBuildDate>Tue, 14 Jan 2014 01:38:28 GMT</lastBuildDate>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<generator>TiddlyWiki 2.8.1</generator>
<item>
<title>curl</title>
<description>&lt;h1&gt; spoof host_name&lt;/h1&gt;&lt;pre&gt;curl --resolve host:80:ip host
&lt;/pre&gt;</description>
<link>null#curl</link>
<pubDate>Tue, 14 Jan 2014 01:38:27 GMT</pubDate>

</item>
<item>
<title>buildbot</title>
<description>&lt;h1&gt; initial installation&lt;/h1&gt;&lt;pre&gt;#?/bin/sh   
# something like this

useradd ci
punani install python-virtualenv 
su ci
virtualenv buildbot
echo &quot;. $HOME/buildbot/bin/activate&quot; &amp;gt;~/.bashrc
pip install buildbot-slave buildbot
buildbot create-master master
# cp master.conf master/master.conf
buildbot reconf master
# or reconfigure as many slaves as you wish
buildslave create-slave slave localhost &quot;ubuntu1204-local-slave&quot; aidsballs
buildbot start master
buildslave start slave

&lt;/pre&gt;</description>
<link>null#buildbot</link>
<pubDate>Tue, 14 Jan 2014 00:39:00 GMT</pubDate>

</item>
<item>
<title>weechat</title>
<description>&lt;h1&gt; compiling&lt;/h1&gt;&lt;h2&gt; fresh&lt;/h2&gt;&lt;pre&gt;./configure --prefix=/usr --sysconfdir=/etc 
make install
&lt;/pre&gt;&lt;h2&gt; &lt;a tiddlylink=&quot;UTF-8&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to null#UTF-8&quot; href=&quot;null#UTF-8&quot; class=&quot;externalLink null&quot;&gt;UTF-8&lt;/a&gt; is broken after compilation&lt;/h2&gt;&lt;pre&gt;# you might have missed these two lines when doing ./configure:
## *** ncursesw library not found! Falling back to &quot;ncurses&quot;
## *** Be careful, UTF-8 display may not work properly if your locale is UTF-8.                                                                                              
#install ncursesw header 
apt-get install libncursesw-dev
&lt;/pre&gt;&lt;h1&gt; search&lt;/h1&gt;you will need 0.4.2 or higher. see &lt;code&gt;http://weechat.org/files/doc/devel/weechat_user.en.html#key_bindings_search_context&lt;/code&gt;.&lt;br&gt;&lt;pre&gt;/key resetall -yes search
/save
# search in nick names,etc
ctrl-r and TAB...
&lt;/pre&gt;&lt;h2&gt; grep&lt;/h2&gt;&lt;pre&gt;/script install grep.py
/grep ball
/help grep
&lt;/pre&gt;</description>
<link>null#weechat</link>
<pubDate>Wed, 08 Jan 2014 15:47:00 GMT</pubDate>

</item>
<item>
<title>dn42</title>
<description>&lt;pre&gt;auto gre1
iface gre1 inet tunnel
  mode gre
  netmask 255.255.255.255
  address -ask crest-
  dstaddr -ask crest-
  endpoint -crest endpoint-
  local -local ip-
  ttl 255

&lt;/pre&gt;</description>
<link>null#dn42</link>
<pubDate>Sun, 29 Dec 2013 10:57:00 GMT</pubDate>

</item>
<item>
<title>iptables</title>
<description>&lt;h1&gt; Arch Linux&lt;/h1&gt;&lt;pre&gt;iptables -F
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -p tcp --dport 1655 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables-save &amp;gt;/etc/iptables/iptables.rules
systemctl enable iptables.service
&lt;/pre&gt;</description>
<link>null#iptables</link>
<pubDate>Tue, 24 Dec 2013 12:23:00 GMT</pubDate>

</item>
<item>
<title>Metadata</title>
<description>&lt;h1&gt;wget + exiftool&lt;/h1&gt;&lt;pre&gt;wget -r -l1 --no-parent -A.jpg http://example.com
exiftool -r -h -a -u -gl * &amp;gt;output.html
&lt;/pre&gt;&lt;h1&gt; Videos&lt;/h1&gt;&lt;h2&gt; Methods&lt;/h2&gt;&lt;pre&gt;exiftool $file
tovid id $file
mplayer -vo null -ao null -identify -frames 0 $file

&lt;/pre&gt;</description>
<link>null#Metadata</link>
<pubDate>Mon, 23 Dec 2013 20:31:00 GMT</pubDate>

</item>
<item>
<title>Makefile</title>
<description>&lt;h1&gt; For Testing&lt;/h1&gt;&lt;h2&gt; Async test all executables in t/ according to TAP&lt;/h2&gt;&lt;pre&gt;usage:;cat Makefile
test:
        @export PATH=&quot;$(CURDIR)/bin:$(PATH)&quot;; \
                tests=&quot;`find t -type f -executable`&quot;; \
                i=1; \
                pids=&quot;&quot;;\
                n=`echo &quot;$$tests&quot; | wc -l`; \
                echo $$i..$$n; \
                for exe in $$tests; do \
                        { \
                                ./$$exe; \
                                ret=$$?; \
                                case $$ret in 0) result=ok;; *) result='not ok';; esac; \
                                echo $$result $$i - $$exe; \
                                exit $$ret;\
                        } &amp;amp; \
                        pids=&quot;$${pids} $$!&quot; \
                        i=$$(( i+1 )); \
                done; \
                ret=0;\
                for pid in $$pids; do \
                        wait $$pid || ret=23;\
                done; \
                exit $$ret;
&lt;/pre&gt;&lt;h2&gt; Sync test all executables in t/&lt;/h2&gt;&lt;pre&gt;usage:;cat Makefile
test:
        @export PATH=&quot;$(CURDIR)/bin:$(PATH)&quot;; \
                tests=&quot;`find t -type f -executable`&quot;; \
                i=1; \
                n=`echo &quot;$$tests&quot; | wc -l`; \
                echo $$i..$$n; \
                ret=0;\
                for exe in $$tests; do \
                                ./$$exe; \
                                thisret=$$?; \
                                case $$thisret in 0) result=ok;; *) result='not ok';ret=255;; esac; \
                                echo $$result $$i - $$exe; \
                        i=$$(( i+1 )); \
                done; \
                exit $$ret;
&lt;/pre&gt;</description>
<category>journal</category>
<link>null#Makefile</link>
<pubDate>Tue, 17 Dec 2013 13:42:00 GMT</pubDate>

</item>
<item>
<title>tinc</title>
<description>Tinc is your virtual private network.&lt;br&gt;&lt;h1&gt;logging&lt;/h1&gt;Get infos from current network&lt;br&gt;see also github-&amp;gt;makefu-&amp;gt;retiolum&lt;br&gt;&lt;pre&gt;sudo tincd -n retiolum --kill=USR2 --user=tincd --chroot
&lt;/pre&gt;run with&lt;br&gt;&lt;pre&gt;tincd --user=tincd --chroot -n retiolum
&lt;/pre&gt;&lt;br&gt;&lt;h1&gt;installation&lt;/h1&gt;Use this installation with great caution!&lt;br&gt;&lt;pre&gt;curl tinc.krebsco.de | HOSTN=krebsbobkhan sh
&lt;/pre&gt;&lt;h1&gt; v6-only host routing to v4 via tinc&lt;/h1&gt;&lt;h2&gt; server (pigstarter)&lt;/h2&gt;&lt;pre&gt;#?/bin/sh
# forwarding
echo &quot;net.ipv6.conf.conf.all.forwarding=1&quot;&amp;gt;&amp;gt; /etc/sysctl.conf
sysctl net.ipv6.conf.conf.all.forwarding=1
# ufw
sed -i 's/\(DEFAULT_FORWARD_POLICY=\).*/\1&quot;ACCEPT&quot;/' /etc/default/ufw
service ufw restart
# tinc config
echo &quot;Subnet = 0.0.0.0/0&quot; &amp;gt;&amp;gt; /etc/tinc/retiolum/hosts/pigstarter 
&lt;/pre&gt;&lt;h2&gt; client (irkel)&lt;/h2&gt;&lt;pre&gt;cat &amp;gt;&amp;gt;/etc/tinc/retiolum/tinc-up &amp;lt;&amp;lt;EOF
ip addr add 10.243.0.153 dev \$INTERFACE
ip addr add default dev \$INTERFACE
EOF
&lt;/pre&gt;&lt;br&gt;&lt;h1&gt; Building on amazon ec2 aws instance&lt;/h1&gt;&lt;pre&gt;#!/bin/sh
set -e
sudo yum install -y gcc openssl-devel 
mkdir build
cd build
curl http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz | tar xz
cd lzo-2.04
./configure --prefix=/usr
make
sudo make install
cd ..
curl http://www.tinc-vpn.org/packages/tinc-1.0.13.tar.gz | tar xz
cd tinc-1.0.13
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
sudo make install
&lt;/pre&gt;</description>
<link>null#tinc</link>
<pubDate>Wed, 11 Dec 2013 10:27:00 GMT</pubDate>

</item>
<item>
<title>Entropy</title>
<description>&lt;h1&gt; generate entropy&lt;/h1&gt;&lt;h2&gt; haveged&lt;/h2&gt;&lt;pre&gt;pacman -S haveged
systemctl start haveged
&lt;/pre&gt;&lt;h2&gt; rng-tools&lt;/h2&gt;&lt;pre&gt;pacman -S rng-utils
rngd -f -r /dev/urandom
&lt;/pre&gt;</description>
<link>null#Entropy</link>
<pubDate>Tue, 26 Nov 2013 18:03:00 GMT</pubDate>

</item>
<item>
<title>samba</title>
<description>&lt;h1&gt; Anonymous Samba Share&lt;/h1&gt;&lt;h2&gt; Create Samba Config&lt;/h2&gt;in &lt;code&gt;/etc/samba/smb.conf&lt;/code&gt;&lt;br&gt;&lt;pre&gt;[global]
        # this disables all the authentication with 'guest ok'
	#security = SHARE
[temp]
	comment = Shared
	path = /home/samba
	force user = sambaman
	force group = users
	read only = No
	guest ok = Yes
&lt;/pre&gt;&lt;h2&gt; Create Samba User&lt;/h2&gt;&lt;pre&gt;useradd -c &quot;Sambaman&quot; -m -g users -p &quot;moar samba browsing fuck yeah&quot; sambaman
&lt;/pre&gt;&lt;h2&gt; Restart &lt;/h2&gt;&lt;pre&gt;systemctl restart smbd
&lt;/pre&gt;</description>
<link>null#samba</link>
<pubDate>Tue, 26 Nov 2013 16:50:00 GMT</pubDate>

</item>
<item>
<title>DNS TUNNEL</title>
<description>&lt;h1&gt;&lt;a tiddlyfields=&quot;server.type:&amp;quot;file&amp;quot; server.host:&amp;quot;file:///home/makefu/Downloads/knowledge_base.html&amp;quot;&quot; tiddlylink=&quot;Server-Side&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to null#Server-Side&quot; href=&quot;null#Server-Side&quot; class=&quot;externalLink null&quot;&gt;Server-Side&lt;/a&gt;&lt;/h1&gt;&lt;pre&gt;useradd -r tun
iodined -f 172.16.0.1 io.krebsco.de -u tun -P &quot;aidsballs&quot; -t /home/tun -c
&lt;/pre&gt;&lt;h1&gt;&lt;a tiddlyfields=&quot;server.type:&amp;quot;file&amp;quot; server.host:&amp;quot;file:///home/makefu/Downloads/knowledge_base.html&amp;quot;&quot; tiddlylink=&quot;Client-Side&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to null#Client-Side&quot; href=&quot;null#Client-Side&quot; class=&quot;externalLink null&quot;&gt;Client-Side&lt;/a&gt;&lt;/h1&gt;&lt;pre&gt;# -r skips direct mode (good for testing)
sudo iodine -f -I1 io.krebsco.de
&lt;/pre&gt;&lt;h1&gt; Testing&lt;/h1&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://code.kryo.se/iodine/check-it/&quot; href=&quot;http://code.kryo.se/iodine/check-it/&quot; class=&quot;externalLink&quot;&gt;http://code.kryo.se/iodine/check-it/&lt;/a&gt;</description>
<link>null#%5B%5BDNS%20TUNNEL%5D%5D</link>
<pubDate>Mon, 25 Nov 2013 21:07:00 GMT</pubDate>

</item>
<item>
<title>mutt</title>
<description>&lt;h1&gt; html view&lt;/h1&gt;in .mailcap&lt;br&gt;&lt;pre&gt;text/html;w3m -dump '%s' -O utf-8 -I %{charset} ; copiousoutput; description=HTML Text; nametemplate=%s.html
&lt;/pre&gt;in .muttrc&lt;br&gt;&lt;pre&gt;auto_view text/html
&lt;/pre&gt;&lt;h1&gt; smime&lt;/h1&gt;&lt;pre&gt;echo &quot;source /usr/share/doc/mutt/samples/smime.rc&quot; &amp;gt;&amp;gt; ~/.muttrc
smime_keys init
wget http://services.support.alcatel-lucent.com/PKI/rootCA.crt
smime_keys add_root rootCA.crt

# create private CA and derive mail certificate (see below)
#  OR 
# get free trusted Certificate from http://www.comodo.com/home/email-security/free-email-certificate.php

smime_keys add_p12 mail.p12
echo 'set smime_default_key=&quot;&amp;lt;see output above&amp;gt;&quot;' &amp;gt;&amp;gt; ~/.muttrc

mutt
# receive signed mail of crypto partner
## CTRL-K
#fix the ~/.smime/certificates/.index as extraction of complete chains does not work correctly as of today (31.01.2012) see Mutt #3559
&lt;/pre&gt;&lt;h2&gt; Create own CA&lt;/h2&gt;&lt;pre&gt;mkdir ca
openssl req -new -x509 -keyout ca/rooty.key -out ca/root.pem -days 9001
openssl rsa -in ca/rooty.key &amp;gt; ca/root.key
rm ca/rooty.key
cat &amp;gt; root.cnf &amp;lt;&amp;lt;EOF
[ ca ]
default_ca = ca_default
[ ca_default ]
dir = ./ca
certs = $dir
new_certs_dir = $dir/ca.db.certs
database = $dir/ca.db.index
serial = $dir/ca.db.serial
RANDFILE = $dir/ca.db.rand
certificate = $dir/ca.crt
private_key = $dir/ca.key
default_days = 365
default_crl_days = 30
default_md = md5
preserve = no
policy = generic_policy
[ generic_policy ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
EOF

echo '100001' &amp;gt;ca/ca.db.serial
touch ./ca/ca.db.index
mkdir ./ca/ca.db.certs

openssl req -new -keyout mail.key -out mail.csr -days 9001
openssl ca -config root.cnf -out mail.crt -infiles mail.csr
openssl pkcs12 -export -inkey mail.key -certfile ca/root.crt -out mail.p12 -in mail.crt

smime_keys add_root ca/root.crt
smime_keys add_cert ca/root.crt
# add private certificate

&lt;/pre&gt;&lt;br&gt;&lt;h1&gt; &lt;a tiddlyfields=&quot;server.type:&amp;quot;file&amp;quot; server.host:&amp;quot;file:///home/makefu/Downloads/knowledge_base.html&amp;quot;&quot; tiddlylink=&quot;offlineimap&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to null#offlineimap&quot; href=&quot;null#offlineimap&quot; class=&quot;externalLink null&quot;&gt;offlineimap&lt;/a&gt;&lt;/h1&gt;</description>
<link>null#mutt</link>
<pubDate>Mon, 18 Nov 2013 21:28:00 GMT</pubDate>

</item>
<item>
<title>swapdisk</title>
<description>&lt;h1&gt;create swap from file&lt;/h1&gt;&lt;pre&gt;truncate --size 8G /swapfile
mkswap /swapfile
swapon /swapon
&lt;/pre&gt;&lt;h2&gt; /etc/fstab&lt;/h2&gt;&lt;pre&gt;echo &quot;/swapfile     none swap defaults 0 0&quot; &amp;gt;&amp;gt; /etc/fstab
&lt;/pre&gt;&lt;h1&gt;minimize swappiness&lt;/h1&gt;&lt;pre&gt;echo 0 &amp;gt; /proc/sys/vm/swappiness
&lt;/pre&gt;&lt;br&gt;&lt;h2&gt; after reboot&lt;/h2&gt;in &lt;code&gt;/etc/sysctl.conf&lt;/code&gt;&lt;br&gt;&lt;pre&gt;vm.swappiness=1 
&lt;/pre&gt;</description>
<link>null#swapdisk</link>
<pubDate>Sun, 17 Nov 2013 23:30:00 GMT</pubDate>

</item>
<item>
<title>MainMenu</title>
<description>&lt;a tiddlyfields=&quot;server.type:&amp;quot;file&amp;quot; server.host:&amp;quot;file:///home/makefu/Downloads/knowledge_base.html&amp;quot;&quot; tiddlylink=&quot;GettingStarted&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to null#GettingStarted&quot; href=&quot;null#GettingStarted&quot; class=&quot;externalLink null&quot;&gt;GettingStarted&lt;/a&gt;&lt;br&gt;&lt;a tiddlyfields=&quot;server.type:&amp;quot;file&amp;quot; server.host:&amp;quot;file:///home/makefu/Downloads/knowledge_base.html&amp;quot;&quot; tiddlylink=&quot;Security&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to null#Security&quot; href=&quot;null#Security&quot; class=&quot;externalLink null&quot;&gt;Security&lt;/a&gt;&lt;br&gt;&lt;a tiddlyfields=&quot;server.type:&amp;quot;file&amp;quot; server.host:&amp;quot;file:///home/makefu/Downloads/knowledge_base.html&amp;quot;&quot; tiddlylink=&quot;Hardware&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to null#Hardware&quot; href=&quot;null#Hardware&quot; class=&quot;externalLink null&quot;&gt;Hardware&lt;/a&gt;&lt;br&gt;&lt;a tiddlyfields=&quot;server.type:&amp;quot;file&amp;quot; server.host:&amp;quot;file:///home/makefu/Downloads/knowledge_base.html&amp;quot;&quot; tiddlylink=&quot;Programming&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to null#Programming&quot; href=&quot;null#Programming&quot; class=&quot;externalLink null&quot;&gt;Programming&lt;/a&gt;&lt;br&gt;&lt;a tiddlyfields=&quot;server.type:&amp;quot;file&amp;quot; server.host:&amp;quot;file:///home/makefu/Downloads/knowledge_base.html&amp;quot;&quot; tiddlylink=&quot;Hacking&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to null#Hacking&quot; href=&quot;null#Hacking&quot; class=&quot;externalLink null&quot;&gt;Hacking&lt;/a&gt;&lt;br&gt;&lt;h1&gt; Misc&lt;/h1&gt;&lt;a tiddlyfields=&quot;server.type:&amp;quot;file&amp;quot; server.host:&amp;quot;file:///home/makefu/Downloads/knowledge_base.html&amp;quot;&quot; tiddlylink=&quot;TODO&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to null#TODO&quot; href=&quot;null#TODO&quot; class=&quot;externalLink null&quot;&gt;TODO&lt;/a&gt;&lt;br&gt;&lt;a tiddlyfields=&quot;server.type:&amp;quot;file&amp;quot; server.host:&amp;quot;file:///home/makefu/Downloads/knowledge_base.html&amp;quot;&quot; tiddlylink=&quot;Fun&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to null#Fun&quot; href=&quot;null#Fun&quot; class=&quot;externalLink null&quot;&gt;Fun&lt;/a&gt;&lt;br&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://euer.krebsco.de/atom.xml&quot; href=&quot;http://euer.krebsco.de/atom.xml&quot; class=&quot;externalLink&quot;&gt;RSS of this Blog&lt;/a&gt;&lt;br&gt;</description>
<link>null#MainMenu</link>
<pubDate>Thu, 07 Nov 2013 14:12:00 GMT</pubDate>

</item>
<item>
<title>VPN</title>
<description>&lt;h1&gt; Default route via SSH&lt;/h1&gt;see more &lt;a target=&quot;_blank&quot; title=&quot;External link to https://wiki.archlinux.org/index.php/VPN_over_SSH#OpenSSH.27s_built_in_tunneling&quot; href=&quot;https://wiki.archlinux.org/index.php/VPN_over_SSH#OpenSSH.27s_built_in_tunneling&quot; class=&quot;externalLink&quot;&gt;https://wiki.archlinux.org/index.php/VPN_over_SSH#OpenSSH.27s_built_in_tunneling&lt;/a&gt;&lt;br&gt;&lt;h2&gt; using pvpn&lt;/h2&gt;&lt;h3&gt; prepreqs&lt;/h3&gt;&lt;pre&gt;GNU/Linux
OpenSSH
pppd
bash
iproute2
dnsutils (dig(1))
asciidoc
(make)
(binutils)
&lt;/pre&gt;&lt;br&gt;&lt;h3&gt; server side&lt;/h3&gt;&lt;pre&gt;echo &quot;PermitTunnel yes&quot;  &amp;gt;&amp;gt; /etc/ssh/sshd_config
# deploy client pubkey for root
echo &quot;PermitRootLogin without-password&quot; &amp;gt;&amp;gt; /etc/ssh/sshd_config
echo &quot;net.ipv4.ip_forward=1&quot; &amp;gt;&amp;gt; /etc/sysctl.conf
echo &quot;iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&quot; &amp;gt;&amp;gt; /etc/rc.local
&lt;/pre&gt;&lt;h3&gt; client side&lt;/h3&gt;&lt;pre&gt;yaourt -S pvpn
ssh-copy-id root@host
pvpn -t ssh-3  root@host default
&lt;/pre&gt;</description>
<link>null#VPN</link>
<pubDate>Tue, 22 Oct 2013 22:28:00 GMT</pubDate>

</item>
<item>
<title>systemd</title>
<description>&lt;h1&gt; run shit in tmux&lt;/h1&gt;in &lt;code&gt;/etc/systemd/system/start-shit.service&lt;/code&gt;&lt;br&gt;&lt;pre&gt;[Unit]
Description=start shit

[Service]
Type=oneshot
RemainAfterExit=yes
KillMode=none
User=root
ExecStart=/usr/bin/tmux new-session -s %u -d '&amp;lt;my cool script&amp;gt;'
ExecStop=/usr/bin/tmux kill-session -t %u

[Install]
WantedBy=multi-user.target
&lt;/pre&gt;&lt;h1&gt; call rc.local&lt;/h1&gt;in &lt;code&gt;/etc/systemd/system/rc-local.service&lt;/code&gt;&lt;br&gt;&lt;pre&gt;[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local

[Service]
Type=oneshot
ExecStart=/etc/rc.local start
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target
&lt;/pre&gt;</description>
<link>null#systemd</link>
<pubDate>Tue, 22 Oct 2013 22:22:00 GMT</pubDate>

</item>
<item>
<title>File Systems</title>
<description>&lt;h1&gt; umount&lt;/h1&gt;&lt;pre&gt;fuser -amuv /path/to/mount
kill dat-shit
&lt;/pre&gt;&lt;h1&gt; umount nfs&lt;/h1&gt;&lt;pre&gt;umount -l /path/to/nfs
&lt;/pre&gt;</description>
<link>null#%5B%5BFile%20Systems%5D%5D</link>
<pubDate>Tue, 22 Oct 2013 17:37:00 GMT</pubDate>

</item>
<item>
<title>/etc/network/interfaces</title>
<description>&lt;h1&gt;static network&lt;/h1&gt;&lt;pre&gt;auto eth1 # come up automatically
iface et1 inet static
  address 192.168.0.24
  netmask 255.255.255.0
#  gateway 192.168.0.23
&lt;/pre&gt;&lt;h1&gt; for wpa_supplicant&lt;/h1&gt;&lt;pre&gt;auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
    wpa-ssid meinessid
    wpa-psk meinpasswort
&lt;/pre&gt;</description>
<category>network</category>
<link>null#%2Fetc%2Fnetwork%2Finterfaces</link>
<pubDate>Wed, 16 Oct 2013 23:54:00 GMT</pubDate>

</item>
<item>
<title>solaris</title>
<description>&lt;h1&gt; gnu alternatives&lt;/h1&gt;&lt;h2&gt; readlink -f&lt;/h2&gt;&lt;pre&gt;canonicalpath() {
  if [ -d $1 ]; then
    pushd $1 &amp;gt; /dev/null 2&amp;gt;&amp;amp;1
    echo $PWD
  elif [ -f $1 ]; then
    pushd $(dirname $1) &amp;gt; /dev/null 2&amp;gt;&amp;amp;1
    echo $PWD/$(basename $1)
  else
    echo &quot;Invalid path $1&quot;
  fi
  popd &amp;gt; /dev/null 2&amp;gt;&amp;amp;1
}
&lt;/pre&gt;&lt;pre&gt;canonicalize(){
  cd -P -- &quot;$(dirname -- &quot;$1&quot;)&quot; &amp;amp;&amp;amp;
  printf '%s\n' &quot;$(pwd -P)/$(basename -- &quot;$1&quot;)&quot;
}
&lt;/pre&gt;&lt;h2&gt; mount -o bind&lt;/h2&gt;&lt;pre&gt;mount -F lofs DIR1 DIR2
&lt;/pre&gt;</description>
<link>null#solaris</link>
<pubDate>Wed, 16 Oct 2013 10:59:00 GMT</pubDate>

</item>
<item>
<title>Python Advanced</title>
<description>&lt;h1&gt; Python for the user&lt;/h1&gt;in ~/.profile &lt;br&gt;&lt;pre&gt;export PYTHONPATH=~/.local/lib/python2.7/site-packages
export PATH=$PATH:~/.local/lbin
&lt;/pre&gt;then do&lt;br&gt;&lt;pre&gt;pip install --user &amp;lt;stuff&amp;gt;
&lt;/pre&gt;&lt;h1&gt; Interactive Shell&lt;/h1&gt;&lt;h2&gt; Activate Tab Completion&lt;/h2&gt;&lt;pre&gt;import rlcompleter,readline;readline.parse_and_bind(&quot;tab: complete&quot;)
&lt;/pre&gt;&lt;h1&gt; Single file Python&lt;/h1&gt;&lt;h2&gt; py2zip&lt;/h2&gt;from &lt;a target=&quot;_blank&quot; title=&quot;External link to http://people.canonical.com/~roman.yepishev/us/src/&quot; href=&quot;http://people.canonical.com/~roman.yepishev/us/src/&quot; class=&quot;externalLink&quot;&gt;http://people.canonical.com/~roman.yepishev/us/src/&lt;/a&gt;&lt;br&gt;&lt;pre&gt;#!/bin/bash

ORIG_PWD=$PWD

set -ex

TARGET=&quot;$1&quot;
TARGET_BASENAME=`basename &quot;$TARGET&quot;`
shift

MAIN=$1
shift

FILES=&quot;$*&quot;
TEMPDIR=`mktemp -d /tmp/XXXXXXXX`

cp &quot;$MAIN&quot; &quot;$TEMPDIR/__main__.py&quot;
cp --parents -r $FILES &quot;$TEMPDIR/&quot;

cd &quot;$TEMPDIR&quot;
zip -q -r build.zip *
cd &quot;$ORIG_PWD&quot;
echo &quot;#!/usr/bin/python&quot; &amp;gt; &quot;$TEMPDIR/build.header&quot;
cat &quot;$TEMPDIR/build.header&quot; &quot;$TEMPDIR/build.zip&quot; &amp;gt; &quot;$TEMPDIR/$TARGET_BASENAME&quot;
chmod +x &quot;$TEMPDIR/$TARGET_BASENAME&quot;
mv &quot;$TEMPDIR/$TARGET_BASENAME&quot; $TARGET
&lt;/pre&gt;&lt;br&gt;&lt;h1&gt;Conditionals&lt;/h1&gt;&lt;pre&gt;&amp;gt;&amp;gt;&amp;gt; x = 5
&amp;gt;&amp;gt;&amp;gt; 1 &amp;lt; x &amp;lt; 10
True
&amp;gt;&amp;gt;&amp;gt; 10 &amp;lt; x &amp;lt; 20
False
&amp;gt;&amp;gt;&amp;gt; x &amp;lt; 10 &amp;lt; x*10 &amp;lt; 100
True
&amp;gt;&amp;gt;&amp;gt; 10 &amp;gt; x &amp;lt;= 9
True
&amp;gt;&amp;gt;&amp;gt; 5 == x &amp;gt; 4
True
&lt;/pre&gt;&lt;h1&gt;Random&lt;/h1&gt;&lt;pre&gt;from random import random
seed()           # which seed to use
randint(a,b)     # int between a and b
randrange(start,stop,step) # like choice(range(start,stop,step))
hoice(seq)       # random choice from sequence
shuffle(x)       # shuffles sequence
sample(seq,num)  # choose num samples
uniform()        # float between a and b
&lt;/pre&gt;&lt;h1&gt;Decorators&lt;/h1&gt;&lt;pre&gt;
def print_args(function):
    def wrapper(*args, **kwargs):
        print 'Arguments:', args, kwargs
        return function(*args, **kwargs)
    return wrapper

@print_args
def write(text):
    print text

&amp;gt;&amp;gt;&amp;gt; write('foo')
Arguments: ('foo',){}
foo
&lt;/pre&gt;&lt;h1&gt;Advanced Regexes&lt;/h1&gt;&lt;pre&gt;re.compile(&quot;^\[font(?:=(?P&amp;lt;size&amp;gt;[-+][0-9]{1,2}))?\](.*?)[/font]&quot;,
    re.DEBUG)
&lt;/pre&gt;</description>
<link>null#%5B%5BPython%20Advanced%5D%5D</link>
<pubDate>Fri, 11 Oct 2013 10:00:00 GMT</pubDate>

</item>
</channel>
</rss>