Folder sharing in is made possible by the Samba implementation of SMB protocol. SMB or Server Message Block is a protocol mainly used for file sharing between network computers, though they can also be used for printing and IPC (inter-process communication)
To enable folder sharing in Ubuntu, you need to first open the Nautilus file browser. To do this, click on the Places → Home Folder
from the menu.
From there, right-click on the folder to be shared and choose the Sharing Options
You’ll come to the Folder Sharing
window.
To enable sharing of the folder, click on the 'Share this folder
‘s checkbox.
If you’re doing this for the first time, you’ll be prompted to install the necessary services. In this case, it’s the Samba’s server. Click on the Install service
to continue
The system will download and install the required packages for you. This might take a few minutes.
Once done, you’ll be notified by the following window. Click the Close
button to continue.
GNOME session need to be restarted before sharing can really be enabled. Click on the Restart session
to continue. You might need to save all your work before clicking the button though.
Once the session resumes, proceed to the first few steps of enabling the folder sharing. Choose the folder to share in the file browser, and tick on the Share folder
checkbox. Here you can choose the name you want the share to be, and optionally you can also set the comment for the share. You might also want to check the Guest access
checkbox to enable passwordless access to the share. The share is read-only, unless if you tick on the Allow others to create and delete files in the folder
. once done, click on the Create Share
button.
Once you go back to the file browser, you’ll notice that the icon of the folder you’ve just shared has changed.
Scalp! is a log analyzer for the Apache web server that looks for security problems. It reads the Apache log and perform log analysis for possible attacks against rulesets provided by PHP-IDS project. It is available for download from GitHub.
Scalp! is currently written in Python though the writer claims he’s now working on C++ version of it. Current Python can only analyze a maximum of 10000 lines of log, and seems to be a bit slow. The C++ version is aimed to overcome the problems.
When being run without any parameters, Scalp will look for access_log and default_filter.xml files in the current directory, and produce the report to the standard output. access_log is the Apache log file, and default_filter.xml is the filter rules available from the PHPIDS project. Running the program as the following will use the Apache log file at /var/log/apache2/access.log and the PHPIDS ruleset from ~/default_filter.xml;
$ python scalp.py --log /var/log/apache2/access.log --filters ~/default_filter.xml
To overcome the 10000 lines limitation of the program, a Linux program called split can be run as in the example below as a log splitter, and Scalp! is then run against all the splitted log;
$ split -l 10000 /var/log/apache2/access.log
You can still run your old DOS
programs right from macOS
without having to poweroff your machine and boot up from your MS-DOS
diskette by following these steps;
Homebrew
from the terminal
.
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
DOSBox
via homebrew.
$ brew install dosbox
DOSBox
.
$ dosbox Downloads/Golden Axe/GOLD.EXE DOSBox version 0.74 Copyright 2002-2010 DOSBox Team, published under GNU GPL. --- CONFIG: Generating default configuration. Writing it to /Users/username/Library/Preferences//DOSBox 0.74 Preferences CONFIG:Loading primary settings from config file /Users/username/Library/Preferences//DOSBox 0.74 Preferences MIDI:Opened device:coreaudio
You can download old DOS programs from sites such as Abandonia
phpMyAdmin
configuration is normally stored in config.inc.php
and the location of the file varies depending on the distribution.
The table below lists some of the possible locations.
Platform / Distribution | Location |
---|---|
Ubuntu / Debian | /etc/phpmyadmin/config.inc.php |
RedHat / CentOS | /etc/phpMyAdmin/config.inc.php |
Web download | {base installation directory}/config.inc.php |
If the config.inc.php
does not exist or if specific configuration is absent from the file, default values are used instead.
SSH comes with 2 applications for remote file transfer, namely scp
and sftp
. You can also use SSH to secure your rsync
session.
The easiest of these are scp
. The command is quite similar to cp
in copying local files except that you’ll have to specify the remote user and host in your command. For example,
scp myfile.txt [email protected]:/remote/folder/
will copy myfile.txt
from your local folder to /remote/folder
in 192.168.1.10
. remoteuser
need to exist and have write permission to /remote/folder/
in the remote system.
sftp
in the other hand works almost exactly like ftp
but with secure connection. Most of the commands are similar and can be used interchangeably. The following sftp
example will work exactly as ftp
would.
$ sftp [email protected] Connected to 192.168.1.10. sftp> dir file1 file2 file3 sftp> pwd Remote working directory: /home/user sftp> get file2 Fetching /home/user/file2 to file2 /home/user/file2 100% 3740KB 747.9KB/s 00:05 sftp> bye $
You can also use ssh
to secure your rsync
session. To do this, use –rsh=ssh
or -e “ssh”
with your normal rsync
commands. The following 2 commands will work exactly the same;
rsync -av --delete --rsh=ssh /path/to/source [email protected]:/remote/folder/ rsync -av --delete -e "ssh" /path/to/source [email protected]:/remote/folder/
DokuWiki doesn’t have native support for widget like Wordpress or any other CMS, but with some built in functions in DokuWiki, it’s quite easy to create a widget-enabled template for it. The finest example is the template used by TechRecipes itself, where it has dynamic widget on the sidebar and after the wiki content.
TechRecipes widget enabled template is available for download here
mohdshakir/tr-twitter
Sharing your folder will allow other users on the network to view, download and edit the content of the folder via the network. While this can be done using the GUI, it’s easier when using the command line, if you know how. This article will show you just that.
Assuming you have a folder in your c:
drive called testdir
, and you want to share it over the network with the name mydirectory
, you can do that by just using the following command at the command prompt.
net share mydirectory=c:testdir
Once you’re done with the sharing and want to disable it, just issue the following command at the command prompt.
net share /delete mydirectory
Java Runtime Environment
.
# yum install -y java-1.8.0-openjdk
Elasticsearch
repository to yum
.# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
/etc/yum.repos.d/elasticsearch.repo
.
[elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
Elasticsearch
package along with dependencies.
# yum install -y elasticsearch
Elasticsearch
if necessary by editing /etc/elasticsearch/elasticsearch.yml
.Elasticsearch
service.9200
and 9300
.
# firewall-cmd --permanent --add-port=9200/tcp # firewall-cmd --permanent --add-port=9300/tcp
# firewall-cmd --reload
Elasticsearch
service to automatically start during boot.
# systemctl enable elasticsearch
Elasticsearch
service.
# systemctl start elasticsearch
The service will take a while to start
$ curl 127.0.0.1:9200 { "name" : "8v4rGQI", "cluster_name" : "elasticsearch", "cluster_uuid" : "nkZIqfkpSyCdh_jg3nqWfw", "version" : { "number" : "6.2.2", "build_hash" : "10b1edd", "build_date" : "2018-02-16T19:01:30.685723Z", "build_snapshot" : false, "lucene_version" : "7.2.1", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
rar is a proprietary file format for file archival and developed by WinRAR. It provides Winrar to extract rar files in Windows and unrar for Linux.
Wget by default performs validity check of SSL certificates for https websites to ensure the certificate is valid. There are times, though, that you'll want Wget to ignore SSL …
Read More
Parking is currently unavailable. We'll be right back.
\n ")}errorParkingServicesDisabled(){this.message("\nServices for this domain name have been disabled.
\n ")}errorParkingNoSponsors(e){this.message(`\n \n \n ${window.location.hostname} currently does not have any sponsors for you.\n \n `,e)}imprint(e){if(!e)return;const t=document.querySelector("#imprint-text");t&&(t.innerHTML=e.replace(/(?:\r\n|\r|\n)/g,"${this.domain} currently does not have any sponsors for you.
`;case"disabled_mr":return`\nReferral traffic for ${this.domain} does not meet requirements.
`;case"js_error":return"\nParking is currently unavailable. We'll be right back.
\n ";default:return"\nServices for this domain name have been disabled.
\n "}}get trackingType(){switch(this.reason){case"disabled_rc":return"revenue_cap_reached";case"disabled_mr":return"invalid_referral";case"adblock":return"ad_blocked_message";case"no_sponsors":return"no_sponsors_message"}}get domain(){return window.location.hostname}toContext(){return{cannotPark:this.reason}}}function unpackPHPArrayObject(e,t){const n=e[t];if(n&&!Array.isArray(n))return n}class Parking extends State$2{constructor(){super(...arguments),this.type=Type.Parking}static build(e,t){const n=new Parking;n.domain=e.domainName,n.html=e.template,n.scripts=e.scripts||[],n.javascript=e.inlineJs,n.stylesheet=e.styles,n.imprint=e.imprintText;const i=unpackPHPArrayObject(e,"salesSettings"),s=(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status);if(s){const{status:e,location:t,message:s,link:a,type:o}=i;n.salesBanner={message:s,href:a,position:t,theme:o,status:e}}return t.wantsToServeAds?n.trackingType="ctr":s&&window.location.pathname.startsWith("/listing")?n.trackingType="sales":n.trackingType="visit",n}toContext(){return{}}}class Sales extends State$2{constructor(){super(...arguments),this.type=Type.Sales}static build(e){const t=unpackPHPArrayObject(e,"salesSettings");if(!t)return;const{status:n}=t;return["NOT_FOR_SALE","EXTERNAL_MARKET","URL"].includes(n)?void 0:window.location.pathname.startsWith("/listing")?new Sales:void 0}toContext(){return{}}get trackingType(){return"sales"}init(e){window.context=e;const t=document.createElement("script");t.type="text/javascript",t.src=SALES_JS_URL,document.head.append(t)}}class Redirect extends State$2{constructor(){super(...arguments),this.type=Type.Redirect}static build(e,t,n){const i=unpackPHPArrayObject(e,"salesSettings"),{zeroClickDelay:s,skenzoRedirect:a,skenzoUrl:o,showInquiryForm:r,canZeroClick:d,cannotPark:c}=e;if(window.location.pathname.startsWith("/listing")&&["EXTERNAL_MARKET","URL"].includes(null==i?void 0:i.status)){if(null==i?void 0:i.external)return Redirect.toState(i.external,"sales");if(null==i?void 0:i.link)return Redirect.toState(i.link,"sales")}if(n.cannotLoadAds&&n.wantsToServeAds)return Redirect.toState(n.noAdsRedirectUrl,"no_ads_redirect");if(d&&(null==t?void 0:t.reason)){if(null==t?void 0:t.redirect)return Redirect.toState(t.redirect,"zc_redirect",s);if(a&&o)return Redirect.toState(o,"skenzo_redirect")}return(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status)&&(n.cannotLoadAds||n.cannotLoadAds&&!d||r)?Redirect.toState(`${window.location.origin}/listing`):void 0}static toState(e,t,n=0){const i=new Redirect;return i.url=e,i.delay=n,i.trackingType=t,i}toContext(){return{}}}const browserState=()=>{var e,t,n,i,s;const{screen:{width:a,height:o},self:r,top:d,matchMedia:c,opener:l}=window,{documentElement:{clientWidth:h,clientHeight:u}}=document;let p;try{p=(new Date).getTimezoneOffset()/60*-1}catch(e){p=null}return{popup:!(!l||l===window),timezone_offset:p,user_preference:null===(e=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===e?void 0:e.resolvedOptions(),user_using_darkmode:Boolean(c&&c("(prefers-color-scheme: dark)").matches),user_supports_darkmode:Boolean(c),window_resolution:{width:null!=h?h:0,height:null!=u?u:0},screen_resolution:{width:null!=a?a:0,height:null!=o?o:0},frame:d===r?null:{innerWidth:null!==(t=null==r?void 0:r.innerWidth)&&void 0!==t?t:0,innerHeight:null!==(n=null==r?void 0:r.innerHeight)&&void 0!==n?n:0,outerWidth:null!==(i=null==r?void 0:r.outerWidth)&&void 0!==i?i:0,outerHeight:null!==(s=null==r?void 0:r.outerHeight)&&void 0!==s?s:0}}},TRACKING_URL="_tr",buildSignature=({callbacks:e,context:t},n)=>{var i,s,a,o;return Object.assign({ad_loaded_callback:null==e?void 0:e.adLoadedCallback,app_version:version,caf_client_id:null===(i=null==t?void 0:t.pageOptions)||void 0===i?void 0:i.pubId,caf_timed_out:null==e?void 0:e.cafTimedOut,caf_loaded_ms:null==e?void 0:e.cafLoadedMs,channel:null===(s=null==t?void 0:t.pageOptions)||void 0===s?void 0:s.channel,desktop:t.desktop,terms:null===(a=null==t?void 0:t.pageOptions)||void 0===a?void 0:a.terms,fd_server_datetime:t.fd_server_datetime,fd_server:t.fd_server,flex_rule:t.flex_rule,host:t.host,ip:t.ip,ivt:null===(o=null==t?void 0:t.pageOptions)||void 0===o?void 0:o.ivt,js_error:t.js_error,mobile:t.mobile,no_ads_redirect:t.noAdsRedirect,page_headers:t.page_headers,page_loaded_callback:null==e?void 0:e.pageLoadedCallback,page_method:t.page_method,page_request:t.page_request,page_time:t.page_time,page_url:t.page_url,reportable_channel:t.reportableChannel,reportable_style_id:t.reportableStyleId,tablet:t.tablet,template_id:t.templateId,type:n,user_has_ad_blocker:t.user_has_ad_blocker,user_id:t.userId,uuid:t.uuid,zeroclick:t.zeroClick},browserState())},trackVisit=({callbacks:e,context:t},n,i="")=>{const s=`${i}/${TRACKING_URL}`,a=i?"include":"same-origin",o=buildSignature({callbacks:e,context:t},n);let r={};"click"===n&&(r={click:"true",session:t.uuid,nc:Date.now().toString()}),fetch(s,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},credentials:a,body:JSON.stringify(Object.assign({signature:encode(o)},r))})};var State$1;!function(){if(!window.CustomEvent){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e}}(),function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failed=2]="Failed"}(State$1||(State$1={}));class Provider{constructor(e){this.timeoutSeconds=5,this.handlePixelEvent=e=>{switch(this.state){case State$1.Failed:break;case State$1.Pending:setTimeout((()=>this.handlePixelEvent(e)),100);break;case State$1.Loaded:this.onPixelEvent(e)}},this.watch=()=>{switch(this.state){case State$1.Loaded:case State$1.Failed:break;case State$1.Pending:this.isLoaded()?this.state=State$1.Loaded:this.isTimedOut()?this.state=State$1.Failed:setTimeout(this.watch,50)}},this.config=e,this.identifier&&this.identifier.length>0?(this.state=State$1.Pending,this.timeoutAt=new Date,this.timeoutAt.setSeconds(this.timeoutAt.getSeconds()+this.timeoutAfter()),this.injectPixel()):this.state=State$1.Failed}get identifier(){var e;return null===(e=this.config)||void 0===e?void 0:e.key}get pixelEvents(){var e;return null===(e=this.config)||void 0===e?void 0:e.pixel_events}injectPixel(){this.injectedAt||(this.injectedAt=new Date,this.inject(),this.watch())}inject(){const e=document.createElement("script");e.text=this.script,document.head.appendChild(e)}isTimedOut(){return+new Date>=+this.timeoutAt}timeoutAfter(){return this.timeoutSeconds}selectPixelEvents(e){if(Array.isArray(this.pixelEvents))return this.pixelEvents.filter((t=>"term-view"===t.trigger&&"visit"===e||(!(!["term-click","ad-view"].includes(t.trigger)||"ctr"!==e)||"ad-click"===t.trigger&&"click"===e)))}}class Facebook extends Provider{get script(){return`!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '${this.identifier}');`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&(e.custom?window.fbq("trackCustom",e.event):window.fbq("track",e.event))}))}isLoaded(){return!!window.fbq}}class Outbrain extends Provider{get script(){return`!function(_window, _document) {var OB_ADV_ID = '${this.identifier}';if (_window.obApi) {var toArray = function(object) {return Object.prototype.toString.call(object) === '[object Array]' ? object : [object];};_window.obApi.marketerId = toArray(_window.obApi.marketerId).concat(toArray(OB_ADV_ID));return;}var api = _window.obApi = function() {api.dispatch ? api.dispatch.apply(api, arguments) : api.queue.push(arguments);};api.version = '1.1';api.loaded = true;api.marketerId = OB_ADV_ID;api.queue = [];var tag = _document.createElement('script');tag.async = true;tag.src = '//amplify.outbrain.com/cp/obtp.js';tag.type = 'text/javascript';var script = _document.getElementsByTagName('script')[0];script.parentNode.insertBefore(tag, script);}(window, document);`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.obApi("track",e.event)}))}isLoaded(){return!!window.obApi}}class Revcontent extends Provider{get script(){return""}inject(){const e=document.createElement("script");e.src="https://assets.revcontent.com/master/rev.js",document.head.appendChild(e)}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.rev("event",e.event)}))}isLoaded(){return!!window.rev}}class Taboola extends Provider{get script(){return"window._tfa = window._tfa || [];!function (t, f, a, x) {if (!document.getElementById(x)) {t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);}}(document.createElement('script'),document.getElementsByTagName('script')[0],'//cdn.taboola.com/libtrc/unip/1451879/tfa.js','tb_tfa_script');"}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window._tfa.push({notify:"event",name:e.event,id:e.pixel_id})}))}isLoaded(){return Array.isArray(window._tfa)}}class Tiktok extends Provider{constructor(e,t){super(e),this.useAltTikTokEventsForAdsPlatformUser=t}get script(){return`!function (w, d, t) {w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i