A very simple web application written in Python using Cherrypy web framework to upload files to web and to share them with others.
bsimjoo f80c68ccdb Update 'README.md' | před 3 roky | |
---|---|---|
webInterface | před 3 roky | |
.gitignore | před 3 roky | |
API.md | před 3 roky | |
LICENSE.md | před 3 roky | |
README.md | před 3 roky | |
icons-config.json | před 3 roky | |
requirements.txt | před 3 roky | |
server.py | před 3 roky | |
server_config.ini.example | před 3 roky | |
storage.py | před 3 roky |
A very simple web application written in Python using Cherrypy web framework to upload files to web and to share them with others.
Guests can:
Admin:
/counter
)As this web app has been designed for a single user and for personal use, there is only one admin to log into system. I mean there is only one pair of username and password. You may change the code a little to accept more pairs but all of those pairs will grant the one who wants to log into system the same permission and access level.
Just clone or download the repo and in repo's directory, run this:
python3 server.py -c server_config.ini.example
Now go to 127.0.0.1:8080
in your browser. Default password and username is
admin/admin.
After that you might want to change config according to the comments in its file.
These are questions one might ask.
After realizing there is a secure
property in the config file
you might be asking yourself this question. Here's the answer:
Short answer: No unless you reverse-proxy PotatoEgg(using nginx for example)
Long answer: PotatoEgg uses CherryPy web framework and it does support SSL thus you can add SSL support yourself with no big effort. Otherwise you can serve your content securely(including files, their password and credentials of admin) just by reverse-proxying. You can ask PotatoEgg to bind to a UN*X socket and then some webserver(e.g. nginx) surf it.
That's bad but there is nothing we can do for you about it. You should get yourself a server otherwise this software won't get you anywhere. You can try one of these:
Find a (free) shell server. The disk quota they give you is however very limited usually. These two links might be useful for you:
If you have a home internet connection and you can get a valid public IP address or you already have it, you can host it on your home computer. For decreasing power usage and increasing effecitveness you might want to get a cheap mini computer(Single board computers I mean) with a microSD with capacity of your choice on host PotatoEgg on that. It is not a good option for you if you live in countries like Iran where home internet connection like ADSL is so poor.
Get a cheap virtual Linux(or any other UN*X like) machine(e.g. VPS) and host it there. CPU and RAM(especially CPU) are less important and bandwidth and maximum monthly data traffic and storage size are much more important factors. You want to serve files not calculate millions of digits of PI or discover new prime numbers and such these.
Developer of backend of PotatoEgg, Farooq, uses a free shell server named hashbang for hosting and using PotatoEgg. the address is hashbang.sh but the way to sign up is a mystery and a puzzle and I don't think someone will solve it for you.
See issues for other TODOs.
Authors = {Farooq Karimi Zadeh, Behnam Simjoo(BSimjoo)}
As you see it is a set and does not have order at all :smile:.
Farooq started the project and has written the backend and part of the frontend which is dealing directly with backend(Javascript).
On the other hand, Behnam has written the rest and most of the frontend which you see with your eye. He actually "beautified" the project. Thank you Behnam!
The project's code and templates are under GNU LGPL 3 or at your option any later version.
Icons used in this project are from Bootstrap Icons v1.0.0 under MIT/X11 License