05bed8e734e6b6141613f245cfe90a2d724e8113
Home.md
| ... | ... | @@ -16,6 +16,7 @@ |
| 16 | 16 | 7. [monitoring](#technology_monitoring) |
| 17 | 17 | 8. [networking](#technology_networking) |
| 18 | 18 | 9. [virtualisation](#technology_virtualisation) |
| 19 | + 10. [websites](#technology_websites) |
|
| 19 | 20 | |
| 20 | 21 | ## coding |
| 21 | 22 | - [android](coding/android) |
| ... | ... | @@ -100,3 +101,4 @@ |
| 100 | 101 | |
| 101 | 102 | ### websites |
| 102 | 103 | - [django](technology/websites/django) |
| 104 | +- [httpd](technology/websites/httpd) |
custom.css
| ... | ... | @@ -1,148 +1,158 @@ |
| 1 | 1 | @font-face { |
| 2 | - font-family: 'goudy_bookletter_1911regular'; |
|
| 3 | - src: url('fonts/goudy_bookletter_1911-webfont.eot'); |
|
| 4 | - src: url('fonts/goudy_bookletter_1911-webfont.eot?#iefix') format('embedded-opentype'), |
|
| 5 | - url('fonts/goudy_bookletter_1911-webfont.woff') format('woff'), |
|
| 6 | - url('fonts/goudy_bookletter_1911-webfont.ttf') format('truetype'), |
|
| 7 | - url('fonts/goudy_bookletter_1911-webfont.svg#goudy_bookletter_1911regular') format('svg'); |
|
| 8 | - font-weight: normal; |
|
| 9 | - font-style: normal; |
|
| 10 | -} |
|
| 11 | -@font-face { |
|
| 12 | - font-family: 'envy'; |
|
| 13 | - src: url('fonts/envy_code_r.eot'); |
|
| 14 | - src: url('fonts/envy_code_r.eot?#iefix') format('embedded-opentype'), |
|
| 15 | - url('fonts/envy_code_r.woff2') format('woff2'), |
|
| 16 | - url('fonts/envy_code_r.woff') format('woff'), |
|
| 17 | - url('fonts/envy_code_r.ttf') format('truetype'), |
|
| 18 | - url('fonts/envy_code_r.svg') format('svg'); |
|
| 2 | + font-family: 'saxmono'; |
|
| 3 | + src: url('/fonts/saxmono-webfont.woff') format('woff'); |
|
| 19 | 4 | font-weight: normal; |
| 20 | 5 | font-style: normal; |
| 21 | 6 | } |
| 22 | 7 | body { |
| 23 | - background: #111111; |
|
| 24 | - color: #abc0c5; |
|
| 25 | - font-family: 'goudy_bookletter_1911regular'; |
|
| 8 | + background: #202224; |
|
| 9 | + color: #beced0; |
|
| 10 | + font-family: 'saxmono'; |
|
| 26 | 11 | font-size: 16px; |
| 27 | 12 | letter-spacing: .3px; |
| 28 | 13 | } |
| 29 | 14 | #head { |
| 30 | 15 | border-bottom: none; |
| 16 | + text-transform: uppercase; |
|
| 31 | 17 | } |
| 32 | 18 | h1, |
| 33 | 19 | h2, |
| 34 | 20 | h3, |
| 35 | 21 | h4 { |
| 36 | - color: #5a7588; |
|
| 22 | + color: #cd6e42; |
|
| 37 | 23 | font-weight: normal; |
| 24 | + text-transform: uppercase; |
|
| 38 | 25 | } |
| 39 | -.markdown-body { |
|
| 40 | - font-size: 16px; |
|
| 26 | +#head h1 { |
|
| 27 | + font-size: 1.5em; |
|
| 41 | 28 | } |
| 42 | 29 | .markdown-body h2, |
| 43 | 30 | .markdown-body h3, |
| 44 | 31 | .markdown-body h4 { |
| 45 | - color: #5a7588; |
|
| 32 | + color: #646086; |
|
| 46 | 33 | font-weight: normal; |
| 47 | 34 | border-bottom: none; |
| 35 | + text-transform: uppercase; |
|
| 36 | +} |
|
| 37 | +.markdown-body h2 .fa-link, |
|
| 38 | +.markdown-body h3 .fa-link, |
|
| 39 | +.markdown-body h4 .fa-link { |
|
| 40 | + color: #3d4047; |
|
| 41 | +} |
|
| 42 | +.markdown-body h2 { |
|
| 43 | + font-size: 1.5em; |
|
| 48 | 44 | } |
| 49 | -.markdown-body h2 .fa-link { |
|
| 50 | - color: #abc0c5; |
|
| 45 | +.markdown-body h3 { |
|
| 46 | + font-size: 1.3em; |
|
| 47 | +} |
|
| 48 | +.markdown-body h4 { |
|
| 49 | + font-size: 1em; |
|
| 51 | 50 | } |
| 52 | 51 | a, |
| 53 | 52 | a:link, |
| 54 | 53 | a:visited { |
| 55 | - color: #776e89; |
|
| 54 | + color: #62a8b2; |
|
| 56 | 55 | } |
| 57 | 56 | a:active, |
| 58 | 57 | a:hover, |
| 59 | 58 | a:focus { |
| 60 | - color: #a29076; |
|
| 59 | + color: #33708c; |
|
| 61 | 60 | text-decoration: none; |
| 62 | 61 | } |
| 63 | 62 | .markdown-body code { |
| 64 | - background-color: #222222; |
|
| 65 | - color: #5c8676; |
|
| 66 | - font-family: 'envy'; |
|
| 63 | + background-color: #3d4047; |
|
| 64 | + color: #beced0; |
|
| 65 | + font-family: 'saxmono'; |
|
| 67 | 66 | font-size: 13px; |
| 68 | - padding: 5px 4px 2px 4px; |
|
| 69 | - border-radius: 0px; |
|
| 70 | - border-color: #222222; |
|
| 67 | + padding: 1px 1px 1px 1px; |
|
| 68 | + border-radius: 5px; |
|
| 69 | + border-color: #3d4047; |
|
| 71 | 70 | } |
| 72 | 71 | .markdown-body pre { |
| 73 | - background: #111111; |
|
| 74 | - color: #4f8396; |
|
| 75 | - font-family: 'envy'; |
|
| 76 | - border-radius: 0px; |
|
| 77 | - border-color: #444444; |
|
| 72 | + background: #161719; |
|
| 73 | + color: #dceef1; |
|
| 74 | + font-family: 'saxmono'; |
|
| 75 | + border-radius: 5px; |
|
| 76 | + border-color: #76b660; |
|
| 78 | 77 | border-width: 1px; |
| 79 | - border-style: none; |
|
| 80 | - border-left-style: solid; |
|
| 78 | + border-style: solid; |
|
| 81 | 79 | } |
| 82 | 80 | .markdown-body pre code { |
| 83 | - color: #4f8396; |
|
| 84 | - font-family: 'envy'; |
|
| 81 | + color: #dceef1; |
|
| 82 | + font-family: 'saxmono'; |
|
| 85 | 83 | white-space: pre-wrap; |
| 86 | 84 | } |
| 87 | 85 | .highlight .nt { |
| 88 | - color: #4f8396; |
|
| 86 | + color: #beced0; |
|
| 89 | 87 | } |
| 90 | 88 | .markdown-body ul { |
| 91 | - list-style: ':: ' |
|
| 89 | + list-style: '- ' |
|
| 90 | +} |
|
| 91 | +.markdown-body table thead { |
|
| 92 | + text-transform: uppercase; |
|
| 93 | + font-size: 16px; |
|
| 94 | + text-align: left; |
|
| 92 | 95 | } |
| 93 | 96 | .markdown-body table tr, |
| 94 | 97 | .markdown-body table tr:nth-child(2n) { |
| 95 | - background-color: #111111; |
|
| 98 | + background-color: #161719; |
|
| 96 | 99 | } |
| 97 | 100 | .markdown-body table tr th, |
| 98 | 101 | .markdown-body table tr td { |
| 99 | - border: 1px solid #444444; |
|
| 102 | + border: 1px solid #3d4047; |
|
| 100 | 103 | } |
| 101 | 104 | .minibutton a { |
| 102 | - background: #111111; |
|
| 103 | - color: #abc0c5; |
|
| 105 | + background: #161719; |
|
| 106 | + color: #beced0; |
|
| 104 | 107 | border: none; |
| 105 | 108 | text-shadow: none; |
| 106 | - text-transform: lowercase; |
|
| 107 | 109 | } |
| 108 | 110 | .minibutton a:active, |
| 109 | 111 | .minibutton a:hover, |
| 110 | 112 | .minibutton a:focus { |
| 111 | - background: #111111; |
|
| 112 | - color: #a29076; |
|
| 113 | + background: #161719; |
|
| 114 | + color: #33708c; |
|
| 113 | 115 | border: none; |
| 114 | 116 | text-shadow: none; |
| 115 | 117 | } |
| 116 | 118 | #head #searchbar div#searchbar-fauxtext { |
| 117 | - border-color: #222222; |
|
| 118 | - background: #222222; |
|
| 119 | + border-color: #3d4047; |
|
| 120 | + background: #161719; |
|
| 119 | 121 | } |
| 120 | 122 | #head #searchbar div#searchbar-fauxtext input#search-query, |
| 121 | 123 | #head #searchbar div#searchbar-fauxtext input#search-query.ph { |
| 122 | - background: #111111; |
|
| 123 | - color: #abc0c5; |
|
| 124 | - font-family: 'goudy_bookletter_1911regular'; |
|
| 124 | + background: #161719; |
|
| 125 | + color: #beced0; |
|
| 126 | + font-family: 'saxmono'; |
|
| 125 | 127 | } |
| 126 | 128 | #head #searchbar div#searchbar-fauxtext a#search-submit { |
| 127 | - background: #111111; |
|
| 128 | - border-color: #222222; |
|
| 129 | + background: #161719; |
|
| 130 | + border-color: #3d4047; |
|
| 129 | 131 | } |
| 130 | 132 | #head #searchbar div#searchbar-fauxtext a#search-submit span { |
| 131 | 133 | background-position: -431px -25px; |
| 132 | 134 | } |
| 133 | 135 | .results h1 strong { |
| 134 | - color: #4f8396; |
|
| 136 | + color: #76b660; |
|
| 135 | 137 | font-weight: normal; |
| 136 | 138 | } |
| 137 | 139 | .results p#no-results strong { |
| 138 | - color: #8b5c51; |
|
| 140 | + color: #8d3636; |
|
| 139 | 141 | font-weight: normal; |
| 140 | 142 | } |
| 143 | +#error { |
|
| 144 | + background-color: #161719; |
|
| 145 | + border: none; |
|
| 146 | +} |
|
| 147 | +#error h1 { |
|
| 148 | + color: #cd6e42; |
|
| 149 | +} |
|
| 141 | 150 | .page #footer { |
| 142 | 151 | border-top: none; |
| 152 | + margin-left: 10px; |
|
| 143 | 153 | } |
| 144 | 154 | #footer p#last-edit, |
| 145 | 155 | #footer p#last-edit b { |
| 146 | - color: #444444; |
|
| 156 | + color: #3d4047; |
|
| 147 | 157 | font-weight: normal; |
| 148 | 158 | } |
fonts/saxmono-webfont.woff
| ... | ... | Binary files /dev/null and b/fonts/saxmono-webfont.woff differ |
technology/linux/audio_visual/ffmpeg.md
| ... | ... | @@ -25,3 +25,9 @@ ffmpeg -f alsa -ac 2 -i alsa -f x11grab -r 15 -i :0.0 -acodec libmp3lame -vcode |
| 25 | 25 | ``` |
| 26 | 26 | ffmpeg -i videofile.mp4 videofile.webm |
| 27 | 27 | ``` |
| 28 | + |
|
| 29 | +### adjust crf |
|
| 30 | +adjust constant rate factor to lower bit rate |
|
| 31 | +``` |
|
| 32 | +ffmpeg -i input.mp4 -vcodec libx264 -crf 20 output.mp4 |
|
| 33 | +``` |
technology/linux/general/keymaps.md
| ... | ... | @@ -1,12 +1,21 @@ |
| 1 | 1 | # keymaps |
| 2 | 2 | |
| 3 | -check keymaps |
|
| 3 | +## check keymaps |
|
| 4 | 4 | ``` |
| 5 | 5 | localectl status |
| 6 | 6 | ``` |
| 7 | 7 | |
| 8 | -changes required to load keys |
|
| 8 | +## changes required to load keys |
|
| 9 | 9 | ``` |
| 10 | 10 | vconsole.conf |
| 11 | 11 | /etc/X11/xorg.conf.d/00-keyboard.conf |
| 12 | 12 | ``` |
| 13 | + |
|
| 14 | +## use capslock as escape and control |
|
| 15 | +using xcape capslock can be set to 'escape' when tapped and 'ctrl' when help down. |
|
| 16 | +``` |
|
| 17 | +setxkbmap -option ctrl:nocaps |
|
| 18 | +xcape -e 'Control_L=Escape' |
|
| 19 | +``` |
|
| 20 | + |
|
| 21 | +[ref](https://www.dannyguo.com/blog/remap-caps-lock-to-escape-and-control) |
technology/linux/general/ssh.md
| ... | ... | @@ -34,6 +34,13 @@ ssh -X user@host |
| 34 | 34 | ``` |
| 35 | 35 | - on server side `X11Forwarding` must be set to `yes` in '/etc/ssh/sshd_config' |
| 36 | 36 | |
| 37 | +## ssh host fingerprint |
|
| 38 | +to find the fingerprint of a host |
|
| 39 | +``` |
|
| 40 | +sudo ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key |
|
| 41 | +sudo ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key |
|
| 42 | +``` |
|
| 43 | + |
|
| 37 | 44 | ## remote host id has changed |
| 38 | 45 | if the fingerprint for the remote host has changed (and you are sure it's not |
| 39 | 46 | a mitm attack) run the following to remove from 'known_hosts' |
technology/networking/subnet_cheatsheet.md
| ... | ... | @@ -2,6 +2,7 @@ |
| 2 | 2 | |
| 3 | 3 | https://oav.net/mirrors/cidr.html |
| 4 | 4 | |
| 5 | +``` |
|
| 5 | 6 | Netmask Netmask (binary) CIDR Notes |
| 6 | 7 | _____________________________________________________________________________ |
| 7 | 8 | 255.255.255.255 11111111.11111111.11111111.11111111 /32 Host (single addr) |
| ... | ... | @@ -40,7 +41,9 @@ _____________________________________________________________________________ |
| 40 | 41 | 192.0.0.0 11000000.00000000.00000000.00000000 /2 |
| 41 | 42 | 128.0.0.0 10000000.00000000.00000000.00000000 /1 |
| 42 | 43 | 0.0.0.0 00000000.00000000.00000000.00000000 /0 IP space |
| 44 | +``` |
|
| 43 | 45 | |
| 46 | +``` |
|
| 44 | 47 | Net Host Total |
| 45 | 48 | Net Addr Addr Addr Number |
| 46 | 49 | Class Range NetMask Bits Bits of hosts |
| ... | ... | @@ -59,8 +62,10 @@ K 222-223 255.255.255.254 31 1 2 (reserved) |
| 59 | 62 | (ref: RFC1375 & http://www.iana.org/assignments/ipv4-address-space ) |
| 60 | 63 | ( http://www.iana.org/numbers.htm ) |
| 61 | 64 | ---------------------------------------------------------- |
| 65 | +``` |
|
| 62 | 66 | |
| 63 | 67 | The current list of special use prefixes: |
| 68 | +``` |
|
| 64 | 69 | 0.0.0.0/8 |
| 65 | 70 | 127.0.0.0/8 |
| 66 | 71 | 192.0.2.0/24 |
| ... | ... | @@ -69,14 +74,16 @@ The current list of special use prefixes: |
| 69 | 74 | 192.168.0.0/16 |
| 70 | 75 | 169.254.0.0/16 |
| 71 | 76 | all D/E space |
| 72 | -(ref: RFC1918 http://www.rfc-editor.org/rfc/rfc1918.txt ) |
|
| 73 | -( or ftp://ftp.isi.edu/in-notes/rfc1918.txt ) |
|
| 74 | -(rfc search: http://www.rfc-editor.org/rfcsearch.html ) |
|
| 75 | -( http://www.ietf.org/ietf/1id-abstracts.txt ) |
|
| 76 | -( http://www.ietf.org/shadow.html ) |
|
| 77 | +``` |
|
| 78 | +- (ref: RFC1918 http://www.rfc-editor.org/rfc/rfc1918.txt ) |
|
| 79 | +- ( or ftp://ftp.isi.edu/in-notes/rfc1918.txt ) |
|
| 80 | +- (rfc search: http://www.rfc-editor.org/rfcsearch.html ) |
|
| 81 | +- ( http://www.ietf.org/ietf/1id-abstracts.txt ) |
|
| 82 | +- ( http://www.ietf.org/shadow.html ) |
|
| 77 | 83 | |
| 78 | 84 | |
| 79 | 85 | Martians: (updates at: www.iana.org/assignments/ipv4-address-space ) |
| 86 | +``` |
|
| 80 | 87 | no ip source-route |
| 81 | 88 | access-list 100 deny ip host 0.0.0.0 any |
| 82 | 89 | deny ip 0.0.0.0 0.255.255.255 any log ! antispoof |
| ... | ... | @@ -114,7 +121,9 @@ Martians: (updates at: www.iana.org/assignments/ipv4-address-space ) |
| 114 | 121 | deny ip 224.0.0.0 15.255.255.255 any log ! unless MBGP-learned routes |
| 115 | 122 | deny ip 224-239/8 0.255.255.255 any log ! IANA - Multicast |
| 116 | 123 | deny ip 240-255/8 0.255.255.255 any log ! IANA - Reserved |
| 124 | +``` |
|
| 117 | 125 | |
| 126 | +``` |
|
| 118 | 127 | filtered source addresses |
| 119 | 128 | 0/8 ! broadcast |
| 120 | 129 | 10/8 ! RFC 1918 private |
| ... | ... | @@ -127,8 +136,10 @@ filtered source addresses |
| 127 | 136 | 240.0.0.0/5 ! class E reserved |
| 128 | 137 | 248.0.0.0/5 ! reserved |
| 129 | 138 | 255.255.255.255/32 ! broadcast |
| 139 | +``` |
|
| 130 | 140 | |
| 131 | 141 | ARIN administrated blocks: (http://www.arin.net/regserv/IPStats.html) |
| 142 | +``` |
|
| 132 | 143 | 24.0.0.0/8 (portions of) |
| 133 | 144 | 63.0.0.0/8 |
| 134 | 145 | 64.0.0.0/8 |
| ... | ... | @@ -145,16 +156,18 @@ ARIN administrated blocks: (http://www.arin.net/regserv/IPStats.html) |
| 145 | 156 | 208.0.0.0/8 |
| 146 | 157 | 209.0.0.0/8 |
| 147 | 158 | 216.0.0.0/8 |
| 159 | +``` |
|
| 148 | 160 | ---------------------------------------------------------- |
| 149 | 161 | |
| 150 | 162 | well known ports: (rfc1700.txt) |
| 151 | - www.iana.org/assignments/port-numbers |
|
| 163 | + - www.iana.org/assignments/port-numbers |
|
| 152 | 164 | |
| 153 | 165 | protocol numbers: |
| 154 | - www.iana.org/assignments/protocol-numbers |
|
| 155 | - www.iana.org/numbers.htm |
|
| 166 | + - www.iana.org/assignments/protocol-numbers |
|
| 167 | + - www.iana.org/numbers.htm |
|
| 156 | 168 | |
| 157 | 169 | ICMP(Types/Codes) |
| 170 | +``` |
|
| 158 | 171 | Testing Destination Reachability & Status |
| 159 | 172 | (0/0) Echo-Reply |
| 160 | 173 | (8/0) Echo |
| ... | ... | @@ -205,12 +218,14 @@ ICMP(Types/Codes) |
| 205 | 218 | (30/0) Traceroute |
| 206 | 219 | (31/0) Conversion-Error |
| 207 | 220 | (32/0) Mobile-Redirect |
| 221 | +``` |
|
| 208 | 222 | |
| 209 | 223 | Ref: [RFC 792] [RFC 896] [RFC 950] [RFC 1016] |
| 210 | 224 | www.cisco.com/univercd/cc/td/doc/product/lan/cat6000/sw_5_3/cofigide/qos.htm#19774 |
| 211 | 225 | |
| 212 | 226 | |
| 213 | 227 | |
| 228 | +``` |
|
| 214 | 229 | Decimal system Prefix's |
| 215 | 230 | Factor Exponent Prefix |
| 216 | 231 | --------------------------------------------------- |
| ... | ... | @@ -236,9 +251,10 @@ Decimal system Prefix's |
| 236 | 251 | 0.000 000 000 000 000 000 000 001...10^-24...yocto |
| 237 | 252 | --------------------------------------------------- |
| 238 | 253 | |
| 239 | -Convert Fahrenheit <> Celsius: |
|
| 240 | - Celsius = (Fahrenheit - 32) / 1.8 |
|
| 241 | - Fahrenheit = (Celsius * 1.8) + 32 |
|
| 254 | +``` |
|
| 255 | +- Convert Fahrenheit <> Celsius: |
|
| 256 | + - Celsius = (Fahrenheit - 32) / 1.8 |
|
| 257 | + - Fahrenheit = (Celsius * 1.8) + 32 |
|
| 242 | 258 | |
| 243 | 259 | |
| 244 | 260 | last updated: 4jul02 |
technology/websites/httpd.md
| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | +# httpd |
|
| 2 | + |
|
| 3 | +- view modules loaded into server |
|
| 4 | +``` |
|
| 5 | +httpd -l |
|
| 6 | +``` |