Puppeteer VS Selenium | Linux Hint

Today when it comes to automated web testing, Puppeteer and Selenium are the two names that come up. One of the main reasons why they are well-known is their ability to execute headless browsers. Therefore before we proceed with the article, let’s have a quick look at what headless browsers are and their advantages.

In basic terms, headless browsers are browsers that can be used for testing usability of web pages and executing browser interactions just like you would with your regular browser. The only difference here is that there is no Graphical User Interface (GUI) and they are usually executed from the terminal.

Headless browsers:

  • help reduce resource usage greatly
  • they are faster
  • they are ideal for web scraping purposes
  • they can be used to monitor network application performance

Now that we have known a major factor for both tools, we can proceed.

Puppeteer is a Node library from Google that provides a simple API to control headless Chrome. Through Puppeteer, common tasks such as typing in inputs, clicking on buttons, testing usability of web pages and even web scraping can be carried out easily.

Puppeteer is official from the Chrome team, and uses the Chrome Remote Debug Protocol, just as we would find with the Chrome Devtools. This library supports the modern JavaScript syntax available in Google Chrome.

Setup

Installing and getting started with Puppeteer is very easy. Since Puppeteer is a Node library, it can be installed using the npm tool.

Installation can be done with the command below:

Running the command above installs Puppeteer. It is expected to also download a recent version of Chromium that would work with the API.

The size of Chromium is varies according to operating system:

  • ~170MB for Mac
  • ~282MB for Linux
  • ~280MB for Windows

After installation of Puppeteer, you can find out more information on how to get started, you can as well check out more code examples.

Features

While Puppeteer’s ability to launch a headless browser is one feature that has gained it some fame, that is not the only feature that makes it awesome. Puppeteer also has a couple of other features that makes it useful, let’s take a quick look at some of them.

Easy Automation:

While there are other tools that can be used for web automation, Puppeteer comes out tops. This is due to the fact that it works fine for one browser only, which is the Headless Chrome browser, therefore it carries out web automation tasks in the most efficient way possible. Puppeteer also works fine with popular unit testing libraries such as Mocha and Jasmine.

Screenshot Testing:

This is a vital feature for any automated web testing task. Screenshots are important, and help keep track of result of interactions with elements on a web page. Libraries such as Puppeteer-screenshot-tester also exist in Puppeteer that provides the capability of comparing screenshots generated while testing. Asides generating screenshots of tests, PDFs can also be generated from tested web pages in puppeteer.

Performance Testing:

Chrome provides DevTools that allow the recording of the Performance Timeline of web pages, and Puppeteer takes advantage of this too. With Puppeteer, timeline traces of websites can be captured to examine performance issues. Due to the Puppeteer’s high-level API control over Chrome Developers Tools Protocol, it gives users the ability to control service workers and test caching of websites.

Web Scraping:

A talk about features would not be completed without acknowledging the ability of Puppeteer to be used for web scraping purposes. Learning to use Puppeteer as a web scraper is quite easy, take a look at the API documentation.

Pros

  1. Works fine for visual testing.
  2. Great for end to end testing.
  3. Fast when compared to Selenium.
  4. Can take screenshots of webpages.
  5. More control over tests through Chrome.
  6. Can test offline mode.

Cons

  1. Supports only JavaScript (Node)
  2. Supports only Chrome

Selenium

Selenium is a powerful web testing framework, that has the capability of automating web applications for testing purposes. Selenium is also known for its ability to automate web based administration tasks.

Selenium comes in two parts; the Selenium WebDriver for creating powerful, browser based automation suites and test and the Selenium IDE for creating quick bug reproduction scripts.

Not forgetting that Selenium also supports headless browsers as seen with Puppeteer.

Setup

Unlike with Puppeteer, setting up Selenium is not straightforward. Selenium supports many languages and different browsers, therefore those possible conditions need to be taken care of.

Listed below are links to official tutorials on how to setup Selenium bindings for different languages.

Asides supporting different languages, Selenium also supports multiple browsers. Unlike Puppeteer which installs Chromium during installation, you may have to install web drivers for the web browser of your choice.

Here are links to web drivers for Mozilla Firefox and Google Chrome.

If you wish to use the Selenium IDE too, it also exists for multiple browsers. Here are links to Selenium IDE for Mozilla Firefox and Google Chrome.

Features

It’s ability to work with headless browsers has made it unarguably the most popular web automation tool, but there are other features that make it powerful.

Multi-Language Support:

This is one very important Selenium feature. With its multiple language support, more developers can get to use the tool for their web automation testing tasks. While one may think its multi-language support would make it slow, Selenium still runs at a good speed as starting up a server in Web Driver is not required.

Multi-Platform Support:

The same way Selenium is not restricted by language barriers, it is also not restricted by platform barrier. It is no news that web application behave differently on multiple platforms. Selenium gives testers the ability to test across major web browsers to provide a smooth user experience for users across different browsers. Asides browsers, Selenium can also be used to test on mobile such as Android, iOS, Windows, Blackberry apps.

Recording Tool:

With Selenium IDE, it is easy to record web automation tests. Selenium IDE allows testers make use of the recording capability as well as the autocomplete support and ability to navigate commands. The Recording Tool has stopped working on Firefox 55 and later versions, however there are other plugins on Firefox that serve the same purpose. Therefore, the ability to record tests remains a major Selenium feature.

Web Scraping:

While Selenium is used for testing web applications, it also scales well as a web scraper. Selenium can be used to scrape AJAX websites and the most difficult websites to scrape, provided you can understand the HTML structure. You can check out this tutorial on using Selenium for web scraping with Python.

Pros

  1. Multi-platform support.
  2. Multi-language support.
  3. Ability to record tests.
  4. Can take screenshots too.
  5. Huge community of users.

Cons

  1. Slow when compared to Puppeteer.
  2. Limited control over tests when compared to Puppeteer.

Conclusion

If you are not bothered about testing web pages on other platforms asides Chrome, then you are fine working with Puppeteer, provided you are able to work with JavaScript(Node). However if you are concerned about multiple platforms, then using Selenium is a no-brainer. Talking about their web scraping abilities, both tools even themselves out there. It should be noted though that Puppeteer could be faster than Selenium.

Any tool you choose at the end of the day should be fine, just enjoy writing your automation scripts.

Source

Sysadmin tools, secrets of Kconfig/kbuild, 11 KDE apps, tcpdump, Laverna, Python, and more

Find out what readers were into on the site last week.

You probably know (or can guess) what alerting and visualization tools are used for. Why would we…

Dive into understanding how the Linux config/build system works.

This flexible, powerful command-line tool helps ease the pain of troubleshooting network issues.

Which fun or quirky app do you need today?

Keep your notes secure yet accessible with this basic, easy-to-use open source app.

Here’s how I used Python to discover a strategy for cost-effective fill-ups.

A step-by-step guide for running Minikube.

These best practices will make your employees more savvy and your organization more secure.

Driving large-scale organizational change is painful, but when it comes to DevOps, the payoff is…

Learn the fascinating story of Ada Lovelace, a gifted mathematician, in this book review.

About the author

Rikki Endsley

Rikki Endsley is a community architect and editor for Opensource.com. In the past, she worked as the community evangelist on the Open Source and Standards (OSAS) team at Red Hat; a freelance tech journalist; community manager for the USENIX Association; associate publisher of Linux Pro Magazine, ADMIN, and Ubuntu User; and as the managing editor of Sys Admin magazine and UnixReview.com. Follow her on Twitter at: @rikkiends.

Source

CubieBoard9 SBC cranks up Actions S900 SoC

Oct 5, 2018 — by Eric Brown

CubieTech has posted specs for a “CubieBoard9” SBC with a quad -A53 Actions S900 SoC with 3GB LPDDR3, 16GB eMMC, WiFi/BT, and dual independent displays with HDMI, MIPI-DSI, LVDS, and eDP.

A product page has appeared on the CubieTech website for an unpriced CubieBoard9 SBC that appears to be a replacement for the Cubieboard4. We don’t recall seeing the CubieBoard9 when we checked the site in May for our catalog of 116 hacker boards. We have not heard back from CubieTech about the status of the SBC, which has yet to appear on the Cubieboard.org community site. Considering its prominent placement on the CubieTech home page, however, we’re gambling that the SBC will avoid the fate of the Allwinner A80 based CubieBoard8, which was announced in 2014, but never reached market.

CubieBoard9, front and back
(click images to enlarge)

 

The CubieBoard8 may have been shelved because CubieTech became an official distributor of Actions Technology application processors in July 2017, and then

launched four Actions-based open source SBCs

with Cubieboard.org community support. These include the CubieBoard7, built around the quad-core Cortex-A53 Actions S700, and the CubieBoard6, which instead taps the quad -A9 Actions S500. CubieTech also released two sandwich-style versions — the CubieAIO-S700 and CubieAIO-S500 — which use the same SoCs via its Einstein compute modules.

The 115 x 111mm CubieBoard9 is larger than the CubieBoard6 and 7, with a layout that closely approximates that of the 111 x 111mm CubieBoard4. While the CubieBoard4 is equipped with an octa-core Allwinner A80 (quad -A15 and quad -A7), the CubieBoard9 instead features the quad-core Actions S900, which is found on uCRobotics’ 96Boards compatible Bubblegum-96.

CubieBoard9 with case (left) and running dual independent displays
(click images to enlarge)

 

The Actions S900’s four Cortex-A53 cores have a faster 1.8GHz clock rate compared to the S700, at least according to uCRobotics (CubieTech lists no clock rate). It also switches from a Mali-450 GPU to the same 600MHz PowerVR G6230 found on the CubieBoard4.

CubieTech makes no mention of OS support except to note support for 64-bit operating systems. Presumably you’ll get the same Actions-tailored images for Android 5.1 and Debian with Linux Kernel 3.10 found on the CubieBoard7. Like other CubieBoards, this latest model should be an open hardware SBC supported with schematics.

CubieBoard9 detail and portside views
(click images to enlarge)

 

The CubieBoard9 integrates 3GB LPDDR3 and 16GB eMMC plus a microSD slot. The product page mentions a 10/100 Ethernet port — just like the CubieBoard6 and 7 — which is disappointing considering that the CubieBoard4 has a 10/100/1000 GbE port.

The CubieBoard9 also provides a wireless module with 2.4GHz/5GHz 802.11b/g/n/ac and Bluetooth 4.1 via an Ampak AP6255 module. This week, as part of its WiFi 6 (802.11ax) announcement (or more accurately Wi-Fi 6 for those who are not too lazy to use hyphens), the Wi-Fi Alliance has simplified the WiFi naming scheme. The 802.11n spec is now called WiFi 4, 802.11ac is WiFi 5, and 802.11ax is WiFi 6.

The CubieBoard9 features far more media interfaces than the Cubieboard4. You get dual independent displays with a choice of 2x HDMI 1.4 ports for [email protected] video plus 2x LVDS and single MIPI-DSI and eDP interfaces. These are joined by dual MIPI-CSI connections and dual audio jacks.

CubieBoard9 dimensions (left) and package contents
(click images to enlarge)

Norwegian slang for “party on.”

Preliminary specifications listed for the CubieBoard9 include:

  • Processor — Actions Semiconductor Actions S900 (4x Cortex-A53 cores @ up to 1.8GHz); PowerVR G6230 GPU @ 600MHz with OpenGL ES 3.1
  • Memory/storage:
    • 3GB LPDDR3-800 64-bit RAM (possible option for 2GB)
    • 16GB eMMC
    • MicroSD slot
  • Wireless — Dual-band (2.4GHz/5GHz) WiFi 5 (ac) with Bluetooth 4.1 (Ampak AP6255) with ant. connector and ext. antenna
  • Networking — 10/100 Ethernet port
  • Display/media I/O:
    • 2x HDMI 1.4a ports at up to 4K @ 30fps
    • MIPI-DSI
    • 2x LVDS (DSI)
    • eDP (DSI)
    • MIPI-CSI
    • MIPI/DVP-CSI
    • Dual independent display support
    • 2x audio jacks (mic-in, earphone out); second mic-in header
  • Other I/O:
    • USB 3.0 OTG port
    • 4x USB 2.0 host ports
    • 2x GPIO headers
    • UART header
  • Other features — IR receiver; RTC with cell battery connector; 2x LEDs; power, reset keys; ADFU key; heatsink; acrylic case kit
  • Power — 5V DC jack; Li-Po battery connector
  • Dimensions — 115 x 111 x 18mm

Further information

No pricing or availability information was provided for the CubieBoard9. More information may be found on the CubieTech CubieBoard9 product page, and information may eventually appear on Cubieboard.org.

Source

Oracle Open-Sources GraphPipe to Support ML Development | Developers

By Jack M. Germain

Aug 17, 2018 5:00 AM PT

Oracle on Wednesday announced that it has open-sourced
GraphPipe to enhance machine learning applications.

The project’s goal is to improve deployment results for machine learning models, noted Project Leader Vish Abrams. That process includes creating an open standard.

The company has a questionable relationship with open source developers, so its decision to open-source GraphPipe might not receive a flood of interest.

Oracle hopes developers will rally behind the project to simplify and standardize the deployment of machine learning models. GraphPipe consists of a set of libraries and tools for following a deployment standard.

GraphPipe is an attempt to standardize on the client end and transport layers of machine learning.

Most ML deployments have to build a custom solution that may not deal with multiple ML backends very well, according to Jack E. Gold, principal analyst at J.Gold Associates.

“So Oracle is trying to rationalize all of the client side and transport layer capabilities,” he told LinuxInsider. “It will depend on whether others see this as a real open source and build tools based on it, or see it as an Oracle-directed project.”

If the open source community sees Oracle’s actions as an attempt to gain an advantage for the company, then they will not be very interested in working with it, he warned.

Making Progress

Oracle no doubt will gain some benefits from open-sourcing GraphPipe. It already has some capability in this space. Other vendors, like Google and Microsoft, have been trying to build out similar capabilities, noted Gold, but those attempts so far have not been via open source.

Developers have made progress over the last few years in building machine learning into applications, Abrams pointed out, but successfully deploying a model requires overcoming several problems.

There is no standard for model serving APIs, which means users are limited to whatever framework is at hand, he explained. Also, building a model server can be very complicated. Further, many of the existing solutions lack a focus on performance in some use cases.

Abrams and his team developed GraphPipe to address those challenges.

Open Source Impact

Oracle’s decision to open-source this project could benefit development communities. Standardized libraries are a commonly open-sourced thing (ML or not), and they are a good thing, remarked Gary McGraw, vice president of security technology at
Synopsys.

“In this case, Oracle is providing some libraries which help with some aspects of the ML production pipeline,” he told LinuxInsider. “This makes sense since Oracle is in the business of storing big piles of data in databases. Big data is another ML component that is useful.”

Who gains more from the cooperation is the tricky part, McGraw said. If the library is useful, it will be picked up by developers, who by now use open source things in almost everything they build.

“So that is a positive thing. GraphPipe appears to be addressing a legitimate need,” he said. “On the other hand, Oracle will gain a foothold in lots of ML code and attempt to become indispensable, so it obviously benefits them directly.”

What It Does

GraphPipe is a network protocol that simplifies and standardizes transmission of machine learning data between remote processes. No dominant standard exists for how tensor-like data should be transmitted between components in a deep learning architecture.

Developers commonly use protocols like JSON. But that solution is inefficient. TensorFlow uses multiple protocol buffers, which makes it a large and complex software.

GraphPipe’s design solves both of those limitations by bringing efficiency through a binary, memory-mapped format while remaining simple and light on dependencies. It includes simple implementations of clients and servers that make deploying and querying machine learning models from any framework less complicated.

GraphPipe Protocol Performance graph

GraphPipe’s servers can deliver models built in TensorFlow, PyTorch, mxnet, CNTK, or caffe2, according to Abrams.

Github Ready

GraphPipe is available on Oracle’s GitHub, along with documentation, examples and other relevant content.

GraphPipe comes with guidelines for serving models consistently according to the flatbuffer definitions.

The package contents also include examples for serving models from TensorFlow, ONNX, and caffe2 along with client libraries for querying models served via GraphPipe.

Comparing Outcomes

GraphPipe behaves much like a TensorFlow-serving predict request. It uses flatbuffers as the message format, according to Oracle.

Flatbuffers are similar to Google protocol buffers. But it provides the added benefit of avoiding a memory copy during the deserialization step. The flatbuffer definitions provide a request message that includes input tensors, input names and output names.

GraphPipe relies on a remote model to accept the request message. It returns one tensor per requested output name. The remote model also must provide metadata about the types and shapes of the inputs and outputs that it supports.

Protocol performance is better in GraphPipe, based on a comparison of serialization and deserialization speed and end-to-end throughput.

GraphPipe End-To-End Throughput graph

Trust in the Making

This choice of open standards helps Oracle regain community trust, not just by opening up its project to the world, but also by embracing what the community creates and uses, according to Stephen Goldberg, CEO of
HarperDB.

This creates an interconnected web that props up all projects involved, not just GraphPipe.

“Choosing established standards eases implementations, as there is nothing new to learn, understand or vet out,” Goldberg told LinuxInsider.

“This is a huge win for developers and implementers in the machine learning space,” he continued. “Rather than spending copious amounts of time in the weeds figuring out deployments across frameworks, developers can focus on the work that moves their project forward.”

Shifting their stance on support for open source has been hugely important for companies like Microsoft and Oracle, observed Goldberg, and there will be many benefits from the success and continuing maturity of projects such as GraphPipe.

With their established brands and resources behind such projects, large enterprises will be more inclined to adopt these tools and products.

“Oracle is taking strong steps towards embracing the collaborative technology landscape that we now inhabit,” Goldberg said. “We have seen Oracle adopt a more open, transparent and collaborative approach to their ecosystem.”

Oracle has been on a path to becoming a huge champion of collaboration and transparency, he suggested. The company has focused on finding the best holistic solutions for customers, and that is an indication that its embrace of open source is authentic.

Jack M. Germain has been an ECT News Network reporter since 2003. His main areas of focus are enterprise IT, Linux and open source technologies. He has written numerous reviews of Linux distros and other open source software.
Email Jack.

Source

Bettercap : MITM attack for sniffing traffic and passwords

Contents

  • Installation
  • Sniffing Traffic
  • Getting password

We will be installing Bettercap, doing a quick sniffing exercise, and then a more detailed section on grabbing the password. Will demonstrate the password grabbing on outlook.com, which seems to be particularly vulnerable to this attack.

Installing bettercap

Installation is simple-

apt-get update

apt-get dist-upgrade

apt-get install bettercap

The above three commands will leave you with latest versions of Kali and bettercap.

PS: I am writing this tutorial from a location with slow internet connection, and hence didn’t perform the dist-upgrade step. However, bettercap seems to be running mostly fine. There may be a few difference in what you observe and what I show in this demo due to this difference in versions. For those who want to know the versions of various utilities that I’m using, take a look below. If you are unfamiliar with Linux, you’re best off using the latest versions of everything, which can be obtained by running the three commands I mentioned earlier.

new@kali:~$ uname -a

Linux kali 4.7.0-kali1-amd64 #1 SMP Debian 4.7.6-1kali1 (2016-10-17) x86_64 GNU/Linux

new@kali:~$ ruby -v

ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]

Not on Kali?

The readme on

github repository of bettercap

is quite comprehensive, and would help you install bettercap on most linux distributions. After installation the process should be same for Kali or any other Linux distribution.

Sniffing Traffic

There’s nothing special about the usual sniffing traffic functionailty of bettercap. Bettercap can easily performing sniffing on your local area network. It also lets you write the output to a pcap file and later analyze it with WireShark or some other tool of your choice. I’ll just give a simple demo here. The real fun is in the capturing passwords section.

Run the command-

bettercap –sniffer

Sniffing traffic: Screenshot shows my lenovo smartphone’s
requests to truecaller being sniffed

You’ll see all the websites being visited by all the devices on the network. Press ctrl+c to stop.

Take a look at the help manual for more commands, or read the wonderful documentation.

Internet stopped working

There are plenty of open issues on the github page of bettercap. The one problem I faced was that after bettercap had finished running, the internet connection on the

attacker machine

(Kali) would be killed. I fixed it by simply turning restarting the wlan0 interface (turn it off and on from the gui or use ifconfig commands).

Some people

reported that Bettercap killed internet connection for

all hosts.

If you face a different issue, take a look here and

see if you can find a solution

Capturing passwords

The fun part lies here. Bettercap uses sslstrip to change https webpages to simple http ones, which ensures that the passwords are transferred in clear text, and you can read them without any issues. I will be targeting my lenovo phone from my Kali machine. First, you must find the IP of your target. This can be done by simply running bettercap and waiting for all machines on your network to show up. Once they do, you can identify the one you’re trying to attack, and note it’s IP. Then use this IP as the target IP. Let’s look at the steps first.

PS: I’m assuming you connected to the network you are attacking using the wlan0 interface. If not, specify your interface using the -I option.

  1. Run the command bettercap on the terminal
  2. Wait for bettercap to acquire targets.
  3. When bettercap discovers the target you’re looking for, note down it’s IP address. Let’s call it TARGET_IP.
  4. Press ctrl+c to stop bettercap (if internet connectivity is lost, as was in my case, restart your wlan0 interface)
  5. Run this command – bettercap -T TARGET_IP –proxy -P POST (replace TARGET_IP with the appropriate IP)
In my case, my target was my Lenovo smartphone. It was detected by bettercap,

and i noted down it’s IP. 192.162.2.2 is what I’ll use as my TARGET_IP

Now your attacker machine is ready and listening for traffic on the network. Once your victim opens any login page, bettercap will use sslstrip to remove the https from the URL, and once the target enters his/her login credentials, you will see them in cleartext.

Let’s look at a demo run of the above procedure.

Capturing passwords entered on Outlook by smartphone user on same LAN/WLAN

This section is simply going to be a set of pictures with captions below them explaining stuff. It should be easy to follow I hope.

From this test run, here are the limitations of the tool that I observed-

  1. The biggest problem – It does not work on all sites. Before trying outlook, I tried to see if I could carry out this MITM attack over Facebook, Gmail, Twitter, etc. Unfortunately, I wasn’t able to. It only seems to work with some websites.
  2. The difference in the URL if easily visible. Anyone who knows what https is, will notice the lack of it. I, for one, would never enter my credentials on an http page.The extra Ws in the www don’t help eitheir.
  3. The tool isn’t perfect. There are a few bugs.

Update : Giorgio’s comment on the tutorial addresses the first and the third issues. The reason why Facebook and Gmail don’t give in to the attack is because they don’t have an http version of their websites. Bettercap can’t force Facebook to replace it’s https page with an http one, simply because there is no http version of Facebook. Secondly, Yahoo looks buggy because it’s CSS files (ones hostel by google) are served over https, and an attempt to get an http version would yield nothing, since http versions aren’t available. Hence, the CSS files are missing, and while the parts of the page which operate over http load well, the ones which are exclusively https do not.

Facebook seems immune to the attack
Yahoo’s response is buggy, but you’ll notice
that sslstrip did it’s job, the page is regular http now

The tutorial ends here, a few personal insights ahead, not very important.

 

How to be safe

This demo must scare you. I, for one, wasn’t sure if this tool would work at all. However, it did work very well with outlook, and somewhat worked with yahoo as well (not shown in demo). Facebook and Gmail seem to be immune to it, but I didn’t really try hard to get them, and after writing this post, I’ll try to see if I can get the tool to grab Facebook and gmail logins as well. Regardless, we see how easy it can be for someone to grab your credentials if they are on the same network as you. So how can you be safe?

Here are some pointers-

This tutorial is supposed to serve as an introduction to sniffing, MITM and bettercap. I have observed that posts with too much theory don’t perform too well, so I just demonstrated the functionality of the tool. However, this was a very basic exercise, and for both me you, there are things to do-

  1. Try other functionalities offered by this tool.
  2. Try to get it to work with Facebook and Gmail. I’ll have to approach facebook and Gmail in a different manner, read the comment by Giorgio below for more information.

If I am able to get it to work with Facebook/Gmail, I’ll write another tutorial, showing you how you can do it too.

Source

Action-RPG ‘Moonlighter’ has a juicy free Adventure Update, now live on Linux

It’s time to close up shop and go on another run through the dungeons as Moonlighter has a free update now out. This update originally released last week, with the Linux version only seeing the update today.

New free features included:

  • NEW GAME + – Play again the full Moonlighter adventure with more challenging enemies and bosses. To beat the game you will have two new sets of items, the Pirate Weapons, and the Amulets.
  • PIRATE WEAPONS – A new full set of weapons that are crafted with dimensional pirates’ knowledge. Those weapons could be enchanted with elemental effects (confusion, poison, fire or electricity) to alter their power.
  • AMULETS – Mysterious rings found in the dungeons that will offer new abilities for the players. Be careful, though, because most of them can cause some serious side effects!
  • Note: Both the Pirate Weapons and Amulets are exclusive to the NG+ Mode!
  • GAME SLOTS – Now, you’ll be able to have more than one game slot in the game.
  • QUICK-SELLING MIRROR – Tired of selecting each item to be sold? Now, you’ll be able to select the mirror and simply click over the elements you want to sell.

They do have more planned for the game, which can be seen on the roadmap here. The Companion Update is next, which will allow you to bring someone along for the ride (an NPC most likely) along with giving you options to customise your game. After that, the Trouble Update will add in some new mini-bosses. They probably will have more, but they don’t want to spoil any surprises.

Sadly, it does still have the keyboard input bug on Linux, which is a Unity game engine bug that doesn’t happen on every distribution and desktop. So with that issue your mileage may vary. If you’re using a gamepad, you shouldn’t really have a problem.

Find it on the Humble Store and Steam.

Source

Tested and Exclusive ExtraVM Promo Codes – ThisHosting.Rocks

ExtraVM offers various hosting services, including VPS hosting, game hosting, and more. Get a discount using a tested and verified promo code.

Exclusive ExtraVM Promo Code: 12% Lifetime Discount

Get 12% off ExtraVM for the life of your account

Special 12% lifetime discount exclusive to ThisHosting.Rocks visitors – use our ExtraVM promo code.

Get 12% off ExtraVM for the life of your account

Special 12% lifetime discount exclusive to ThisHosting.Rocks visitors – use our ExtraVM promo code.

ExtraVM Promo Code: 10% Lifetime Discount

Get a 10% lifetime discount at ExtraVM

Get 10% off each month for the life of your account at ExtraVM using this coupon code.

Get a 10% lifetime discount at ExtraVM

Get 10% off each month for the life of your account at ExtraVM using this coupon code.

ExtraVM Promo Code: 25% One-Time Discount

Get a 25% off your order at ExtraVM

Use this coupon code to get 25% off your order at ExtraVM.

Get a 25% off your order at ExtraVM

Use this coupon code to get 25% off your order at ExtraVM.

How to use the ExtraVM Promo Code?

  1. Get the promo code from this post.
  2. Visit https://extravm.com
  3. Choose the best hosting plan for you.
  4. Configure the plan details
  5. Go to checkout preview.
  6. Enter the promo code from step 1.
  7. And that’s it. You’ve added the coupon to your ExtraVM shopping cart.

Related Content

Source

Ubuntu Tweak: Install It On Your Ubuntu 16.04 Xenial/14.04 Trusty/Linux Mint 18/17 – NoobsLab

You may be aware of Ubuntu Tweak application, it is great utility but it is no longer in development (discontinued) and developer abandoned this project 4 years ago. The last release was for Ubuntu 14.04 Trusty/Linux Mint 17.x but the latest release also works fine in Ubuntu 16.04 Xenial/Linux Mint 18.x. Ubuntu Tweak was mainly designed to manage Ubuntu system and desktop settings but it can also work in Ubuntu based distributions (some of the features won’t work if you are not using Unity desktop). It is easier to use, free and was released under the GNU General Public License (GPL) version 2.

This utility offers many features which you can’t find in system and desktop settings options. It lets you change lots of things in your system such as: adding scripts to file manager, running cleaner, change themes, change login screen background and so on.

Features:

  • Change Fonts
  • Change system sounds
  • Change themes and icons
  • Configure login screen (lightdm)
  • Options for Desktop icons
  • Configuration for Unity
  • Workspace settings
  • File Manager settings
  • Add scripts to File Manager
  • Assign default program to file types
  • Source editor
  • System Cleaner
  • and more.



Follow these steps first to install Ubuntu Tweak in Ubuntu 16.04/Linux Mint 18/other Ubuntu 16.04 based distribution (Not for 14.04 Trusty)

Run commands in the Terminal:
Now add these lines in the opened file (Remove everything you have in the opened file “CTRL+k” then copy all these following lines and Press Ctrl+Alt+v -> Press Ctrl+o -> Press Ctrl+x)

Section: misc
Priority: extra
Standards-Version: 3.9.2
Package: gir1.2-vte-2.90-provider
Version: 1.0
Depends: gir1.2-vte-2.91
Provides: gir1.2-vte-2.90
Description: A proxy provider for gir1.2-vte-2.90 package
A proxy provider for gir1.2-vte-2.90 packageThen run these commands:Now move to next step to install Ubuntu Tweak on your Ubuntu 16.04 Xenial.

To install Ubuntu-Tweak in Ubuntu 16.04 Xenial/14.04 Trusty/Linux Mint 18/17 (Press Ctrl+Alt+T) and copy the following commands in the Terminal:That’s it

Source

How to Install Pip on Ubuntu

Last updated October 1, 2018 By Abhishek Prakash     Leave a Comment

Pip is a command line tool that allows you to install software packages written in Python. Learn how to install Pip on Ubuntu and how to use it for installing Python applications.

There are numerous ways to install software on Ubuntu. You can install applications from the software center, from downloaded DEB files, from PPA, from Snap packages, using Flatpak, using AppImage and even from the good old source code.

There is one more way to install packages in Ubuntu. It’s called Pip and you can use it to install Python-based applications.

What is Pip

Pip stands for “Pip Installs Packages”. Pip is a command line based package management system. It is used to install and manage software written in Python language.

You can use Pip to install packages listed in the Python Package Index (PyPI).

As a software developer, you can use pip to install various Python module and packages for your own Python projects.

As an end user, you may need pip in order to install some applications that are developed using Python and can be installed easily using pip. One such example is Stress Terminal application that you can easily install with pip.

Let’s see how you can install pip on Ubuntu and other Ubuntu-based distributions.

How to install Pip on Ubuntu

Install pip on Ubuntu Linux

Pip is not installed on Ubuntu by default. You’ll have to install it. Installing pip on Ubuntu is really easy. I’ll show it to you in a moment.

Ubuntu 18.04 has both Python 2 and Python 3 installed by default. And hence, you should install pip for both Python versions.

Pip, by default, refers to the Python 2. Pip in Python 3 is referred by pip3.

Note: I am using Ubuntu 18.04 in this tutorial. But the instructions here should be valid for other versions like Ubuntu 16.04, 18.10 etc. You may also use the same commands on other Linux distributions based on Ubuntu such as Linux Mint, Linux Lite, Xubuntu, Kubuntu etc.

Install pip for Python 2

First, make sure that you have Python 2 installed. On Ubuntu, use the command below to verify.

python2 –version

If there is no error and a valid output that shows the Python version, you have Python 2 installed. So now you can install pip for Python 2 using this command:

sudo apt install python-pip

It will install pip and a number of other dependencies with it. Once installed, verify that you have pip installed correctly.

pip –version

It should show you a version number, something like this:

pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

This mans that you have successfully installed pip on Ubuntu.

Install pip for Python 3

You have to make sure that Python 3 is installed on Ubuntu. To check that, use this command:

python3 –version

If it shows you a number like Python 3.6.6, Python 3 is installed on your Linux system.

Now, you can install pip3 using the command below:

sudo apt install python3-pip

You should verify that pip3 has been installed correctly using this command:

pip3 –version

It should show you a number like this:

pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)

It means that pip3 is successfully installed on your system.

How to use Pip command

Now that you have installed pip, let’s quickly see some of the basic pip commands. These commands will help you use pip commands for searching, installing and removing Python packages.

To search packages from the Python Package Index, you can use the following pip command:

pip search <search_string>

For example, if you search or stress, it will show all the packages that have the string ‘stress’ in its name or description.

pip search stress
stress (1.0.0) – A trivial utility for consuming system resources.
s-tui (0.8.2) – Stress Terminal UI stress test and monitoring tool
stressypy (0.0.12) – A simple program for calling stress and/or stress-ng from python
fuzzing (0.3.2) – Tools for stress testing applications.
stressant (0.4.1) – Simple stress-test tool
stressberry (0.1.7) – Stress tests for the Raspberry Pi
mobbage (0.2) – A HTTP stress test and benchmark tool
stresser (0.2.1) – A large-scale stress testing framework.
cyanide (1.3.0) – Celery stress testing and integration test support.
pysle (1.5.7) – An interface to ISLEX, a pronunciation dictionary with stress markings.
ggf (0.3.2) – global geometric factors and corresponding stresses of the optical stretcher
pathod (0.17) – A pathological HTTP/S daemon for testing and stressing clients.
MatPy (1.0) – A toolbox for intelligent material design, and automatic yield stress determination
netblow (0.1.2) – Vendor agnostic network testing framework to stress network failures
russtress (0.1.3) – Package that helps you to put lexical stress in russian text
switchy (0.1.0a1) – A fast FreeSWITCH control library purpose-built on traffic theory and stress testing.
nx4_selenium_test (0.1) – Provides a Python class and apps which monitor and/or stress-test the NoMachine NX4 web interface
physical_dualism (1.0.0) – Python library that approximates the natural frequency from stress via physical dualism, and vice versa.
fsm_effective_stress (1.0.0) – Python library that uses the rheological-dynamical analogy (RDA) to compute damage and effective buckling stress in prismatic shell structures.
processpathway (0.3.11) – A nifty little toolkit to create stress-free, frustrationless image processing pathways from your webcam for computer vision experiments. Or observing your cat.

If you want to install an application using pip, you can use it in the following manner:

pip install <package_name>

Pip doesn’t support tab completion so the package name should be exact. It will download all the necessary files and installed that package.

If you want to remove a Python package installed via pip, you can use the remove option in pip.

pip uninstall <installed_package_name>

You can use pip3 instead of pip in the above commands.

I hope this quick tip helped you to install pip on Ubuntu. If you have any questions or suggestions, please let me know in the comment section below.

About Abhishek Prakash

I am a professional software developer, and founder of It’s FOSS. I am an avid Linux lover and Open Source enthusiast. I use Ubuntu and believe in sharing knowledge. Apart from Linux, I love classic detective mysteries. I’m a huge fan of Agatha Christie’s work.

Source

Download AppArmor Linux 2.13.1

AppArmor is an open source and powerful command-line software written in C, C++, Perl, UNIX shell and designed to provide an extra layer of security for your Linux operating system. As its name suggests, AppArmor is just like an armor for your Linux applications, offering you network application security through necessary access control for apps. It is designed to protect your system from various malware.

AppArmor is a command-line tool that has been designed from the offset to be easy to use and effective, while proactively protects your entire Linux-based operating system and open source applications from various threats. Many modern GNU/Linux distributions include the AppArmor software by default.

What options are available from the command-line?

The ‘apparmor’ command includes a wide range of options, such as the ability to add, replace or remove AppArmor definitions, force the profile into complain mode, set the input as pre-compiled profile, dump compiled profiles and names of profiles to stdout or in input, write output to a specific file, set the base directory and cwd, as well as to set the location of the AppArmor filesystem.

Additionally, it provides support for mapping profiles’ read permissions to mr, report cache miss and hit details, save cached profiles, set the location of the profile cache, display profile names as they are loaded, debug AppArmor definitions, control DFA optimizations, set Namespace for a certain profile, run in quiet mode without outputting warnings, dump internal information for debugging and AppArmor pre-processed profiles.

Is AppArmor compatible with my Linux box?

AppArmor is currently included in the Arch Linux, Annvix, Debian GNU/Linux, Ubuntu, openSUSE, Pardus Linux, Gentoo, PLD and Mandriva operating systems. It supports both 32-bit and 64-bit hardware platforms, and it will most probably run on many other distributions of Linux based on the aforementioned OSes.

Security framework Application security Access control Linux Security Framework Control

Source

WP2Social Auto Publish Powered By : XYZScripts.com