Wednesday, November 2, 2016

linux find and cp/mv to a path

If you want to find for a particular string/date and then do list/copy/move, then below command will help you out

Find .wav files created on Dec 30th
 find . -type f -name "*.wav" -newermt 2016-12-30 ! -newermt 2016-12-31 -exec ls -l {} \;

If above cmd shows proper output then try
find . -type f -name "*.wav" -newermt 2016-12-30 ! -newermt 2016-12-31 -exec cp  {} /dest/path/ \;


Wednesday, October 19, 2016

Node render html file and pass json data to html

Create a server.js file with below code
var express = require('express'),
app = express(),
        http = require('http'),
        httpServer = http.createServer(app);

app.use('/',express.static(path.join(__dirname, '/public')));
app.set('view engine', 'ejs'); // send HTML files
app.engine('html', require('ejs').renderFile);

app.get('test',function(req, res){
 res.render('hello.html',{ 'id' : 'w8m4r9vdfm' });
});

httpServer.listen(8000,"0.0.0.0",function(){
    console.log('http on 8000');
});

Folder structure:
app
  server.js
  public/hello.html

Friday, August 12, 2016

Exclude a folder while copy in linux

let's say you have main Folder application with 3 folders inside
folderA  folderB folderC and want to exclude folderA the you can simply execute below command

rsync -av --progress application /destinationfolder --exclude folderA  

Tuesday, August 2, 2016

Shared library support linux

Shared libs are know by linking its path in /etc/ld.so.conf.d/

Recently i came across an error in asterisk while trying to compile OPUS codec as shared lib support to asterisk

asterisk: error while loading shared libraries: libopus.so

But OPUS was install under /usr/local/lib

Now to make it available to asterisk do

echo '/usr/local/lib' > /etc/ld.so.conf.d/usr_local.conf

then update ldconfig by
ldconfig && ldconfig -v

Thursday, June 23, 2016

Monday, June 13, 2016

WebRTC STUN check and adding multiple STUN servers

var pc = new RTCPeerConnection({iceServers: [
    {urls: 'stun:stun1.l.google.com:19302'},
    {urls: 'stun:stun2.l.google.com:19302'}
]});
pc.createDataChannel("testchannel");
pc.onicecandidate = function(e) {
  if(e.candidate){
    console.log(e.candidate.candidate);
  }
};
pc.createOffer().then(offer => pc.setLocalDescription(offer));

Thursday, May 26, 2016

Adding alias in windows like in Linux

Here doskey cmd is used to set alias.
All alias set using 'doskey' are temporary, once you reopen a new cmd window its gone.

Let see how to set alias like in linux we save it in .bashrc file

IN WINDOWS
First open a notepad and past below commands to test

doskey ls=dir
doskey !=ping google.com -t
doskey mv=ren

save it as alias.cmd,
Open your run window and type %appdata% then enter. Copy the alias.cmd file to this Appdata-Roming folder.

Open regdit from your run window.
Go to HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor
Select 'Command processor' Folder and on the right side of window, Right click - New-Expandable string value
Give 'Name' as AutoRun, then right click and modify value as  "%AppData%\alias.cmd"

That's it! Now go to cmd prompt and do
ls and see it its working.

Tuesday, February 23, 2016

Install asterisk 1.8.* in Ubuntu 14.04

Get the latest version of 1.8 * from asterisk download

Install dependencies
apt-get install build-essential libxml2-dev ncurses-dev libssl-dev subversion

--prefix is optional if you want to install asterisk in particular source directory
./configure CFLAGS=-pg LDFLAGS=-pg --prefix=/usr/local/

To do minimum or selected installation
make menuconfig 

make && make install
make samples && make config

To start asterisk
asterisk -i  or  /etc/init.d/asterisk start

connect to cli
asterisk -rvvvvvvvv

Sunday, February 7, 2016

Adding/pasting your HTML codes on Google blogger.

Thanks to http://hilite.me/

Paste your code here http://hilite.me/, it just converts your code to html highlighted format. Then you can copy paste it in compose mode and click on preview to see the magic!

<?php
    require_once __DIR__.'/google-api-php-client-2.1.1/vendor/autoload.php';
    date_default_timezone_set('asia/kolkata');
    session_start();

    // to find localhost and production server https
    if ($_SERVER['SERVER_NAME'] == "localhost") {
        $protocol = "http://";
    }else{
        $protocol = "https://";
    }
    $redirect_uri = $protocol . $_SERVER['HTTP_HOST'] . "/index.php";
    $client = new Google_Client();
    $client->setAuthConfigFile('key.json');
    $client->setRedirectUri($protocol . $_SERVER['HTTP_HOST'] . "/index.php");
    $client->setScopes('email'); // You want to retrieve email and domain name
    

// on logout
    if (isset($_REQUEST['logout'])) {
      unset($_SESSION['id_token_token']);
    }

// once you get code after auth success
    if (isset($_GET['code'])) {
      $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
      $client->setAccessToken($token);
      $_SESSION['id_token_token'] = $token;
      header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
    }
    if ( !empty($_SESSION['id_token_token']) && isset($_SESSION['id_token_token']['id_token']) ) {
      $client->setAccessToken($_SESSION['id_token_token']);
    } else {
      $authUrl = $client->createAuthUrl();
    }
    // success
    if ($client->getAccessToken()) {
      $token_data = $client->verifyIdToken();

// print all the data related after auth
      print_r($token_data)
    }
?>

 

Thursday, February 4, 2016

PHP asynchronous Http call using curl,shell_exec


?>php

for ($i = 0; $i &lt; 100; $i++){

  $cmd = 'nohup curl -H "Authorization: Basic yourRandomIOhere==" -H "Content-Type:        application/json" -X POST -d "{yourjson: "value"}" https://example.com/Message/ &gt; status.out &amp;';

  shell_exec($cmd);

}

print 'job done!';

?>


here:
100 : No of times you want to make this call
nohup:  to run in background
POST: http method, POST or GET
Authorization and content type is your option.

SIP,RTP capture with tshark and TCPdump

Tshark command to capture both SIP and RTP on media servers

This is useful if you don't know on which port SIP and UDP packetes comes from and can dump in pcap

tshark -i eth0 -w capture.pcap -f "(udp port sip) or (udp[1] & 1 != 1 && udp[3] & 1 != 1 && udp[8] & 0x80 == 0x80 && length < 250)"

-i  : specify your interface, If not use "any" to capture on all interfaces
-w : file to save


TCPdump to capture SIP on specific port! 
tcpdump -nqt -s 0 -A -i eth0 port 5060

Grep both SIP and UDP at same time.
tcpdump -n -i eth0 | grep 'SIP\|UDP'

CSS tricks

Mixed paint in background: background: linear-gradient(to right, #b6e358, #38b143) Grid view: display: grid; grid-template-columns: a...