transfer_more
Version, currently 0.5.321 versions
- 0.6.0latestApr 14, 2026
- 0.5.10not indexedApr 16, 2026
- 0.5.9not indexedApr 16, 2026
- 0.5.8not indexedApr 16, 2026
- 0.5.7not indexedApr 16, 2026
- 0.5.6not indexedApr 16, 2026
- 0.5.4not indexedApr 16, 2026
- 0.5.3not indexedApr 16, 2026
- 0.5.2not indexedApr 16, 2026
- 0.5.1not indexedApr 16, 2026
- 0.5.0not indexedApr 16, 2026
- 0.4.2not indexedApr 16, 2026
- 0.4.1not indexedApr 16, 2026
- 0.4.0not indexedApr 16, 2026
- 0.3.2not indexedApr 16, 2026
- 0.3.1not indexedApr 16, 2026
- 0.3.0not indexedApr 16, 2026
- 0.2.2not indexedApr 16, 2026
- 0.2.1not indexedApr 16, 2026
- 0.2not indexedApr 16, 2026
- 0.1.1not indexedApr 16, 2026
github.com/Nephos/transfer_more
Fast and temporary file uploader :signal_strength: UPSTREAM ON https://git.sceptique.eu/Sceptique/transfer_more
Nothing has been indexed for 0.5.3 yet. The tag is recorded, its shard.yml has not been read, so the manifest and dependency list below are empty because they are unknown rather than because they are absent.
Installation
# Add this to your shard.yml
dependencies:
transfer_more:
github: Nephos/transfer_more
version: ~> 0.5.3Then run:
shards installshard.yml
No shard.yml has been indexed for 0.5.3. You can read it on the repository.
Dependencies
Unknown: the shard.yml for this version has not been read yet.
README
This README is the one indexed from the repository at its latest ref, not from the tag for this version.
**Upstream on <https://git.sceptique.eu/Sceptique/transfer_more>**
# transfer_more
Fast and lite file upload server ([transfer.sh](https://transfer.sh/) clone).

- It's a simple online file sharing.
- Files older than 7 days are destroyed (configurable).
- Recognize shebangs, magic numbers, ...
## Installation [](https://drone.sceptique.eu/Sceptique/transfer_more)
Compatible crystal v1.9.2
### From source
```sh
make # build the app / deps
make test # run unit test
make doc # build the documentation
```
### From AUR with yay (or yaourt etc.)
```sh
yay -S transfer-more
```
### As a systemd service
[Unit]
Description=Tranfer more file sharing
Documentation=https://wiki.archlinux.org/index.php/Transfer-more
[Service]
ExecStart=/usr/share/transfer-more/transfer-more --port 10003 --bind 127.0.0.1
Restart=on-failure
RestartSec=5
Environment="TRANSFER_SSL_ENABLED=true"
WorkingDirectory=/usr/share/transfer-more/
# Hardening
MemoryDenyWriteExecute=true
SystemCallArchitectures=native
CapabilityBoundingSet=
NoNewPrivileges=true
RemoveIPC=true
LockPersonality=true
ProtectControlGroups=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectKernelLogs=true
ProtectClock=true
ProtectHostname=true
ProtectProc=noaccess
RestrictRealtime=true
RestrictSUIDSGID=true
RestrictNamespaces=true
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
ProtectSystem=full
ProtectHome=true
PrivateDevices=true
PrivateTmp=true
[Install]
WantedBy=default.target
### Behind a nginx proxy
You should configure your nginx with `/etc/nginx/servers-enabled/transfer-more.conf`:
server {
listen 443 ssl;
server_name your.sub.domain;
client_max_body_size 1G; # upload size limit, adjust as needed
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://localhost:3000;
}
}
## Usage
### Run the Server
```sh
export TRANSFER_SSL_ENABLED=true # true if the ssl is enabled, any other string is false
export TRANSFER_BASE_STORAGE="/tmp" # where the files will be kept
export TRANSFER_SECURE_SIZE=4 # how much characters to identify a file
export TRANSFER_STORAGE_DAYS=7 # how much time the files are kept
export TRANSFER_TIME_FORMAT="%y%m%d%H"
export TRANSFER_HOST_PORT="localhost:3000" # in pinciple it is auto solved using the http headers, optional
export TRANSFER_MORE_FOOTER="Something <strong>important</strong> on the bottom" # replace the default footer
export TRANSFER_MORE_TITLE="MyName upload" # replace the default title
./transfer_more
```
```text
./transfer_more --help
-b HOST, --bind HOST Host to bind (defaults to 0.0.0.0)
-p PORT, --port PORT Port to listen for connections (defaults to 3000)
```
### Command line client
```sh
curl --progress-bar --upload-file file.mp4 http://domain/name.mp4
```
### Inside a Docker container
```sh
docker build -t transfer_more . && docker run -p 3000:3000 transfer_more
```
Or with docker-compose:
```sh
docker-compose build && docker-compose up
```
### [ShareX](https://github.com/ShareX) template
```json
{
"Name": "Sceptique",
"DestinationType": "ImageUploader, TextUploader, FileUploader, URLShortener",
"RequestURL": "https://up.sceptique.eu/",
"FileFormName": "file",
"Headers": {
"User-Agent": "curl"
}
}
```
## Development
For now I don't have much plan expanding the feature of it, as it fulfills all my needs.
I will keep updating with each crystal new release.
## Contributing
Feel free to propose new feature anyway, we can just put them behind feature flag if it's overkill.
Review your own coding style as possible.
Do not try to include external CI in the upstream, I don't want big centralized service of the GAFAM as possible.
You can either propose a patch in an issue or open a merge request on <https://git.sceptique.eu/Sceptique/transfer_more/fork>.
You can propose it on github if you want, but git.sceptique.eu accept github OAuth so it's very quick to setup and it's my prefered way.
## Contributors
- [Sceptique](https://git.sceptique.eu/Sceptique) Arthur Poulet - creator, maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.5.3- Tagged
- Apr 16, 2026
- Commit
642ff1f7a193- Indexed
- not yet
Dependents
No indexed shard depends on this one yet.
Repository
github.com/Nephos/transfer_more
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 13, 2026
- Synced
- Aug 13, 2026
- Versions
- 21