Difference between pages "ConsoleOutput MediaWiki Extension" and "Package:Dnscrypt"

(Difference between pages)
 
m (add some goodies)
 
Line 1: Line 1:
The ConsoleOutput MediaWiki extension was created by Daniel Robbins to provide highlighting of user input for interactive terminal session blocks. To use it, surround user input with  <tt>&lt;console&gt;</tt> opening and closing tags, and put a <tt>##i##</tt> input code immediately before user input on each line. This will cause all text from the <tt>##i##</tt> point to the end of the line to be in a darker color. The rest of the text will be in a lighter grey, allowing it to be distinguished more easily from user input. Here are other sequences that can be used:
+
{{Ebuild
 +
|Summary=A tool for securing communications between a client, and a DNS resolver.
 +
|CatPkg=net-dns/dnscrypt-proxy
 +
|Homepage=http://dnscrypt.org/
 +
}}
 +
{{warning|As this page deals with DNS it has the potential to break your internet access!  Ensure you have stable live media that can restore your system.}}
 +
DNScrypt provides encryption from clients to upstream DNS servers. Encrypting this traffic prevents spying, spoofing, and other man in the middle attacks.
  
* <tt>##b##</tt> - highlight the rest of the line in bold.
+
=== Installation ===
* <tt>##b## text here ##!b##</tt> - highlight the text between both markers in bold.
+
{{console|body=###i## emerge dnscrypt-proxy}}
* <tt>##i## text here ##!i##</tt> - highlight the text between both markers in a darker color.
+
  
This extension can be further extended to add color support, as desired, and some of the CSS for color support can already be found in the code below.
+
=== Configuration ===
 +
By default opendns is used, although some [http://www.opennicproject.org/ opennic servers] support dnscrypt.
  
Here are a few examples of the ConsoleOutput extension. First this is how you might typically display {{c|ls}} output, with a particular directory highlighted:
+
{{f|/etc/conf.d/dnscrypt-proxy}} controls settings for DNScrypt.  A [https://github.com/jedisct1/dnscrypt-proxy/blob/master/dnscrypt-resolvers.csv list of resolvers] has been compiled for use with DNScrypt.
  
<console>
+
{{file|name=/etc/resolv.conf|lang=|desc=set dns server as dnscrypt-proxy|body=
www@www-smw ~/public_html $ ##i##ls
+
nameserver 127.0.0.1
COPYING  LocalSettings.php    api.php  ##b##extensions##!b##  index.php  maintenance          redirect.php    skins              thumb_handler.php5
+
CREDITS  README                api.php5  images        index.php5  mw-config            redirect.php5  tests              wiki.phtml
+
FAQ      RELEASE-NOTES-1.19    bin      img_auth.php  languages  opensearch_desc.php  redirect.phtml  thumb.php
+
HISTORY  StartProfiler.sample  cache    img_auth.php5  load.php    opensearch_desc.php5  resources      thumb.php5
+
INSTALL  UPGRADE              docs      includes      load.php5  profileinfo.php      serialized      thumb_handler.php
+
www@www-smw ~/public_html $ ##i##cd extensions/
+
</console>
+
 
+
And here is how you might display a more detailed example of console output, using colors:
+
 
+
{{console|body=
+
# ##i##bluetoothctl
+
[##g##NEW##!g##] Controller 00:02:72:C9:62:65 antec [default]
+
##bl##[bluetooth]##!bl### ##i##power on
+
Changing power on succeeded
+
##bl##[bluetooth]##!bl### ##i##agent on
+
Agent registered
+
##bl##[bluetooth]##!bl### ##i##scan on
+
Discovery started
+
##bl##[bluetooth]##!bl### ##i##devices
+
Device 00:1F:20:3D:1E:75 Logitech K760
+
##bl##[bluetooth]##!bl### ##i##pair 00:1F:20:3D:1E:75
+
Attempting to pair with 00:1F:20:3D:1E:75
+
[##y##CHG##!y##] Device 00:1F:20:3D:1E:75 Connected: yes
+
##r##[agent]##!r## Passkey: 454358
+
##r##[agent]##!r## Passkey: ##i##4##!i##54358
+
##r##[agent]##!r## Passkey: ##i##45##!i##4358
+
##r##[agent]##!r## Passkey: ##i##454##!i##358
+
##r##[agent]##!r## Passkey: ##i##4543##!i##58
+
##r##[agent]##!r## Passkey: ##i##45435##!i##8
+
##r##[agent]##!r## Passkey: ##i##454358##!i##
+
[##y##CHG##!y##] Device 00:1F:20:3D:1E:75 Paired: yes
+
Pairing successful
+
[##y##CHG##!y##] Device 00:1F:20:3D:1E:75 Connected: no
+
##bl##[bluetooth]##!bl### ##i##connect 00:1F:20:3D:1E:75
+
Attempting to connect to 00:1F:20:3D:1E:75
+
[##y##CHG##!y##] Device 00:1F:20:3D:1E:75 Connected: yes
+
Connection successful
+
##bl##[bluetooth]##!bl### ##i##quit
+
[##r##DEL##!r##] Controller 00:02:72:C9:62:65 antec [default]
+
#
+
 
}}
 
}}
  
To install, make the following modifications to your skin:
+
=== Service ===
 
+
{{console|body=###i## rc-update add dnscrypt-proxy default
<syntaxhighlight lang="css">
+
###i## rc}}
--- mediawiki-1.19.1/skins/vector/screen.css    2012-06-13 18:22:39.000000000 +0000
+
+++ public_html/skins/vector/screen.css 2012-08-27 04:34:47.507912892 +0000
+
@@ -683,10 +683,47 @@
+
        list-style-image: url(images/bullet-icon.png);
+
}
+
+
-pre {
+
-      line-height: 1.3em;
+
+/* ConsoleOutput.php start */
+
+
+
+.shell, pre, code, tt, div.mw-geshi {
+
+        font-size: 12px;
+
+        font-family: Consolas, 'andale mono','lucida console', monospace;
+
+}
+
+
+
+.shell, pre, div.mw-geshi {
+
+        background-color: #F8F8FF;
+
+        line-height: 15px;
+
+        padding: 10px;
+
+        border: none;
+
+        border-top: 2px solid #C6C9E0;
+
+        border-bottom: 2px solid #C6C9E0;
+
+        margin: 0;
+
+        overflow-x: auto;
+
+        overflow-y: hidden;
+
+}
+
+
+
+.code {
+
+        color: #666;
+
+}
+
+
+
+.code_input {
+
+        color: #000;
+
}
+
+
+.code_red {
+
+        color: #f00;
+
+}
+
+
+
+.code_blue {
+
+        color: #00f;
+
+}
+
+
+
+.shell_green {
+
+        color: #080;
+
+}
+
+
+
+/* ConsoleOutput.php end */
+
+
+
/* Site Notice (includes notices from CentralNotice extension) */
+
#siteNotice {
+
        font-size: 0.8em;
+
</syntaxhighlight>
+
 
+
Then install the following code in your <tt>extensions</tt> directory and include it with a <tt>require_once( "$IP/extensions/ConsoleOutput.php" );</tt> in <tt>LocalSettings.php</tt>:
+
 
+
<syntaxhighlight lang="php">
+
<?php
+
$wgExtensionCredits['validextensionclass'][] = array(
+
    'name' => 'ConsoleOutput',
+
    'author' => 'Daniel Robbins',
+
    'url' => 'https://github.com/danielrobbins/mediawiki-consoleoutput',
+
    'description' => 'This extension allows you to display colorized console output in mediawiki'
+
);
+
 
+
if ( defined( 'MW_SUPPORTS_PARSERFIRSTCALLINIT' ) ) {
+
        $wgHooks['ParserFirstCallInit'][] = 'consoleOutputSetup';
+
} else {
+
        $wgExtensionFunctions[] = 'consoleOutputSetup';
+
}
+
 
+
function consoleOutputSetup( $data )
+
{
+
    global $wgParser;
+
    $wgParser->setHook('console', 'consoleRender');
+
    return true;
+
}
+
 
+
function consoleRender($input, $args, $parser)
+
{
+
    if (count($args))
+
    {
+
        return "<strong class='error'>" .
+
              "ConsoleOutput: arguments not supported" .
+
              "</strong>";
+
    }
+
 
+
    # Display < and > as literals, so escape them:
+
 
+
    $input = preg_replace('/>/','&gt;', $input);
+
    $input = preg_replace('/</','&lt;', $input);
+
 
+
    # http://www.perlmonks.org/?node_id=518444
+
    # See "Matching a pattern that doesn't include another pattern:
+
  
    $input = preg_replace('/##i##((?:(?!##!i##).)*)##!i##/','<span class="code_input">$1</span>', $input);
+
=== Testing ===
    $input = preg_replace('/##i##(.*)/','<span class="code_input">$1</span>', $input);
+
If you're using opendns, this welcome page will tell if your encrypted or not.
    $input = preg_replace('/##b##((?:(?!##!b##).)*)##!b##/','<b>$1</b>', $input);
+
;https://www.opendns.com/welcome/
    $input = preg_replace('/##b##(.*)/','<b>$1</b>', $input);
+
    return "<pre class=\"code\">" . $input . "&lt;/pre>";
+
}
+
?>
+
</syntaxhighlight>
+
  
[[Category:MediaWiki Hacks]]
+
If you're using any other encryption enabled dns servers, give them a leak test.  they should only report the dns servers associated with the one you chosen from the list.
 +
;https://www.dnsleaktest.com/
 +
{{EbuildFooter}}

Revision as of 18:29, February 21, 2015

net-dns/dnscrypt-proxy


Source Repository:Repository:Funtoo Overlay

http://dnscrypt.org/

Summary: A tool for securing communications between a client, and a DNS resolver.


News

Drobbins

IP Space Migration Continues

All Funtoo user containers in the 8.28 IP space will be moving into our new IP space (172.97) over the next few days. If you have DNS set up -- be sure to watch your container and update to the new IP! container.host.funtoo.org DNS will be updated after the move.
2015-08-27 by Drobbins
Drobbins

Funtoo Hosting IP Move

Funtoo user containers with IPs in the 72.18.x.x range will be gradually migrating to new IP addresses this week. If you have DNS entries for your containers, please be aware that your DNS will need to be updated.
2015-08-11 by Drobbins
Drobbins

New ARM Stages

New ARM Stages, built with a new toolchain, are now hitting mirrors. Existing ARM users should re-install using these stages (dated Aug 3, 2015 or later,) rather than upgrade using emerge.
2015-08-06 by Drobbins
More...

Dnscrypt

Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.

Warning

As this page deals with DNS it has the potential to break your internet access! Ensure you have stable live media that can restore your system.

DNScrypt provides encryption from clients to upstream DNS servers. Encrypting this traffic prevents spying, spoofing, and other man in the middle attacks.

Installation

# emerge dnscrypt-proxy


Configuration

By default opendns is used, although some opennic servers support dnscrypt.

/etc/conf.d/dnscrypt-proxy controls settings for DNScrypt. A list of resolvers has been compiled for use with DNScrypt.

/etc/resolv.conf - set dns server as dnscrypt-proxy
nameserver 127.0.0.1

Service

# rc-update add dnscrypt-proxy default
# rc


Testing

If you're using opendns, this welcome page will tell if your encrypted or not.

https://www.opendns.com/welcome/

If you're using any other encryption enabled dns servers, give them a leak test. they should only report the dns servers associated with the one you chosen from the list.

https://www.dnsleaktest.com/