15 Educational Search Engines College Students Should Know About

person typing on keyboard with search window over top

After hours spent scrolling through Google and pulling up endless clickbait results, you’re frustrated with the internet. You have a paper to write, homework to do and things to learn. You know you won’t get away with citing Wikipedia or Buzzfeed in your research paper. Even the big news engines aren’t scholarly enough. You need reputable sources for your homework, and you need them now.

With so many resources online, it’s hard to narrow it down and find ones that are not only reliable and useful, but also free for students. We’ve saved you the time and picked out our 15 best free search engines for research.

15 scholarly search engines every student should bookmark

1. Google Scholar

Google Scholar was created as a tool to congregate scholarly literature on the web. From one place, students have the ability to hunt for peer-reviewed papers, theses, books, abstracts and articles from academic publishers, professional societies, preprint repositories, universities and other scholarly organizations.

2. Google Books

Google Books allows web users to browse an index of thousands of books, from popular titles to old, to find pages that include your search terms. Once you find the book you are looking for, you can look through pages, find online reviews and learn where you can get a hard copy.

3. Microsoft Academic

Operated by the company that brings you Word, PowerPoint and Excel, Microsoft Academic is a reliable, comprehensive research tool. The search engine pulls content from over 120 million publications, including scientific papers, conferences and journals. You can search directly by topic, or you can search by an extensive list of fields of study. For example, if you’re interested in computer science, you can filter through topics such as artificial intelligence, computer security, data science, programming languages and more.

4. WorldWideScience

WorldWideScience, which refers to itself as “The Global Science Gateway,” is operated by the Office of Scientific and Technical Information—a branch of the Office of Science within the U.S. Department of Energy. The site utilizes databases from over 70 countries. When users type a query, it hits databases from all over the world and will display both English and translated results from related journals and academic resources.

5. Science.gov

Science.gov is operated and maintained by the Office of Science and Technical Information, the same department that collaborates on WorldWideScience.org. This search engine pulls from over 60 databases, over 2,200 websites and 200 million pages of journals, documents and scientific data. Search results can be filtered by author, date, topic and format (text or multimedia).

6. Wolfram Alpha

A self-described “computational knowledge engine,” Wolfram Alpha does not so much provide search results as it does search answers. Simply type in a topic or question you may be interested in, such as, “What is the function of the pancreas?” and the answer will show up without making you scroll through pages of results. This is especially handy for those in need of math help.

7. Refseek

With its minimalist design, Refseek doesn’t look like much. However, the engine pulls from over one billion web pages, encyclopedias, journals and books. It is similar to Google in its functionality, except that it focuses more on scientific and academic results—meaning more results will come from .edu or .org sites, as well as online encyclopedias. It also has an option to search documents directly—providing easy access to PDFs of academic papers.

8. Educational Resources Information Center

Populated by the U.S. Department of Education, the Educational Resources Information Center (ERIC) is a great tool for academic research with more than 1.3 million bibliographic records of articles and online materials. ERIC provides access to an extensive body of education-related literature including journal articles, books, research syntheses, conference papers, technical reports, policy papers and more. With more than eight million searches each month, it’s no wonder why this search engine is a great web source for education.

9. Virtual Learning Resources Center

The Virtual Learning Resources Center (VLRC) is an online index hosting thousands of scholarly websites, all of which are selected by teachers and librarians from around the globe. The site provides students and teachers with current, valid information for school and university academic projects using an index gathered from research portals, universities and library internet subject guides recommended by teachers and librarians.

10. iSeek

iSeek is a great search engine for students, teachers and administrators alike. Simply ask a question or enter search topics or tools, and iSeek will pull from scholastic sources to find exactly what you are looking for. The search engine is safe, intelligent and timesaving—and it draws from trusted resources from universities, government and established non-commercial sites.

11. ResearchGate

ResearchGate is a unique social networking site for scientists and researchers. Over 11 million researchers submit their work, which totals more than 100 million publications, on the site for anyone to access. You can search by publication, data and author, or you can even ask the researchers questions. Though it’s not a search engine that pulls from external sources, ResearchGate’s own collection of publications provides a hearty selection for any inquisitive scholar.

12. BASE

The Bielefeld Academic Search Engine (BASE) prides itself as being “one of the world’s most voluminous search engines especially for academic web resources.” Utilizing 4,000 sources, the site contains results from over 100 million documents. The advanced search option allows users to narrow their research—so whether you’re looking for a book, review, lecture, video or thesis, BASE can provide the specific format you need.

13. Infotopia

Infotopia describes itself as a “Google-alternative safe search engine.” The academic search engine pulls from results that have been curated by librarians, teachers and other educational workers. A unique search feature allows users to select a category, which ranges from art to health to science and technology, and then see a list of internal and external resources pertaining to the topic. So if you don’t find what you’re looking for within the pages of Infotopia, you will probably find it in one of its many suggested sites.

14. PubMed Central

This site is perfect for those studying anything related to healthcare or science. PubMed Central is operated by the National Center for Biotechnology Information, a division of the U.S. National Library of Medicine. The database contains more than 3 million full-text journal articles. It’s similar to PubMed Health, which is specifically for health-related research and studies, and includes citations and abstracts to more than 26 million articles.

15. Lexis Web

Researching legal topics? Lexis Web is your go-to for any law-related inquiries you may have. The results are drawn from legal sites, which can be filtered by criteria such as news, blog, government and commercial. Users can also filter results by jurisdiction, practice area, source and file format.

Start searching

Pulling up an Internet search might be second nature to you by now. But a little forethought into where you begin your hunt can make your life much easier. Save yourself the time wading through basic Google search results and utilize some of these tools to ensure your results will be up to par with academic standards.

Do you know of any useful educational search engines that aren’t on this list? Let us know in the comments below!

EDITOR’S NOTE: This article was originally published in December 2009. It has since been updated to include information relevant to 2017.


Searching The Internet Without Search Engines

The World Wide Web contains more than ten million websites with thousands more being added daily from all over the world, and search engines are tasked with presenting the most relevant pages based on the search criteria entered. Finding a large and popular site like www.irs.gov is easy because it is related to a large agency, but a small site like mine would be impossible without the use of search engines. The task of finding a website that relates to a specific subject would be almost without the use of the search engine, yet they perform this task with relative ease using tools that may be unknown to most users of search engines.

The first of these tools utilize by search engines are web-crawlers; they search sites based on meta-tags, or the hidden descriptions of the site encoded in the head of the web page.

By using web-crawlers to spider websites, the search engine does not have to search the entire webpage to return results, just the first few lines of code. The majority of the code web-crawlers spider is contained in the head section or top of the web page, and search engines use this information to list relevant search terms results.

Meta-bots and Google-bots are used by search engines in the same way that web-crawlers are deployed, and the only difference is that bots read the first lines of text that is visible on the browser of the user. Meta-bots and Google-bots are useful in providing content oriented sites with a quick description of the site, and is use to match the relative words in a search engine query.

The indexer is not a search engine par say, for example the largest indexer is Yahoo, which is not a search engine like Google that is a true search engine. A true search engine uses keyword searches to find website, whereas an indexer stores a link to sites based on categories. To submit a website for inclusion into an indexer the submitter has to find a relevant category that matches their website, but to submit to a search engine they only have to submit the site Universal Resource Listing or URL and the search engine deploys its web-crawler or bots to index the site.

The search engine has become an intricate part of life, especially in the lives of students that utilize the web for research. Without the search engine the search for sites that contain the terms being searched for would almost be impossible to locate in a world of millions of websites.


A list of open source C++ libraries

The objective of this page is to build a comprehensive list of open source C++ libraries, so that when one needs an implementation of particular functionality, one needn’t to waste time searching on web (DuckDuckGo, Google, Bing etc.).

If you know a library that might be useful to others, please add a link to it here. There are no restrictions on what can be included except that the source of the library must be readily available to download.

The page is provided ‘as is’ – with the hope of being useful, but without any warranties. Outdated, misleading or wrong links might appear here. If you’ve noticed one of these, it would be great if you fixed the error.


[edit] Package managers

  • soundtouch
  • KFR –  Fast, modern DSP framework, DFT/FFT, Audio resampling, FIR/IIR filters, Biquad
  • Aquila –  cross-platform DSP library
  • FFTW –  library for computing the DFT





[edit] Benchmarking

  • Celero
  • benchmark –  A library to benchmark code snippets, similar to unit tests
  • gperftools –  ‘Google Performance Tools’ includes a high-performance, multi-threaded malloc implementation plus tools for benchmarking heap allocation and CPU utilization.
  • plf::nanotimer –  Lowest-overhead, cross-platform simple timer class for benchmarking.

[edit] Communication

  • sockpp – A simple, modern C++ socket library
  • libnavajo –  C++ framework including a fast multithreaded http server, HTML5 Websockets, SSL, X509 and HTTP authentification, compression, cookies and advanced session management, IPv4 and IPv6 (CeCILL-C).
  • C++ RESTful framework –  C++ micro-framework designed to be embedded into a wide range of applications.
  • C++ REST SDK – asynchronous HTTP client and listener, asynchronous Stream, URI, JSON
  • cpr – a modern C++ HTTP requests library
  • cpp-netlib – cpp-netlib: The C++ Network Library
  • tacopie – C++11 TCP Library
  • Boost.Asio – asynchronous and synchronous networking, timers, serial I/O
  • Boost.Beast – HTTP and WebSocket library built on top of Boost.Asio
  • gsoap –  C/C++ development toolkit for XML data bindings, fast WSDL/SOAP/XML Web services, WS-Security, JSON/XML-RPC RESTful services
  • POCO –  networking: encryption, HTTP; Zip files
  • omniORB –  the fastest, complete and portable CORBA ORB implementation in C++
  • ACE –  asynchronous networking, event demultiplexing, messaging
  • TAO –  CORBA
  • wvstreams
  • Unicomm –  asynchronous networking, high-level TCP communication framework
  • restful_mapper – ORM for consuming RESTful JSON APIs in C++
  • Paho MQTT – Modern C++ client for MQTT from Eclipse
  • zeromq –  fast message queue
  • nanomsg –  fast message queue, zeromq successor
  • nng –  fast message queue, nanomsg successor
  • curlpp –  C++ wrapper for CURL library
  • Apache Thrift –  The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.
  • libashttp –  asynchronous HTTP client library
  • Simple C++ REST library –  Very simple and self documenting library for creating a REST API in your c++ application
  • libtins – Network packet crafting and sniffing library
  • PcapPlusPlus – Multiplatform C++ network sniffing and packet parsing and crafting framework
  • HTTPP – Simple, production ready HTTP server built on top of Boost and a client built on top of libcurl. (BSD)
  • The Silicon C++14 Web Framework – Fast and Robust Web APIs (MIT).
  • ngrest – Fast and easy in use JSON RESTful Web Services Framework (Apache2).
  • restc-cpp – Takes the pain out of accessing JSON API’s from C++. HTTP Client, native C++ class to/from JSON serialization, asynchronous IO trough boost::asio coroutines. C++14. (MIT)
  • OpenDDS – DDS implementation
  • Breep –  Event based, high-level, peer-to-peer library, allowing users to directly send and receive objects.
  • uvw – libuv wrapper in modern C++
  • rest_rpc – modern, simple, easy to use rpc framework
  • EasyHttp –  A cross-platform HTTP client library with a focus on usability and speed, supporting http response caching and more. (MIT License)
  • nghttp2 –  HTTP/2 C Library and tools (server, client, proxy and benchmarking tools) (MIT License)
  • IXWebSocket –  Open-source WebSocket + HTTP library without dependency, supports SSL and the per message deflate WebSocket extension.
  • KCP –  A fast and reliable ARQ protocol that helps applications to reduce network latency. (MIT License)
  • gRPC – gRPC is a modern open source high performance RPC framework that can run in any environment.
  • seastar –  High performance server-side application framework, based on C++14/C++17.
  • stream-client –  Lightweight, header-only, Boost-based client-side socket/connector/socket pool/resolver
  • eCAL –  high performance inter-process communication
  • fineftp-server –  ftp server library for windows and unix

[edit] Concurrency

  • Intel TBB
  • OpenMP
  • Taskflow Parallel Task Programming in Modern C++
  • RaftLib C++ stream like concurrent actors
  • Thrust STL-like algorithms and data-structures for CUDA
  • ViennaCL Linear algebra and algorithms with OpenMP, CUDA, and OpenCL backends
  • VexCL C++ expression templates library for OpenCL and CUDA
  • hipSYCL provides a clang-based toolchain and a runtime SYCL implementation that can run on multiple target devices (NVIDIA/AMD GPU,s CPU)
  • Boost.Compute (unofficial) STL-like algorithms and data-structures for OpenCL
  • Boost.Interprocess
  • Boost.Thread
  • Boost.Atomic
  • Boost.Lockfree
  • Boost.MPI
  • Boost.Context
  • libopenmpi
  • libsimdpp
  • HPX A general purpose C++ runtime system for parallel and distributed applications of any scale
  • KOKKOS A programming model in C++ for writing performance portable HPC applications
  • SObjectizer A small framework for simplification of development of concurrent and event-driven applications in C++ by using actor and publish-subscribe models.
  • BlockingCollection A C++11 thread safe collection class modeled after .NET BlockingCollection.
  • Xenium A header-only library providing various concurrent data structures and reclamation schemes.
  • subprocess a cross platform library for running subprocesses.

[edit] Configuration


  • libxml++
  • pugixml
  • tinyxml
  • tinyxml2 – Another and work in progress of TinyXML.
  • Xerces
  • gSOAP –  XML data bindings
  • ai-xml – Serialize objects to and from XML by adding a single, minimal, function to a class. Uses libxml++ under the hood.
  • GPDS – General purpose data serializer to serialize objects to and from XML. Uses TinyXML under the hood.




  • toml11 –  TOML parsing library based on C++11
  • toml++ – TOML parser and serializer for C++17 and later


  • cpp-hocon The C++ implementation of the HOCON format developed by Pupplet.


  • mycss –  CSS Parser

[edit] Containers

  • Boost.Any
  • Boost.Array
  • Boost.Bimap
  • Boost.Container
  • Boost.Fusion
  • Boost.Heap
  • Boost.Pointer Container
  • Boost.Tuple
  • Boost.Variant
  • cpp-btree –  btree_map, btree_set, btree_multimap, btree_multiset.
  • TdhLists
  • strict_variant – A fast, never-empty variant targetting C++11. Prevents many undesirable implicit conversions.
  • eggs::variant – Eggs.Variant is a C++11/14 generic, type-safe, discriminated union. It is notable in particular for having very good `constexpr` support.
  • Ygg – An intrusive C++11 implementation of high-performance containers and data structures such as a Red-Black-Tree, an Interval Tree and an Interval Map.
  • plf::list – std::list implementation which sacrifices range-splicing for cache-friendliness, yielding faster insertion, erasure and iteration.
  • plf::stack – Drop-in replacement container for the std::stack container adaptor with better performance than std::vector and std::deque in a stack context.
  • plf::colony – Unordered “bag-like” container which outperforms std:: containers in high-modification scenarios while maintaining valid pointers to non-erased elements regardless of insertion and erasure.
  • ring_span – A simplified implementation of Arthur O’Dwyer’s ring_span – ie. a circular buffer view.
  • Frozen –  constexpr perfect-hashing-based frozen sets and maps (Apache 2.0).
  • DataFrame –  C++ DataFrame — R’s and Pandas DataFrame in modern C++ using native types, continuous memory storage, and no virtual functions.

[edit] Cryptography

[edit] Databases

[edit] Embedded languages bindings

[edit] Embedded/realtime

  • QP/C++ –  RTOS kernel, dual GPL
  • ETL – Embedded Template Library –  C++ 03, Portable template library tailored for low resource platforms
  • distortos –  object-oriented C++ RTOS for microcontrollers
  • µcuREST –  C++11 REST/JSON server framework for microcontrollers

[edit] File metadata

[edit] Financial Calculations

[edit] Game Engine Architecture

[edit] General Multimedia

[edit] Generic

  • Abseil
  • Boost –  large collection of generic libraries (Boost License)
  • GSL –  Guidelines Support library implementation, recommended by Bjarne Stroustrup, Herb Sutter and Co in C++ Core Guidelines
  • BDE –  The Bloomberg Development Environment core libraries from Bloomberg L.P. (Apache License)
  • Cinder
  • Dlib –  networking, threads, graphical interfaces, data structures, linear algebra, machine learning, XML and text parsing, numerical optimization, Bayesian nets, and numerous other tasks (Boost License)
  • JUCE –  An extensive, mature, cross-platform C++ toolkit (GPL License)
  • Loki –  design patterns
  • Reason –  xml, xpath, regex, threads, sockets, http, sql, date-time, streams, encoding and decoding, filesystem, compression (GPL License)
  • yomm2 –  Open multi-methods for C++17 (Boost License)
  • Folly –  Facebook open-source library. Library of C++11 components designed with practicality and efficiency in mind.
  • Abseil –  An open-source collection of C++ library code from Google designed to augment the C++ standard library.
  • cxxomfort – Backports of C++ features (C++11 to C++03 and C++1y proposals to C++11/C++03).
  • libsourcey –  Cross-platform C++11 library for high speed networking and media encoding. HTTP, WebSockets, TURN, STUN, Symple and more…
  • OnPosix –  C++ library providing several abstractions (e.g., threading, networking, logging, IPC, etc.) on POSIX platforms.
  • Ultimate++ –  Cross-platform rapid application development framework
  • CAF – The C++ Actor Framework (CAF) is an open source C++11 actor model implementation featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more (BSD License).
  • cpp-mmf – A C++98 library that encapsulates memory-mapped-files for POSIX or Windows
  • CommonPP – Multi-purpose library with a strong emphasis on getting metrics out of a project. (BSD)
  • Better Enums – Reflective enums (enum to string, iteration, etc.) with constexpr support. (BSD)
  • Smart Enum – “to_string”, “from_string” and more for your enums. (Boost License)
  • nytl – Generic C++17 header-only utility template library. (Boost License)
  • SaferCPlusPlus –  SaferCPlusPlus – Safe compatible substitutes for unsafe C++ primitives, including pointers, int and std::vector. (Boost License)
  • fcppt –  Freundlich’s C++ Toolkit (fcppt) is a collection of libraries focusing on improving general C++ code by providing better types and making use of functional programming.
  • bitfield.h –  Bit field structure facility, more portable/flexible than the base language facility.
  • composite_op.h –  Basic class data member introspection, cumbersome and often non-re-entrant, but sometimes useful.
  • Abstract Intrusive Containers –  More flexible than boost::intrusive, but not STL-compatible.
  • Yato –  Modern C++(14/17) cross-platform STL-styled and STL-compatible library with implementing containers, ranges, iterators, type traits and other tools; actors system; type-safe config interface. (Apache-2.0)
  • Kangaru –  A dependency injection container for C++11 and C++14 (MIT License)
  • yaal –  algorithms, collections, arbitrary precision calculation, generic-DSL grammar driven parsers and more (CC BY-ND-NC 4.0)
  • gsl-lite –  A single-file header-only version of ISO C++ Guideline Support Library (GSL) for C++98, C++11 and later (MIT License).
  • nonstd-lite –  Parent of *-lite repositories, a migration path to post-C++11 features for pre-C++11 environments (Boost License).
  • units –  A compile-time, header-only, dimensional analysis and unit conversion library built on c++14 with no dependencies (MIT License).

[edit] Graphic user interface

  • Dear ImGui – A bloat-free graphical user interface library that is highly optimized.
  • FLTK
  • nana[doc] – GUI programming in modern C++ style (Boost License)
  • nanogui[doc] –  Minimalistic cross-platform widget library for OpenGL 3.x or higher
  • WxWidgets[src][doc]
  • OWLNext – Modern update to OWL for writing GUI applications in standard C++ on Windows
  • tiny file dialogs –  a single C C++ cross-platform file (no init, no main loop, 6 modal function calls)


  • CopperSpice[src][doc] –  CopperSpice is a set of C++ libraries used to develop cross-platform software applications. It is released under the LGPL V2.1 license. It uses modern idiomatic C++ and integrates seamlessly with the STL. CopperSpice was derived from the Qt framework.
  • CsSignal – Standalone C++ thread aware signal/slot library
  • CsString – Standalone C++ unicode aware string library
  • libGuarded – Standalone C++ multithreading library for managing access to shared data



[edit] Graphics

  • cairomm
  • nux
  • pangomm
  • gegl
  • nanovg –  2D drawing library based on openGL/DX/metal.
  • bgfx –  Powerful cross-platform graphics rendering library, support platforms include Windows Mac Linux iOS Android Web, rendering backend including DX, opengl, metal webgl and so on.

[edit] Images

  • stb
  • Adobe/boost GIL –  high-level generic library, focused on algorithms that operate on 2D images. Very limited I/O options.
  • GraphicsMagick – Reading, writing, and manipulating images in over 88 major formats. Forked from ImageMagick in 2002
  • Skia Graphics Engine – Google’s core graphics library as of 2005, used in Chrome, Chrome OS, Android, and also in Firefox and Sublime Text enwiki:Skia_Graphics_Engine
  • Anti-Grain Evolution – cross-platform 2D rasterization and rendering engine



[edit] Graphics (3D)

  • Vulkan
  • OpenGL
  • bgfx Cross-platform, graphics API agnostic, “Bring Your Own Engine/Framework” style rendering library.
  • Ogre3D
  • Diligent Engine A modern cross-platform low-level 3D graphics library.
  • GLEW OpenGL function loading
  • GLAD Customizable, lightweight library for loading OpenGL functions
  • Epoxy Modern successor to GLEW. Abstracts difference between some kinds of GL contexts, which makes it sometimes simpler to use than GLEW. Used by GTK+ project since 2015.
  • GLFW OpenGL window manager
  • GLM Header only C++ mathematics library for rendering
  • hlsl++ Header only C++ math library for rendering using hlsl syntax. Supports SSE and NEON
  • klein C++11/14/17 SSE-optimized Projective Geometric Algebra library for graphics and animation
  • assimp 3D model loading
  • VTK
  • Magnum Lightweight and modular C++11/C++14 graphics middleware for games and data visualization
  • Irrlicht
  • Horde3D
  • Visionaray A C++ ray tracing template library
  • Open CASCADE SDK for 3D CAD/CAM/CAE applications
  • OpenSceneGraph

[edit] Image Processing

[edit] Internationalization

  • gettext
  • spirit-po –  A small, header-only library which parses po-files and provides an interface similar to GNU libintl. Based on boost::spirit.

[edit] Logging

  • Log4cpp – A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations (LGPL)
  • Log4cplus – Logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration.
  • spdlog – Super fast, header only, C++ logging library
  • plog – Portable and simple log for C++ in less than 1000 lines of code (MPL2)
  • Boost.Log
  • glog – Google Logging Library
  • log4cxx – Apache log4cxx is a logging framework for C++ patterned after Apache log4j
  • Pantheios – Diagnostic Logging API library, offering a combination of type-safety, efficiency, genericity and extensibility
  • Backward –  Printing nice Python-styled stack traces with colors and source snippets, especially on crashes (MIT License).
  • Quill – C++14 Asynchronous Low Latency Logging Library

Numeral Calculations

  • LibBF – An arbitrary precision numerical calculation library developed by Bellard with a sample program that calculates pi to billions of bits

Linear algebra


  • OptimLib –  A C++11 library of numerical optimization methods for nonlinear functions.
  • ceres-solver –  C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. (BSD)

Graph theory

Class Library for Numbers

  • cln
  • Universal –  A C++ template library for universal number arithmetic, replacing IEEE floating point (MIT License)

Machine Learning

  • stats++
  • liblinear
  • Dlib –  machine learning tools
  • MLPACK –  machine learning package
  • Shogun –  large scale machine learning toolbox
  • FANN –  Fast Artificial Neural Network Library

Computational geometry

  • CGAL –  Computational geometry algorithms library
  • Wykobi –  Computational geometry library
  • PCL –  Point Cloud library
  • pmp-library –  Polygon Mesh Processing Library

Automata theory

[edit] Metaprogramming

  • Boost.MPL – Original metaprogramming library, targeted at C++03, slow
  • Boost.Hana – New metaprogramming library for both types and values
  • Boost.Mp11
  • Boost.CallableTraits
  • Metal – Uses eager metafunctions, 100% SFINAE-friendly
  • Brigand – Uses eager metafunctions, optimized for best performance
  • Meta – Uses eager metafunctions, middle ground between metal and brigand wrt performance
  • Boost.Metaparse – Compile-time parser library, producing types, values, and metafunctions from compile-time strings
  • Boost.Proto – A library for building expression template-backed EDSLs
  • CoMeta – Lightweight, header-only C++14 metaprogramming library
  • visit_struct –  A miniature reflection library, providing structure visitors for C++11/14. Self-contained, 200-400 lines of code depending how you count.
  • refl-cpp –  A modern compile-time reflection library for C++ with support for overloads, templates, attributes and proxies

[edit] Physics and Simulations

  • ReactPhysics3D –  C++ physics engine library for 3D simulations and game
  • ProjectCHRONO –  An Open Source Multi-physics Simulation Engine
  • Bullet –  Physics simulation for games, visual effects, robotics and reinforcement learning

[edit] Serialization

Binary serialization

  • UBjsonCpp –  High-performance UBJson read-write library based on C++14
  • binn –  A binary serialization library designed to be compact, fast, and easy to use, itself an implementation of the same name format.
  • bson-cxx –  C++ implementation in BSON format.

to and from XML. Uses TinyXML under the hood.

  • fast_ber – High-performance serialization using BER/DER encoding rules. Encoding layout is defined by ASN.1 schemas. Follows modern C++ practices, written in C++11.

[edit] Sorting

  • Timsort – Templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. (MIT)
  • Indiesort – Templated sort-wrapper function which allows use of std::sort (and other random-access sort methods) with non-random-access containers. It also increases the performance of sorting large types in random-access containers and arrays (zLib)

[edit] System

  • Infoware – C++ Library for pulling system and hardware information, without hitting the command line. (Creative Commons Zero v1.0 Universal)

[edit] Terminal

  • cwidget
  • replxx –  A readline and libedit replacement that supports UTF-8, syntax highlighting & hints.

[edit] Testing

  • Boost.Test
  • cppunit
  • Google Test
  • Catch2
  • doctest –  The lightest feature-rich C++ single-header testing framework for unit tests and TDD
  • lest –  A modern, C++11-native, single-file header-only, tiny framework for unit-tests, TDD and BDD (includes C++98 variant).
  • liblittletest –  Portable, one file header-only testing framework
  • ELFspy –  Testing in isolation with fakes and spies – Linux only
  • xtd.tunit –  Modern c++17 unit testing library on Windows, macOS, Linux, iOS and android. Office site
  • bandit –  Human-friendly unit testing for C++11


  • uchardet –  The ability to guess string encoding is basically the same as the uchardet function in Python.
  • win-iconv –  The character set encoding conversion library for Linux and Mac The Windows implementation of iconv is based on the Win32 Character Set Conversion API.


  • fmt –  printf is not easy to use, ostream is not easy to use, format is easy to use


  • PEGTL –  Parsing Expression Grammar Template Library
  • BNFlite –  A single file header only lightweight grammar parser library


  • clucene
  • xapian
  • Step –  Ukkonen’s online algorithm for constructing suffix tree, Manber’s algorithm for constructing suffix array.

Template Engine

  • inja –  A Template Engine for Modern C++
  • Jinja2C++ –  Modern C++ implementation of Jinja2 templates

[edit] Version Control

  • LibGit2 –  Version Control System Git’s core library.
  • coo-semver –  The C++ operation library for semantic version numbers.

[edit] See also


7 Best Sources for Finding Open Source Images For Your Blog

How To Find Open Source Images For Your Blog

It’s no surprise that blog posts with images do better on average than those without. According to the Social Science Research Network – 65% of all humans are visual learners, and respond better to visual cues, especially those bright in colour.

Nothing turns off readers quicker than huge chunks of unbroken text, and including images help to break up text, making it easier to read and more engaging for your audience.

The cost of paying for images adds up tremendously over time, and definitely outweighs the benefits of using such services. This post gives you 7 of the best sources for finding open source images, and how can use them to improve your blog.

A Quick Primer on The Creative Commons License

The creative commons license provides a simple standardized way for content creators to keep their copyright whilst allowing “certain uses” of their work.

In simple English, it allows you to use content such as images on your blog that have been issued under Creative Commons.

The creator can determine whether or not an image can be distributed, edited, built upon and copied, all within the boundaries of copyright law.

All the sources listed here can be used to find open source images for your blog; however you must attribute the original author, in the way he or she specifies.

1. Creative Commons Search

Creative Commons Search is the easiest way to search for open source images across multiple websites that can be used for your blog posts.

How To Use Creative Commons Search

You can search for images simply by entering a keyword in the search query box and clicking on the website you’d like to search images for.

Note: You can also search for images that are specifically allowed to be used for commercial purposes and images that allow you to modify, adapt or build upon.

All images in each site provided by the Creative Commons Search must be attributed in the way the original author specifies.

Image usage

For example this author on Flickr specifies users not to make any derivative work from his images, and they must link back to his blog, from the page where the image is being used on their website.

Ensure that you verify that the work you intend to use is actually under a CC license as search.creativecommons.org is not a search engine, and has no control over the results that are returned.

2. Flickr

Flickr is a great source for finding lots of photos, especially those that are free to use on your blog. Many leading open source image sites such as Photo pin use the Flickr API in order to curate images onto their site. It’s no surprise Flickr is used as the de-facto site for finding free images due to how many they have on display.

The main downsides to Flickr are its below par search functionality, the hard-to-find ‘download’ button and the fact you have to generate the attribution link to the author yourself.

How To Use Flickr to find images for your blog

Using Flickr to find open sourced images is quite simple. Just be sure to check that you are using an image that can be used on your own website.

When searching for an image – you must be sure the “creative commons only” option is selected.

Each image on Flickr has its own license, however if you want to use images that allow modification – be sure the “modifications allowed” option is ticked to display images that allow for adaptation.

Unlike Photo pin, with Flickr you need to go an extra step in order to retrieve the attribution link for an image.

Click the “some rights reserved” link to read the license.

some rights reserved image



To download an image from Flickr, you must click the download icon to display all the sizes the image is available in for downloading.

downloading images from flickr


3. Photo Pin

photopinPhoto Pin is a great alternative to Flickr for finding open source images to use on your blog due to how easy it is to search for images in the first place.

When searching for images of very specific things related to your blog post on Flickr, you’ll be inundated with a plethora of images completely unrelated to your original search terms and phrases.

Flickr simply searches for images based on the keywords included by the person who uploaded the image. This means you could spend hours going through 100’s of images, with over half of them being irrelevant to what you’re looking for.

So, how is Photo Pin better than Flickr?

Photo Pin beats both Flickr and Google when searching for images. It also shares the ability to sort images by ‘interestingness’, however unlike Flickr, Photo Pin doesn’t just claim to sort by ‘interestingness’, but it actually returns results that are both relevant and interesting.

The only negative with Photo Pin is that since it uses the Flickr API, if Flickr ever goes down, you won’t find any relevant open source images to use on Photo Pin.

How To Use Images Found On Photo Pin

Photo Pin has images available in two categories: Commercial and Non-Commercial.

All the images in Photo Pin’s database have to be attributed back to the original creator in order to use them. This can be done by linking back to the website the creator wants the attribution link to point towards.

Most people tend to do this in two ways:

1. Including the attribution directly underneath the image.

attribution image link

2. Attribution included at the end of a blog post.

“Image courtesy of practical owl

The attribution required for Creative Commons licensed images are automatically generated for each picture by Photo Pin, making it even easier to add to your blog posts.

Note: You must attribute each image you use.

attribution from photo pin

If you are downloading a lot of images from Photo Pin, a handy tip for keeping track of all the attributions is to place the link inside the author tag of the file on your local computer.

Author tag - open source images


4. Stock.xchng

stockxchng-logoStock.xchng is an excellent source for finding open source images to use for your blog. They provide over 400,000 high-quality images to pick and choose from.

Note: Stock.xchng differs from Photo Pin in terms of usage, in that you may need to ask permission from the photographer first, before you use it.

Luckily, each image has a space for comments just like Flickr. Photographers actually prefer you to comment on their photo just letting them know how you’ve used the image, whilst linking back to your blog post so they can see.

The only downside is their poor search functionality. Whilst you can search for images by keyword, it is very limited in scope. You’ll receive better results simply by trawling through many of the different categories on offer to find what you’re looking for.

5. highresolution.photography

The name speaks for itself; highresolution.photography curates the highest quality images from photographers to use on blog posts.

Highresolution.photography is still in its infancy and therefore extremely limited in the amount of images and search options on offer.

What it lacks in number and search options is made up tenfold with image quality. Every image has a dedicated page, with several sharing options and a link to the original photographer for you to attribute to, if you choose to use the image on your website.

6. Gratisography

Gratisography is another source for finding high-quality, open source images to use on your blog. All the pictures available were captured by professional photographer Ryan McGuire of Bells Design, and are completely free from copyright restrictions.

The images are vibrant and unique from a wide variety of themes, making them excellent additions when trying to look for an image to support a quirky theme in your blog posts.

Using the images couldn’t be easier, as the photographer has enabled direct downloading to your local computer with a single click.

If you’re looking for high-quality imagery to make your blog posts stand out here are 3 other sources of free high resolution images to use.


7. Curated Quotes

Picture quotes have been proven to increase the amount of social shares a blog post receives, especially to sites like Pinterest, Tumblr and Instagram.

Curated quotes offer a wide amount of picture quotes to use on your blog with citations included. The best thing about Curated Quotes is the number of categories they’ve assembled for their library, and how apt they are for your business, no matter what you sell or do.

For example, this quote in the leadership category is ideal for those that are writing about team and business management

leadership quote - finding open source images

Bonus: Improve Your Images Even Further

The difference between a good image and a great image, are those that are customised specifically to meet a purpose. The more relevant you make your images to your blog post as a whole and its individual points, the more engaged your audience will be with your content.

You may have selected several good images that are the perfect fit for your upcoming blog posts, however you can go a step further to better prep your images by customising them with tools such as PicMonkey (if the license permits) to help your blog post look even more lively.

Quick Tips on Image Optimisation

Optimising your images properly is a very important component of SEO for ensuring your content gets found in the search engines when people search for a term.

This applies both to images on your website, and every other page you’re uploading an image to.

Ensure you follow through these steps even when submitting pictures as social media messages to your followers.

1. After downloading an image, rename it to match the target keywords of your blog post.
– This is essential for getting your images found and shared of Pinterest.

2. Add ‘alt’ tag and ‘title’ tag attributes with your target keywords in the page you want your images to appear. This can be done simply by using the following HTML notation:
– < img src=”url” alt=”keyword” title=”title of blog post” />


The 12 Marketing Secrets of Fast-Growth Companies

Find out what they do to achieve outrageous business success


Get your free copy


Cloud Natural Language  |  Google Cloud

Cloud Natural Language  |  Google Cloud

Derive insights from unstructured text using Google machine learning.

Industry leading accuracy

Natural Language uses machine learning to reveal the structure and meaning of text. You can extract information about people, places, and events, and better understand social media sentiment and customer conversations. Natural Language enables you to analyze text and also integrate it with your document storage on Cloud Storage.

Train your own high-quality machine learning custom models to classify, extract, and detect sentiment with minimum effort and machine learning expertise using AutoML Natural Language. You can use the AutoML Natural Language UI to upload your training data and then test your custom model. Use AutoML Natural Language to extract information from a range of content, such as collections of articles, scanned PDFs, or previously archived records.

The powerful pre-trained models of the Natural Language API let developers work with natural language understanding features including sentiment analysis, entity analysis, entity sentiment analysis, content classification, and syntax analysis.

AutoML Natural LanguageInsights From Customers

Use entity analysis to find and label fields within a document — including emails, chat, and social media — and then sentiment analysis to understand customer opinions to find actionable product and UX insights.

Multimedia Multilingual Support

Combine Natural Language with our Speech-to-Text API to extract insights from audio conversations. Use it with optical character recognition (OCR) in our Vision API to understand scanned documents. Extract entities and understand sentiments in multiple languages with our Translation API.

Extract Key Document

Use custom entity extraction to identify domain-specific entities within documents — many of which don’t appear in standard language models — without having to spend time or money on manual analysis.

Receipt and Invoice

Entity extraction can identify common entries in receipts and invoices — dates, phone numbers, companies, prices, and so on — to help you understand the relationships between a request and proof of payment. It even validates addresses with Google Maps.

Content Classification

Content classification relationship graphs

Classify documents by common entities, domain-specific customized entities, or 700+ general categories, like sports and entertainment. Syntax analysis can help you build relationship graphs of the entities extracted from news or Wikipedia articles.

Google Deep Learning

The Natural Language API offers you the same deep machine learning technology that powers both Google Search’s ability to answer specific user questions and the language-understanding system behind Google Assistant.

You can work with either one or reap the benefits of both products by using Natural Language API to quickly reveal the structure and meaning of text — using thousands of pretrained classifications — and using AutoML Natural Language to classify content into custom categories to suit your specific needs.

AutoML Natural Language Natural Language API

Integrated REST API

Natural Language is accessible via our REST API. Text can be uploaded in the request or integrated with Cloud Storage.

Checkmark Checkmark

Syntax analysis

Extract tokens and sentences, identify parts of speech and create dependency parse trees for each sentence.


Entity analysis

Identify entities within documents — including receipts, invoices, and contracts — and label them by types such as date, person, contact information, organization, location, events, products, and media.


Custom entity extraction

Identify entities within documents and label them based on your own domain-specific keywords or phrases.


Sentiment analysis

Understand the overall opinion, feeling, or attitude sentiment expressed in a block of text.


Custom sentiment analysis

Understand the overall opinion, feeling, or attitude expressed in a block of text tuned to your own domain-specific sentiment scores.


Content classification

Classify documents in 700+ predefined categories.


Custom content classification

Create labels to customize models for unique use cases, using your own training data.



Enables you to easily analyze text in multiple languages including English, Spanish, Japanese, Chinese (simplified and traditional), French, German, Italian, Korean, Portuguese, and Russian.


Custom models

Train custom machine learning models with minimum effort and machine learning expertise.


Powered by Google’s AutoML models

Leverages Google state-of-the-art AutoML technology to produce high-quality models.


Spatial structure understanding

Use the structure and layout information in PDFs to improve custom entity extraction performance.


Large dataset support

Unlock complex use cases with support for 5,000 classification labels, 1 million documents, and 10 MB document size.


As part of our goal to accelerate the process of doing business, we help our customers add new documents to DocuSign to get signatures and collect information. Traditionally, they would manually ‘tag’ those documents to show people where to input and where to sign… By using custom entity extraction within AutoML Natural Language, we can use large data sets to train our model and continually improve the process, no matter where the document comes from.

— Kiran Kaza, Head of Mobile Engineering, DocuSign


In the newsroom, precision and speed are critical to engaging our readers. Google Cloud Natural Language is unmatched in its accuracy for content classification. At Hearst, we publish several thousand articles a day across 30+ properties and, with natural language processing, we’re able to quickly gain insight into what content is being published and how it resonates with our audiences.

— Naveed Ahmad, Senior Director of Data, Hearst

The team here at Meredith is always looking for better ways to manage our content. We are looking forward to using AutoML Natural Language to apply our custom universal taxonomy to our content. AutoML Natural Language allows us to create custom models that meet our specific needs, with higher accuracy than other solutions that we considered.

— Grace Preyapongpisan, Vice President of Business Intelligence, Meredith
(world-renowned brands such as Martha Stewart and Time Magazine)

Natural Language API has shown it can accelerate our offering in the natural language understanding area and is a viable alternative to a custom model we had built for our initial use case.

— Dan Nelson, Head of Data, Ocado

Classifying Opinion and Editorials can be time-consuming and difficult work for any data science team, but Cloud Natural Language was able to instantly identify clear topics with a high-level of confidence. This tool has saved me weeks, if not months, of work to achieve a level of accuracy that may not have been possible with our in-house resources.

— Jonathan Brooks-Bartlett, Data Scientist, News UK

Customer Name

Through an employee stress coaching app, we helped our client use custom sentiment analysis in AutoML Natural Language to assess and analyze stress indicators and feelings in a chatbot experience. This technology enabled us to iterate through very quickly to provide an engaging and empathetic consumer experience. This will be an integral product to be used on future projects which require customised sentiment analysis, due to the speed of development and accuracy of the predictions.

— Jason Quek, CTO, Avalon Solutions


We decided to use Google Cloud’s AutoML Natural Language because it reduces overfitting with limited training samples and can scale easily to fit more document types over time. We were able to quickly deploy AutoML Natural Language for custom classification, and down the road we believe we could use the AutoML Natural Language custom entity extraction feature to help with specific use cases like contract review and mortgage data validation.

— Anwar Chaudhry, Director Artificial Intelligence & Machine Learning, Iron Mountain

Iron Mountain

Natural Language products Pricing guide
Natural Language API Documentation
AutoML Natural Language Documentation

Google Cloud

Create a custom machine learning model to classify content into domain-specific categories.

Create a pre-trained machine learning model to reveal the structure and meaning of text.

Products or features listed on this page are in beta. For more information on our product launch stages, see here.

Cloud AI products comply with the SLA policies listed here. They may offer different latency or availability guarantees from other Google Cloud services.




Help us build Flarum.

Flarum is and always will be 100% free and open-source under the MIT license. Fork it on GitHub and help make it better.

Fork on GitHub


Support Flarum development.

Help us pay for dedicated dev time and servers so that we can keep building. There’s a lot to look forward to.



Make Flarum your own.

Read the work-in-progress documentation and learn how to build extensions, themes, and language packs.

Read the docs


xref search


Don’t have a login? Search here to see if we’ve got the info you’re looking for.

Search by Part or Model Number, Manufacturer or Description.(over 725,000 part #’s)

If the number you enter doesn’t come up, re-enter the number up to the letter.

ie. enter 2244T instead of 2244T23

Subscribe to the Source-Search Database for only $27.00 / month.
Can be cancelled at any time (no long term commitment)

Source-Search.com is not affiliated with McMaster-Carr in any way.
Cross referenced products may or may not be from the same source as McMaster-Carr’s.
Always double check the part number and specifications with the manufacturer.


ZDNet: Verizon introduces open-source, big data coronavirus search engine

HomeZDNet: Verizon introduces open-source, big data coronavirus search engine

April 16, 2020 ResearchBuzz COVID-19academic research, big data, coronavirus, COVID-19, data analysis, medical research, Verizon, Vespa

ZDNet: Verizon introduces open-source, big data coronavirus search engine. “As we struggle to get a grip on exactly how COVID-19 makes us ill and what we can do about it, researchers have created over 50,000 articles. That’s a lot of information! So, how do you make sense of it all? Verizon Media is doing it by using Vespa. This is an open-source, big data processing program to create a coronavirus academic research search engine: CORD-19 Search.”


8 Free Open Source VPN

A virtual private network (VPN) is a private data network that makes use of the public telecommunication infrastructure(Internet), maintaining privacy through the use of a tunneling protocol and security procedures. The idea of the VPN is to give a company or a person the same capabilities at much lower cost by using the shared public infrastructure rather than a private one. In our case, we use a VPN to connect you to our servers in Europe and Asia.

Alternative 2020 Article Top 10 Free VPN Service With US UK Server [ Best Speed ]

  • Protect your computer from internet attacks and intrusions.
  • Prevents from unauthorized access your computers from internet.
  • Filter network spam by our servers firewall system.
  • Anonymize and secure all your Internet traffic and replace your ip address.
  • Works with VOIP software, web browsing, e-mail, p2p, ftp, instant messaging, streaming, games etc.

If free VPN is not your cup of tea or you find them unreliable, do give this paid VPN a try. Based on my own experience, VyprVPN is really reliable and good, they are from Germany and they have their own unique ‘Chameleon’ technology that sets them apart from other VPN that uses the same open source technology.

  • NordVPN | Comes with P2P Servers, 100% no log. Pay 1 year and get 2 years free! 70% off!
  • VyprVPN | Unique proprietary Chameleon VPN technology defeats VPN-blocking

Together with a VPN service, they creat a connection called VPN. This is a secure connection that encrypts all your information and is not readable by anyone else so wherever you are your privacy is always maintained! The best part is, there is no software to install because most VPN works on all Platforms including Windows, Mac, Linux, IPhone etc using the build in VPN software in your operating system. Without further ado, here are 9 Open Source VPN that can be used with VPN Gate.

Libreswan is a free software implementation of the most widely supported and standarized VPN protocol based on (“IPsec”) and the Internet Key Exchange (“IKE”). These standards are produced and maintained by the Internet Engineering Task Force (“IETF”). Libreswan performs some additional hardening for the IKEv1 protocol that other implementations have not implemented. This is not a vulnerability and CVE-2016-5361 was issued erroneously.

OpenConnect is an SSL VPN client initially created to support Cisco’s AnyConnect SSL VPN. It has since been ported to support the Juniper SSL VPN which is now known as Pulse Connect Secure. OpenConnect is released under the GNU Lesser Public License, version 2.1. Like vpnc, OpenConnect is not officially supported by, or associated in any way with, Cisco Systems, Juniper Networks or Pulse Secure. It just happens to interoperate with their equipment. Development of OpenConnect was started after a trial of the Cisco client under Linux found it to have many deficiencies:

  • Inability to use SSL certificates from a TPM or PKCS#11 smartcard, or even use a passphrase.
  • Lack of support for Linux platforms other than i386.
  • Lack of integration with NetworkManager on the Linux desktop.
  • Lack of proper (RPM/DEB) packaging for Linux distributions.
  • “Stealth” use of libraries with dlopen(), even using the development-only symlinks such as libz.so — making it hard to properly discover the dependencies which proper packaging would have expressed
  • Tempfile races allowing unprivileged users to trick it into overwriting arbitrary files, as root.
  • Unable to run as an unprivileged user, which would have reduced the severity of the above bug.
  • Inability to audit the source code for further such “Security 101” bugs.

Naturally, OpenConnect addresses all of the above issues, and more.

  • Connection through HTTP proxy, including libproxy support for automatic proxy configuration.
  • Connection through SOCKS5 proxy.
  • Automatic detection of IPv4 and IPv6 address, routes.
  • Authentication via HTTP forms.
  • Authentication using SSL certificates — from local file, Trusted Platform Module and PKCS#11 smartcards.
  • Authentication using SecurID software tokens (when built with libstoken)
  • Authentication using OATH TOTP or HOTP software tokens.
  • Authentication using Yubikey OATH tokens (when built with libpcsclite)
  • UserGroup support for selecting between multiple configurations on a single VPN server.
  • Data transport over TCP (HTTPS) or UDP (DTLS or ESP).
  • Keepalive and Dead Peer Detection on both HTTPS and DTLS.
  • Automatic update of VPN server list / configuration.
  • Roaming support, allowing reconnection when the local IP address changes.
  • Run without root privileges.

Openswan is an IPsec implementation for Linux. It has support for most of the extensions (RFC + IETF drafts) related to IPsec, including IKEv2, X.509 Digital Certificates, NAT Traversal, and many others. Openswan has been the de-facto Virtual Private Network software for the Linux community since 2005. If you are running Fedora, Red Hat, Ubuntu, Debian (Wheezy), Gentoo, or many others, it is already included in your distribution! Just start using it right away. If you wish to download the source code directly, you can click the button below.

↓ 04 – OpenVPN | Windows | macOS | Android | iOS

OpenVPN is a full-featured open source SSL VPN solution that accommodates a wide range of configurations, including remote access, site-to-site VPNs, Wi-Fi security, and enterprise-scale remote access solutions with load balancing, failover, and fine-grained access-controls. Starting with the fundamental premise that complexity is the enemy of security, OpenVPN offers a cost-effective, lightweight alternative to other VPN technologies that is well-targeted for the SME and enterprise markets. With OpenVPN, you can:

  • Tunnel any IP subnetwork or virtual ethernet adapter over a single UDP or TCP port,
  • Configure a scalable, load-balanced VPN server farm using one or more machines which can handle thousands of dynamic connections from incoming VPN clients,
  • Use all of the encryption, authentication, and certification features of the OpenSSL library to protect your private network traffic as it transits the internet,
  • Use any cipher, key size, or HMAC digest (for datagram integrity checking) supported by the OpenSSL library,
  • Choose between static-key based conventional encryption or certificate-based public key encryption,
  • Use static, pre-shared keys or TLS-based dynamic key exchange,
  • Use real-time adaptive link compression and traffic-shaping to manage link bandwidth utilization,
  • Tunnel networks whose public endpoints are dynamic such as DHCP or dial-in clients,
  • Tunnel networks through connection-oriented stateful firewalls without having to use explicit firewall rules,
  • Tunnel networks over NAT.
  • Create secure ethernet bridges using virtual tap devices, and
  • Control OpenVPN using a GUI on Windows or Mac OS X.

↓ 05 – SocialVPN | Windows | CentOS | Ubuntu | OpenWRT Routers

SocialVPN is an open-source IPOP-based virtual network that connects your computers privately to your friends’ computers. It automatically maps online social network relationships using Jingle and XMPP to create your own user-defined peer-to-peer VPNs – with no hassle, and supporting unmodified TCP/IP applications. In the SocialVPN, each user is in control of who their VPN connects to. To scale to large online social networks, SocialVPN employs a unique dynamic IPv4 address allocation/translation approach that avoids conflicts with local networks and devices outside a user’s social network. These are some of the ways you can use SocialVPN:

  • Private data sharing – SocialVPN allows you to create private, end-to-end virtual IP networks connecting you to your friends. You can use these links to privately share data with your friends, using existing applications for file transfer and sharing.
  • Mobile cloud computing – SocialVPN runs on Android devices and allows users to create VPNs connecting mobile devices as well as desktops, laptops and servers. It provides a basis for research and development on “social area networks” for data sharing and computational offloading.
  • Decentralized OSNs – SocialVPN creates a communication overlay that can be used as a basis to design decentralized Online Social Networks (OSNs).

↓ 06 – SoftEther VPN | Windows | Linux | macOS | FreeBSD | Solaris

SoftEther VPN (“SoftEther” means “Software Ethernet”) is one of the world’s most powerful and easy-to-use multi-protocol VPN software. It runs on Windows, Linux, Mac, FreeBSD and Solaris. SoftEther VPN is open source. You can use SoftEther for any personal or commercial use for free charge.

SoftEther VPN is an optimum alternative to OpenVPN and Microsoft’s VPN servers. SoftEther VPN has a clone-function of OpenVPN Server. You can integrate from OpenVPN to SoftEther VPN smoothly. SoftEther VPN is faster than OpenVPN. SoftEther VPN also supports Microsoft SSTP VPN for Windows Vista / 7 / 8. No more need to pay expensive charges for Windows Server license for Remote-Access VPN function. Features of SoftEther VPN

  • Easy to establish both remote-access and site-to-site VPN.
  • SSL-VPN Tunneling on HTTPS to pass through NATs and firewalls.
  • Revolutionary VPN over ICMP and VPN over DNS features.
  • Resistance to highly-restricted firewall.
  • Ethernet-bridging (L2) and IP-routing (L3) over VPN.
  • Embedded dynamic-DNS and NAT-traversal so that no static nor fixed IP address is required.
  • AES 256-bit and RSA 4096-bit encryptions.
  • Sufficient security features such as logging and firewall inner VPN tunnel.
  • 1Gbps-class high-speed throughput performance with low memory and CPU usage.
  • Windows, Linux, Mac, Android, iPhone, iPad and Windows Mobile are supported.
  • SSL-VPN (HTTPS) and 6 major VPN protocols (OpenVPN, IPsec, L2TP, MS-SSTP, L2TPv3 and EtherIP) are all supported as VPN tunneling underlay protocols.
  • The OpenVPN clone function supports legacy OpenVPN clients.
  • IPv4 / IPv6 dual-stack.
  • The VPN server runs on Windows, Linux, FreeBSD, Solaris and Mac OS X.
  • Configure All settings on GUI.
  • Multi-languages (English, Japanese and Simplified-Chinese).
  • No memory leaks. High quality stable codes, intended for long-term runs. We always verify that there are no memory or resource leaks before releasing the build.
  • RADIUS / NT Domain user authentication function
  • RSA certificate authentication function
  • Deep-inspect packet logging function
  • Source IP address control list function
  • Syslog transfer function

↓ 07 – strongSwan | Linux | Ubuntu | OpenSuse | Debian | Android

strongSwan is a complete IPsec implementation for Linux 2.6, 3.x, and 4.x kernels. The focus of the project is on strong authentication mechanisms using X.509 public key certificates and optional secure storage of private keys on smartcards through a standardized PKCS#11 interface.

  • Runs on Linux 2.6, 3.x and 4.x kernels, Android, FreeBSD, OS X and Windows
  • Implements both the IKEv1 and IKEv2 (RFC 7296) key exchange protocols
  • Fully tested support of IPv6 IPsec tunnel and transport connections
  • Dynamical IP address and interface update with IKEv2 MOBIKE (RFC 4555)
  • Automatic insertion and deletion of IPsec-policy-based firewall rules
  • NAT-Traversal via UDP encapsulation and port floating (RFC 3947)
  • Support of IKEv2 message fragmentation (RFC 7383) to avoid issues with IP fragmentation
  • Dead Peer Detection (DPD, RFC 3706) takes care of dangling tunnels
  • Static virtual IPs and IKEv1 ModeConfig pull and push modes
  • XAUTH server and client functionality on top of IKEv1 Main Mode authentication
  • Virtual IP address pool managed by IKE daemon or SQL database
  • Secure IKEv2 EAP user authentication (EAP-SIM, EAP-AKA, EAP-TLS, EAP-MSCHAPv2, etc.)
  • Optional relaying of EAP messages to AAA server via EAP-RADIUS plugin
  • Support of IKEv2 Multiple Authentication Exchanges (RFC 4739)
  • Authentication based on X.509 certificates or preshared keys
  • Use of strong signature algorithms with Signature Authentication in IKEv2 (RFC 7427)
  • Retrieval and local caching of Certificate Revocation Lists via HTTP or LDAP
  • Full support of the Online Certificate Status Protocol (OCSP, RFC 2560).
  • CA management (OCSP and CRL URIs, default LDAP server)
  • Powerful IPsec policies based on wildcards or intermediate CAs
  • Storage of RSA private keys and certificates on a smartcard (PKCS #11 interface)

↓ 08 – Tcpcrypt [ Discontinued ] | Windows | macOS

Tcpcrypt is a protocol that attempts to encrypt (almost) all of your network traffic. Unlike other security mechanisms, Tcpcrypt works out of the box: it requires no configuration, no changes to applications, and your network connections will continue to work even if the remote end does not support Tcpcrypt, in which case connections will gracefully fall back to standard clear-text TCP. Install Tcpcrypt and you’ll feel no difference in your every day user experience, but yet your traffic will be more secure and you’ll have made life much harder for hackers.
So why is now the right time to turn on encryption? Here are some reasons:

  • Intercepting communications today is simpler than ever because of wireless networks. Ask a hacker how many e-mail passwords can be intercepted at an airport by just using a wifi-enabled laptop. This unsophisticated attack is in reach of many. The times when only a few elite had the necessary skill to eavesdrop are gone.
  • Computers have now become fast enough to encrypt all Internet traffic. New computers come with special hardware crypto instructions that allow encrypted networking speeds of 10Gbit/s. How many of us even achieve those speeds on the Internet or would want to download (and watch) one movie per second? Clearly, we can encrypt fast enough.
  • Research advances and the lessons learnt from over 10 years of experience with the web finally enabled us to design a protocol that can be used in today’s Internet, by today’s users. Our protocol is pragmatic: it requires no changes to applications, it works with NATs (i.e., compatible with your DSL router), and will work even if the other end has not yet upgraded to tcpcrypt—in which case it will gracefully fall back to using the old plain-text TCP. No user configuration is required, making it accessible to lay users—no more obscure requests like “Please generate a 2048-bit RSA-3 key and a certificate request for signing by a CA”. Tcpcrypt can be incrementally deployed today, and with time the whole Internet will become encrypted.

↓ 09 – Tinc VPN | Windows | Linux | FreeBSD | OpenBSD | NetBSD | macOS | Solaris

tinc is a Virtual Private Network (VPN) daemon that uses tunnelling and encryption to create a secure private network between hosts on the Internet. tinc is Free Software and licensed under the GNU General Public License version 2 or later. Because the VPN appears to the IP level network code as a normal network device, there is no need to adapt any existing software. This allows VPN sites to share information with each other over the Internet without exposing any information to others. In addition, tinc has the following features:

  • Encryption, authentication and compression – All traffic is optionally compressed using zlib or LZO, and LibreSSL or OpenSSL is used to encrypt the traffic and protect it from alteration with message authentication codes and sequence numbers.
  • Automatic full mesh routing – Regardless of how you set up the tinc daemons to connect to each other, VPN traffic is always (if possible) sent directly to the destination, without going through intermediate hops.
  • Easily expand your VPN – When you want to add nodes to your VPN, all you have to do is add an extra configuration file, there is no need to start new daemons or create and configure new devices or network interfaces.
  • Ability to bridge ethernet segments – You can link multiple ethernet segments together to work like a single segment, allowing you to run applications and games that normally only work on a LAN over the Internet.
  • Runs on many operating systems and supports IPv6 – Currently Linux, FreeBSD, OpenBSD, NetBSD, OS X, Solaris, Windows 2000, XP, Vista and Windows 7 and 8 platforms are supported. See our section about supported platforms for more information about the state of the ports. tinc has also full support for IPv6, providing both the possibility of tunneling IPv6 traffic over its tunnels and of creating tunnels over existing IPv6 networks.

What is a Consumer VPN?

What is a Consumer VPN?What is a Consumer VPN?