RouterOS API library for C

Sometimes I get these ideas in my head that I just have to write out.

librouteros is one of those.

If you need to check data or do periodic updates, or similar stuff to a RouterOS device from a script or program, you should use the RouterOS API. This is an open API that you can read about on Mikrotiks wiki pages.

Earlier I have made a RouterOS API implementation in Flash ActionScript3. You can find it on the wiki page I just linked to. This time I felt that all C implementations of the routeros-api has been either over complicated, or too simple. And by complicated, I don’t mean in a good way. They are just hard to use without any special gain for being complicated.

I set up to create a simple API to talk to the router. At first I just created a “proof of concept” with blocking sockets. But my initial idea was to create a library that supported “asyncronous” data from the devices using the “.tag” support in the API. So now, the current version of my library supports using callbacks to handle scheduled commands. This means that you can send “monitor” commands, and automatically receive updates from the routeros device just when data changes.

Since I made this in two stages, I decided to leave the support for the “simple” interface which uses blocking sockets, for those who just want to send a simple command and read the response. But for the more advanced user, you can use the non-blocking interface where you define callbacks for the commands you send, and handle them asynchronously inside your own run-loop.

int main(int argc, char **argv) {
	struct sockaddr_in address;
	int len;
 
	if (argc < 4) {
		fprintf(stderr, "Usage: %s   \n", argv[0]);
		return 1;
	}
 
	conn = ros_connect(argv[1], ROS_PORT); 
	if (conn == NULL) {
		fprintf(stderr, "Error connecting to %s: %s\n", argv[1], strerror(errno));
		return 1;
	}
 
	if (ros_login(conn, argv[2], argv[3])) {
		struct ros_result *res;
 
		printf("Interfaces:\n");
 
		res = ros_send_command_wait(conn, "/interface/print", "=stats", ".tag=kake", NULL);
		while (res && res->re) {
 
			printf("  %20s  %20s  %20s  %20s\n", ros_get(res, "=name"), ros_get(res, "=type"), ros_get(res, "=rx-byte"), ros_get(res, "=tx-byte"));			
 
			ros_result_free(res);
			res = ros_read_packet(conn);
		}
		ros_result_free(res);
 
		ros_disconnect(conn);
	} else {
		fprintf(stderr, "Error logging in\n");
		return 1;
	}
 
	return 0;
}

Above you see a simple example of how to fetch info from the /interface/print command. This is using the simple blocking portion of the library.

For the non-blocking, main-loop based example of fetching the same information, there is a lot more code, so instead of putting it inline here, you can check the example file in the git repository. This example is a bit larger because I am also setting up the mainloop using select(), etc. But if you really go through the code, it’s not that much more code. It’s quite simple to use.
The callback “handleInterface” gets called when each “sentence” is returned from the command. I have added a “task” counter, to exit the program immediatly after all the interesting data is retrieved.

I have also created two ways of generating a “sentence” to send to the router-os device. As you see in the Mikrotik API specification, you need to generate a “sentence” using a series of “words” (read: key value pairs).

The simplest way, when you have a static amount of words you want to send, you can use the simple variable-parameter function ros_send_command_cb(), specifying all your words in a row, finishing with the last parameter to the command being NULL.

ros_send_command_cb(conn, handleInterface, "/interface/print", "=stats", NULL);

But if the amount of parameters is dynamic, you should rather build the sentence one word at a time, like this:

/* Build the sentence */
sentence = ros_sentence_new();
ros_sentence_add(sentence, "/system/resource/print");
ros_sentence_add(sentence, "=.proplist=uptime,cpu-load");
 
/* Send the sentence */
ros_send_sentence_cb(conn, handleUptime, sentence);
/* Free the sentence */
ros_sentence_free(sentence);

In this example, you could easily have a if() scope around the last word (the one with .proplist), making it optional, etc. But remember to free the sentence using ros_sentence_free(sentence) after you have sent the sentence. Look at the example, or any of the other example files, if you don’t understand my poor English.

I have tested this library with valgrind all the way under development and it is clean from memory leaks as far as valgrind knows. And it should be completely thread safe. I have also compiled and tested the library on Windows XP, Windows CE, Pocket PC, Mac OSX (console and app) and iPhone IOS. There is no need for modifications of the code base.

Please leave a comment or mail if you like this library, or decide to use it in a project.

Last commits on librouteros-api on GitHub

Posted December 22nd, 2012 in Uncategorized.

:

  1. BURGERPaW:

    auto city dallas

    Fsu web portal ) Video
    FSU Registration Guide Fsu web portal University Registrar Home Registration Guide Summer Academic Calendar Helpful Links Summer 2019 Academic Calendar Note: The dates and times listed below are subject to change. Please refer to https://registrar.fsu.edu/registration_guide/summer/academic_calendar/ for the most up-to-date information. Note: Panama City Campus students must convert all times to Central Time unless already noted. Note: For International Program (IP) session Summer term dates, please refer to the “IP Sessions” portion in this chapter of the Registration Guide. Main Campus Dates May 13–Aug 2 (12 week) May 13–June 21 (6 week 1) June 24–Aug 2 (6 week 2) May 13–July …
    The post Fsu web portal ) Video appeared first on Quote .

    Chicago Business
    BONUS 200 FREE DOFOLLOW Links SITE

    http://tdunlimited.com/index/8-136023
    http://gis3d.cn/home.php?mod=space&uid=2862
    http://thesatgurugroup.com/2017/08/26/hello-world-3/#comment-2034
    http://orshagorodmoy.info/forum/47-284-252#54177
    http://dudubeat.ru/blog/festival-duduka-v-moskve-30-aprelya/#comment_48357/
    http://www.capa9.net/portada/resumen-mensual-mayo-2015/#comment-7635/
    http://thaimaizeandproduce.org/index.php/about-us.html
    http://www.thesterlingstandard.com/2017/11/21/thankful-for-women-empowering-women/#comment-201081/
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message799136/
    http://intecv.ru/otzyvy-o-produktsii/
    http://matazaemon.air-nifty.com/mansion/2004/08/post.html
    http://sen.wpblog.jp/2017/05/25/2017-05-25-18-00-06/comment-page-3450/
    http://logan-tomaszewski.pl/proby/200/pj-proby-skonczyl-72-lata/
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message1164755/
    http://yourmadonna.com/f/sendmessage.php
    http://forum.autorubik.sk/forums/tema/news-jacksonville-finance-daily-news-http-travels-remmont-com/
    http://900grados.es/foro/index.php
    http://forum.aunbox.com/member.php?520655-MACKa
    http://bioreef.com.ua/index.php
    http://assassingame.ru/forum/13-11-19#2734
    http://en-invest.com/user/REMONTdync/
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message1163789/
    http://forum.muratordom.com.ua/album.php?albumid=4406474
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message798974/
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message1162590/
    http://www.cosfans.net/space-uid-82807.html
    http://bkru40.bget.ru/users/REMONTkabe
    http://superficialstyle.com/2018/08/28/excuse-my-french-im-in-france-again/#comment-96409/
    https://mycollegedorm.org/forums/forum/welcome-to-our-dorm-room-forum/
    http://magman.it/2015/01/19/ciao-mondo/#comment-368/
    http://neverknowsbest.txt-nifty.com/tranceblog_style/2007/02/post.html
    http://icydier.co.il/member.php?5962-IZRAELNimb
    http://amgarmy-forum.com/forum/introduction/strictly-amg/531-get-a-free-credit-score-report
    http://forum.autorubik.sk/forums/tema/details-canada-finance-fresh-news-http-autos-nef2-com/
    http://tomosato5221.blog.fc2.com/blog-entry-184.html
    http://alfaseeh.net/vb/index.php
    http://sen.wpblog.jp/2017/05/25/2017-05-25-18-00-06/comment-page-3846/
    http://www.flickanistaden.nu/ojd/#comment-23023
    http://www.beijingolympicclub.com/archives/41406/comment-page-69#comment-1348902/
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message798831/
    http://www.thesterlingstandard.com/2018/07/03/meet-girlboss-juliette-cho/#comment-205628/
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message798868/
    http://10bestplacestoretire.com/
    http://superficialstyle.com/2018/08/28/excuse-my-french-im-in-france-again/#comment-96392/
    http://diendancongnghe.com.vn/threads/citizens-auto-insurance.77766/
    http://gdrr.info/page/index.php
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message799087/
    http://mauertaktik.de/tippspiel/comment-page-2568/
    http://www.thesterlingstandard.com/2017/11/28/holiday-gift-guide-gifts-under-100/#comment-204925/
    http://lukaszgarus.pl/2018/09/27/dlaczego-warto-glosowac-na-lukasza-garusa-z-koalicji-obywatelskiej/#comment-165/
    http://tiny-footprint.org/forum/topic/analytics-memphis-finance-current-news-remmont-com/
    http://thenaykedtruth.com/2018/04/the-hidden-science-behind-starbucks/#comment-77251/
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message1162571/
    https://blog.goo.ne.jp/last_blade/e/64f829e2926283de4184a6ac14e4dea9?st=0
    http://squidboards.com/
    http://taxies.es/el-proyecto-la-organizacion-actual/#comment-21241/
    http://geekyantics.net/join-gang-community/
    http://allpartnerki.com/index/8-17489
    https://www.beautyboard.de/showthread.php/281019-how-to-see-credit-report-for-free?p=4151161#post4151161
    http://www.rudecom.ru/index/8-332625
    https://www.hardwareecke.de/showthread.php/84626-credit-one-credit-card-payment-login?p=684248#post684248
    http://forum.autorubik.sk/forums/tema/facts-degree-news-current-news-rental-remmont-com/
    http://9188qhl.com/space-uid-51093.html
    https://rozandi.ru/blog/poyavilsya_sait/#comment_3235/
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message1164715/
    http://www.thesterlingstandard.com/2017/11/21/thankful-for-women-empowering-women/#comment-204781/
    http://gocheats.eu/index.php
    http://sen.wpblog.jp/2017/05/25/2017-05-25-18-00-06/comment-page-3891/
    http://forum.game-kosmos.org/index.php?threads/home-insurance-rates.5396/
    http://www.xn--foropiragismo-4ob.com/member.php?u=4444
    http://skimag.vo.uz/index/8-1340
    http://www.nissanexa.com/member.php?54568-IZRAELVus
    http://www.egeteka.ru/forum/user/41936/
    http://www.schoolrobotgames.be/question/auto-insurance-california/
    http://www.latesttechnicalreviews.com/forums/topic/news-interior-news-advanced-news-remmont-com/
    http://oceanparknails.ca/portfolio/aromatherapythai-massage/#comment-1588/
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message798649/
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message799311/
    http://old.uralgufk.ru/user/REMONTpoox/
    http://free-clips.biz/index/8-9931
    http://realresultssalestraining.com/
    http://bitecek.com.tr/boards/topic/301753/compare-car-insurance
    http://downtowncafe.re/dj-m-rick/comment-page-13320/#comment-1373169
    http://www.rgvcycles.com/forums/showthread.php?15538-how-to-get-my-beacon-score&p=80981#post80981
    http://forum.stalkerz.biz/index.php
    http://www.aktau-business.com/forum/cat-women/topic-19569-page-4.html#post443364
    https://ecobiocentre.ru/forum/user/37840/
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message1160995/
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message1098019/
    http://ukrainakomi.ru/forum/messages/forum3/topic110/message798915/
    http://greencard.nvs.by/forum/viewtopic.php?f=18&t=19671
    http://blog.wirtualnemedia.pl/eli-barbur/post/orientalna-kolysanka#comment-141711/
    http://sen.wpblog.jp/2017/05/25/2017-05-25-18-00-06/comment-page-3172/
    http://www.coplaymedia.com/community/profile/israelfeed/
    http://dyuutod2011.cocolog-nifty.com/blog/2014/06/1kd-7576.html?cid=117623077#comment-117623077
    https://sen.wpblog.jp/2017/05/25/2017-05-25-18-00-06/comment-page-4772/
    https://www.steroidology.com/forum/members/michaelbip.html
    https://sen.wpblog.jp/2017/05/25/2017-05-25-18-00-06/comment-page-4666/
    http://mycollegedorm.org/forums/topic/news-furniture-news-current-news-remmont-com/
    http://www.thesterlingstandard.com/2017/11/28/holiday-gift-guide-gifts-under-100/#comment-205239/

    https://www.ozelhaber.tv/mhp-2015-secim-sarkisi-bizimle-yuru-turkiye.html?unapproved=3710&moderation-hash=7555d6150c4551c74103af6431aab844#comment-3710
    http://anonymouspoem.com/black-sheep/?unapproved=40227&moderation-hash=4956140c6a79c9dacf5a805cdf040ed6#comment-40227
    http://www.lucky-slots.co.uk/isoftbet-featuring-typescript-present/?unapproved=9920&moderation-hash=594a55cd63bc7432899b4f8bf701c46c#comment-9920
    http://maxtoutdance.com/get-to-know-your-judges-maxt-out-xiii-blog/?unapproved=42565&moderation-hash=b5ed54218c3e373af48e922b742c5255#comment-42565
    https://ubermedia.com/global-womens-mentoring-partnership/?unapproved=27735&moderation-hash=ebaac2018742eec638e1870aaeda1759#comment-27735
    https://tolosachildrensdental.org/periodontal-ce-topic-draws-much-interest/?unapproved=271428&moderation-hash=cd3fc271cf92a90b43688cdd6fab1e5a#comment-271428
    http://losastiaus.fr/dernieres-actus/?unapproved=39692&moderation-hash=b401e99e2a7ace78d7c245ff937a4f98#comment-39692
    http://heididubois.com/2015/11/my-article/?unapproved=29810&moderation-hash=a13676e2534f508ee30509e7c4ca22cb#comment-29810
    https://nuig.insight-centre.org/bmda/2016/04/20/hello-world/?unapproved=13893&moderation-hash=e922b948fbff0392ff3e54d82575fb2a#comment-13893
    http://www.badanabi.com/ads/adana-escortlarindan-tugba/?unapproved=6453&moderation-hash=d72d247d37fd1eb01e4e1e315d8cc9bb#comment-6453
    http://biesiada-krakow.com/oferta/?unapproved=4403&moderation-hash=98c355d42038d402ecf2afd783e6fc16#comment-4403
    https://www.mysmarthands.com/realistic-camping-tips-for-children/?unapproved=8363&moderation-hash=03d3fd704feb38ea37abaf0bcfffd1c4#comment-8363
    https://maroc.startupcup.com/top10-startups-presenting/?unapproved=33935&moderation-hash=98403a0a420f60b7cd67ab376358d1c0#comment-33935
    http://dedotclothing.com/?page_id=99&unapproved=5526&moderation-hash=d05bcd6e0edf514ff3472092d3acdcfd#comment-5526
    https://goststandart.su/sertifikatsiya-produktsii-tsena?unapproved=6117&moderation-hash=f5fcb5aa03776a8162bb23aa957dc9d8#comment-6117
    https://vacatures-op-het-hbo.nl/hello-world/?unapproved=10414&moderation-hash=79272f9921952454b631903684a0b285#comment-10414
    http://zmish.com/2015/09/zmish-recommends-love/?unapproved=23600&moderation-hash=288544acf76bb94dfcbff3e7aeef21f1#comment-23600
    https://cestujte-s-nami.cz/dolni-rakousko-tip-na-vylet-do-prirody/?unapproved=190361&moderation-hash=f15540a9f818d8cee80bc1a104cab548#comment-190361
    http://ubfm.net/more-than-a-meal/?unapproved=126807&moderation-hash=86958730d7a0398c054f71687d74a95c#comment-126807
    https://www.lieses.nu/avocadosmaaksensaties/?unapproved=3410&moderation-hash=22caef981a5f0eef3b160ce5d2cec39b#comment-3410
    https://sachjournal.blog/2019/04/das-handwerk-boomt-der-nachwuchs-fehlt/?unapproved=1041&moderation-hash=35e6fbe09dd2c894aa63637ff813fae6#comment-1041
    http://trainerkait.com/2018/10/how-to-choose-the-best-protein-powder-for-you/?unapproved=44000&moderation-hash=7d3da3c57c689c029cf2331884215dd1#comment-44000
    http://ab-expereince.info/looking-forward/?unapproved=35925&moderation-hash=8632505690c92024fe582e515b0407e1#comment-35925
    http://www.margaretmagruder.com/testimonials/?unapproved=14914&moderation-hash=571d5ac3f589e06c819eeb8e94272b89#comment-14914
    http://cykor-life.com/2014/01/25/schastlivey-vseh/?unapproved=34014&moderation-hash=929ff2850e0110bed8463123c686004e#comment-34014
    http://pybar.ir/en/zanganeh-iran-capable-of-exporting-20m-litersday-gasoline/?unapproved=19051&moderation-hash=a7860995d966b399990c90d25e0890e2#comment-19051
    http://www.teacherpaul.com.br/ingles-carreira-2/?unapproved=32922&moderation-hash=f902ff9f5570ea84cfacaeb69fe6f6bf#comment-32922
    https://alloymedia.com.au/varied-premiums-on-health-insurance-discussed/?unapproved=41291&moderation-hash=67579ab7636c4261aa0e49c4621bca2e#comment-41291
    http://www.ake-boa-dieteticienne.com/meilleures-tondeuses-nez-oreilles/?unapproved=4689&moderation-hash=15026faa430e7ded63264e33c0fc9690#comment-4689
    http://bodhisarango.com/seminar-topics/?unapproved=250181&moderation-hash=5cbb29ca5081a071db96f065d87a7209#comment-250181
    http://stephenniday.com/hello-world/?unapproved=5386&moderation-hash=4235c2747091f2d4a43f8ab51dc5c2ff#comment-5386
    http://petitcotillion.com/2016/07/summer-lawn-games-for-kids/?unapproved=50353&moderation-hash=2931f4e1fc3fd8556189e94428c70336#comment-50353
    http://kulwinderportfolio.com/?unapproved=2657&moderation-hash=122b1f5a6ea3ac260672790b29ff5ecb#comment-2657
    http://tomatian.cocolog-nifty.com/blog/2017/01/post-649e.html
    https://snickerss.ru/?unapproved=2942&moderation-hash=8a5727cb36c400ceacbbfdd9a215a0e1#comment-2942
    http://pdmsurakarta.org/weighing-the-pros-and-cons-of-online-cna-classes/?unapproved=9740&moderation-hash=88aa8a9c002a298acccf48b3ecd40b33#comment-9740
    https://webshop.eentheelepelgeluk.nl/product/dress-ola-little-apple-blue/?unapproved=10275&moderation-hash=929088f1af2b7726dae461b5c49d3282#comment-10275
    http://keratinthreestar.com/2016/06/hello-world/?unapproved=18124&moderation-hash=1e35fbc50179a1665b9ea9b9cf3943d4#comment-18124
    http://lawnsense.net/hello-world/?unapproved=1098&moderation-hash=3faba03241eb4cbce6ee1b3eff2df4e1#comment-1098
    http://pacchargersfootball.com/youth-leagues-stress-concussion-safety/?unapproved=17903&moderation-hash=b66cc5dbe7c71adf894d3ecca6aebd96#comment-17903
    http://kitchenofsharon.com/trying-out-inglot/?unapproved=9637&moderation-hash=be4788e58f79c21495756c3c6ec8768c#comment-9637
    http://www.xbot.com.br/help_robodeck/?unapproved=2322&moderation-hash=657e5042968de0cb91fdd45784a120b0#comment-2322
    https://propartner.se/produkt/earplanes/?unapproved=8132&moderation-hash=f98f3d66c72c1fad4067cfcd79d0ea5c#comment-8132
    http://netyeah.info/mirror-in-the-bedroom-ideas/mirror-in-the-bedroom-ideas-simple-mirror-in-a-black-frame-as-a-headboard-mirrored-furniture-bedroom-ideas/?unapproved=1696&moderation-hash=8256144e90c28bfa2c6a8c979fb3fe3b#comment-1696
    https://immanuelvalpo-school.org/ben-hiscox-2/?unapproved=3030&moderation-hash=2340ecc14cd5335db72ffda0a388aca6#comment-3030
    http://fungirlgalleries.com/bailey-knox-on-honeymoon/?unapproved=106739&moderation-hash=8ef52599e3ba7d97e1a862a877e465ac#comment-106739
    http://www.pratikyazar.com/tunus-isi-patif-motifi-yapim-semasi-ve-ornekleri/?unapproved=33508&moderation-hash=18b88dce7e526dd381b97f61d829f804#comment-33508
    https://www.stickman-soccer.net/tb/comment-page-1/?unapproved=827418&moderation-hash=f05ca466e6edc12db190836fe59ec978#comment-827418
    https://www.kitchencabinetsandbeyond.com/preparing-kitchen-remodel/?unapproved=8528&moderation-hash=92cf84a66e7a3275264eb94f59e132b9#comment-8528
    http://techloottricks.in/2017/04/earn-1000-through-phonepe-app/?unapproved=75377&moderation-hash=6943ab3c7217eee643f0056a49ae7ce7#comment-75377
    http://420iq.com/uncle-murda-taps-in-with-e-40-the-marijuana-culture/?unapproved=78367&moderation-hash=89b386a3f76a3d88cb8c749c62806abb#comment-78367
    http://www.dhinychapter.org/vincent-gallo/?unapproved=14523&moderation-hash=01763779878aace9ca010d3febb20852#comment-14523
    http://www.southernandadorn.com/page/#comment-300328
    http://chxwithsole.com/true-playa-pharrell-x-adidas-nmd-hu-trail/?unapproved=36945&moderation-hash=7ef71fd46f6a4fd836732cbc42d9bdeb#comment-36945
    http://www.technoreply.com/wie-findet-man-das-passende-shopsystem/?unapproved=5281&moderation-hash=b9562f672b233b8d770a97d73b9246c2#comment-5281
    http://emmanuelssalon.com/stilysts/?unapproved=27046&moderation-hash=78d41ac933ea6ad6c40e6d9d7ec5cab2#comment-27046
    http://charlynshelton.com/nobody-special-introduction/?unapproved=22081&moderation-hash=28df3c0362a67d818b3aea61fbcb4318#comment-22081
    https://foxscottage.co.nz/product-detail-1/?unapproved=31123&moderation-hash=c56e89d764cbb117b82699e0077cc045#comment-31123
    http://wirsindkopiloten.com/ausruestung/elektrik-onboard/?unapproved=22443&moderation-hash=6967289e45c2582cf71ba13af14934c8#comment-22443
    https://www.whut.org/home/communityadvisoryboard/?unapproved=56968&moderation-hash=2b5072dc91b2c413d16b468945fd19d3#comment-56968
    http://creating-solutions.com/have-a-better-fight/?unapproved=5102&moderation-hash=41007c5dfd79470f9534719c825461b8#comment-5102
    https://www.robertgameplay.com/0929367?unapproved=53456&moderation-hash=cb446b277a55e7480ce9e3c9dfcefd91#comment-53456
    http://czyszcze.bloggg.pl/2013/10/23/profesjonalne-maszyny-czyszczace/?unapproved=26096&moderation-hash=d030f50018b61076953b0cc9f14965f4#comment-26096
    https://uskudarservis.ustaelektrikci.com/guzeltepe-elektrikci/?unapproved=23326&moderation-hash=ffe2e6b1a813cabd765bf46bef50d554#comment-23326
    https://aidnetafrica.org/hello-world/?unapproved=1760&moderation-hash=284815142e85df03cd71a09ddf3c1733#comment-1760
    http://danielmarques.me/pedigree-vs-no-pedigree-en-pettito/?unapproved=2663&moderation-hash=a6e6943ae815082161ff5a1ad27ca1d9#comment-2663
    http://www.hawksnetball.co.uk/hawks-agm/?unapproved=21643&moderation-hash=5b49de4b2dd6c615b9b24cd8de8fe039#comment-21643
    https://terrazas.impersil.one/2018/01/31/reparacion-de-terraza-privada/?unapproved=7448&moderation-hash=12270314bf885feb19f27d05cf8a18c3#comment-7448
    http://imagined.pics/hello-world/?unapproved=2308&moderation-hash=e57485c7b26bc23a117c2a9223d06e21#comment-2308
    https://sslc.org.in/goa-board-hssc-12th-result-2015/?unapproved=10180&moderation-hash=495a782ae4f783f36d2b47cb2d12cc1f#comment-10180
    http://lavishhairandmakeupstudio.com/8-healthy-hair-tips/?unapproved=17819&moderation-hash=d23a40ba718c3197b3185990cb6bcb6f#comment-17819
    http://kiwi-wandering.com/von-den-gefaehrten-walen-und-sonnenschein/?unapproved=55785&moderation-hash=6a6cecd6191ff71ef8aeecee1bf3d3e1#comment-55785
    https://networthplanet.com/richest-actors/paul-walker-net-worth.html?unapproved=28671&moderation-hash=24de4063fdd5769348df223d92144288#comment-28671
    http://informationstar.org/hello-world/?unapproved=18351&moderation-hash=9f2fe4e144270c98a53e4b3e7c4095e5#comment-18351
    http://www.brookswoodstudio.net/?unapproved=30317&moderation-hash=a2140202cdffe6e9334be67940965d18#comment-30317
    http://jannickeshjemmekos.no/strikkia-no/?unapproved=12695&moderation-hash=77d8e20fca96bd6f02a995658d5ff785#comment-12695
    http://theboldesttype.com/tweexy-the-original-nail-polish-bottle-holder/?unapproved=5215&moderation-hash=0bc35edb9d4603f2244d53031905326d#comment-5215
    https://smallgroups.icf-bern.ch/familienvaeter-in-action/?unapproved=4665&moderation-hash=2663e0babf50b016ca86a7cd044598dd#comment-4665
    http://www.oryantiringciyiz.com/member.php?action=profile&uid=7287
    http://blog.energiefitness.in/2017/12/28/hello-world/?unapproved=8830&moderation-hash=a1ca85e0b615198af1eda52e5cf7f442#comment-8830
    http://inovisa.pt/en/hello-world/?unapproved=6536&moderation-hash=af1403862475c5f2fd88dc266faf96a2#comment-6536
    https://elmwoodeducation.co.uk/product/c3-c4-edexcel-practice-exam-papers/?unapproved=27278&moderation-hash=416140d7d2eff5fab45defdbd0478c37#comment-27278
    http://systeme-gust.fr/enseignement-dune-technique-kyusho/?unapproved=2362&moderation-hash=364e762d0ce65c5dd89a36b8afdf0341#comment-2362
    https://news-sci.com/ukces-offsite-construction-skills-project-completed/?unapproved=6746&moderation-hash=ea845832bc16a28f6cb020a6aef797a9#comment-6746
    https://tribesadozen.com/festive-almond-cherry-quinoa/?unapproved=27749&moderation-hash=edee52be535b97a08c61a2abe9cd8244#comment-27749
    http://bodasgay.mx/smoking-para-ellas/?unapproved=7124&moderation-hash=21a68d424dd7621719499f0e14e8407f#comment-7124
    https://steel-windows.info/schuco-windows-models-review/?unapproved=29081&moderation-hash=c9a95161806e298015fbc2ca8341837a#comment-29081
    http://bigfishphotographyblog.com/time-to-return/?unapproved=23862&moderation-hash=f8c1657fd0cd6f13bc00bb007b4ea527#comment-23862
    http://blog.danevansmedia.com/2014/10/fotsz-capow/?unapproved=3438&moderation-hash=48da038265a6c59f98ce87d5a70ff559#comment-3438
    http://aggiesabroad.org/hello-world/?unapproved=4492&moderation-hash=7d0898b39a494b60b63d9ef0d4e8c161#comment-4492
    http://www.halogensings.com/?p=1&unapproved=20381&moderation-hash=5e7346cbedddb9c481890fe08aa78959#comment-20381
    http://poppiiking.xyz/not-another-hood-book/?unapproved=3591&moderation-hash=70624fc3519a7e72c98bfd639a8738bb#comment-3591
    http://lapetitemadameblog.com/wedding-season-is-coming/?unapproved=14037&moderation-hash=25ca7c1bda59a074ceb5b17fc04d816f#comment-14037
    http://www.intentionallydomestic.com/add-color-to-your-diet-plant-based-foods-when-animal-foods-arent-healing-your-gut/?unapproved=273523&moderation-hash=2908bd8cab88c8ad5ffb1f776f5a384d#comment-273523
    http://www.hotelromagnolo.com/?unapproved=1315&moderation-hash=7ce3cb7c3149eaec03f52184b880ef46#comment-1315
    http://ecomirgroup.com/summer-2011-in-brooklyn?unapproved=5619&moderation-hash=9742b5dff97f32604e4dbe9f93151bd9#comment-5619
    http://tastatur-blog.de/?p=1&unapproved=18234&moderation-hash=ef65f29d8353b3cfbdfd8bfb1033ff19#comment-18234
    https://dialedinlocal.com/blog/how-google-penguin-4-0-will-affect-your-seo-2/?unapproved=2709&moderation-hash=ff99b3c418623080d3a2cdce03280392#comment-2709
    http://www.terrapinrestaurant.com/thanksgiving-turkey-brine/?unapproved=28182&moderation-hash=95da3a696bf3abe02419a7ac73af73ca#comment-28182
    http://wangluodasai.wicp.net/archives/102?unapproved=2208&moderation-hash=0b229261656115538514253a1d461d4c#comment-2208

    Your comment is awaiting moderation.

Leave a response: