Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Own webarchive service

License

NotificationsYou must be signed in to change notification settings

derfenix/webarchive

Repository files navigation

Aimed to be a simple, fast and easy-to-use webarchive for personal or home-net usage.

Supported store formats

  • headers — save all headers from response
  • pdf — save page in pdf
  • single_file — save html and all its resources (css,js,images) into one html file

Requirements

  • Golang 1.19 or higher
  • wkhtmltopdf binary in $PATH (to save pages in pdf)

Configuration

The service can be configured via environment variables. There is a list of availablevariables:

  • DB
    • DB_PATH — path for the database files (default./db)
  • LOGGING
    • LOGGING_DEBUG — enable debug logs (defaultfalse)
  • API
    • API_ADDRESS — address the API server will listen (default0.0.0.0:5001)
  • UI
    • UI_ENABLED — Enable builtin web UI (defaulttrue)
    • UI_PREFIX — Prefix for the web UI (default/)
    • UI_THEME — UI theme name (defaultbasic). No other values available yet
  • PDF
    • PDF_LANDSCAPE — use landscape page orientation instead of portrait (defaultfalse)
    • PDF_GRAYSCALE — use grayscale filter for the output pdf (defaultfalse)
    • PDF_MEDIA_PRINT — use media typeprint for the request (defaulttrue)
    • PDF_ZOOM — zoom page (default1.0 i.e. no actual zoom)
    • PDF_VIEWPORT — use specified viewport value (default1280x720)
    • PDF_DPI — use specified DPI value for the output pdf (default150)
    • PDF_FILENAME — use specified name for output pdf file (defaultpage.pdf)

Note: PrefixWEBARCHIVE_ can be used with the environment variable namesin case of any conflicts.

⚡ One-Click Deploy

Cloud ProviderDeploy Button
AWS
DigitalOcean
Render

Generated byDeployStack.io

Usage

1. Start the server

Start without docker

go run ./cmd/server/main.go

Change API address

API_ADDRESS=127.0.0.1:3001 go run ./cmd/server/main.go

Start in docker

docker compose up -d webarchive

2. Add a page

curl -X POST --location"http://localhost:5001/api/v1/pages" \    -H"Content-Type: application/json" \    -d"{\"url\":\"https://github.com/wkhtmltopdf/wkhtmltopdf/issues/1937\",\"formats\": [\"pdf\",\"headers\"          ]        }"| jq.

or

curl -X POST --location \"http://localhost:5001/api/v1/pages?url=https%3A%2F%2Fgithub.com%2Fwkhtmltopdf%2Fwkhtmltopdf%2Fissues%2F1937&formats=pdf%2Cheaders&description=Foo+Bar"

3. Get the page's info

curl -X GET --location"http://localhost:5001/api/v1/pages/$page_id"| jq.

where$page_id — value of theid field from previous command response.Ifstatus field in response issuccess (orwith_errors) - theresults fieldwill contain all processed formats with ids of the stored files.

4. Open file in browser

xdg-open"http://localhost:5001/api/v1/pages/$page_id/file/$file_id"

Where$page_id — value of theid field from previous command response, and$file_id — the id of interesting file.

5. List all stored pages

curl -X GET --location"http://localhost:5001/api/v1/pages"| jq.

Roadmap

  • Save page to pdf
  • Save URL headers
  • Save page to the single-page html
  • Save page to html with separate resource files (?)
  • Basic web UI
  • Optional authentication
  • Multi-user access
  • Support SQL database with or without separate files storage
  • Tags/Categories
  • Save page to markdown

About

Own webarchive service

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors3

  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp