Page Menu
Home
DevCentral
Search
Configure Global Search
Log In
Files
F3764698
D3538.id9092.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
9 KB
Referenced Files
None
Subscribers
None
D3538.id9092.diff
View Options
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
Details
Attached
Mime Type
text/plain
Expires
Sat, Nov 23, 07:39 (12 h, 16 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2256850
Default Alt Text
D3538.id9092.diff (9 KB)
Attached To
Mode
D3538: Rename woof to wurf
Attached
Detach File
Event Timeline
Log In to Comment