All Projects → edsu → Anon

edsu / Anon

Licence: other
tweet about anonymous Wikipedia edits from particular IP address ranges

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Anon

Integrations
Connect your App to Multiple Messaging Channels with the W3C Open standard.
Stars: ✭ 721 (-21.29%)
Mutual labels:  twitter
Tweetinvi
Tweetinvi, an intuitive Twitter C# library for the REST and Stream API. It supports .NET, .NETCore, UAP (Xamarin)...
Stars: ✭ 812 (-11.35%)
Mutual labels:  twitter
Tweetstorm
tweetstorm
Stars: ✭ 18 (-98.03%)
Mutual labels:  twitter
Notify
A dead simple Go library for sending notifications to various messaging services.
Stars: ✭ 727 (-20.63%)
Mutual labels:  twitter
Reality
Comprehensive data proxy to knowledge about real world
Stars: ✭ 795 (-13.21%)
Mutual labels:  wikipedia
Twittervideouploader
Upload Short vido to Twitter
Stars: ✭ 5 (-99.45%)
Mutual labels:  twitter
Tweetscraper
TweetScraper is a simple crawler/spider for Twitter Search without using API
Stars: ✭ 694 (-24.24%)
Mutual labels:  twitter
Top
The daily list of Wikipedia's most-visited articles
Stars: ✭ 19 (-97.93%)
Mutual labels:  wikipedia
Twitter Kit Android
Twitter Kit for Android
Stars: ✭ 808 (-11.79%)
Mutual labels:  twitter
Ios Twitter Text Counter
This custom UIControl resembles Twitter's new progress based web UI that represents the number of characters left. It also handles highlighting any extra characters in your UITextView.
Stars: ✭ 17 (-98.14%)
Mutual labels:  twitter
Twitter
Twitter API for Laravel 5.5+, 6.x, 7.x & 8.x
Stars: ✭ 755 (-17.58%)
Mutual labels:  twitter
Wikiquiz
Generates a quiz for a Wikipedia page using parts of speech and text chunking.
Stars: ✭ 778 (-15.07%)
Mutual labels:  wikipedia
Um Twitteremojianalysis
Twitter Emoji Analysis
Stars: ✭ 6 (-99.34%)
Mutual labels:  twitter
Twitterapi
Minimal python wrapper for Twitter's REST and Streaming APIs
Stars: ✭ 724 (-20.96%)
Mutual labels:  twitter
Wikipediarelatedness
The Wikipedia Relatedness library
Stars: ✭ 18 (-98.03%)
Mutual labels:  wikipedia
Trump2cash
A stock trading bot powered by Trump tweets
Stars: ✭ 6,054 (+560.92%)
Mutual labels:  twitter
Social Network Harvester V1.0
Stars: ✭ 5 (-99.45%)
Mutual labels:  twitter
Fakemenot
Application to check authenticity of Twitter screenshots. Written in Python 🐍
Stars: ✭ 22 (-97.6%)
Mutual labels:  twitter
Media Bias
Measures public sentiment on Twitter towards politicians
Stars: ✭ 18 (-98.03%)
Mutual labels:  twitter
Twitter Post Fetcher
Fetch your twitter posts without using the new Twitter 1.1 API. Pure JavaScript! By Jason Mayes
Stars: ✭ 886 (-3.28%)
Mutual labels:  twitter

anon

Build Status Gitter chat

anon will watch Wikipedia for anonymous edits from a set of named IP ranges and will tweet when it notices one. It was inspired by @parliamentedits and was used to make @congressedits available until the account was suspended by Twitter in 2018. An archive of the @congressedits tweets up until that point is available. For more about why the @congressedits accounts was suspended see this article from The Wikipedian. anon is now being used by a community of users to post selected Wikipedia edits to Twitter.

anon can also send updates on GNU Social / Mastodon (see below)

Run

To run anon you will need to:

  1. install Node (v6 or higher)
  2. git clone https://github.com/edsu/anon.git
  3. cd anon
  4. npm install
  5. cp config.json.template config.json
  6. add twitter credentials for your bot to config.json (make sure the Twitter app you create has read/write permission so it can tweet)
  7. add IP ranges/names to config.json
  8. modify status template if desired
  9. ./anon.js (you may want to use our shared instance in Wikimedia Labs, see below)

IP Ranges

You will notice in the example config.json.template that you can configure ip address ranges using a netmask:

"143.231.0.0/16"

or with an array of start/end IP addresses:

["143.231.0.0", "143.231.255.255"]

These two are equivalent, but the former is a bit faster, and easier to read. The latter is convenient if your range is difficult to express using a netmask.

If you would like your configuration file to reference the IP addresses in the external file just use the filename. So instead of:

{
  "nick": "anon1234",
  "accounts": [
    {
      "consumer_key": "",
      "consumer_secret": "",
      "access_token": "",
      "access_token_secret": "",
      "template": "{{page}} Wikipedia article edited anonymously from {{name}} {{&url}}",
      "ranges": {
        "Home Network": [
          ["192.168.1.1", "192.168.255.255"]
        ]
      }
    }
  ]
}

you would have:

{
  "nick": "anon1234",
  "accounts": [
    {
      "consumer_key": "",
      "consumer_secret": "",
      "access_token": "",
      "access_token_secret": "",
      "template": "{{page}} Wikipedia article edited anonymously from {{name}} {{&url}}",
      "ranges": "ranges.json"
    }
  ]
}

Mastodon

If you want to send messages on Mastodon you'll need to create an application and then get an access token for the account you want to send on. A utility is included to help you do that:

npm run mastodon

Debugging

If you would like to test without tweeting you can run anon with the --noop flag, which will cause the tweet to be written to the console but not actually sent to Twitter.

./anon.js --noop

If you would like to see all the change activity (URLs for each change) to test that it is actually listening, use the --verbose flag:

./anon.js --verbose

Alternate Configuration Files

By default anon will look for a config.json file in your current working directory. If you would like to specify the location of the configuration file, use the --config parameter:

./anon.js --config test.config

Running on Wikimedia Labs

We have a shared instance of anon running on Wikimedia Labs. This is useful once you have a configuration that is working and you'd like to have the running instance in labs use it.

With Docker

Build image

  1. git clone the repo
  2. cd anon
  3. docker build . -t anon

Run image

  1. create your config.json file
  2. docker run -v $PWD/config.json:/opt/anon/config.json anon

Develop

There is not much to anon but there is a small test suite, which might come in handy if you want to add functionality.

npm test

Which Wikipedias?

anon uses the wikichanges module to listen to 38 language Wikipedias. wikichanges achieves this by logging in to the Wikimedia IRC server and listening to the recent changes channels for each Wikipedia. So if you plan on running wikichanges be sure your network supports IRC (it can sometimes be blocked).

Here are the Wikipedias that it currently supports:

Additionally, the following miscellaneous Wikimedia sites:

If you would like to have another one added please add a ticket to the wikichanges issue tracker.

Community

Below is a list of known anon instances. Please feel free to add, in an alphabetic order, your own by sending a pull request.

License:

  • CC0 public domain dedication
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].