All Projects → gfody → WebRelay

gfody / WebRelay

Licence: other
A netcat-like utility for windows for transferring files and streams over HTTP with support for relaying through a remote host (via websocket), a webclient, and a shell extension. PRs welcome!

Programming Languages

C#
18002 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to WebRelay

cs
开箱即用的基于命令的消息处理框架,让 websocket 和 tcp 开发就像 http 那样简单
Stars: ✭ 19 (-34.48%)
Mutual labels:  http-server
Saraff.Twain.NET
Saraff.Twain.NET is the skillful scanning component which allows you to control work of flatbed scanner, web and digital camera and any other TWAIN device from .NET environment. You can use this library in your programs written in any programming languages compatible with .NET technology.
Stars: ✭ 74 (+155.17%)
Mutual labels:  wpf
finch-demo
Introduction to Finch, a lightweight HTTP server library based on Twitter's Finagle.
Stars: ✭ 19 (-34.48%)
Mutual labels:  http-server
kog
🌶 A simple Kotlin web framework inspired by Clojure's Ring.
Stars: ✭ 41 (+41.38%)
Mutual labels:  http-server
Swiftly
Swiftly is an easy to use Qt/C++ web framework
Stars: ✭ 20 (-31.03%)
Mutual labels:  http-server
lazurite
A simple http server.
Stars: ✭ 17 (-41.38%)
Mutual labels:  http-server
toyhttpd
I/O 模型练手代码,分别使用阻塞式 I/O、select、poll 和 epoll 和 Java NIO 实现了简单的 HTTP Server
Stars: ✭ 43 (+48.28%)
Mutual labels:  http-server
AppsTracker
Windows Application for tracking computer usage. C# + WPF + MVVM
Stars: ✭ 27 (-6.9%)
Mutual labels:  wpf
InplaceEditBoxLib
WPF/MVVM control to implement a textbox on top of other elements like TreeViewItem or ListViewItem (use case: perform in place edit on top of a displayed text item)
Stars: ✭ 28 (-3.45%)
Mutual labels:  wpf
oxen-storage-server
Storage server for Oxen Service Nodes
Stars: ✭ 19 (-34.48%)
Mutual labels:  http-server
messenger
TCP 即时通讯 WPF 界面.
Stars: ✭ 18 (-37.93%)
Mutual labels:  wpf
NeoMarkdigXaml
Markdig Xaml/Wpf Renderer
Stars: ✭ 18 (-37.93%)
Mutual labels:  wpf
node-jsonrpc2
JSON-RPC 2.0 server and client library, with HTTP (with Websocket support) and TCP endpoints
Stars: ✭ 103 (+255.17%)
Mutual labels:  http-server
toggle-switch-control
Toggle switch control for WPF & Silverlight
Stars: ✭ 77 (+165.52%)
Mutual labels:  wpf
Apricot
Desktop Agent for Windows
Stars: ✭ 39 (+34.48%)
Mutual labels:  wpf
SOSCSRPG
Scott's Open Source C# RPG
Stars: ✭ 133 (+358.62%)
Mutual labels:  wpf
ColorPicker
Customizable Color Picker control for WPF
Stars: ✭ 57 (+96.55%)
Mutual labels:  wpf
Kvpbase
Scalable, simple RESTful object storage platform, written in C#
Stars: ✭ 43 (+48.28%)
Mutual labels:  http-server
Celestial.UIToolkit
A custom WPF toolkit which is inspired by a lot of the current design languages, including Microsoft's Fluent Design and Google's Material Design.
Stars: ✭ 32 (+10.34%)
Mutual labels:  wpf
SoftwareHelper
This is a windows app shortcut widget 🔨
Stars: ✭ 122 (+320.69%)
Mutual labels:  wpf

Summary

This is a utility for sharing files or streams via HTTP. It can host locally/directly or relay through a remote host. You can try out the web client at http://xkcd949.com. The server can be hosted in IIS as well and is very easy to publish to Azure as a single-file Web App.

Installation

Download the release package and unpack it somewhere (preferably in your PATH if you'll be using the CLI). Run WebrelayTray.exe once as administrator with no arguments to install the registry key for the context menu ([HKEY_CLASSES_ROOT\*\shell\WebRelay]). For relaying you're good to go. For using the built-in server you may need to add acls for the ports you'll be using (netsh http add urlacl url=http://*:80/ this isn't necessary if you run as administrator) and take care of any necessary firewall and/or router config.

Usage

Webrelay

This is the CLI util. It can be installed as a service and used as a remote host as well. All of the parameters can be specified in the config, arguments will take precedence. The service always uses the values in the config.

Webrelay inputFile [[--listenPrefix|-l] <String>] [[--remoteHost|-r] <String>] [[--filename|-f] <String>]
    [[--contentType|-c] <String>] [--inline|-i] [[--maxConnections|-m] <Int>] [--install] [--uninstall]
    [[--username] <String>] [[--password] <String>] [--help] [--version]
Parameter Description
inputFile File to host, by default it will read from stdin
listenPrefix Hostname and port on which to listen (in the UrlPrefix format e.g.: "http://*:80/")
remoteHost Remote instance to relay through instead of listening on this machine (e.g.: "ws://xkcd949.com")
filename Value to be used in content-disposition header, defaults to input filename unless --inline is specified
inline Use content-disposition: inline (no download prompt)
contentType Value to be used in content-type header, if left blank this will be inferred from the filename and defaults to "text/plain" if filename is blank
maxConnections Max concurrent connections
install Install service, the service is started automatically after it's installed
uninstall Uninstall service, if it's running it will be stopped
username Username for the service install (default is LocalSystem)
password Password for the service install if necessary
help Displays the parameter list and some examples
version Displays version information

Demo:

Commandline

WebrelayTray

GUI for quickly copying the download link for any file from the right-click menu in explorer. It shows the download status in the tray and raises balloon notifications when downloads complete.

Trayapp

Webclient

The server has a very lightweight webclient built-in that you can enable or disable in the config. This is what it looks like:

Webclient

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].