Category: Debian

Install and Configure Go/Golang on Raspberry Pi

An easy step by step guide to install and configure #Go #Golang on #Raspberry #Pi also applicable to #Linux distributions such as #Debian #Ubuntu

Advertisements

Bandwidth throttling using Squid Proxy

Internet is the most important and one of the basic amenities in today’s world. Sharing internet using WiFi router with slow speeds having low bandwidth is a real pain. Plus if you end up working from home and taking Skype for Business (formerly Lync) calls then you’ll be virtually fighting with your kids & wife. They’ll be using the same internet to browse youtube, shopping sites etc which are bandwidth hungry apps.

Squid-cache_logo

 

I was aware of Squid proxy but never explored it to use it for throttling bandwidth for clients. I followed this guide to install squid on my Raspberry Pi and modified configuration file according to my requirements. Below is the configuration file of squid proxy which will throttle the internet speed / bandwidth for the clients like laptop, android phones and tablets.

#squid.conf

acl SSL_ports port 443
acl Safe_ports port 80        # http
acl Safe_ports port 21        # ftp
acl Safe_ports port 443        # https
acl Safe_ports port 70        # gopher
acl Safe_ports port 210        # wais
acl Safe_ports port 1025-65535    # unregistered ports
acl Safe_ports port 280        # http-mgmt
acl Safe_ports port 488        # gss-http
acl Safe_ports port 591        # filemaker
acl Safe_ports port 777        # multiling http
acl CONNECT method CONNECT
#http://www.tecmint.com/configure-squid-server-in-linux/
acl localhost src 127.0.0.1/32
acl localnet src 192.168.2.0/24
#Throttle bandwidth
acl clientpc src 192.168.2.90-192.168.2.100/24
delay_pools    1
delay_class    1 1
delay_parameters    1    64000/64000
delay_access    1    allow    clientpc
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet #!clientpc
http_access allow localhost
http_access deny all
http_port 3128
coredump_dir /var/spool/squid3
refresh_pattern ^ftp:        1440    20%    10080
refresh_pattern ^gopher:    1440    0%    1440
refresh_pattern -i (/cgi-bin/|\?) 0    0%    0
refresh_pattern .        0    20%    4320

I’ve highlighted important lines in RED color above. I’ve created an acl called “clientpc” for the local network having IP address starting from 192.168.2.90 to .100. Created a default pool ‘1’ and class ‘1’. ‘delay_parameters’ for pool ‘1’ set to 64000 bytes (512KB). We can increase or decrease depending on the internet speed or bandwidth.

Enabled proxy in firefox. If you’re in stone age and still use ‘IE’ then go search for ‘proxy settings for IE’ in search engines 😛

Steps
  1. Click the Firefox menu. Select Options from the submenu.
  2. Open the Advanced category. It is on the right end of the category list. …
  3. Click the Settings button. This will open the Connection Settings window.
  4. Choose “Manual proxy configuration”. …
  5. Enter your proxy information.

Screenshot from 2016-07-24 20-24-38.png

Enabled proxy on the android phones and tablets by referring to this link.

Screenshot_20160724-202759.png

Tested internet speed via speedof.me Below screenshot shows that the download speed was successfully throttled by Squid whereas my internet connection speed is 2 Mbps. Now I can work from home with peace of mind and grabbing a largest piece of “internet” pie.

Screenshot from 2016-07-24 20-31-58

Installed “SARG” to monitor internet usage and resource utilization. I followed this link which is pretty simple and easy to set it up. SARG is optional but good to have!!

It was time consuming and eaten up my Sunday but worth to spend the time as I don’t have to crib in future about internet speed or poor voice / audio issues.

Let me know your queries using below ‘reply’ button…

Packagekitd – High Memory Usage

Packagekitd daemon was using high memory usage on the Debian Linux server. Almost 30% of the total RAM!!

Tried to identify the root cause but didn’t help. so I had to kill the process to avoid further issues on the server.

I used below commands to kill the daemon process. After this got 30% RAM free…
ps auxf | grep package
[Get the process # for packagekitd]
sudo kill [process #]
BTW, I wish all my blog readers a very happy, prosperous and peaceful new year 2016!!!

BOSS 6 – Bharat Operating System Solutions

“BOSS (Bharat Operating System Solutions) GNU/Linux distribution developed by C-DAC (Centre for Development of Advanced Computing) derived from Debian for enhancing the use of Free/ Open Source Software throughout India.The Beta Release of BOSS GNU/Linux Version 5.0 is coupled with GNOME Desktop Environment with wide Indian language support & packages, relevant for use in the Government domain. This release aims more at the security part and comes with an easy to use application to harden your Desktop. Currently BOSS GNU/Linux Desktop is available in all the Official Indian Languages such as Assamese, Bengali, Gujarati, Hindi, Kannada, Malayalam, Marathi, Oriya, Punjabi, Sanskrit, Tamil, Telugu, Bodo, Urdu, Kashmiri, Maithili, Konkani, Manipuri which will enable the mainly non-English literate users in the country.”

I’ve copied above contents from BOSS Linux site. In this blog I’ve shared the screenshots of installation which exactly resembles typical Debian OS install. My base OS is Debian 8 🙂 I’ve tried BOSS on Oracle Virtualbox.

I’ve downloaded the ISO image of BOSS Linux v.6 from this link

Below screenshot shows the Oracle Virtualbox console. I’ve clicked on “New” and named the Virtual Machine (VM) as BossLinux, Type as Linux and Version as Other Linux(64 bit)

Screenshot from 2015-09-20 09-16-36Below screenshot I’ve set the RAM / Memory as 2048 MB (2GB)

Screenshot from 2015-09-20 09-17-47Creating a Hard Disk File: I’ve selected as VDI which is a default option in Virtualbox. We can also use VMDK to make compatible with VMWare Workstation or Server

Screenshot from 2015-09-20 09-18-51I’ve created HD file with the name as ‘BossLinux’ having size 8 GB. I know thats too small but sufficient enough for testing

Screenshot from 2015-09-20 09-19-35 After following the wizard, BossLinux VM is created. I’ve selected the path of BossLinux ISO downloaded from the above mentioned link and mounted it.Screenshot from 2015-09-20 09-20-08Boss Linux Live DVD Welcome Screen 🙂

Screenshot from 2015-09-20 09-21-13I’m surprised to see that there is only English is available during the installation process unlike Debian which offers multilingual…

Screenshot from 2015-09-20 09-21-53I’ve selected Country as India and selected keyboard layout as “US English”Screenshot from 2015-09-20 09-22-28Given host name as ‘boss’ and default values are selected through out rest of  installation steps of partitioning the disk. After disk partitioning, installation of system started and completed successfully.Screenshot from 2015-09-20 09-23-29 Screenshot from 2015-09-20 09-24-32Screenshot from 2015-09-20 09-24-50Screenshot from 2015-09-20 09-25-10Selected GRUB as boot loader and installed it on /dev/sda1 partition (Infact we created only 1 partition)Screenshot from 2015-09-20 09-29-49Login Screen looks stunning!! BTW BOSS Linux logo or moscot is very similar to Apple MAC… may be I could be wrong 🙂Screenshot from 2015-09-20 09-33-09Desktop looks awesome, well placed BOSS banner. A typical GNOME desktop with nice wallpaper! As we can see Network Manager and PulseAudio are already installed as part of OS installation.

Screenshot from 2015-09-20 10-00-30Most of the packages installed are generally available in other distros expect for the two packages ‘Boss Bulk Document Converter’ and ‘Boss Presentation Tool’ which are included as part of office suite apps.Screenshot from 2015-09-20 10-03-49As mentioned in the beginning of the blog, Indian language packs are pre-installed and ready to use. Below screenshot shows a document with Kannada  along with a simple to use / refer on-screen keyboard ‘EazyKeyboard’. Similarly other languages are also available

Screenshot from 2015-09-20 10-40-00OS updates are already available and free… If you’re familiar with Debian based distros, then the same steps are followed.

apt-get update

Screenshot from 2015-09-20 10-44-41A dedicated mirror/servers are available to download security and app updates.

apt-get upgrade

Screenshot from 2015-09-20 10-48-26These are things which I noticed / explored so far alongside working on office stuff, weekend shopping and baby sitting…

I hope this could come in handy while you use / refer this blog for exploring this Indian made OS derived from Debian OS. Thanks for reading and follow my blog for regular updates.