diff --git a/website/content/en/cgi/ports.cgi b/website/content/en/cgi/ports.cgi
index 0e6d425ee6..1e9de512e3 100755
--- a/website/content/en/cgi/ports.cgi
+++ b/website/content/en/cgi/ports.cgi
@@ -1,654 +1,654 @@
#!/usr/bin/perl -T
#
# Copyright (c) 1996-2023 Wolfram Schneider
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
# $FreeBSD$
#
# ports.cgi - search engine for FreeBSD ports
# o search for a port by name or description
use POSIX qw(strftime);
use Time::Local;
require "./cgi-style.pl";
$t_style = qq`
`;
sub init_variables {
$localPrefix = '/usr/ports'; # ports prefix
# Directory of the up-to-date INDEX*
$portsDatabaseHeadDir = "/usr/local/www/ports";
# Ports database file to use
if ( -f "$portsDatabaseHeadDir/INDEX-13" ) {
$ports_database = 'INDEX-13';
}
elsif ( -f "$portsDatabaseHeadDir/INDEX-12" ) {
$ports_database = 'INDEX-12';
}
else {
$ports_database = 'INDEX';
}
# URL of ports tree for browsing
$remotePrefixFtp = 'ports';
# 'ftp://ftp.FreeBSD.org/pub/FreeBSD/branches/-current/ports';
# where to get -current packages
local ($p) = 'ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386';
local ($palpha) = 'ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/alpha';
local ($pamd64) = 'ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/amd64';
local ($pia64) = 'ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/ia64';
local ($psparc64) = 'ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/sparc64';
$remotePrefixFtpPackagesDefault = '6-STABLE/i386';
# This is currently unused
%remotePrefixFtpPackages = (
'7-CURRENT/i386', "$p/packages-7-current/All",
'6-STABLE/i386', " $p/packages-6-stable/All",
'5-STABLE/i386', " $p/packages-5-stable/All",
'4-STABLE/i386', " $p/packages-4-stable/All",
'6.0-RELEASE/i386', "$p/packages-6.0-release/All",
'5.4-RELEASE/i386', "$p/packages-5.4-release/All",
'4.11-RELEASE/i386', "$p/packages-4.11-release/All",
'4-STABLE/alpha', "$palpha/packages-4-stable/All",
'5.4-RELEASE/alpha', "$palpha/packages-5.4-release/All",
'4.11-RELEASE/alpha', "$palpha/packages-4.11-release/All",
'7-CURRENT/amd64', "$pamd64/packages-7-current/All",
'6-STABLE/amd64', "$pamd64/packages-6-stable/All",
'5-STABLE/amd64', "$pamd64/packages-5-stable/All",
'6.0-RELEASE/amd64', "$pamd64/packages-6.0-release/All",
'5.4-RELEASE/amd64', "$pamd64/packages-5.4-release/All",
'7-CURRENT/ia64', "$pia64/packages-7-current/All",
'6-STABLE/ia64', "$pia64/packages-6-stable/All",
'6.0-RELEASE/ia64', "$pia64/packages-6.0-release/All",
'5.4-RELEASE/ia64', "$pia64/packages-5.4-release/All",
'7-CURRENT/sparc64', "$psparc64/packages-7-current/All",
'6-STABLE/sparc64', "$psparc64/packages-6-stable/All",
'5-STABLE/sparc64', "$psparc64/packages-5-stable/All",
'6.0-RELEASE/sparc64', "$psparc64/packages-6.0-release/All",
'5.4-RELEASE/sparc64', "$psparc64/packages-5.4-release/All",
);
$remotePrefixHtml = "$hsty_base/ports";
# Web interface for the Ports tree
$remotePrefixRepo = 'https://cgit.FreeBSD.org/ports';
# Ports documentation
$portsDesc = "$hsty_base/ports/";
# location of the tiny BSD daemon
$daemonGif =
"";
# visible E-Mail address, plain text
$mailto = 'www@FreeBSD.org';
# Mailinglist for FreeBSD Ports
$mailtoList = 'ports@FreeBSD.org';
# use mailto:email?subject
$mailtoAdvanced = 'yes';
# the URL if you click at the E-Mail address (see below)
$mailtoURL = "mailto:$mailto" if !$mailtoURL;
# security
$ENV{'PATH'} = '/bin:/usr/bin';
# extension type for packages
$packageExt = 'tbz';
local ($packageDB) = '../ports/packages.exists';
&packages_exist( $packageDB, *packages ) if -f $packageDB;
}
sub packages_exist {
local ( $file, *p ) = @_;
open( P, $file ) || do {
warn "open $file: $!\n";
warn "Cannot create packages links\n";
return 1;
};
while (
) {
chop;
$p{$_} = 1;
}
close P;
return 0;
}
# return the date of the last ports database update
sub last_update {
local ($file) = "$portsDatabaseHeadDir/$ports_database";
local ( $modtime, $modtimestr );
$modtime = ( stat($file) )[9];
if ( defined($modtime) && $modtime > 0 ) {
$modtimestr = strftime( "%Y-%m-%d %H:%M:%S UTC", gmtime($modtime) );
}
else {
$modtimestr = "Unknown";
}
return $modtimestr;
}
sub last_update_message {
return "
The FreeBSD Ports and Packages Collection offers a simple way for users and administrators to install applications.
FAQ
};
print qq{
"Package Name" searches for the name of a port or distribution.
"Description" searches case-insensitive in a short comment about the port.
"All" searches case-insensitive for the package name and in the
description about the port.
};
}
#
# Main
#
&init_variables;
$query_string = &env('QUERY_STRING');
$path_info = &env('PATH_INFO');
&decode_form( $query_string, *form );
$section = $form{'sektion'};
$section = 'all' if ( !$section );
$query = $form{'query'};
$stype = $form{'stype'};
$sourceid = $form{'sourceid'} // "";
$script_name = &env('SCRIPT_NAME');
if ( $path_info eq "/source" ) {
# XXX
print "Content-type: text/plain\n\n";
open( R, $0 ) || do { print "ick!\n"; &exit; };
while () { print }
close R;
&exit;
}
if ( $stype eq "faq" ) {
print &short_html_header( "FreeBSD Ports Search FAQ", 1 );
&faq;
&footer;
print &html_footer;
&exit(0);
}
print &html_header( "FreeBSD Ports Search", 1 );
# allow `/ports.cgi?netscape' where 'netscape' is the query port to search
# this make links to this script shorter
if ( !$query && $query_string =~ /^([^=&]+)$/ ) {
$query = $1;
}
# automatically read collections, need only 0.2 sec on a pentium
@sec = &readcoll;
$query = &check_query($query, $sourceid);
&forms;
if ( $query_string eq "" || !$query ) {
&footer;
print &html_footer;
&exit(0);
}
&check_input;
$counter = 0;
# search
if ($query) {
&readindex( *today, *msec );
$query =~ s/([^\w\^])/\\$1/g;
&search_ports;
}
if ( !$counter ) {
print "Sorry, nothing found.\n";
print qq{You may look for other }
. qq{FreeBSD Search Services.\n};
}
else {
print "\n";
}
print qq{\n};
&footer;
print &html_footer;
diff --git a/website/content/en/docproj/doc-set.adoc b/website/content/en/docproj/doc-set.adoc
index 9cdc09eba9..cb33da7403 100644
--- a/website/content/en/docproj/doc-set.adoc
+++ b/website/content/en/docproj/doc-set.adoc
@@ -1,22 +1,22 @@
---
title: "FreeBSD Documentation Project: Documentation Set"
sidenav: docs
---
= FreeBSD Documentation Project: Documentation Set
FreeBSD's documentation falls into three basic categories:
-. https://www.freebsd.org/cgi/man.cgi[*The manual pages*]
+. https://man.freebsd.org/cgi/man.cgi[*The manual pages*]
+
The manual pages are part of the base system, but are also an important component of the documentation. Both the Documentation project and source committers update and maintain manual pages.
+
At present, the Japanese team has translated many of the manual pages. Other volunteers could pitch in to translate the manual pages to other languages as well.
. link:../../docs/books/[*The Books*]
+
The project has a large amount of documentation that is "book length", or becoming that way. These include the FreeBSD FAQ and the FreeBSD Handbook.
. link:../../docs/books#ARTICLES[*The Articles*]
+
FreeBSD has a wealth of information available in shorter, article form -- similar to the tutorials or HOWTO documentation of other projects.
link:../[FreeBSD Documentation Project Home]
diff --git a/website/content/en/projects/newbies.adoc b/website/content/en/projects/newbies.adoc
index 86e85e4950..4d4bdfa6fc 100644
--- a/website/content/en/projects/newbies.adoc
+++ b/website/content/en/projects/newbies.adoc
@@ -1,44 +1,44 @@
---
title: "Resources for Newbies"
sidenav: docs
---
include::shared/en/urls.adoc[]
= Resources for Newbies
== Getting FreeBSD
The latest FreeBSD releases are available link:../../where/[here]. Before you begin, please carefully read the link:{handbook}bsdinstall[installation instructions]
== Learning about FreeBSD
* The link:{handbook}[FreeBSD Handbook] and link:{faq}[Frequently Asked Questions (FAQ)] are the main documents for FreeBSD. Essential reading, they contain a lot of material for newbies as well as advanced users. For users interested in installing a GUI, see the link:{handbook}x11[X Windows] chapter.
-* https://www.freebsd.org/cgi/man.cgi[Manual pages] are good for reference but not always the best introduction for a novice. They generally provide information on a specific command, driver or service.
+* https://man.freebsd.org/cgi/man.cgi[Manual pages] are good for reference but not always the best introduction for a novice. They generally provide information on a specific command, driver or service.
== Questions and Support
* Join the FreeBSD-Questions mailing list to see the questions you were too afraid to ask, and their answers. Subscribe by filling out the following form: https://lists.FreeBSD.org/subscription/freebsd-questions. You can look up old questions and answers via the link:../../search/#mailinglists[search] page.
* The FreeBSD https://forums.freebsd.org[Forums] offer another support channel. Many users have written various tutorials and lots of new users receive help there.
* You can link:../../search/[search] the Handbook and FAQ, the whole web site, or the FreeBSD mailing list archives.
* The link:../../support/[Support] page contains a wealth of information about FreeBSD, including mailing lists, user groups, web and FTP sites, release information, and links to some sources of UNIX(R) information.
== Learning about FreeBSD-derived projects
FreeBSD is widely used as a building block for other commercial and open-source operating systems. Some of the most widely used and publicly available systems are listed below.
* https://www.truenas.com/[TrueNAS] is a Network Attached Storage (NAS) software that shares and protects data from modern-day threats like ransomware and malware. TrueNAS makes it easy for users and client devices to access shared data through virtually any sharing protocol.
* https://ghostbsd.org[GhostBSD] is derived from FreeBSD, GhostBSD uses the GTK environment to provide a beautiful looks and comfortable experience on the modern BSD platform offering a natural and native UNIX(R) work environment.
* https://nomadbsd.org[NomadBSD] is a persistent live system for USB flash drives, based on FreeBSD. Together with automatic hardware detection and setup, it is configured to be used as a desktop system that works out of the box, but can also be used for data recovery, for educational purposes, or to test FreeBSD's hardware compatibility.
* https://www.midnightbsd.org[MidnightBSD] is a BSD-derived operating system developed with desktop users in mind. It includes all the software you'd expect for your daily tasks: mail, web browsing, word processing, gaming, and much more.
* http://www.pfsense.org[pfSense] is a FreeBSD based network security solution. pfSense software, with the help of the package system, is able to provide the same functionality or more of common commercial firewalls, without any of the artificial limitations. It has successfully replaced every big name commercial firewall you can imagine in numerous installations around the world.
== How to Contribute
Everyone has something to contribute to the FreeBSD community, even newbies! Some are busy working with the new advocacy group and some have become involved with the link:../../docproj/[Documentation Project] as reviewers. Other FreeBSD newbies might have particular skills and experiences to share, either computer related or not, or just want to meet new newbies and make them feel welcome. There are always people around who help others simply because they like to.
Friends who run FreeBSD are a great resource. No book can replace chatting on the phone or across a pizza with someone who has the same interests, enjoys similar accomplishments, and faces the same challenges. If you do not have many friends who use FreeBSD, consider using your old FreeBSD CDs to create some more.
link:../../usergroups/[User groups] are good places to meet other FreeBSD users. If there is no one nearby, you might consider starting one!
For more information on getting involved in the community, see the link:{contributing}[Contributing to FreeBSD] article.