If you need a text-based web browser that doesn't require a
graphical user interface (GUI), one alternative is the
Lynx
browser that is available for a variety of operating systems, including
Linux,
OS X/macOS,
DOS, and
Microsoft Windows. If you have the
Homebrew package management software installed on a
OS X/macOS system, you can use it to easily install the Lynx browser using the
command brew install lynx
.
$ brew install lynx Updating Homebrew... ==> Auto-updated Homebrew! Updated 1 tap (homebrew/core). ==> New Formulae allure cython mono-libgdiplus angular-cli dcm2niix moodbar antlr4-cpp-runtime dcos-cli percona-server-mongodb asdf druid pilosa audacious fsql rustup-init bartycrouch get_iplayer twine-pypi bdsup2sub grakn vips chronograf jhipster warp cockroach mariadb@10.1 zeromq@4.1 ==> Updated Formulae aalib gtksourceview3 paket abcl gucharmap pandoc-citeproc advancemame halibut pango afl-fuzz heroku par2 algernon hg-fast-export parallel ammonite-repl highlight passenger amqp-cpp hive pcap_dnsproxy ansible homebank pcre2 antigen huexpress pcsc-lite apache-archiva hugo pdf2htmlex apache-brooklyn-cli hyper pdftoedn apache-flink hyperscan pegtl app-engine-java i3status perl-build arangodb ibex pgcli aria2 imagemagick pgformatter armor imagemagick@6 pgpdump artifactory imageworsener pgplot at-spi2-atk imake phoronix-test-suite at-spi2-core immortal planck aubio infer plantuml awf influxdb pmd aws-sdk-cpp influxdb@0.8 ponscripter-sekai awscli inspircd poppler azure-cli instead portmidi babl ios-sim postgresql bandcamp-dl ipfs postgresql@9.4 basex irssi postgresql@9.5 bash-preexec jansson ppsspp bastet jasper pre-commit bazel jbig2dec prometheus bear jboss-forge psqlodbc bee jenkins purescript binaryen jenkins-lts pwntools bit jfrog-cli-go pyenv bitlbee jlog pyexiv2 bitrise jmeter pyinvoke bluepill jo pypy bmake jruby pypy3 bmon jsonschema2pojo qbs buildifier juise qcachegrind caddy juju qt calc juju@1.25 quantlib cargo-completion jvgrep radare2 carthage kafkacat rancher-cli certbot kapacitor rbenv-ctags certigo kerl re2 cfengine kibana rebar@3 chakra knot redis checkstyle knot-resolver redpen chromedriver kobalt riemann-client cimg kompose ripgrep citus kops rkflashtool ckan kubernetes-cli rmlint closure-compiler kubernetes-helm rocksdb clutter lablgtk rom-tools cmake lastpass-cli roswell cmark-gfm latex2rtf rpm cnats latexila rrdtool coffeescript leaps rswift collectd lfe rtags colordiff libaacs rtv conan libass ruby-build confuse libatomic_ops rust consul libcouchbase s3fs consul-backinator libdap s6 consul-template libetpan saltstack convox libextractor sane-backends corebird libfabric sassc cppcheck libgcrypt saxon creduce libgit2-glib sbcl cromwell libgphoto2 scala@2.11 crowdin libgweather scw datomic libhttpseverywhere sdl2_mixer davix libimobiledevice sdl_mixer dbhash libmagic sdl_sound dbt libmaxminddb serveit debianutils libmemcached servus deis libmicrohttpd sfcgal dfmt liboping shc dhall-json libphonenumber shellshare di libplist shfmt diff-pdf libproxy sjk diff-so-fancy libsass skinny diffoscope libslax smali diffutils libsoup smlnj digdag libtasn1 snapraid django-completion libtermkey sngrep dmd libtiff sonar-scanner dmenu libuv source-to-image dnscrypt-wrapper libvidstab sourcekitten dnsmasq libvirt sourcery docker-cloud libxml2 sphinx-doc docker-credential-helper libzzip sqldiff docker-machine lincity-ng sqlite docker-machine-completion linkerd sqlite-analyzer doctl llnode sqlmap dosbox lmdb squid dosbox-x logrotate sslscan dpkg logstash sslyze dropbear logtalk stern duck lumo storm easyrpg-player luvit streamlink elasticsearch lxc strongswan elixir macvim subversion elvish make supertux enigma makensis supervisor etcd makepkg svgcleaner ettercap mame svtplay-dl exa mariadb swi-prolog exiftool mariadb@10.0 swiftformat exiv2 media-info swiftgen fabio mediaconch swiftlint fades menhir syncthing fetch-crl mercurial sysbench ffmpeg metabase sysdig fibjs metricbeat tarantool file-formula micro tbb filebeat micropython tcpreplay fio mikutter tcptraceroute firebase-cli minetest tee-clc fish mingw-w64 telegraf fits minicom terminal-notifier flatcc minidlna termius flex minimal-racket terraform flint-checker miniupnpc terragrunt flow minizinc tesseract fluent-bit mkvtoolnix testssl folly mldonkey the_silver_searcher fontconfig monax thefuck fonttools mongo-c-driver tiger-vnc fop mongoose tippecanoe freeciv mono tmux freeimage mosquitto tnef freeradius-server mpd todolist freetds mpg123 tomcat freetype mps-youtube tor fwup msgpack traildb fzf mtr ✔ translate-shell gammaray mutt treefrog gammu mvtools tth ganglia mypy twarc gauge mysql-connector-c++ typescript gdb mysqltuner ufoai gearman nagios uncrustify geckodriver nano unrar geeqie nativefier upx geoip ncmpc urbit geoipupdate ncmpcpp urh geoserver ne vagrant-completion getdns neo4j vamp-plugin-sdk gexiv2 netpbm vapoursynth gist nghttp2 varnish git nginx varnish@4 git-annex nifi vault git-flow-avh nim vice git-lfs nnn vim git-town node vte3 gitbucket node-build wartremover gitg node@4 watchexec gitlab-ci-multi-runner node@6 webpack glib notmuch weechat global npth wesnoth glog nspr wget gmic ntopng wine gmime numpy winetricks gnome-builder ode wireguard-tools gnome-recipes offlineimap wireshark gnu-typist ola wpcli-completion gnupg oniguruma xmake gnutls onscripter xmount go open-mpi xonsh go@1.7 open-scene-graph xrootd gobject-introspection openal-soft xsv godep opencoarrays yadm goenv opencore-amr yank gofabric8 openldap yara goofys openshift-cli yarn gphoto2 openssl yasm grafana openssl@1.1 yaz grails openvpn ykpers grails@2.5 opus yle-dl grc osc youtube-dl groonga osh yubico-piv-tool grpc osquery zabbix gspell p11-kit zanata-client gtk+3 pachi zsh-autosuggestions gtk-vnc packetbeat zsh-completions ==> Deleted Formulae autotrace dvtm libtess2 snescom xplanetfx ==> Installing dependencies for lynx: openssl ==> Installing lynx dependency: openssl ==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2l.el_capitan.b ######################################################################## 100.0% ==> Pouring openssl-1.0.2l.el_capitan.bottle.tar.gz ==> Using the sandbox ==> Caveats A CA file has been bootstrapped using certificates from the SystemRoots keychain. To add additional certificates (e.g. the certificates added in the System keychain), place .pem files in /usr/local/etc/openssl/certs and run /usr/local/opt/openssl/bin/c_rehash This formula is keg-only, which means it was not symlinked into /usr/local, because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries. If you need to have this software first in your PATH run: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile For compilers to find this software you may need to set: LDFLAGS: -L/usr/local/opt/openssl/lib CPPFLAGS: -I/usr/local/opt/openssl/include ==> Summary 🍺 /usr/local/Cellar/openssl/1.0.2l: 1,709 files, 12.1MB ==> Installing lynx ==> Downloading https://homebrew.bintray.com/bottles/lynx-2.8.8rel.2_1.el_capita ######################################################################## 100.0% ==> Pouring lynx-2.8.8rel.2_1.el_capitan.bottle.1.tar.gz 🍺 /usr/local/Cellar/lynx/2.8.8rel.2_1: 10 files, 2.2MB $
Advantages to using a text-based browser such as Lynx, in addition to it not requiring a GUI, making it suitable to be run in a Terminal window, is that it doesn't support Adobe Flash, which makes it invulnerable to malware distributed through vulnerabilities in Flash. Also, because it doesn't support JavaScript nor graphics, it prevents tracking software that uses JavaScript or web bugs, aka web beacons, which can track your web browsing activities via small graphics files that will be invisible to you on a webpage, from being used to track your browsing activities. It does support HTTP cookies, though, which are also used by sites to track visitors, but Lynx will prompt you if you want to allow cookies for a site when you visit the site and has whitelisting and blacklisting capabilities. E.g., when a site tries to place a cookie on your system, Lynx will prompt you as to whether it should be allowed. You can choose from "Y/N/Always/neVer."
Related articles: