این دستور rpost است که می تواند در ارائه دهنده میزبانی رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
rpost - ارسال مقاله به سرور خبری NNTP
خلاصه
rpost [نام میزبان] [ @نام فایل ] [ -s | -S نام فایل ] [ -e | -E نام فایل ] [ -b فایل دسته ای
] [ -r rnews_file rnews_path ] [ -p پیشوند ] [ -Q ] [ -d ] [ -U شناسه کاربری ] [ -P کلمه عبور ] [
-M ] [ -N شماره_پورت ] [ -l عبارت_فایل ] [ -D ] [ -T تایم اوت ] [ -u ] [ -n ]
[ -F perl_file ] [ -i ] [ -z ] [ -f فیلتر $$o= filter_arg1 ... ]
شرح
Rpost یک یا چند مقاله، مشخص شده توسط نام میزبان اگر نام میزبان نیست
مشخص شده است، rpost از متغیر محیطی استفاده خواهد کرد NNTPSERVER. نام میزبان ممکن است
به صورت اختیاری شماره پورت را در فرم درج کنید میزبان: بندر در صورت استفاده از این فرم، هر پورتی
عدد مشخص شده از طریق گزینه -N نادیده گرفته می شود.
عمومی گزینه
@نام فایل
این گزینه به rpost می گوید که علاوه بر خط فرمان، گزینه های دیگری را از یک فایل نیز بخواند.
-D این گزینه به rpost میگوید که پیامهای اشکالزدایی مختلف را در ابتدا به «debug.suck» وارد کند.
برای استفاده توسط توسعه دهنده
-e|-E نام فایل
این گزینهها همه پیامهای خطا (که معمولاً در stderr نمایش داده میشوند) را به یک جایگزین ارسال میکنند
فایل. نسخه کوچک، -e، پیام های خطا را به پیش فرض کامپایل شده ارسال می کند
در suck_config.h تعریف شده است. پیش فرض suck.errlog است. نسخه بزرگ، -E،
به پارامتر نام فایل نیاز دارد. سپس تمام پیام های خطا به این فایل ارسال می شود.
-i
این گزینه به rpost میگوید که 201 (مجاز نیست) را از پیام خوشامدگویی نادیده بگیرد.
و سعی کنید و به هر حال پست کنید. برخی از سرورهای خبری (inn-2.3.1) 201 را بدون ارسال مجاز ارسال می کنند
هنگامی که آنها از دستورات AUTHINFO برای تأیید مجوز ارسال استفاده می کنند.
-l عبارت_فایل
این گزینه به rpost می گوید که به جای استفاده از فایل داخلی، در یک فایل عبارت جایگزین بارگذاری کند
پیام ها. این به شما امکان می دهد عبارات چاپ rpost را به زبان دیگری داشته باشید یا اجازه دهید
شما می توانید پیام ها را بدون ساخت مجدد سفارشی کنید. "عبارات زبان خارجی" را در
suck.1 برای جزئیات بیشتر.
-M
این گزینه به rpost می گوید که دستور "mode reader" را به سرور راه دور ارسال کند. اگر شما
بلافاصله پس از اعلام خوش آمدگویی، یک پیام فرمان نامعتبر از rpost دریافت کنید
این گزینه را امتحان کنید
-n
این گزینه به rpost می گوید که نام فایل را در حین آپلود نشان دهد.
-N شماره_پورت
این گزینه به rpost می گوید که هنگام اتصال به هاست از یک شماره پورت جایگزین NNRP استفاده کند.
به جای شماره پورت پیش فرض، 119.
-s|-S نام فایل
این گزینهها همه پیامهای وضعیت (که معمولاً در stdout نمایش داده میشوند) را به یک ارسال میکنند
فایل جایگزین نسخه کوچک، -s، پیام های وضعیت را به
به طور پیش فرض کامپایل شده در suck_config.h تعریف شده است. پیش فرض /dev/null است، بنابراین وضعیتی وجود ندارد
پیام ها نمایش داده خواهد شد. نسخه بزرگ، -S، به پارامتر نام فایل نیاز دارد.
سپس تمام پیام های وضعیت به این فایل ارسال می شود.
-T این گزینه مقدار TIMEOUT کامپایل شده را لغو می کند. این مدتی است که rpost منتظر است
داده ها از میزبان راه دور قبل از اتمام زمان و سقط.
-u این گزینه به rpost میگوید که فرمان AUTHINFO USER را بلافاصله پس از اتصال به آن ارسال کند
سرور راه دور، به جای اینکه منتظر درخواست مجوز باشید. شما باید عرضه کنید
وقتی از این گزینه استفاده می کنید گزینه های -U و -P.
-U شناسه کاربری -P کلمه عبور
اگر سرور NNTP شما نیاز دارد، این دو گزینه به شما امکان می دهد یک شناسه کاربری و رمز عبور را مشخص کنید
آنها.
-Q
این گزینه به شما این امکان را می دهد که از طریق متغیرهای محیطی، شناسه کاربری و رمز عبور را مشخص کنید
"NNTP_USER" و "NNTP_PASS" به جای در خط فرمان. این از یک پتانسیل جلوگیری می کند
مشکل امنیتی که در آن شخصی که دستور ps را انجام می دهد می تواند لاگین و رمز عبور شما را ببیند.
-z این گزینه به rpost می گوید که اگر SSL بود از SSL برای برقراری ارتباط با هاست های راه دور استفاده کند
در rpost کامپایل شده است.
STDIN MODE
rpost
نام میزبان rpost
rpost یک مقاله را از stdin می خواند و آن را به سرور NNTP می فرستد. مقاله باید داشته باشد
سرصفحه حداقل دو خط، یعنی گروه های خبری: و موضوع: و بدنه (مقاله).
سرصفحه و بدنه باید با یک خط جدید از هم جدا شوند. Rpost مقاله را تغییر نمی دهد
به هر حال.
Rpost از دستور POST برای ارسال مقاله شما مانند هر خبرخوان استاندارد استفاده می کند. این
هنگام استفاده از SLIP و PPP مفید است، زیرا اکثر ارائه دهندگان به هیچ روش دیگری اجازه نمی دهند
ارسال مقالات (مانند nntpsend یا innxmit).
دسته MODE
rpost نام میزبان -b فایل دسته ای -p پیشوند -d
این حالت دسته ای به شما امکان می دهد لیستی از مقالات را به rpost بدهید و همه آنها را پست کنید.
-b دسته فایل
فهرستی از مقالاتی که قرار است ارسال شوند. این پارامتر مورد نیاز است. این فایل حاوی
یک مقاله در هر خط، با خطی که مسیر فایل حاوی مقاله است. برای
مثال:
-b /usr/spool/news/out.going/pixi
اگر مشکلی در آپلود یک مقاله خاص وجود داشته باشد، یک فایل "ناموفق" ایجاد می شود.
آن را "batchfile" می نامند. fail، و حاوی خطی از این batchfile برای the
مقاله(هایی) که با موفقیت آپلود نشدند. از این فایل می توان برای اجرای مجدد موارد ناموفق استفاده کرد
پیام ها از طریق rpost توجه: مقالات تکراری به عنوان یک خطا برای شکست در نظر گرفته نمی شوند
فایل.
-d
در صورت موفقیت آمیز بودن آپلود مقالات، این گزینه باعث ایجاد rpost می شود
Batchfile نامگذاری شده در گزینه -b را حذف کنید.
پیشوند -p
اگر batchfile شامل یک مسیر کامل نیست، بلکه یک مسیر جزئی است، این پارامتر
باید مشخص شود. این زمانی مفید است که فایل دسته ای توسط برنامه دیگری تولید شود.
به عنوان مثال، Inn مسیر موجود در فایل out.going را نسبت به دایرکتوری پایه آن فهرست می کند
/usr/spool/news. در این صورت فقط استفاده کنید:
-p /usr/spool/news
RNEWS MODE
rpost نام میزبان -r rnews_file rnews_path
این گزینه به شما امکان می دهد از فایل(های) تولید شده rnews برای ارسال پست استفاده کنید. دوتا لازمه
پارامترها.
rnews_file - این نام پایه فایل های rnews است. اگر فایل(های) rnews خود را دارید
به نام batch1، batch2، و غیره، سپس این آرگومان "بچ" خواهد بود.
rnews_path - این مسیر به محل فایل های rnews است.
-r دسته /usr/tmp/rnews
-d
اگر آپلود همه مقالات از هر یک از فایل های rnews با موفقیت انجام شود، پس این
گزینه باعث می شود rpost آن فایل rnews خاص را حذف کند.
FILTER حالت ها
-f فیلتر $$o= filter_arg1 filter_arg2 ...
در بسیاری از موارد، قبل از پذیرش NNTP از راه دور، هر مقاله باید ماساژ داده شود. این
گزینه، و گزینه embedded perl filter زیر، به شما این امکان را می دهد. این فیلترها ندارند
در حالت STDIN کار کنید، اما در حالت های دسته ای و rnews از بالا. توجه داشته باشید که -f ....
گزینه باید آخرین گزینه باشد، زیرا هر چیزی که به دنبال آن است به فیلتر منتقل می شود.
به جز آنچه در زیر ذکر شده است. سه پارامتر مورد نیاز با این وجود دارد:
$$o= - نام فایل تولید شده توسط فیلتر شما است که دریافت می شود
روی سرور NNTP راه دور آپلود شد. این به برنامه فیلتر شما منتقل نمی شود. این می تواند
در هر نقطه از خط فرمان پس از آرگومان فیلتر -f، یا قبل از
نام فیلتر یا بعد از آن
فیلتر - نام برنامه ای که باید تماس بگیرید. هر فیلتری که به دنبال آن باشد، به جز $$o، هستند
آرگومان های ارسال شده به فیلتر
arg1 - اولین آرگومان برنامه/اسکریپت فیلتر شما. به احتمال زیاد $i خواهد بود،
کدام rpost را با نام مقاله ای که باید پاک شود پر می کند.
arg2 ... - هر آرگ اضافی مورد نیاز را می توان مشخص کرد.
اجازه دهید این موضوع را با یک مثال کمی روشن کنیم. برخی از سرورهای NNTP دوست ندارند دریافت کنند
مقالاتی با NNTP-Posting-Host پر شده است. یک اسکریپت پوسته کوتاه ایجاد کنید تا آن را حذف کنید
از یک فایل:
-myscr-------------------------------------------
#!/ بن / شل
sed -e "/^NNTP-Posting-Host/d" $1 > $2
-پایان myscr----------------------------------------
سپس rpost را به این صورت صدا کنید:
rpost localhost -b /usr/spool/news/out.going/pixi -f myscr \$\$o=/tmp/FILTERED_MSG
\$\$i /tmp/FILTERED_MSG
سپس، قبل از بارگذاری هر مقاله، myscr به این صورت فراخوانی می شود:
نام فایل myscr /tmp/FILTERED_MSG
پس از اتمام myscr، rpost مقاله پاک شده را که در آن ذخیره شده است آپلود می کند
/tmp/FILTERED_MSG، به سرور NNTP راه دور.
توجه:
$$o و $$i باید با استفاده از بک اسلش مانند بالا، یا با تکی فرار شوند.
نقل قول، برای جلوگیری از تلاش پوسته برای تفسیر این متغیرها. شکست در
فرار از آنها باعث می شود که rpost کار نکند!
-F perlfilter
این گزینه به شما امکان می دهد از فیلتر perl تعبیه شده برای فیلتر کردن مقالات خود استفاده کنید. به ترتیب
برای استفاده از این، باید Makefile را ویرایش کنید و گزینه های مختلف PERL_ را تعریف کنید. آن دارد یک
چند مزیت نسبت به گزینه -f بالا. از آنجا که پرل تعبیه شده است، وجود ندارد
forks و excls() انجام شد، بنابراین باید سریعتر باشد. همچنین، شما نیازی به نگرانی در مورد آن ندارید
آرگومان های برنامه و فرار از $$ و غیره مانند بالا.
وقتی Rpost راه اندازی می شود، فایل perlfilter تعیین شده را بارگیری می کند و آن را تجزیه می کند
خطاهای نحوی سپس برای هر مقاله ای که باید آپلود شود، rpost زیربرنامه را فراخوانی می کند
"perl_rpost" موجود در فایل perlfilter. نمونه/put.news.pl را برای کامل ببینید
نمونه کار سه نکته کلیدی وجود دارد که باید هنگام ایجاد خود از آنها آگاه باشید
فیلتر کردن
1. فایل perlfilter باید حاوی خط "package Embed::Persistant;" باشد، به طوری که
متغیرهای موجود در فایل perlfilter با متغیرهای rpost تداخل ندارند و
زیربرنامه باید "perl_rpost" نامیده شود. این را می توان با ویرایش تغییر داد
PERL_RPOST_SUB در suck_config.h تعریف می کند.
2. زیرروال perl_rpost نام فایل ورودی را به عنوان تنها آرگومان خود دریافت می کند و
باید مسیر کامل را به محل مقاله فیلتر شده به صورت تکی برگرداند
رشته اسکالر (بازگشت $outfile).
3. زیربرنامه باید به صراحت فایل خروجی (حاوی فیلتر شده) را ببندد
آرگومان) قبل از بازگشت. این به این دلیل است که پرل فقط بسته شدن خودکار را انجام می دهد
پس از اتمام برنامه (در مورد ما وقتی rpost خارج می شود)، یا زمانی که دسته فایل است
استفاده مجدد (دفعه بعدی که زیربرنامه فراخوانی شد). اگر بستن انجام نشد، پس
به احتمال زیاد، زمانی که rpost سعی می کند مقاله را پست کند، یک فایل 0 بایتی وجود خواهد داشت.
و خطاها ایجاد خواهد شد.
هشدار:
بسیار مراقب باشید که برنامه فیلتر چه چیزی را از مقاله حذف می کند. حذف اشتباه
خط بعداً می تواند تأثیرات بدی داشته باشد. به عنوان مثال، خط MSG-ID را حذف نکنید
بسته به پیکربندی می تواند باعث شود یک پیام واحد بارها پست شود
هم سرور محلی و هم از راه دور جدید.
RPOST بحث و جدل فایل
اگر نام فایل@ را در خط فرمان مشخص کنید، rpost از نام فایل می خواند و آن را تجزیه می کند
برای هر آرگومان هایی که می خواهید به rpost منتقل کنید. شما همان آرگومان ها را در این مورد مشخص می کنید
همانطور که در خط فرمان انجام می دهید فایل کنید. استدلالها میتوانند در یک خط باشند یا در بین آنها پخش شوند
بیش از یک خط شما همچنین می توانید از نظرات استفاده کنید. نظرات با "#" شروع می شود و تا انتها می رود
از یک خط همه آرگومان های خط فرمان آرگومان های موجود در فایل را لغو می کنند. یک مزیت به
استفاده از فایل به جای خط فرمان، این است که لازم نیست از هیچ چیز خاصی فرار کنید
کاراکترهایی مانند $.
# نمونه فایل استدلال
-b batch # گزینه فایل دسته ای
گزینه -M # use mode reader
خروج ارزش
Rpost مقادیر خروجی زیر را برمی گرداند:
0 = موفقیت
1 = خطا در ارسال مقاله
2 = نمی توان مجوز NNTP را با سرور راه دور انجام داد.
3 = پاسخ غیرمنتظره به دستور هنگام انجام مجوز NNTP.
-1 = سایر خطاهای کشنده.
با استفاده از خدمات onworks.net از rpost آنلاین استفاده کنید