diff -urN links-0.92/contrib/Makefile links-0.92-milky/contrib/Makefile
--- links-0.92/contrib/Makefile	Thu Jan  1 01:00:00 1970
+++ links-0.92-milky/contrib/Makefile	Sun Aug  6 13:29:36 2000
@@ -0,0 +1,19 @@
+# Makefile for the base64-encoded user:password
+# -> required for the links.cfg if proxy wants an authorization
+
+CC	= gcc
+CFLAGS	= -O3
+
+PROGS	=  base64
+
+all:
+	@echo
+	@echo begin with compiling of $(PROGS)...
+	@echo
+	$(CC) -o base64 base64.c $(CFLAGS)
+	@ strip base64
+clean:
+	@echo
+	@echo deleting $(PROGS)
+	@echo
+	@rm -f $(PROGS) >/dev/null
diff -urN links-0.92/contrib/base64.c links-0.92-milky/contrib/base64.c
--- links-0.92/contrib/base64.c	Thu Jan  1 01:00:00 1970
+++ links-0.92-milky/contrib/base64.c	Sun Aug  6 13:44:15 2000
@@ -0,0 +1,69 @@
+/*
+ * This small Proggi is for users who don't know how to get the Base64 String,
+ * which is required for the lynx.cfg, if the proxy want an authorization
+ *
+ * Tino Reichardt <der@mcmilk.de> 06.08.2000
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#define BASE64_VALUE_SZ 8+1+8
+#define BASE64_RESULT_SZ 64
+
+
+const char base64_code[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+const char *
+base64_encode(const char *decoded_str)
+{
+    static char result[BASE64_RESULT_SZ];
+    int bits = 0;
+    int char_count = 0;
+    int out_cnt = 0;
+    int c;
+
+    if (!decoded_str) /* return nothing, if there is no input */
+	return decoded_str;
+
+    while ((c = *decoded_str++) && out_cnt < sizeof(result) - 1) {
+	bits += c;
+	char_count++;
+	if (char_count == 3) {
+	    result[out_cnt++] = base64_code[bits >> 18];
+	    result[out_cnt++] = base64_code[(bits >> 12) & 0x3f];
+	    result[out_cnt++] = base64_code[(bits >> 6) & 0x3f];
+	    result[out_cnt++] = base64_code[bits & 0x3f];
+	    bits = 0;
+	    char_count = 0;
+	} else {
+	    bits <<= 8;
+	}
+    }
+    if (char_count != 0) {
+	bits <<= 16 - (8 * char_count);
+	result[out_cnt++] = base64_code[bits >> 18];
+	result[out_cnt++] = base64_code[(bits >> 12) & 0x3f];
+	if (char_count == 1) {
+	    result[out_cnt++] = '=';
+	    result[out_cnt++] = '=';
+	} else {
+	    result[out_cnt++] = base64_code[(bits >> 6) & 0x3f];
+	    result[out_cnt++] = '=';
+	}
+    }
+    result[out_cnt] = '\0';	/* terminate */
+    return result;
+}
+
+int main(int argc,char *ARGV[])
+{
+    if (ARGV[1]) {
+	printf("ARGV[1]: %s, encoded: %s\n",ARGV[1],base64_encode(ARGV[1]));
+	return 0;
+    }
+    else {
+	fprintf(stderr,"Usage: %s user:password\n\n",ARGV[0]);
+	return 1;
+    }
+}
\ No newline at end of file
diff -urN links-0.92/default.c links-0.92-milky/default.c
--- links-0.92/default.c	Thu Jun 22 09:37:36 2000
+++ links-0.92-milky/default.c	Sun Aug  6 13:40:57 2000
@@ -725,6 +725,10 @@
   Host and port number of the FTP proxy, or blank.\n\
   (default: blank)\n\
 \n\
+ -proxy-auth <password>\n\
+  If your proxy requires a password. (base64-encoded)\n\
+  (default: blank)\n\
+\n\
  -download-dir <path>\n\
   Default download directory.\n\
   (default: actual dir)\n\
@@ -816,7 +820,7 @@
 
 unsigned char http_proxy[MAX_STR_LEN] = "";
 unsigned char ftp_proxy[MAX_STR_LEN] = "";
-
+unsigned char proxy_auth[MAX_STR_LEN] = "";
 unsigned char download_dir[MAX_STR_LEN] = "";
 
 unsigned char default_anon_pass[MAX_STR_LEN] = "somebody@host.domain";
@@ -853,6 +857,7 @@
 	1, gen_cmd, num_rd, num_wr, 0, MAXINT, &memory_cache_size, "memory_cache_size", "memory-cache-size",
 	1, gen_cmd, str_rd, str_wr, 0, MAX_STR_LEN, http_proxy, "http_proxy", "http-proxy",
 	1, gen_cmd, str_rd, str_wr, 0, MAX_STR_LEN, ftp_proxy, "ftp_proxy", "ftp-proxy",
+	1, gen_cmd, str_rd, str_wr, 0, MAX_STR_LEN, proxy_auth, "proxy_auth", "proxy-auth",
 	1, gen_cmd, str_rd, str_wr, 0, MAX_STR_LEN, download_dir, "download_dir", "download-dir",
 	1, gen_cmd, lang_rd, lang_wr, 0, 0, &current_language, "language", "language",
 	1, gen_cmd, num_rd, num_wr, 0, 1, &http_bugs.http10, "http_bugs.http10", "http-bugs.http10",
diff -urN links-0.92/http.c links-0.92-milky/http.c
--- links-0.92/http.c	Tue Jun 20 23:38:35 2000
+++ links-0.92-milky/http.c	Sun Aug  6 13:40:57 2000
@@ -219,6 +219,11 @@
 			add_to_str(&hdr, &l, "\r\n");
 		}
 	}
+	if (proxy_auth[0]) {
+	  add_to_str(&hdr, &l, "Proxy-Authorization: Basic ");
+	  add_to_str(&hdr, &l, proxy_auth);
+	  add_to_str(&hdr, &l, "\r\n\r\n");
+	}
 	if (c->no_cache >= NC_PR_NO_CACHE) add_to_str(&hdr, &l, "Pragma: no-cache\r\nCache-Control: no-cache\r\n");
 	if (c->from) {
 		add_to_str(&hdr, &l, "Range: bytes=");
diff -urN links-0.92/links.h links-0.92-milky/links.h
--- links-0.92/links.h	Sun Jun 18 18:36:55 2000
+++ links-0.92-milky/links.h	Sun Aug  6 13:40:57 2000
@@ -1928,6 +1928,7 @@
 
 extern unsigned char http_proxy[];
 extern unsigned char ftp_proxy[];
+extern unsigned char proxy_auth[];
 extern unsigned char download_dir[];
 
 struct http_bugs {
