Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Apache: The Definitive Guide, 3rd Edition A Note Regarding Supplemental Files Preface
Who Wrote Apache, and Why? The Demonstration Code Conventions Used in This Book
Typographic Conventions Icons Pathnames Directives
Directive ServerAdmin
Organization of This Book Acknowledgments
1. Getting Started
1.1. What Does a Web Server Do?
1.1.1. Criteria for Choosing a Web Server 1.1.2. Why Apache?
1.2. How Apache Works 1.3. Apache and Networking
1.3.1. What to Know About TCP/IP 1.3.2. How Apache Uses TCP/IP 1.3.3. Apache and Domain Name Servers
1.3.3.1. Multiple sites: Unix 1.3.3.2. Multiple sites: Win32
1.4. How HTTP Clients Work 1.5. What Happens at the Server End? 1.6. Planning the Apache Installation
1.6.1. Fitting Apache into Your Network 1.6.2. Which Operating System? 1.6.3. Which Unix?
1.7. Windows? 1.8. Which Apache?
1.8.1. Apache 2.0 1.8.2. Apache 2.0 and Win32
1.9. Installing Apache
1.9.1. Apache Executables for Unix 1.9.2. Making Apache 1.3.X Under Unix 1.9.3. Modules Under Unix
1.9.3.1. Compiled in modules 1.9.3.2. DSO modules 1.9.3.3. APXS
1.10. Building Apache 1.3.X Under Unix
1.10.1. Out of the Box 1.10.2. Semimanual Build Method 1.10.3. Choosing Modules 1.10.4. Shared Objects 1.10.5. Configuration Settings and Rules 1.10.6. Making Apache
1.11. New Features in Apache v2
1.11.1. Config File Changes in v2 1.11.2. httpd Command-Line Changes 1.11.3. Module Changes in v2
1.12. Making and Installing Apache v2 Under Unix 1.13. Apache Under Windows
1.13.1. Modules Under Windows 1.13.2. Compiling Apache Under Win32
2. Configuring Apache: The First Steps
2.1. What’s Behind an Apache Web Site?
2.1.1. Running Apache from the Command Line
2.2. site.toddle 2.3. Setting Up a Unix Server
2.3.1. webuser and webgroup
2.3.1.1. User 2.3.1.2. Group
2.3.2. “Out of the Box” Default Problems 2.3.3. Running Apache Under Unix 2.3.4. Several Copies of Apache 2.3.5. Unix Permissions 2.3.6. A Local Network
2.4. Setting Up a Win32 Server
2.4.1. Console Window 2.4.2. Apache as a Service
2.5. Directives
2.5.1. ServerName 2.5.2. DocumentRoot 2.5.3. ServerRoot 2.5.4. ErrorLog 2.5.5. PidFile 2.5.6. TypesConfig 2.5.7. Inclusions into the Config file
2.6. Shared Objects
2.6.1. Shared Objects Under Unix
2.6.1.1. LoadModule
2.6.2. Shared Modules Under Win32
2.6.2.1. LoadFile 2.6.2.2. ClearModuleList 2.6.2.3. AddModule
3. Toward a Real Web Site
3.1. More and Better Web Sites: site.simple
3.1.1. ErrorDocument
3.2. Butterthlies, Inc., Gets Going
3.2.1. Default Index 3.2.2. index.html
3.3. Block Directives
<VirtualHost> <Directory> and <DirectoryMatch> <Files> and <FilesMatch> <Location> and <LocationMatch> <IfDefine> <IfModule>
3.4. Other Directives
ServerName UseCanonicalName ServerAdmin ServerSignature ServerTokens ServerAlias ServerPath ScoreBoardFile CoreDumpDirectory SendBufferSize LockFile AcceptMutex KeepAlive KeepAliveTimeout TimeOut HostNameLookups Include Limit <LimitExcept> LimitRequestBody Directive LimitRequestFields LimitRequestFieldsize LimitRequestLine
3.5. HTTP Response Headers
Reference Section
HeaderName
Reference Section
Header
Reference Section
Header
Reference Section
Options
3.5.1. FollowSymLinks, SymLinksIfOwnerMatch
3.6. Restarts 3.7. .htaccess 3.8. CERN Metafiles
MetaFiles MetaDir MetaSuffix
3.9. Expirations
ExpiresActive ExpiresByType ExpiresDefault
4. Virtual Hosts
4.1. Two Sites and Apache 4.2. Virtual Hosts
4.2.1. Name-Based Virtual Hosts
4.2.1.1. NameVirtual host
4.2.2. IP-Based Virtual Hosts 4.2.3. Mixed Name/IP-Based Virtual Hosts 4.2.4. Port-Based Virtual Hosting
4.3. Two Copies of Apache
BindAddress Port Listen ListenBacklog ServerType
4.4. Dynamically Configured Virtual Hosting
4.4.1. Examples
VirtualDocumentRoot VirtualDocumentRootIP VirtualScriptAlias VirtualScriptAliasIP
5. Authentication
5.1. Authentication Protocol
5.1.1. site.authent
5.2. Authentication Directives
AuthType AuthName AuthGroupFile AuthUserFile AuthAuthoritative AuthDBAuthoritative AuthDBMAuthoritative require satisfy
5.3. Passwords Under Unix 5.4. Passwords Under Win32 5.5. Passwords over the Web 5.6. From the Client’s Point of View
5.6.1. The Config File
5.7. CGI Scripts 5.8. Variations on a Theme 5.9. Order, Allow, and Deny
allow from allow from env deny from deny from env Order
5.10. DBM Files on Unix
5.10.1. AuthDBUserFile
5.10.1.1. Security
5.10.2. AuthDBMUserFile
5.10.2.1. Security
5.11. Digest Authentication
5.11.1. ContentDigest
5.12. Anonymous Access
Anonymous Anonymous_NoUserID Anonymous_LogEmail Anonymous_VerifyEmail Anonymous_Authoritative Anonymous_MustGiveEmail
5.13. Experiments
5.13.1. Access.conf
5.14. Automatic User Information
5.14.1. IdentityCheck
5.15. Using .htaccess Files
5.15.1. AccessFileName
5.16. Overrides
5.16.1. AllowOverride
6. Content Description and Modification
6.1. MIME Types
TypesConfig AddType DefaultType ForceType RemoveType AddEncoding RemoveEncoding AddDefaultCharset AddCharset RemoveCharset Directive AddHandler SetHandler RemoveHandler Directive AcceptFilter
6.2. Content Negotiation
6.2.1. MultiviewsMatch 6.2.2. Image Negotiation
6.3. Language Negotiation
LanguagePriority AddLanguage DefaultLanguage RemoveLanguage
6.4. Type Maps 6.5. Browsers and HTTP 1.1 6.6. Filters
AddInputFilter AddOutputFilter SetInputFilter SetOutputFilter RemoveInputFilter RemoveOutputFilter
7. Indexing
7.1. Making Better Indexes in Apache
IndexOptions IndexOrderDefault ReadmeName FancyIndexing IndexIgnore AddIcon AddAlt AddDescription DefaultIcon AddIconByType AddAltByType AddIconByEncoding AddAltByEncoding HeaderName
7.2. Making Our Own Indexes
7.2.1. DirectoryIndex
7.3. Imagemaps
7.3.1. HTML File 7.3.2. Map File
7.4. Image Map Directives
ImapBase ImapMenu ImapDefault
8. Redirection
8.1. Alias
8.1.1. A Subtle Problem
Script ScriptAlias ScriptAliasMatch ScriptInterpreterSource Alias AliasMatch UserDir Redirect RedirectMatch RedirectTemp RedirectPermanent
8.2. Rewrite
Reference Section
RewriteEngine
Reference Section
RewriteLog
Reference Section
RewriteLogLevel
Reference Section
RewriteMap
Reference Section
RewriteBase
Reference Section
RewriteCond
Reference Section
RewriteLock
Reference Section
RewriteOptions
Reference Section
RewriteRule
8.2.1. A Rewrite Example
8.3. Speling
8.3.1. CheckSpelling
9. Proxying
9.1. Security 9.2. Proxy Directives
AllowCONNECT ProxyRequests ProxyRemote ProxyPass ProxyDomain NoProxy ProxyPassReverse ProxyVia ProxyReceiveBufferSize ProxyBlock
9.3. Apparent Bug 9.4. Performance
9.4.1. Inward Caching
CacheRoot CacheSize CacheGcInterval CacheMaxExpire CacheLastModifiedFactor CacheDefaultExpire CacheDirLevels and CacheDirLength CacheNegotiatedDocs NoCache
9.5. Setup
9.5.1. Reverse Proxy
10. Logging
10.1. Logging by Script and Database 10.2. Apache’s Logging Facilities
Reference Section
ErrorLog
Reference Section
TransferLog
Reference Section
AgentLog
Reference Section
LogLevel
Reference Section
LogFormat
Reference Section
CustomLog
10.2.1. site.authent — Another Example
10.3. Configuration Logging
10.3.1. AddModuleInfo
10.4. Status
10.4.1. Server Status 10.4.2. ExtendedStatus
11. Security
11.1. Internal and External Users 11.2. Binary Signatures, Virtual Cash 11.3. Certificates 11.4. Firewalls
11.4.1. Packet Filtering 11.4.2. Separate Networks
11.4.2.1. Advantages 11.4.2.2. Disadvantages
11.5. Legal Issues 11.6. Secure Sockets Layer (SSL) 11.7. Apache’s Security Precautions
11.7.1. SSL with Apache v1.3
11.7.1.1. Apache-SSL 11.7.1.2. OpenSSL 11.7.1.3. Rebuild Apache 11.7.1.4. Config file 11.7.1.5. Environment variables
11.7.2. mod_ssl with Apache 1.3 11.7.3. SSL with Apache v2
11.7.3.1. Config file 11.7.3.2. Environment variables
11.7.4. Make a Test Certificate 11.7.5. Getting a Server Certificate 11.7.6. The Global Session Cache
11.8. SSL Directives
11.8.1. Apache-SSL Directives for Apache v1.3
SSLDisable SSLEnable SSLRequireSSL SSLDenySSL SSLCacheServerPath SSLCacheServerRunDir SSLCacheServerPort SSLSessionCacheTimeout SSLCACertificatePath SSLCACertificateFile SSLCertificateFile SSLCertificateKeyFile SSLVerifyClient SSLVerifyDepth SSLFakeBasicAuth SSLNoCAList SSLRandomFile SSLRandomFilePerConnection CustomLog SLLExportClientCertificates
11.8.2. SSL Directives for Apache v2
SSLPassPhraseDialog SSLMutex SSLRandomSeed SSLSessionCache SSLEngine SSLProtocol SSLCertificateFile SSLCertificateKeyFile SSLCertificateChainFile SSLCACertificatePath SSLCACertificateFile SSL CAR evocation path SSL CAR evocation file SSLVerifyClient SSLVerifyDepth Slog SSLLogLevel SSLOptions SSLRequireSSL SSLRequire
11.9. Cipher Suites
11.9.1. Cipher Directives for Apache v1.3
SSLRequiredCiphers SSLRequireCipher SSLCheckClientDN SSLBanCipher
11.9.2. Cipher Directives for Apache v2
SSLCipherSuite
11.10. Security in Real Life
11.10.1. Cookbook Security 11.10.2. Demo Client Certificate 11.10.3. Get the CA Certificate
11.11. Future Directions
11.11.1. SE Linux 11.11.2. EROS 11.11.3. E
12. Running a Big Web Site
12.1. Machine Setup 12.2. Server Security
12.2.1. Root Password 12.2.2. File Positions and Ownerships 12.2.3. The Apache Web Site
12.2.3.1. Permissions on ServerRoot directories 12.2.3.2. Server-side includes 12.2.3.3. Nonscript-aliased CGI 12.2.3.4. Script-aliased CGI 12.2.3.5. CGI in general 12.2.3.6. Stopping users overriding system-wide settings... 12.2.3.7. Protect server files by default
12.3. Managing a Big Site
12.3.1. Development Machines 12.3.2. Beta Test 12.3.3. The Live Site 12.3.4. Upgrade Procedures 12.3.5. Maintenance Pages
12.4. Supporting Software
12.4.1. Database Manager 12.4.2. Mailserver 12.4.3. PGP 12.4.4. SSH Access to Server 12.4.5. Credit Cards 12.4.6. Passwords 12.4.7. Turn Off Unwanted Services 12.4.8. Backend Networks 12.4.9. SuEXEC 12.4.10. SSL 12.4.11. Certificates
12.5. Scalability
12.5.1. Performance
12.5.1.1. Tools 12.5.1.2. Apache’s mod_info 12.5.1.3. Bandwidth 12.5.1.4. Load balancing 12.5.1.5. Image server, text server
12.5.2. Shared Versus Replicated DBs
12.6. Load Balancing
12.6.1. Spreading the Load 12.6.2. mod_backhand 12.6.3. Installation of mod_backhand 12.6.4. Directives
Backhand BackhandFromSO UnixSocketDir MulticastStats AcceptStats HTTPRedirectToIP HTTPRedirectToName BackhandSelfRedirect BackhandLogLevel BackhandModeratorPIDFile
12.6.5. Candidacy Functions
byAge byLoad byBusyChildren byCPU byLogWindow byRandom byCost bySession addPrediction byHostname
12.6.6. The Config File 12.6.7. Example Site
13. Building Applications
13.1. Web Sites as Applications
13.1.1. A Closer Look at HTTP 13.1.2. Creating a Form 13.1.3. Other Approaches to Application Building
13.2. Providing Application Logic
13.2.1. Server-Side Includes 13.2.2. PHP 13.2.3. Perl 13.2.4. Java 13.2.5. Other Options
13.3. XML, XSLT, and Web Applications
14. Server-Side Includes
14.1. File Size 14.2. File Modification Time 14.3. Includes 14.4. Execute CGI 14.5. Echo 14.6. Apache v2: SSI Filters
SSIEndTag SSIErrorMsg SSIStartTag SSITimeFormat SSIUndefinedEcho XBitHack XSSI
15. PHP
15.1. Installing PHP 15.2. Site.php
15.2.1. Errors 15.2.2. Standalone PHP Scripts
16. CGI and Perl
16.1. The World of CGI
16.1.1. Writing and Executing Scripts 16.1.2. Scripts and Apache
16.1.2.1. Executable script
16.2. Telling Apache About the Script
16.2.1. Script in cgi-bin 16.2.2. Script in DocumentRoot 16.2.3. Perl 16.2.4. Databases 16.2.5. HTML 16.2.6. Running a Script via Apache 16.2.7. Quote Marks 16.2.8. HTTP Header 16.2.9. Getting Data from the Client
16.2.9.1. Data from a link 16.2.9.2. CGI.pm 16.2.9.3. Questions and answers
16.2.10. Environment Variables
16.3. Setting Environment Variables
SetEnv UnsetEnv PassEnv
16.4. Cookies
16.4.1. Apache Cookies
CookieName CookieLog CookieTracking
16.4.2. The Config File 16.4.3. Email 16.4.4. Search Engines and CGI 16.4.5. Debugging 16.4.6. Debuggers 16.4.7. Security
16.5. Script Directives
ScriptAlias ScriptAliasMatch ScriptLog ScriptLogLength ScriptLogBuffer RLimitCPU RLimitMEM RLimitNPROC
16.6. suEXEC on Unix
16.6.1. A Demonstration of suEXEC
16.7. Handlers
AddHandler SetHandler RemoveHandler
16.8. Actions
16.8.1. Action
16.9. Browsers
SetEnvIf and SetEnvIfNoCase BrowserMatch and BrowserMatchNoCase nokeepalive force-response-1.0 downgrade-1.0
17. mod_perl
17.1. How mod_perl Works 17.2. mod_perl Documentation 17.3. Installing mod_perl — The Simple Way
17.3.1. Linking More Than One Module 17.3.2. Test 17.3.3. Installation Gotchas
17.4. Modifying Your Scripts to Run Under mod_perl 17.5. Global Variables
17.5.1. Perl Flags
17.6. Strict Pregame 17.7. Loading Changes 17.8. Opening and Closing Files 17.9. Configuring Apache to Use mod_perl
17.9.1. Performance Tuning 17.9.2. Making Scripts Run Faster
17.9.2.1. Preloading modules and compiling 17.9.2.2. Database interface persistence 17.9.2.3. KeepAlives and MaxClients 17.9.2.4. Profiling
18. mod_jserv and Tomcat
18.1. mod_jserv
18.1.1. Making gmake 18.1.2. Building JServ 18.1.3. JServ Directives
ApJservManual ApJServProperties ApJServLogFile ApJServLogFile ApJServDefaultProtocol ApJServDefaultHost ApJServDefaultPort ApJServVMTimeout ApJServProtocolParameter ApJServSecretKey ApJServMount ApJServMountCopy ApJServAction
18.1.4. JServ Status 18.1.5. Writing a Servlet
18.2. Tomcat
18.2.1. Installing the JDK 18.2.2. Installation of Tomcat 18.2.3. Tomcat’s Directory Structure
18.2.3.1. Bin
18.2.4. Conf 18.2.5. Writing and Testing a Servlet
18.3. Connecting Tomcat to Apache
18.3.1. mod_jk
19. XML and Cocoon
19.1. XML 19.2. XML and Perl 19.3. Cocoon 19.4. Cocoon 1.8 and JServ 19.5. Cocoon 2.0.3 and Tomcat 19.6. Testing Cocoon
20. The Apache API
20.1. Documentation 20.2. APR 20.3. Pools 20.4. Per-Server Configuration 20.5. Per-Directory Configuration 20.6. Per-Request Information 20.7. Access to Configuration and Request Information 20.8. Hooks, Optional Hooks, and Optional Functions
20.8.1. Hooks 20.8.2. Optional Hooks 20.8.3. Optional Hook Example 20.8.4. Optional Functions 20.8.5. Optional Function Example
20.9. Filters, Buckets, and Bucket Brigades
20.9.1. Bucket Interface 20.9.2. Output Filters 20.9.3. Input Filters
20.10. Modules
21. Writing Apache Modules
21.1. Overview 21.2. Status Codes 21.3. The Module Structure
Create Per-Server Config Structure Create Per-Directory Config Structure Pre-Config (2.0) Per-Server Merger Per-Directory Merger Command Table Initializer Child Initialization Post Read Request Quick Handler (2.0) Translate Name Map to Storage (2.0) Header Parser Check Access Check User ID Check Auth Type Checker Prerun Fixups Handlers Logger Child Exit
21.4. A Complete Example
21.4.1. Overview 21.4.2. Example Output
21.5. General Hints 21.6. Porting to Apache 2.0
A. The Apache 1.x API
A.1. Pools A.2. Per-Server Configuration A.3. Per-Directory Configuration A.4. Per-Request Information A.5. Access to Configuration and Request Information A.6. Functions
A.6.1. Pool Functions
ap_make_sub_pool ap_clear_pool ap_destroy_pool ap_bytes_in_pool ap_bytes_in_free_blocks ap_palloc ap_pcalloc ap_pstrdup ap_pstrndup ap_pstrcat
A.6.2. Array Functions
ap_make_array ap_push_array ap_array_cat ap_copy_array ap_copy_array_hdr ap_append_arrays
A.6.3. Table Functions
ap_make_table ap_copy_table ap_table_elts ap_is_empty_table ap_table_set ap_table_setn ap_table_merge ap_table_mergen ap_table_add ap_table_addn ap_table_unset ap_table_ get ap_table_do ap_overlay_tables ap_clear_table
A.6.4. Cleanup Functions
ap_register_cleanup ap_kill_cleanup ap_cleanup_for_exec ap_note_cleanups_for_fd ap_kill_cleanups_for_fd ap_note_cleanups_for_socket ap_kill_cleanups_for_socket ap_note_cleanups_for_file ap_run_cleanup
A.6.5. File and Socket Functions
ap_popenf ap_pclosef ap_pfopen ap_pfdopen ap_pfclose ap_psocket ap_pclosesocket
A.6.6. Regular Expression Functions
ap_pregcomp ap_pregsub ap_pregfree ap_os_is_path_absolute
A.6.7. Process and CGI Functions
ap_note_subprocess ap_spawn_child ap_bspawn_child ap_call_exec ap_can_exec ap_add_cgi_vars ap_add_common_vars ap_scan_script_header_err ap_scan_script_header_err_buff ap_scan_script_header
A.6.8. MD5 Functions
ap_md5 ap_md5contextTo64 ap_md5digest ap_MD5Init ap_MD5Final ap_MD5Update
A.6.9. Synchronization and Thread Functions
A.6.9.1. Mutex functions
ap_create_mutex ap_open_mutex ap_acquire_mutex ap_release_mutex ap_destroy_mutex
A.6.9.2. Semaphore functions
create_semaphore acquire_semaphore release_semaphore destroy_semaphore
A.6.9.3. Event functions
create_event open_event acquire_event set_event reset_event destroy_event
A.6.9.4. Thread functions
create_thread kill_thread await_thread exit_thread free_thread
A.6.10. Time and Date Functions
ap_ get_time ap_ht_time ap_ gm_timestr_822 ap_ get_ gmtoff ap_tm2sec ap_parseHTTPdate
A.6.11. String Functions
ap_strcmp_match ap_strcasecmp_match ap_is_matchexp ap_getword ap_getword_white ap_getword_nulls ap_getword_conf ap_ get_token ap_find_token ap_find_last_token ap_escape_shell_cmd ap_uudecode ap_escape_html ap_checkmask ap_str_tolower ap_psprintf ap_pvsprintf ap_ind ap_rind
A.6.12. Path, Filename, and URL Manipulation Functions
ap_ getparents ap_no2slash ap_make_dirstr ap_make_dirstr_parent ap_make_dirstr_prefix ap_count_dirs ap_chdir_file ap_unescape_url ap_construct_server ap_construct_url ap_escape_path_segment ap_os_escape_path ap_is_directory ap_make_full_path ap_is_url ap_fnmatch ap_is_fnmatch ap_server_root_relative ap_os_canonical_filename
A.6.13. User and Group Functions
ap_uname2id ap_ gname2id
A.6.14. TCP/IP and I/O Functions
ap_ get_virthost_addr ap_ get_local_host ap_ get_remote_host ap_send_fd ap_send_fd_length ap_send_fb ap_send_fb_length ap_send_mmap ap_rwrite ap_rputc ap_rputs ap_rvputs ap_rprintf ap_rflush ap_setup_client_block ap_should_client_block ap_ get_client_block ap_send_http_header ap_send_size
A.6.15. Request-Handling Functions
ap_sub_req_lookup_uri ap_sub_req_lookup_file ap_run_sub_req ap_destroy_sub_req ap_internal_redirect ap_internal_redirect_handler
A.6.16. Timeout and Alarm Functions
ap_hard_timeout ap_keepalive_timeout ap_soft_timeout ap_reset_timeout ap_kill_timeout ap_block_alarms() ap_unblock_alarms() ap_check_alarm
A.6.17. Configuration Functions
ap_pcfg_openfile ap_pcfg_open_custom ap_cfg_ getc ap_cfg_ getline ap_cfg_closefile ap_check_cmd_context ap_set_file_slot ap_set_flag_slot ap_set_string_slot ap_set_string_slot_lower
A.6.18. Configuration Information Functions
ap_allow_options ap_allow_overrides ap_auth_type ap_auth_name ap_requires ap_satisfies
A.6.19. Server Information Functions
ap_ get_server_built ap_ get_server_version ap_add_version_component
A.6.20. Logging Functions
ap_error_log2stderr ap_log_error ap_log_reason
A.6.21. Piped Log Functions
ap_open_piped_log ap_close_piped_log ap_piped_log_write_fd
A.6.22. Buffering Functions
ap_bcreate ap_bpushfd ap_bpushh ap_bsetopt ap_bgetopt ap_bsetflag ap_bgetflag ap_bonerror ap_bnonblock ap_bfileno ap_bread ap_bgetc ap_bgets ap_blookc ap_bskiplf ap_bwrite ap_bputc ap_bputs ap_bvputs ap_bprintf ap_vbprintf ap_bflush ap_bclose
A.6.23. URI Functions
ap_parse_uri_components ap_parse_hostinfo_components ap_unparse_uri_components ap_pgethostbyname ap_pduphostent
A.6.24. Miscellaneous Functions
ap_child_terminate ap_default_port ap_is_default_port ap_default_port_for_scheme ap_http_method ap_default_type ap_ get_basic_auth_pw ap_ get_module_config ap_ get_remote_logname ap_ get_server_name ap_ get_server_port ap_is_initial_req ap_matches_request_vhost ap_os_dso_load ap_os_dso_unload ap_os_dso_sym ap_os_dso_error ap_popendir ap_pclosedir ap_psignature ap_vformatter
Index About the Authors Colophon Copyright
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion