{"id":17125248,"url":"https://github.com/baltpeter/wsend-server-php","last_synced_at":"2025-03-24T03:32:11.059Z","repository":{"id":20325569,"uuid":"23599867","full_name":"baltpeter/wsend-server-php","owner":"baltpeter","description":"wsend server implementation in PHP","archived":false,"fork":false,"pushed_at":"2014-09-03T14:38:08.000Z","size":132,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T01:29:29.844Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/baltpeter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-02T23:55:45.000Z","updated_at":"2015-03-09T18:27:54.000Z","dependencies_parsed_at":"2022-08-05T07:31:03.728Z","dependency_job_id":null,"html_url":"https://github.com/baltpeter/wsend-server-php","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baltpeter%2Fwsend-server-php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baltpeter%2Fwsend-server-php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baltpeter%2Fwsend-server-php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baltpeter%2Fwsend-server-php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/baltpeter","download_url":"https://codeload.github.com/baltpeter/wsend-server-php/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245204806,"owners_count":20577411,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T18:44:31.779Z","updated_at":"2025-03-24T03:32:11.040Z","avatar_url":"https://github.com/baltpeter.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wsend server in PHP\n\n## Overview\n[wsend](https://github.com/abemassry/wsend) is a Command Line Tool for sending files. In its default configuration it uploads files to wsend.net. While this is useful especially for users who don't want to have to setup their own server, sometimes you need to do just that.\n\nThis projects aims to provide an easy solution for that problem. It offers a PHP implementation of a server that can be used with wsend.\n\n## Installation and Configuration (server side)\n\n**Uploading the Files to Your Web Host**  \nUpload the following two files to your web host:\n- `.htaccess`\n- `wsend-server.php`\n\n**Creating the uploads Directory**  \nCreate a directory for the uploads. This directory does not need to be in /var/www (or to whichever folder your web server is configured).\nMake sure the web server can write to that directory:\n\n    chown www-data:www-data /your/directory\n\n**Configuring wsend-server.php**  \nOpen `wsend-server.php` in any text editor and edit the following variables to suit your needs:\n\n- `$server_url`: Set this to the URL you want your wsend server to be accessed at. Make sure to include the protocol (ie. http:// or https://).\n- `$upload_dir`: Set this to the uploads directory you created. Don't forget the trailing slash.\n- `$max_file_size`: Set this to the maximum file size in bytes you want your users to be able to upload. Set to 0 for unlimited file size.\n\n## Configuration (client side)\nFirst, install wsend as described in the official documentation.\n\nThen, edit the wsend script (`~/.wsend/wsend` by default) and change `protocol` and `site`.\n\n## Current Status\nThis project is in very early stages of development.  \nThe following features are implemented already:\n\n- Uploading files (i.e. `wsend /path/to/your/file.ext`)\n- Viewing and downloading files (i.e. http://wsend.server.net/661e7921dc034cc2a4bdf6e8dd84be23/file.ext)\n- Global file size limit\n\nCurrently, there is no user management. Anyone can upload files and there is no way of listing, changing or deleting them from the command line. However, you can of course just browse the uploads directory on the web server. If you want a list of the local files, use `wsend --list-local`.\n\n## Important Notes\nPlease remember that this project is still work-in-progress. Not all features are implemented yet (see Current Status) and there may still be bugs.  \nWhile I am trying to make sure that the version I upload to this repository is always safe to use, you have to keep the following things in mind:\n\n- The wsend server is public. Anyone who knows the URL can freely upload files to it. Unfortunately, due to the few restrictions wsend imposes, this is likely to be abused for illegal purposes. If you want to only use your wsend server for yourself, currently you will have to use something like IP blocking on your web server. I do however plan to implement user management (and limited registration) in the future.\n- I am not a security professional. I am of course trying my best to implement the appropriate precautions but there may still be security vulnerabilities in this software.\n- There currently is not update mechanism, so you will have to check this repository regularly to make sure you don't miss important updates.\n- As I have mentioned, this software is nowhere near complete. If you find any bugs, have suggestions or want to contribute, please feel free to contact me. Do however note that this is just a side-project and that I might not respond immediately.\n\n## Questions\n**Why did you use PHP? This could easily be implemented with node.js, ruby, [whatever].**  \nI am most certainly aware that PHP is not considered a 'nice' language anymore. However, it gets the job done and it has two many advantages: Almost all web hosts support PHP and it is therefore easy and cheap for any user to set up their own wsend server. Furthermore, I know my way around PHP quite well, whilst my experience with node.js for example is quite limited :)  \nI do however plan on implementing this server with node.js (and maybe other platforms) in the future. Stay tuned.\n\n**Why don't you just buy an account at wsend.net and support the developers?**  \nIf a wsend.net account suits your needs, by all means buy one! wsend is an awesome piece of software and the developers definitely deserve your money. This project is in no way intended to get users away from wsend.net.  \nThere are however reasons that just make using a wsend.net account impossible. In those cases, you can use this project.\n\n**Will the uploaded files be removed after 30 days like on wsend.net?**  \nNo. However, you could easily achieve that with a cron job and a small script.\n\n**I have another question that is not listed here.**  \nFeel free to contact me at kontakt@benjamin-altpeter.de. Do however note that this is just a side-project of mine and that I might not respond immediately.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaltpeter%2Fwsend-server-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaltpeter%2Fwsend-server-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaltpeter%2Fwsend-server-php/lists"}