{"id":22214380,"url":"https://github.com/zstyblik/mail-wwwpage","last_synced_at":"2025-03-25T06:25:02.727Z","repository":{"id":24056642,"uuid":"27442558","full_name":"zstyblik/mail-wwwpage","owner":"zstyblik","description":null,"archived":false,"fork":false,"pushed_at":"2014-12-02T16:55:20.000Z","size":132,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-30T05:43:59.905Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zstyblik.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-02T16:52:25.000Z","updated_at":"2014-12-02T16:55:21.000Z","dependencies_parsed_at":"2022-07-12T16:07:44.241Z","dependency_job_id":null,"html_url":"https://github.com/zstyblik/mail-wwwpage","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/zstyblik%2Fmail-wwwpage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zstyblik%2Fmail-wwwpage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zstyblik%2Fmail-wwwpage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zstyblik%2Fmail-wwwpage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zstyblik","download_url":"https://codeload.github.com/zstyblik/mail-wwwpage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245409825,"owners_count":20610622,"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-12-02T21:16:15.936Z","updated_at":"2025-03-25T06:25:02.705Z","avatar_url":"https://github.com/zstyblik.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"NAME\n    mail-webpage - script to parse e-mail, get page(s) and mail them back\n\nDESCRIPTION\n    Script which reads an e-mail from STDIN, parses its body for commands,\n    downloads web pages and mails them back. It seems to be one of the ways\n    how to anonymize browsing. The original idea was pitched in one\n    interview with RMS.\n\n    Script utilizes GPG for authentification/authorization and privacy.\n    Encryption of message and attachments is supported.\n\nREQUIREMENTS\n     - Perl and some Perl packages\n     - Postfix or another mail server\n     - GnuPG tools\n\nINSTALLATION\n    Installation and configuration of Postifx is beyond the scope of this\n    help. It is assumed you know how to properly configure and administer\n    Posfix.\n\n    It is also assumed you know how to configure GnuPG. Some information can\n    be found here - http://www.madboa.com/geek/gpg-quickstart/\n\n    Following text is just a proposition. Excercise your liberty to alter or\n    develop your own configuration.\n\n      - # mkdir /var/lib/mail-page/;\n      - # mkdir /var/lib/mail-page/tmp/;\n      - # mkdir /var/lib/mail-page/.gpg/;\n      - # chown nobody:root /var/lib/mail-page/;\n      - # chmod 750 /var/lib/mail-page/;\n      - # cd /var/lib/mail-page/;\n      - # chmod 700 /var/lib/mail-page/.gpg/;\n      - # gpg --homedir /var/lib/mail-page/.gpg/ --gen-key;\n      - # chown -R nobody:root /var/lib/mail-page/.gpg/;\n      - Import your public key or keys of your users\n      - # vim /etc/postfix/aliases ; and add line:\n\n      ALIAS: |/var/lib/mail-page/mail-page.pl\n\n      - # newaliases; or # postmap /etc/postfix/aliases;\n      - edit mail-webpage.pl and configure it\n      - # postfix reload;\n\nCONFIGURATION\n      use lib \u003cPATH\u003e; - path to GPGmod.pm (mandatory)\n      $debug = integer; - turns on debugging output\n      $home_dir = \u003cPATH\u003e; - base directory\n      $tmp_dir = \u003cPATH\u003e; - temporary directory used by MIME to dump messages\n\n  SMTP settings\n      $my_user = \"user\"; - e-mail alias for receiving mail-page mails(mandatory)\n      $my_domain = \"example.com\"; - our domain we're sitting at(mandatory)\n      $my_smtp = \"\"; - address of SMTP server(non-mandatory)\n\n  Plain-text email validation\n      $disable_plaintext = 1; - disables plain-text/non-signed e-mails\n      $file_users = \"\"; - ACL file with e-mail addresses(non-mandatory)\n      $mail_validity = 0; - validity score we're starting with\n      $mail_validity_min = 5; - e-mail is valid when this score is reached\n      $my_subject = \"someSubject\"; - subject of e-mail that's expected\n\n  LWP settings\n      $max_wwwpage_size = 2097152; - maximum size of fetched page\n      @protocols_forbidden = qw(file mail); - forbidden protocols\n      @proxy_schemes = qw//; - proxy protocols\n      $proxy_url = \"\"; - proxy proto:addr:port\n\n  GPG settings\n      $gpg_homedir = \u003cPATH\u003e; - GnuPG homedir(mandatory?)\n      $gpg_passphrase = \"12345678\"; - secret key passphrase(mandatory)\n      $gpg_my_keyid = \"CEB62607\"; - our secret key ID(mandatory)\n\nUsage\n    Usage is fairly simple. After everything is set up, just send an e-mail\n    for this script, say 'user@example.com'. Subject of e-mail doesn't\n    matter as long as you're using PGP. Supported \"commands\" are GET and\n    POST. Yes, you'll have to figure out which one you need, however GET\n    will do just fine in, what, 90% of cases? POST is usually used for web\n    forms.\n\n    Syntax is:\n\n      GET \u003cURL\u003e\n      POST \u003cURL\u003e\n\n    Each command must be at the beginning of the new line. Other than that,\n    it can be anywhere in the mail body.\n\nFAQ\n     Q: When is e-mail considered valid?\n     A: It depends whether e-mail is plain-text, signed or encrypted.\n     - Plain-text checks for header fields and is really not recommended to use\n     - Signed e-mail has its signature verified and signature must be known\n     - Encrypted e-mails are probably obvious; decryption must be successful\n\n     Q: Why have you used GPG.pm?\n     A: Because it was the only one that worked. I've started with GPG.pm, then\n    found out it was missing some features and it actually was abandoned by its\n    original author. So I've tried couple other packages, which didn't work one\n    way or another, and ended up back with GPG.pm. I've hacked in features I wanted\n    and here we are.\n    If you come up with better solution, if you actually do one, let me know ;)\n\n     Q: Why don't you use GPG MIME?\n     A: Well, actually I had. Actually, I think it was working properly. However,\n    it didn't with Enigmail in Mozilla Thunderbird. Ok, I don't know for sure.\n\n     Q: What's the origin of this script? Where did it come from?\n     A: RMS pitched this idea in one of his interviews. He said he's never browsing\n    intranet from his own computer and that he has script like this. He didn't share\n    details and I didn't look for any. I used my imagination and implemented GnuPG\n    encryption, because e-mails are monitored nowadays.\n    It is even possible something like this exists already and is freely available.\n    Again, I didn't look for it, I wanted to try and do it myself.\n\n     Q: Don't you think this is somewhat pointless since we have projects like Tor?\n     A: No. More tools, more ways we have, better. This might not be the best, might\n    not be the brightest and perhaps outdated, but I still think it's worth having.\n\nKnown Issues\n    When updating GnuPG keys files do get chowned to root, resp. to UID used\n    to update keys. There are two ways to solve it. First, simply watch out.\n    Second, use user, eg. nobody, that's supposed to own these files :)\n\n    Error handling is somewhat ... terrible. I believe it could be solved by\n    writing up function that would mail error to postmaster, or whatever. On\n    the other hand, I think MTA will handle this once message \"time-outs\" in\n    queue.\n\n    Be careful! Even though you don't view web page directly, I've seen\n    pages that I'll load all the missing content from web, eg. pictures,\n    CSS, scripts. Yes, it means they'll rat you out.\n\n    Debugging might be a problematic. What proven to be a good method is to\n    save e-mail into file, and then just % cat file.txt | perl\n    mail-webpage.pl ; with debug on.\n\n    I can't and won't claim all issues are handled and accounted for.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzstyblik%2Fmail-wwwpage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzstyblik%2Fmail-wwwpage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzstyblik%2Fmail-wwwpage/lists"}