Page MenuHomeDevCentral

D3538.diff
No OneTemporary

D3538.diff

diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -1,5 +1,20 @@
## Contributors
+### wurf
+
+Maintainer: Sébastien Santoro <dereckson@nasqueron.org>
+
+They have contributed to wurf:
+
+ - Jens Korte <korte@free.de>
+ - CoolCat467
+
+Third-party documentation incorporated into wurf:
+
+ - Andrea Colangelo <warp10@ubuntu.com> - man page
+
+### woof
+
Original author: Simon Budig <simon@budig.de>
They have contributed to wurf during the woof era:
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,3 +1,4 @@
+Copyright (C) 2024 Nasqueron
Copyright (C) 2004-2009 Simon Budig <simon@budig.de>
This program is free software; you can redistribute it and/or modify
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,6 @@
-# Simply exchange files with WOOF
+# wurf - Web Upload and Receive Files
+
+## Rationale
I guess everybody with a laptop has experienced this problem at some
point: You plug into a network and just want to exchange files with
@@ -15,34 +17,34 @@
[SAFT](http://www.belwue.de/projekte/saft/)
also aims to solve this problem, but needs a permanently running daemon...
-**Woof** (Web Offer One File) tries a different approach. It
+**wurf** (Web Upload and Receive Files) tries a different approach. It
assumes that everybody has a web-browser or a commandline web-client
-installed. **Woof** is a small simple stupid webserver that can
+installed. The **wurf** command is a small simple webserver that can
easily be invoked on a single file. Your partner can access the file
with tools he trusts (e.g. **wget**). No need to enter
passwords on keyboards where you don't know about keyboard sniffers, no
need to start a huge lot of infrastructure, just do a
```
- $ woof filename
+ $ wurf filename
```
-and tell the recipient the URL **woof** spits out. When he got that
-file, **woof** will quit and everything is done.
+and tell the recipient the URL **wurf** spits out. When he got that
+file, **wurf** will quit and everything is done.
-And when someone wants to send you a file, **woof** has a switch
-to offer itself, so he can get **woof** and offer a file to you.
+And when someone wants to send you a file, **wurf** has a switch
+to offer itself, so he can get **wurf** and offer a file to you.
-### Prerequisites and usage
+## Prerequisites and usage
-**Woof** needs Python on a unix'ish operating system. Some people
+**wurf** needs Python on a unix'ish operating system. Some people
have used it successfully on Windows within the cygwin environment.
```
- Usage: woof [-i <ip_addr>] [-p <port>] [-c <count>] <file>
- woof [-i <ip_addr>] [-p <port>] [-c <count>] [-z|-j|-Z|-u] <dir>
- woof [-i <ip_addr>] [-p <port>] [-c <count>] -s
- woof [-i <ip_addr>] [-p <port>] [-c <count>] -U
+ Usage: wurf [-i <ip_addr>] [-p <port>] [-c <count>] <file>
+ wurf [-i <ip_addr>] [-p <port>] [-c <count>] [-z|-j|-Z|-u] <dir>
+ wurf [-i <ip_addr>] [-p <port>] [-c <count>] -s
+ wurf [-i <ip_addr>] [-p <port>] [-c <count>] -U
- woof <url>
+ wurf <url>
Serves a single file <count> times via http on port <port> on IP
address <ip_addr>.
@@ -52,17 +54,17 @@
You can configure your default compression method in the configuration
file described below.
- When -s is specified instead of a filename, woof distributes itself.
+ When -s is specified instead of a filename, wurf distributes itself.
- When -U is specified, woof provides an upload form, allowing file uploads.
+ When -U is specified, wurf provides an upload form, allowing file uploads.
defaults: count = 1, port = 8080
- If started with an url as an argument, woof acts as a client,
+ If started with an url as an argument, wurf acts as a client,
downloading the file and saving it in the current directory.
- You can specify different defaults in two locations: /etc/woofrc
- and ~/.woofrc can be INI-style config files containing the default
+ You can specify different defaults in two locations: /etc/wurfrc
+ and ~/.wurfrc can be INI-style config files containing the default
port and the default count. The file in the home directory takes
precedence. The compression methods are "off", "gz", "bz2" or "zip".
@@ -75,3 +77,6 @@
compressed = gz
```
+## Credits
+
+wurf is a fork of woof by Simon Budig <simon@budig.de>
diff --git a/doc/woof.1 b/doc/wurf.1
rename from doc/woof.1
rename to doc/wurf.1
--- a/doc/woof.1
+++ b/doc/wurf.1
@@ -1,17 +1,17 @@
-.TH "woof" "1" "Last Modified: November 22, 2022"
+.TH "wurf" "1" "Last Modified: October 18, 2024"
.SH NAME
-\fBwoof\fP \- A small, simple, stupid webserver to share files
+\fBwurf\fP \- A small, simple, stupid webserver to share files
.SH SYNOPSIS
-.B woof
-.RI [ options ] " file"
+.B wurf
+.RI [ options ] " file"
.SH DESCRIPTION
-\fBwoof\fP is a tool to copy files between hosts. It can
-serve a specified file on HTTP,just for a given number of times, and then
-shutdown. It can be easily used to share files across the computers on a
-net, and given that the other ends should have just a browser, it can share
-stuff between different operating system, or different devices (e.g.: a
+\fBwurf\fP is a tool to copy files between hosts. It can
+serve a specified file on HTTP,just for a given number of times, and then
+shutdown. It can be easily used to share files across the computers on a
+net, and given that the other ends should have just a browser, it can share
+stuff between different operating system, or different devices (e.g.: a
smartphone). It can also show a simple html form in order to upload a file.
commands.
@@ -43,14 +43,14 @@
Used on a directory, it creates a tarball with no compression
.TP
.B \-s
-Used to distribute woof itself
+Used to distribute wurf itself
.TP
.B \-U
-woof provides an upload form and allows uploading files
+wurf provides an upload form and allows uploading files
.SH FILES
-You can specify different defaults in two locations: /etc/woofrc
-and ~/.woofrc can be INI-style config files containing the default
+You can specify different defaults in two locations: /etc/wurfrc
+and ~/.wurfrc can be INI-style config files containing the default
port and the default count. The file in the home directory takes
precedence. The compression methods are "off", "gz", "bz2" or "zip".
@@ -63,7 +63,8 @@
compressed = gz
.SH AUTHOR
-woof was written by Simon Budig <simon@budig.de>
+wurf is maintained by Sébastien Santoro <dereckson@nasqueron.org>,
+based on woof source code written by Simon Budig <simon@budig.de>.
This manual page was written by Andrea Colangelo <warp10@ubuntu.com>,
for the Debian project (and may be used by others).
diff --git a/woof b/src/wurf.py
rename from woof
rename to src/wurf.py
--- a/woof
+++ b/src/wurf.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# woof -- an ad-hoc single file webserver
+# wurf -- an ad-hoc single file webserver
from __future__ import annotations
@@ -155,9 +155,9 @@
txt = b"""\
<!DOCTYPE html>
<html>
- <head><title>Woof Upload</title></head>
+ <head><title>Wurf Upload</title></head>
<body>
- <h1>Woof Upload complete</title></h1>
+ <h1>Wurf Upload complete</title></h1>
<p>Thanks a lot!</p>
</body>
</html>
@@ -180,9 +180,9 @@
txt = b"""\
<!DOCTYPE html>
<html>
- <head><title>Woof Upload</title></head>
+ <head><title>Wurf Upload</title></head>
<body>
- <h1>Woof Upload</title></h1>
+ <h1>Wurf Upload</title></h1>
<form name="upload" method="POST" enctype="multipart/form-data">
<p><input type="file" name="upfile" /></p>
<p><input type="submit" value="Upload!" /></p>
@@ -363,15 +363,15 @@
When -s is specified instead of a filename, %s distributes itself.
- When -U is specified, woof provides an upload form, allowing file uploads.
+ When -U is specified, wurf provides an upload form, allowing file uploads.
defaults: count = %d, port = %d
- If started with an url as an argument, woof acts as a client,
+ If started with an url as an argument, wurf acts as a client,
downloading the file and saving it in the current directory.
- You can specify different defaults in two locations: /etc/woofrc
- and ~/.woofrc can be INI-style config files containing the default
+ You can specify different defaults in two locations: /etc/wurfrc
+ and ~/.wurfrc can be INI-style config files containing the default
port and the default count. The file in the home directory takes
precedence. The compression methods are "off", "gz", "bz2" or "zip".
@@ -393,7 +393,7 @@
sys.exit(1)
-def woof_client(url):
+def wurf_client(url):
urlparts = urllib.parse.urlparse(url, "http")
if urlparts[0] not in ["http", "https"] or urlparts[1] == "":
return None
@@ -421,7 +421,7 @@
fname = urlparts[2]
if not fname:
- fname = "woof-out.bin"
+ fname = "wurf-out.bin"
if fname:
fname = urllib.parse.unquote(fname)
@@ -479,7 +479,14 @@
ip_addr = ""
config = configparser.ConfigParser()
- config.read(["/etc/woofrc", os.path.expanduser("~/.woofrc")])
+ config.read(
+ [
+ "/etc/woofrc",
+ "/etc/wurfrc",
+ os.path.expanduser("~/.woofrc"),
+ os.path.expanduser("~/.wurfrc"),
+ ]
+ )
if config.has_option("main", "port"):
port = config.getint("main", "port")
@@ -570,7 +577,7 @@
else:
if len(filenames) == 1:
- if woof_client(filenames[0]) != None:
+ if wurf_client(filenames[0]) != None:
sys.exit(0)
filename = os.path.abspath(filenames[0])

File Metadata

Mime Type
text/plain
Expires
Thu, Oct 24, 00:26 (21 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2212823
Default Alt Text
D3538.diff (9 KB)

Event Timeline